From 5d32261b9e3d7fe425a3ba56ae3aa2129ebede4c Mon Sep 17 00:00:00 2001 From: keita Date: Thu, 7 Oct 2021 20:53:25 +0900 Subject: [PATCH] =?UTF-8?q?OAuth2=E3=81=8C=E5=87=BA=E6=9D=A5=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F=E3=82=88?= =?UTF-8?q?=E3=80=82=E3=83=96=E3=83=A9=E3=83=B3=E3=83=81=E3=81=AE=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E3=81=8B=E3=82=89=E3=82=81=E3=81=A1=E3=82=83=E3=81=8F?= =?UTF-8?q?=E3=81=A1=E3=82=83=E3=82=BA=E3=83=AC=E3=81=A6=E3=82=8B=E3=81=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api_key.json | 6 + help/html/CMakeCCompilerId_8c.html | 354 + help/html/CMakeCXXCompilerId_8cpp.html | 364 + help/html/CMakeCache_8txt.html | 1011 + .../CMakeFiles_2TargetDirectories_8txt.html | 76 + help/html/CMakeLists_8txt.html | 192 + help/html/DartConfiguration_8tcl.html | 80 + help/html/Labels_8txt.html | 76 + help/html/README_8md.html | 76 + ..._deps_2json-subbuild_2CMakeCache_8txt.html | 76 + ...d_2CMakeFiles_2TargetDirectories_8txt.html | 76 + help/html/annotated.html | 120 + help/html/api_8cc.html | 119 + help/html/api_8cc__incl.map | 23 + help/html/api_8cc__incl.md5 | 1 + help/html/api_8cc__incl.png | Bin 0 -> 135509 bytes help/html/api_8h.html | 141 + help/html/api_8h__dep__incl.map | 5 + help/html/api_8h__dep__incl.md5 | 1 + help/html/api_8h__dep__incl.png | Bin 0 -> 7573 bytes help/html/api_8h__incl.map | 22 + help/html/api_8h__incl.md5 | 1 + help/html/api_8h__incl.png | Bin 0 -> 131835 bytes help/html/api_8h_source.html | 129 + help/html/authenticateException_8h.html | 119 + .../authenticateException_8h__dep__incl.map | 4 + .../authenticateException_8h__dep__incl.md5 | 1 + .../authenticateException_8h__dep__incl.png | Bin 0 -> 6569 bytes help/html/authenticateException_8h__incl.map | 6 + help/html/authenticateException_8h__incl.md5 | 1 + help/html/authenticateException_8h__incl.png | Bin 0 -> 10010 bytes .../html/authenticateException_8h_source.html | 97 + help/html/bc_s.png | Bin 0 -> 676 bytes help/html/bdwn.png | Bin 0 -> 147 bytes ...ld_2__deps_2json-src_2CMakeLists_8txt.html | 76 + .../build_2__deps_2json-src_2README_8md.html | 76 + ...son-src_2include_2nlohmann_2json_8hpp.html | 4056 +++ ...rc_2include_2nlohmann_2json_8hpp__incl.map | 36 + ...rc_2include_2nlohmann_2json_8hpp__incl.md5 | 1 + ...rc_2include_2nlohmann_2json_8hpp__incl.png | Bin 0 -> 88844 bytes ..._2include_2nlohmann_2json_8hpp_source.html | 17076 +++++++++++ ..._deps_2json-subbuild_2CMakeLists_8txt.html | 76 + ...classCocoaTweet_1_1API_1_1API-members.html | 88 + help/html/classCocoaTweet_1_1API_1_1API.html | 223 + ...rectMessages_1_1DirectMessage-members.html | 87 + ...PI_1_1DirectMessages_1_1DirectMessage.html | 210 + ...Messages_1_1DirectMessage__coll__graph.map | 4 + ...Messages_1_1DirectMessage__coll__graph.md5 | 1 + ...Messages_1_1DirectMessage__coll__graph.png | Bin 0 -> 6275 bytes ...sages_1_1DirectMessage__inherit__graph.map | 4 + ...sages_1_1DirectMessage__inherit__graph.md5 | 1 + ...sages_1_1DirectMessage__inherit__graph.png | Bin 0 -> 6275 bytes ...1API_1_1DirectMessages_1_1New-members.html | 93 + ...Tweet_1_1API_1_1DirectMessages_1_1New.html | 228 + ..._1_1DirectMessages_1_1New__coll__graph.map | 5 + ..._1_1DirectMessages_1_1New__coll__graph.md5 | 1 + ..._1_1DirectMessages_1_1New__coll__graph.png | Bin 0 -> 8847 bytes ...1DirectMessages_1_1New__inherit__graph.map | 5 + ...1DirectMessages_1_1New__inherit__graph.md5 | 1 + ...1DirectMessages_1_1New__inherit__graph.png | Bin 0 -> 8847 bytes ...1_1API_1_1Favorites_1_1Create-members.html | 92 + ...oaTweet_1_1API_1_1Favorites_1_1Create.html | 193 + ...PI_1_1Favorites_1_1Create__coll__graph.map | 5 + ...PI_1_1Favorites_1_1Create__coll__graph.md5 | 1 + ...PI_1_1Favorites_1_1Create__coll__graph.png | Bin 0 -> 9389 bytes ...1_1Favorites_1_1Create__inherit__graph.map | 5 + ...1_1Favorites_1_1Create__inherit__graph.md5 | 1 + ...1_1Favorites_1_1Create__inherit__graph.png | Bin 0 -> 9389 bytes ..._1API_1_1Favorites_1_1Destroy-members.html | 92 + ...aTweet_1_1API_1_1Favorites_1_1Destroy.html | 193 + ...I_1_1Favorites_1_1Destroy__coll__graph.map | 5 + ...I_1_1Favorites_1_1Destroy__coll__graph.md5 | 1 + ...I_1_1Favorites_1_1Destroy__coll__graph.png | Bin 0 -> 9504 bytes ..._1Favorites_1_1Destroy__inherit__graph.map | 5 + ..._1Favorites_1_1Destroy__inherit__graph.md5 | 1 + ..._1Favorites_1_1Destroy__inherit__graph.png | Bin 0 -> 9504 bytes ...1API_1_1Favorites_1_1Favorite-members.html | 88 + ...Tweet_1_1API_1_1Favorites_1_1Favorite.html | 206 + ..._1_1Favorites_1_1Favorite__coll__graph.map | 4 + ..._1_1Favorites_1_1Favorite__coll__graph.md5 | 1 + ..._1_1Favorites_1_1Favorite__coll__graph.png | Bin 0 -> 5614 bytes ...1Favorites_1_1Favorite__inherit__graph.map | 4 + ...1Favorites_1_1Favorite__inherit__graph.md5 | 1 + ...1Favorites_1_1Favorite__inherit__graph.png | Bin 0 -> 5614 bytes ...1API_1_1Interface_1_1HttpBase-members.html | 89 + ...Tweet_1_1API_1_1Interface_1_1HttpBase.html | 307 + ...1Interface_1_1HttpBase__inherit__graph.map | 14 + ...1Interface_1_1HttpBase__inherit__graph.md5 | 1 + ...1Interface_1_1HttpBase__inherit__graph.png | Bin 0 -> 61832 bytes ..._1API_1_1Interface_1_1HttpGet-members.html | 89 + ...aTweet_1_1API_1_1Interface_1_1HttpGet.html | 183 + ...I_1_1Interface_1_1HttpGet__coll__graph.map | 4 + ...I_1_1Interface_1_1HttpGet__coll__graph.md5 | 1 + ...I_1_1Interface_1_1HttpGet__coll__graph.png | Bin 0 -> 5661 bytes ..._1Interface_1_1HttpGet__inherit__graph.map | 5 + ..._1Interface_1_1HttpGet__inherit__graph.md5 | 1 + ..._1Interface_1_1HttpGet__inherit__graph.png | Bin 0 -> 9715 bytes ...1API_1_1Interface_1_1HttpPost-members.html | 89 + ...Tweet_1_1API_1_1Interface_1_1HttpPost.html | 190 + ..._1_1Interface_1_1HttpPost__coll__graph.map | 4 + ..._1_1Interface_1_1HttpPost__coll__graph.md5 | 1 + ..._1_1Interface_1_1HttpPost__coll__graph.png | Bin 0 -> 5709 bytes ...1Interface_1_1HttpPost__inherit__graph.map | 12 + ...1Interface_1_1HttpPost__inherit__graph.md5 | 1 + ...1Interface_1_1HttpPost__inherit__graph.png | Bin 0 -> 53508 bytes ...eet_1_1API_1_1Medias_1_1Media-members.html | 87 + ...sCocoaTweet_1_1API_1_1Medias_1_1Media.html | 203 + ...1_1API_1_1Medias_1_1Media__coll__graph.map | 4 + ...1_1API_1_1Medias_1_1Media__coll__graph.md5 | 1 + ...1_1API_1_1Medias_1_1Media__coll__graph.png | Bin 0 -> 5683 bytes ...API_1_1Medias_1_1Media__inherit__graph.map | 4 + ...API_1_1Medias_1_1Media__inherit__graph.md5 | 1 + ...API_1_1Medias_1_1Media__inherit__graph.png | Bin 0 -> 5683 bytes ...et_1_1API_1_1Medias_1_1Upload-members.html | 93 + ...CocoaTweet_1_1API_1_1Medias_1_1Upload.html | 244 + ..._1API_1_1Medias_1_1Upload__coll__graph.map | 5 + ..._1API_1_1Medias_1_1Upload__coll__graph.md5 | 1 + ..._1API_1_1Medias_1_1Upload__coll__graph.png | Bin 0 -> 9514 bytes ...PI_1_1Medias_1_1Upload__inherit__graph.map | 5 + ...PI_1_1Medias_1_1Upload__inherit__graph.md5 | 1 + ...PI_1_1Medias_1_1Upload__inherit__graph.png | Bin 0 -> 9514 bytes ...1_1API_1_1Model_1_1MediaStore-members.html | 97 + ...oaTweet_1_1API_1_1Model_1_1MediaStore.html | 535 + ...weet_1_1API_1_1Model_1_1Tweet-members.html | 95 + ...ssCocoaTweet_1_1API_1_1Model_1_1Tweet.html | 476 + ...1_1API_1_1Statuses_1_1Destroy-members.html | 92 + ...oaTweet_1_1API_1_1Statuses_1_1Destroy.html | 221 + ...PI_1_1Statuses_1_1Destroy__coll__graph.map | 5 + ...PI_1_1Statuses_1_1Destroy__coll__graph.md5 | 1 + ...PI_1_1Statuses_1_1Destroy__coll__graph.png | Bin 0 -> 9660 bytes ...1_1Statuses_1_1Destroy__inherit__graph.map | 5 + ...1_1Statuses_1_1Destroy__inherit__graph.md5 | 1 + ...1_1Statuses_1_1Destroy__inherit__graph.png | Bin 0 -> 9660 bytes ...1_1API_1_1Statuses_1_1Retweet-members.html | 92 + ...oaTweet_1_1API_1_1Statuses_1_1Retweet.html | 193 + ...PI_1_1Statuses_1_1Retweet__coll__graph.map | 5 + ...PI_1_1Statuses_1_1Retweet__coll__graph.md5 | 1 + ...PI_1_1Statuses_1_1Retweet__coll__graph.png | Bin 0 -> 9395 bytes ...1_1Statuses_1_1Retweet__inherit__graph.map | 5 + ...1_1Statuses_1_1Retweet__inherit__graph.md5 | 1 + ...1_1Statuses_1_1Retweet__inherit__graph.png | Bin 0 -> 9395 bytes ..._1_1API_1_1Statuses_1_1Status-members.html | 93 + ...coaTweet_1_1API_1_1Statuses_1_1Status.html | 391 + ...API_1_1Statuses_1_1Status__coll__graph.map | 4 + ...API_1_1Statuses_1_1Status__coll__graph.md5 | 1 + ...API_1_1Statuses_1_1Status__coll__graph.png | Bin 0 -> 5751 bytes ..._1_1Statuses_1_1Status__inherit__graph.map | 4 + ..._1_1Statuses_1_1Status__inherit__graph.md5 | 1 + ..._1_1Statuses_1_1Status__inherit__graph.png | Bin 0 -> 5751 bytes ...1API_1_1Statuses_1_1Unretweet-members.html | 92 + ...Tweet_1_1API_1_1Statuses_1_1Unretweet.html | 193 + ..._1_1Statuses_1_1Unretweet__coll__graph.map | 5 + ..._1_1Statuses_1_1Unretweet__coll__graph.md5 | 1 + ..._1_1Statuses_1_1Unretweet__coll__graph.png | Bin 0 -> 9479 bytes ...1Statuses_1_1Unretweet__inherit__graph.map | 5 + ...1Statuses_1_1Unretweet__inherit__graph.md5 | 1 + ...1Statuses_1_1Unretweet__inherit__graph.png | Bin 0 -> 9479 bytes ..._1_1API_1_1Statuses_1_1Update-members.html | 102 + ...coaTweet_1_1API_1_1Statuses_1_1Update.html | 421 + ...API_1_1Statuses_1_1Update__coll__graph.map | 5 + ...API_1_1Statuses_1_1Update__coll__graph.md5 | 1 + ...API_1_1Statuses_1_1Update__coll__graph.png | Bin 0 -> 9653 bytes ..._1_1Statuses_1_1Update__inherit__graph.map | 5 + ..._1_1Statuses_1_1Update__inherit__graph.md5 | 1 + ..._1_1Statuses_1_1Update__inherit__graph.png | Bin 0 -> 9653 bytes ...I_1_1Statuses_1_1UserTimeline-members.html | 92 + ...et_1_1API_1_1Statuses_1_1UserTimeline.html | 220 + ...1Statuses_1_1UserTimeline__coll__graph.map | 5 + ...1Statuses_1_1UserTimeline__coll__graph.md5 | 1 + ...1Statuses_1_1UserTimeline__coll__graph.png | Bin 0 -> 9637 bytes ...atuses_1_1UserTimeline__inherit__graph.map | 5 + ...atuses_1_1UserTimeline__inherit__graph.md5 | 1 + ...atuses_1_1UserTimeline__inherit__graph.png | Bin 0 -> 9637 bytes ...weet_1_1API_1_1groupInterface-members.html | 84 + ...ssCocoaTweet_1_1API_1_1groupInterface.html | 129 + ...1API_1_1groupInterface__inherit__graph.map | 7 + ...1API_1_1groupInterface__inherit__graph.md5 | 1 + ...1API_1_1groupInterface__inherit__graph.png | Bin 0 -> 18282 bytes ...tion_1_1AuthenticateException-members.html | 85 + ...1_1Exception_1_1AuthenticateException.html | 107 + ..._1_1AuthenticateException__coll__graph.map | 5 + ..._1_1AuthenticateException__coll__graph.md5 | 1 + ..._1_1AuthenticateException__coll__graph.png | Bin 0 -> 7383 bytes ...1AuthenticateException__inherit__graph.map | 5 + ...1AuthenticateException__inherit__graph.md5 | 1 + ...1AuthenticateException__inherit__graph.png | Bin 0 -> 7383 bytes ...eet_1_1Exception_1_1Exception-members.html | 88 + ...sCocoaTweet_1_1Exception_1_1Exception.html | 257 + ...1_1Exception_1_1Exception__coll__graph.map | 4 + ...1_1Exception_1_1Exception__coll__graph.md5 | 1 + ...1_1Exception_1_1Exception__coll__graph.png | Bin 0 -> 4798 bytes ...Exception_1_1Exception__inherit__graph.map | 10 + ...Exception_1_1Exception__inherit__graph.md5 | 1 + ...Exception_1_1Exception__inherit__graph.png | Bin 0 -> 40398 bytes ...ception_1_1RateLimitException-members.html | 85 + ...et_1_1Exception_1_1RateLimitException.html | 107 + ...ion_1_1RateLimitException__coll__graph.map | 5 + ...ion_1_1RateLimitException__coll__graph.md5 | 1 + ...ion_1_1RateLimitException__coll__graph.png | Bin 0 -> 8041 bytes ..._1_1RateLimitException__inherit__graph.map | 5 + ..._1_1RateLimitException__inherit__graph.md5 | 1 + ..._1_1RateLimitException__inherit__graph.png | Bin 0 -> 8041 bytes ...on_1_1TweetDuplicateException-members.html | 85 + ...1Exception_1_1TweetDuplicateException.html | 107 + ..._1TweetDuplicateException__coll__graph.map | 5 + ..._1TweetDuplicateException__coll__graph.md5 | 1 + ..._1TweetDuplicateException__coll__graph.png | Bin 0 -> 7568 bytes ...weetDuplicateException__inherit__graph.map | 5 + ...weetDuplicateException__inherit__graph.md5 | 1 + ...weetDuplicateException__inherit__graph.png | Bin 0 -> 7568 bytes ...ion_1_1TweetNotFoundException-members.html | 85 + ..._1Exception_1_1TweetNotFoundException.html | 107 + ...1_1TweetNotFoundException__coll__graph.map | 5 + ...1_1TweetNotFoundException__coll__graph.md5 | 1 + ...1_1TweetNotFoundException__coll__graph.png | Bin 0 -> 7482 bytes ...TweetNotFoundException__inherit__graph.map | 5 + ...TweetNotFoundException__inherit__graph.md5 | 1 + ...TweetNotFoundException__inherit__graph.png | Bin 0 -> 7482 bytes ...tion_1_1TweetTooLongException-members.html | 85 + ...1_1Exception_1_1TweetTooLongException.html | 107 + ..._1_1TweetTooLongException__coll__graph.map | 5 + ..._1_1TweetTooLongException__coll__graph.md5 | 1 + ..._1_1TweetTooLongException__coll__graph.png | Bin 0 -> 7034 bytes ...1TweetTooLongException__inherit__graph.map | 5 + ...1TweetTooLongException__inherit__graph.md5 | 1 + ...1TweetTooLongException__inherit__graph.png | Bin 0 -> 7034 bytes ...UnsupportedMediaTypeException-members.html | 85 + ...tion_1_1UnsupportedMediaTypeException.html | 107 + ...pportedMediaTypeException__coll__graph.map | 5 + ...pportedMediaTypeException__coll__graph.md5 | 1 + ...pportedMediaTypeException__coll__graph.png | Bin 0 -> 8023 bytes ...rtedMediaTypeException__inherit__graph.map | 5 + ...rtedMediaTypeException__inherit__graph.md5 | 1 + ...rtedMediaTypeException__inherit__graph.png | Bin 0 -> 8023 bytes ...assCocoaTweet_1_1OAuth_1_1Key-members.html | 92 + .../html/classCocoaTweet_1_1OAuth_1_1Key.html | 366 + ...CocoaTweet_1_1OAuth_1_1OAuth1-members.html | 94 + .../classCocoaTweet_1_1OAuth_1_1OAuth1.html | 334 + help/html/classes.html | 155 + .../classnlohmann_1_1basic__json-members.html | 528 + help/html/classnlohmann_1_1basic__json.html | 23936 ++++++++++++++++ ...yte__container__with__subtype-members.html | 95 + ...ann_1_1byte__container__with__subtype.html | 549 + ..._container__with__subtype__coll__graph.map | 4 + ..._container__with__subtype__coll__graph.md5 | 1 + ..._container__with__subtype__coll__graph.png | Bin 0 -> 5459 bytes ...ntainer__with__subtype__inherit__graph.map | 4 + ...ntainer__with__subtype__inherit__graph.md5 | 1 + ...ntainer__with__subtype__inherit__graph.png | Bin 0 -> 5459 bytes ...n_1_1detail_1_1binary__reader-members.html | 98 + ...snlohmann_1_1detail_1_1binary__reader.html | 634 + ...n_1_1detail_1_1binary__writer-members.html | 101 + ...snlohmann_1_1detail_1_1binary__writer.html | 788 + ...ohmann_1_1detail_1_1exception-members.html | 90 + .../classnlohmann_1_1detail_1_1exception.html | 376 + ...nn_1_1detail_1_1exception__coll__graph.map | 4 + ...nn_1_1detail_1_1exception__coll__graph.md5 | 1 + ...nn_1_1detail_1_1exception__coll__graph.png | Bin 0 -> 3879 bytes ...1_1detail_1_1exception__inherit__graph.map | 9 + ...1_1detail_1_1exception__inherit__graph.md5 | 1 + ...1_1detail_1_1exception__inherit__graph.png | Bin 0 -> 19232 bytes ...etail_1_1file__input__adapter-members.html | 98 + ...ann_1_1detail_1_1file__input__adapter.html | 509 + ...l_1_1file__input__adapter__coll__graph.map | 4 + ...l_1_1file__input__adapter__coll__graph.md5 | 1 + ...l_1_1file__input__adapter__coll__graph.png | Bin 0 -> 4699 bytes ..._1file__input__adapter__inherit__graph.map | 4 + ..._1file__input__adapter__inherit__graph.md5 | 1 + ..._1file__input__adapter__inherit__graph.png | Bin 0 -> 4699 bytes ...n_1_1detail_1_1input__adapter-members.html | 95 + ...snlohmann_1_1detail_1_1input__adapter.html | 485 + ...ail_1_1input__buffer__adapter-members.html | 91 + ...n_1_1detail_1_1input__buffer__adapter.html | 329 + ...1_1input__buffer__adapter__coll__graph.map | 4 + ...1_1input__buffer__adapter__coll__graph.md5 | 1 + ...1_1input__buffer__adapter__coll__graph.png | Bin 0 -> 4801 bytes ...input__buffer__adapter__inherit__graph.map | 4 + ...input__buffer__adapter__inherit__graph.md5 | 1 + ...input__buffer__adapter__inherit__graph.png | Bin 0 -> 4801 bytes ...ail_1_1input__stream__adapter-members.html | 99 + ...n_1_1detail_1_1input__stream__adapter.html | 536 + ...1_1input__stream__adapter__coll__graph.map | 4 + ...1_1input__stream__adapter__coll__graph.md5 | 1 + ...1_1input__stream__adapter__coll__graph.png | Bin 0 -> 4924 bytes ...input__stream__adapter__inherit__graph.map | 4 + ...input__stream__adapter__inherit__graph.md5 | 1 + ...input__stream__adapter__inherit__graph.png | Bin 0 -> 4924 bytes ..._1detail_1_1invalid__iterator-members.html | 92 + ...ohmann_1_1detail_1_1invalid__iterator.html | 263 + ...tail_1_1invalid__iterator__coll__graph.map | 5 + ...tail_1_1invalid__iterator__coll__graph.md5 | 1 + ...tail_1_1invalid__iterator__coll__graph.png | Bin 0 -> 6339 bytes ...l_1_1invalid__iterator__inherit__graph.map | 5 + ...l_1_1invalid__iterator__inherit__graph.md5 | 1 + ...l_1_1invalid__iterator__inherit__graph.png | Bin 0 -> 6339 bytes ...hmann_1_1detail_1_1iter__impl-members.html | 147 + ...classnlohmann_1_1detail_1_1iter__impl.html | 2232 ++ ...1_1detail_1_1iteration__proxy-members.html | 89 + ...lohmann_1_1detail_1_1iteration__proxy.html | 296 + ...il_1_1iteration__proxy__value-members.html | 109 + ..._1_1detail_1_1iteration__proxy__value.html | 763 + ...l_1_1iterator__input__adapter-members.html | 87 + ...1_1detail_1_1iterator__input__adapter.html | 220 + ...ohmann_1_1detail_1_1json__ref-members.html | 109 + .../classnlohmann_1_1detail_1_1json__ref.html | 853 + ...il_1_1json__reverse__iterator-members.html | 115 + ..._1_1detail_1_1json__reverse__iterator.html | 1108 + ..._1json__reverse__iterator__coll__graph.map | 4 + ..._1json__reverse__iterator__coll__graph.md5 | 1 + ..._1json__reverse__iterator__coll__graph.png | Bin 0 -> 5334 bytes ...son__reverse__iterator__inherit__graph.map | 4 + ...son__reverse__iterator__inherit__graph.md5 | 1 + ...son__reverse__iterator__inherit__graph.png | Bin 0 -> 5334 bytes ...detail_1_1json__sax__acceptor-members.html | 117 + ...mann_1_1detail_1_1json__sax__acceptor.html | 1056 + ...n__sax__dom__callback__parser-members.html | 135 + ...l_1_1json__sax__dom__callback__parser.html | 1580 + ...ail_1_1json__sax__dom__parser-members.html | 131 + ...n_1_1detail_1_1json__sax__dom__parser.html | 1526 + ...ssnlohmann_1_1detail_1_1lexer-members.html | 117 + .../classnlohmann_1_1detail_1_1lexer.html | 1217 + ...mann_1_1detail_1_1lexer__base-members.html | 85 + ...lassnlohmann_1_1detail_1_1lexer__base.html | 219 + ...ann_1_1detail_1_1other__error-members.html | 92 + ...assnlohmann_1_1detail_1_1other__error.html | 237 + ...1_1detail_1_1other__error__coll__graph.map | 5 + ...1_1detail_1_1other__error__coll__graph.md5 | 1 + ...1_1detail_1_1other__error__coll__graph.png | Bin 0 -> 6010 bytes ...detail_1_1other__error__inherit__graph.map | 5 + ...detail_1_1other__error__inherit__graph.md5 | 1 + ...detail_1_1other__error__inherit__graph.png | Bin 0 -> 6010 bytes ...n_1_1detail_1_1out__of__range-members.html | 92 + ...snlohmann_1_1detail_1_1out__of__range.html | 288 + ...1detail_1_1out__of__range__coll__graph.map | 5 + ...1detail_1_1out__of__range__coll__graph.md5 | 1 + ...1detail_1_1out__of__range__coll__graph.png | Bin 0 -> 6440 bytes ...tail_1_1out__of__range__inherit__graph.map | 5 + ...tail_1_1out__of__range__inherit__graph.md5 | 1 + ...tail_1_1out__of__range__inherit__graph.png | Bin 0 -> 6440 bytes ..._1_1detail_1_1output__adapter-members.html | 91 + ...nlohmann_1_1detail_1_1output__adapter.html | 332 + ...il_1_1output__stream__adapter-members.html | 91 + ..._1_1detail_1_1output__stream__adapter.html | 333 + ..._1output__stream__adapter__coll__graph.map | 4 + ..._1output__stream__adapter__coll__graph.md5 | 1 + ..._1output__stream__adapter__coll__graph.png | Bin 0 -> 6515 bytes ...utput__stream__adapter__inherit__graph.map | 4 + ...utput__stream__adapter__inherit__graph.md5 | 1 + ...utput__stream__adapter__inherit__graph.png | Bin 0 -> 6515 bytes ...il_1_1output__string__adapter-members.html | 91 + ..._1_1detail_1_1output__string__adapter.html | 333 + ..._1output__string__adapter__coll__graph.map | 4 + ..._1output__string__adapter__coll__graph.md5 | 1 + ..._1output__string__adapter__coll__graph.png | Bin 0 -> 7179 bytes ...utput__string__adapter__inherit__graph.map | 4 + ...utput__string__adapter__inherit__graph.md5 | 1 + ...utput__string__adapter__inherit__graph.png | Bin 0 -> 7179 bytes ...il_1_1output__vector__adapter-members.html | 91 + ..._1_1detail_1_1output__vector__adapter.html | 333 + ..._1output__vector__adapter__coll__graph.map | 4 + ..._1output__vector__adapter__coll__graph.md5 | 1 + ..._1output__vector__adapter__coll__graph.png | Bin 0 -> 6648 bytes ...utput__vector__adapter__inherit__graph.map | 4 + ...utput__vector__adapter__inherit__graph.md5 | 1 + ...utput__vector__adapter__inherit__graph.png | Bin 0 -> 6648 bytes ...ann_1_1detail_1_1parse__error-members.html | 95 + ...assnlohmann_1_1detail_1_1parse__error.html | 460 + ...1_1detail_1_1parse__error__coll__graph.map | 5 + ...1_1detail_1_1parse__error__coll__graph.md5 | 1 + ...1_1detail_1_1parse__error__coll__graph.png | Bin 0 -> 6246 bytes ...detail_1_1parse__error__inherit__graph.map | 5 + ...detail_1_1parse__error__inherit__graph.md5 | 1 + ...detail_1_1parse__error__inherit__graph.png | Bin 0 -> 6246 bytes ...snlohmann_1_1detail_1_1parser-members.html | 93 + .../classnlohmann_1_1detail_1_1parser.html | 563 + ...ail_1_1primitive__iterator__t-members.html | 113 + ...n_1_1detail_1_1primitive__iterator__t.html | 1008 + ...hmann_1_1detail_1_1serializer-members.html | 97 + ...classnlohmann_1_1detail_1_1serializer.html | 654 + ...etail_1_1span__input__adapter-members.html | 86 + ...ann_1_1detail_1_1span__input__adapter.html | 203 + ...mann_1_1detail_1_1type__error-members.html | 92 + ...lassnlohmann_1_1detail_1_1type__error.html | 269 + ..._1_1detail_1_1type__error__coll__graph.map | 5 + ..._1_1detail_1_1type__error__coll__graph.md5 | 1 + ..._1_1detail_1_1type__error__coll__graph.png | Bin 0 -> 6312 bytes ...1detail_1_1type__error__inherit__graph.map | 5 + ...1detail_1_1type__error__inherit__graph.md5 | 1 + ...1detail_1_1type__error__inherit__graph.png | Bin 0 -> 6312 bytes ...1wide__string__input__adapter-members.html | 89 + ...etail_1_1wide__string__input__adapter.html | 266 + ...e__string__input__adapter__coll__graph.map | 4 + ...e__string__input__adapter__coll__graph.md5 | 1 + ...e__string__input__adapter__coll__graph.png | Bin 0 -> 6539 bytes ...string__input__adapter__inherit__graph.map | 4 + ...string__input__adapter__inherit__graph.md5 | 1 + ...string__input__adapter__inherit__graph.png | Bin 0 -> 6539 bytes ...lassnlohmann_1_1json__pointer-members.html | 118 + help/html/classnlohmann_1_1json__pointer.html | 1697 ++ ...ue_3_01IteratorType_01_4_01_4-members.html | 85 + ...oxy__value_3_01IteratorType_01_4_01_4.html | 129 + ...oxy__value_3_01IteratorType_01_4_01_4.html | 103 + ..._01IteratorType_01_4_01_4__coll__graph.map | 4 + ..._01IteratorType_01_4_01_4__coll__graph.md5 | 1 + ..._01IteratorType_01_4_01_4__coll__graph.png | Bin 0 -> 7235 bytes ...IteratorType_01_4_01_4__inherit__graph.map | 4 + ...IteratorType_01_4_01_4__inherit__graph.md5 | 1 + ...IteratorType_01_4_01_4__inherit__graph.png | Bin 0 -> 7235 bytes help/html/closed.png | Bin 0 -> 132 bytes help/html/create_8cc.html | 112 + help/html/create_8cc__incl.map | 13 + help/html/create_8cc__incl.md5 | 1 + help/html/create_8cc__incl.png | Bin 0 -> 38191 bytes help/html/create_8h.html | 129 + help/html/create_8h__dep__incl.map | 5 + help/html/create_8h__dep__incl.md5 | 1 + help/html/create_8h__dep__incl.png | Bin 0 -> 7136 bytes help/html/create_8h__incl.map | 12 + help/html/create_8h__incl.md5 | 1 + help/html/create_8h__incl.png | Bin 0 -> 38134 bytes help/html/create_8h_source.html | 107 + help/html/deprecated.html | 91 + help/html/dir_000002_000003.html | 76 + help/html/dir_000002_000004.html | 76 + help/html/dir_000002_000005.html | 76 + help/html/dir_000002_000006.html | 76 + help/html/dir_000002_000007.html | 76 + help/html/dir_000002_000008.html | 76 + help/html/dir_000002_000009.html | 76 + help/html/dir_000002_000010.html | 76 + help/html/dir_000002_000011.html | 76 + help/html/dir_000003_000004.html | 76 + help/html/dir_000003_000005.html | 76 + help/html/dir_000003_000006.html | 76 + help/html/dir_000003_000007.html | 76 + help/html/dir_000003_000008.html | 76 + help/html/dir_000003_000009.html | 76 + help/html/dir_000003_000010.html | 76 + help/html/dir_000003_000011.html | 76 + help/html/dir_000003_000012.html | 76 + help/html/dir_000003_000014.html | 76 + help/html/dir_000004_000005.html | 76 + help/html/dir_000004_000006.html | 76 + help/html/dir_000004_000007.html | 76 + help/html/dir_000004_000008.html | 76 + help/html/dir_000004_000009.html | 76 + help/html/dir_000004_000010.html | 76 + help/html/dir_000004_000012.html | 76 + help/html/dir_000005_000006.html | 76 + help/html/dir_000005_000008.html | 76 + help/html/dir_000005_000009.html | 76 + help/html/dir_000005_000010.html | 76 + help/html/dir_000005_000011.html | 76 + help/html/dir_000005_000012.html | 76 + help/html/dir_000006_000000.html | 76 + help/html/dir_000006_000005.html | 76 + help/html/dir_000006_000007.html | 76 + help/html/dir_000006_000008.html | 76 + help/html/dir_000006_000009.html | 76 + help/html/dir_000006_000010.html | 76 + help/html/dir_000006_000011.html | 76 + help/html/dir_000006_000012.html | 76 + help/html/dir_000006_000014.html | 76 + help/html/dir_000007_000006.html | 76 + help/html/dir_000007_000008.html | 76 + help/html/dir_000007_000009.html | 76 + help/html/dir_000007_000010.html | 76 + help/html/dir_000008_000009.html | 76 + help/html/dir_000008_000011.html | 76 + help/html/dir_000009_000000.html | 76 + help/html/dir_000009_000010.html | 76 + help/html/dir_000010_000000.html | 76 + help/html/dir_000010_000011.html | 76 + help/html/dir_000012_000014.html | 76 + help/html/dir_000013_000000.html | 76 + help/html/dir_000019_000000.html | 76 + help/html/dir_000019_000020.html | 76 + help/html/dir_000019_000021.html | 76 + help/html/dir_000019_000025.html | 76 + help/html/dir_000019_000026.html | 76 + help/html/dir_000019_000027.html | 76 + help/html/dir_000020_000022.html | 76 + help/html/dir_000020_000026.html | 76 + help/html/dir_000021_000022.html | 76 + help/html/dir_000021_000023.html | 76 + help/html/dir_000021_000024.html | 76 + help/html/dir_000021_000026.html | 76 + help/html/dir_000021_000027.html | 76 + help/html/dir_000021_000028.html | 76 + help/html/dir_000021_000029.html | 76 + help/html/dir_000022_000024.html | 76 + help/html/dir_000022_000026.html | 76 + help/html/dir_000022_000027.html | 76 + help/html/dir_000022_000028.html | 76 + help/html/dir_000023_000024.html | 76 + help/html/dir_000023_000026.html | 76 + help/html/dir_000023_000028.html | 76 + help/html/dir_000024_000000.html | 76 + help/html/dir_000024_000025.html | 76 + help/html/dir_000024_000028.html | 76 + help/html/dir_000024_000029.html | 76 + help/html/dir_000026_000000.html | 76 + help/html/dir_000026_000027.html | 76 + help/html/dir_000028_000029.html | 76 + .../dir_02eea93d5f6f49bd82ab4001fdffe1e7.html | 97 + ...r_02eea93d5f6f49bd82ab4001fdffe1e7_dep.map | 6 + ...r_02eea93d5f6f49bd82ab4001fdffe1e7_dep.md5 | 1 + ...r_02eea93d5f6f49bd82ab4001fdffe1e7_dep.png | Bin 0 -> 2740 bytes .../dir_06575b8358e13047479eaa591b69dad2.html | 146 + ...r_06575b8358e13047479eaa591b69dad2_dep.map | 38 + ...r_06575b8358e13047479eaa591b69dad2_dep.md5 | 1 + ...r_06575b8358e13047479eaa591b69dad2_dep.png | Bin 0 -> 54572 bytes .../dir_06bf8d3e2008620d16ac418f1dde3e85.html | 91 + .../dir_0b33dbc856f0018626633bfe56654d6c.html | 97 + ...r_0b33dbc856f0018626633bfe56654d6c_dep.map | 6 + ...r_0b33dbc856f0018626633bfe56654d6c_dep.md5 | 1 + ...r_0b33dbc856f0018626633bfe56654d6c_dep.png | Bin 0 -> 2804 bytes .../dir_0c442c3451b59b63dfe09a0379a94178.html | 88 + .../dir_0e9bcac464ba29ef322b4b8f7fba04ee.html | 88 + .../dir_13e138d54eb8818da29c3992edef070a.html | 101 + ...r_13e138d54eb8818da29c3992edef070a_dep.map | 8 + ...r_13e138d54eb8818da29c3992edef070a_dep.md5 | 1 + ...r_13e138d54eb8818da29c3992edef070a_dep.png | Bin 0 -> 4456 bytes .../dir_1a19983f27cd648658d29847c7bbcb19.html | 80 + .../dir_23b5b2bc83a8d87415b91ff4fc156479.html | 112 + ...r_23b5b2bc83a8d87415b91ff4fc156479_dep.map | 11 + ...r_23b5b2bc83a8d87415b91ff4fc156479_dep.md5 | 1 + ...r_23b5b2bc83a8d87415b91ff4fc156479_dep.png | Bin 0 -> 7965 bytes .../dir_289a9db7f5db18fcebe2284c66b05f94.html | 88 + .../dir_2d70b624766e7af9f02777d40df177e4.html | 86 + .../dir_30efafad49404b27c7a8c0189efd1d72.html | 86 + .../dir_3e4011b093e9094a5bbfad1e0d15235b.html | 86 + .../dir_4c1fc4c0ab0da9ccb6d8740879749b03.html | 112 + ...r_4c1fc4c0ab0da9ccb6d8740879749b03_dep.map | 11 + ...r_4c1fc4c0ab0da9ccb6d8740879749b03_dep.md5 | 1 + ...r_4c1fc4c0ab0da9ccb6d8740879749b03_dep.png | Bin 0 -> 8855 bytes .../dir_4fef79e7177ba769987a8da36c892c5f.html | 88 + .../dir_63772b626f2709090f0bdca0f40827b4.html | 86 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 100 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.map | 4 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 | 1 + ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.png | Bin 0 -> 1947 bytes .../dir_68d9d37faf938ef4e7c82b587d705a9a.html | 98 + ...r_68d9d37faf938ef4e7c82b587d705a9a_dep.map | 7 + ...r_68d9d37faf938ef4e7c82b587d705a9a_dep.md5 | 1 + ...r_68d9d37faf938ef4e7c82b587d705a9a_dep.png | Bin 0 -> 3861 bytes .../dir_79efdb59f6a5ff44918633d20e92653c.html | 88 + .../dir_7ab4773fac486c7995104695845818e6.html | 109 + ...r_7ab4773fac486c7995104695845818e6_dep.map | 12 + ...r_7ab4773fac486c7995104695845818e6_dep.md5 | 1 + ...r_7ab4773fac486c7995104695845818e6_dep.png | Bin 0 -> 10345 bytes .../dir_7b204e709373ad92a397cb8b8f7260f0.html | 86 + .../dir_83bb4264a967bda825f8e2a6706cdbe3.html | 98 + .../dir_8aa1ed3b12087951e6a0c9105a0a98a2.html | 86 + .../dir_99f78c8e628118007b622946f3ce3340.html | 86 + .../dir_9ae0892d9c56e7b9f2ab4a1221d08892.html | 103 + ...r_9ae0892d9c56e7b9f2ab4a1221d08892_dep.map | 6 + ...r_9ae0892d9c56e7b9f2ab4a1221d08892_dep.md5 | 1 + ...r_9ae0892d9c56e7b9f2ab4a1221d08892_dep.png | Bin 0 -> 3118 bytes .../dir_9cf5991ce8de267a99f538b490a27ef5.html | 103 + ...r_9cf5991ce8de267a99f538b490a27ef5_dep.map | 6 + ...r_9cf5991ce8de267a99f538b490a27ef5_dep.md5 | 1 + ...r_9cf5991ce8de267a99f538b490a27ef5_dep.png | Bin 0 -> 3284 bytes .../dir_a4143d9535409cad0db9157922ee0522.html | 112 + ...r_a4143d9535409cad0db9157922ee0522_dep.map | 15 + ...r_a4143d9535409cad0db9157922ee0522_dep.md5 | 1 + ...r_a4143d9535409cad0db9157922ee0522_dep.png | Bin 0 -> 14243 bytes .../dir_a57a94e38c03835eed49274b75b0176d.html | 90 + .../dir_c06befe8754771f97f430fe979ad2856.html | 86 + .../dir_c3fa62a8cff70d54181bfe4edcf32bea.html | 80 + .../dir_ce57668a0aec1228559c5babc6601945.html | 128 + ...r_ce57668a0aec1228559c5babc6601945_dep.map | 15 + ...r_ce57668a0aec1228559c5babc6601945_dep.md5 | 1 + ...r_ce57668a0aec1228559c5babc6601945_dep.png | Bin 0 -> 13719 bytes .../dir_ceaf37d45d7af60067755dfeb40fde64.html | 112 + ...r_ceaf37d45d7af60067755dfeb40fde64_dep.map | 15 + ...r_ceaf37d45d7af60067755dfeb40fde64_dep.md5 | 1 + ...r_ceaf37d45d7af60067755dfeb40fde64_dep.png | Bin 0 -> 12629 bytes .../dir_e9d2c87952e388da8e570b477721a3fc.html | 86 + .../dir_ef921c9c7afa4ede73f5526ef5f0e87a.html | 80 + .../dir_f91a90d4f7f2239d1002731883d1939d.html | 88 + help/html/directMessage_8cc.html | 117 + help/html/directMessage_8cc__incl.map | 18 + help/html/directMessage_8cc__incl.md5 | 1 + help/html/directMessage_8cc__incl.png | Bin 0 -> 68754 bytes help/html/directMessage_8h.html | 135 + help/html/directMessage_8h__dep__incl.map | 7 + help/html/directMessage_8h__dep__incl.md5 | 1 + help/html/directMessage_8h__dep__incl.png | Bin 0 -> 14361 bytes help/html/directMessage_8h__incl.map | 12 + help/html/directMessage_8h__incl.md5 | 1 + help/html/directMessage_8h__incl.png | Bin 0 -> 35116 bytes help/html/directMessage_8h_source.html | 112 + help/html/doc.png | Bin 0 -> 746 bytes help/html/doxygen.css | 1771 ++ help/html/doxygen.png | Bin 0 -> 3779 bytes help/html/dynsections.js | 120 + help/html/exception_8h.html | 127 + help/html/exception_8h__dep__incl.map | 12 + help/html/exception_8h__dep__incl.md5 | 1 + help/html/exception_8h__dep__incl.png | Bin 0 -> 35301 bytes help/html/exception_8h__incl.map | 5 + help/html/exception_8h__incl.md5 | 1 + help/html/exception_8h__incl.png | Bin 0 -> 6547 bytes help/html/exception_8h_source.html | 109 + help/html/favorite_2destroy_8cc.html | 112 + help/html/favorite_2destroy_8cc__incl.map | 13 + help/html/favorite_2destroy_8cc__incl.md5 | 1 + help/html/favorite_2destroy_8cc__incl.png | Bin 0 -> 38811 bytes help/html/favorite_2destroy_8h.html | 129 + help/html/favorite_2destroy_8h__dep__incl.map | 5 + help/html/favorite_2destroy_8h__dep__incl.md5 | 1 + help/html/favorite_2destroy_8h__dep__incl.png | Bin 0 -> 7915 bytes help/html/favorite_2destroy_8h__incl.map | 12 + help/html/favorite_2destroy_8h__incl.md5 | 1 + help/html/favorite_2destroy_8h__incl.png | Bin 0 -> 38490 bytes help/html/favorite_2destroy_8h_source.html | 107 + help/html/favorite_8cc.html | 116 + help/html/favorite_8cc__incl.map | 16 + help/html/favorite_8cc__incl.md5 | 1 + help/html/favorite_8cc__incl.png | Bin 0 -> 60513 bytes help/html/favorite_8h.html | 130 + help/html/favorite_8h__dep__incl.map | 7 + help/html/favorite_8h__dep__incl.md5 | 1 + help/html/favorite_8h__dep__incl.png | Bin 0 -> 13074 bytes help/html/favorite_8h__incl.map | 10 + help/html/favorite_8h__incl.md5 | 1 + help/html/favorite_8h__incl.png | Bin 0 -> 28785 bytes help/html/favorite_8h_source.html | 108 + help/html/files.html | 144 + help/html/folderclosed.png | Bin 0 -> 616 bytes help/html/folderopen.png | Bin 0 -> 597 bytes help/html/formula.repository | 1 + help/html/functions.html | 409 + help/html/functions_a.html | 112 + help/html/functions_b.html | 135 + help/html/functions_c.html | 178 + help/html/functions_d.html | 103 + help/html/functions_e.html | 121 + help/html/functions_enum.html | 77 + help/html/functions_eval.html | 83 + help/html/functions_f.html | 126 + help/html/functions_func.html | 384 + help/html/functions_func_b.html | 112 + help/html/functions_func_c.html | 133 + help/html/functions_func_d.html | 92 + help/html/functions_func_e.html | 113 + help/html/functions_func_f.html | 119 + help/html/functions_func_g.html | 127 + help/html/functions_func_h.html | 82 + help/html/functions_func_i.html | 165 + help/html/functions_func_j.html | 91 + help/html/functions_func_k.html | 89 + help/html/functions_func_l.html | 82 + help/html/functions_func_m.html | 100 + help/html/functions_func_n.html | 118 + help/html/functions_func_o.html | 208 + help/html/functions_func_p.html | 111 + help/html/functions_func_r.html | 82 + help/html/functions_func_s.html | 151 + help/html/functions_func_t.html | 113 + help/html/functions_func_u.html | 89 + help/html/functions_func_v.html | 85 + help/html/functions_func_w.html | 107 + help/html/functions_func_~.html | 121 + help/html/functions_g.html | 127 + help/html/functions_h.html | 82 + help/html/functions_i.html | 191 + help/html/functions_j.html | 98 + help/html/functions_k.html | 98 + help/html/functions_l.html | 85 + help/html/functions_m.html | 109 + help/html/functions_n.html | 139 + help/html/functions_o.html | 251 + help/html/functions_p.html | 135 + help/html/functions_r.html | 97 + help/html/functions_rela.html | 163 + help/html/functions_s.html | 170 + help/html/functions_t.html | 125 + help/html/functions_type.html | 86 + help/html/functions_type_b.html | 92 + help/html/functions_type_c.html | 109 + help/html/functions_type_d.html | 84 + help/html/functions_type_e.html | 82 + help/html/functions_type_i.html | 98 + help/html/functions_type_j.html | 85 + help/html/functions_type_k.html | 79 + help/html/functions_type_m.html | 79 + help/html/functions_type_n.html | 97 + help/html/functions_type_o.html | 92 + help/html/functions_type_p.html | 95 + help/html/functions_type_r.html | 91 + help/html/functions_type_s.html | 97 + help/html/functions_type_t.html | 89 + help/html/functions_type_v.html | 91 + help/html/functions_u.html | 92 + help/html/functions_v.html | 123 + help/html/functions_vars.html | 117 + help/html/functions_w.html | 113 + help/html/functions_~.html | 121 + help/html/globals.html | 101 + help/html/globals_a.html | 92 + help/html/globals_b.html | 82 + help/html/globals_c.html | 98 + help/html/globals_d.html | 80 + help/html/globals_defs.html | 78 + help/html/globals_defs_c.html | 86 + help/html/globals_defs_d.html | 80 + help/html/globals_defs_h.html | 80 + help/html/globals_defs_i.html | 79 + help/html/globals_defs_j.html | 463 + help/html/globals_defs_n.html | 304 + help/html/globals_defs_p.html | 80 + help/html/globals_defs_s.html | 84 + help/html/globals_f.html | 79 + help/html/globals_func.html | 89 + help/html/globals_g.html | 79 + help/html/globals_h.html | 83 + help/html/globals_i.html | 107 + help/html/globals_j.html | 463 + help/html/globals_k.html | 85 + help/html/globals_l.html | 133 + help/html/globals_m.html | 81 + help/html/globals_n.html | 316 + help/html/globals_o.html | 85 + help/html/globals_p.html | 95 + help/html/globals_r.html | 82 + help/html/globals_s.html | 96 + help/html/globals_u.html | 79 + help/html/globals_vars.html | 86 + help/html/globals_w.html | 79 + help/html/globals_z.html | 80 + help/html/graph_legend.html | 136 + help/html/graph_legend.md5 | 1 + help/html/graph_legend.png | Bin 0 -> 20608 bytes help/html/groupInterface_8h.html | 132 + help/html/groupInterface_8h__dep__incl.map | 14 + help/html/groupInterface_8h__dep__incl.md5 | 1 + help/html/groupInterface_8h__dep__incl.png | Bin 0 -> 31291 bytes help/html/groupInterface_8h__incl.map | 8 + help/html/groupInterface_8h__incl.md5 | 1 + help/html/groupInterface_8h__incl.png | Bin 0 -> 16280 bytes help/html/groupInterface_8h_source.html | 98 + help/html/hierarchy.html | 113 + help/html/httpBase_8h.html | 154 + help/html/httpBase_8h__dep__incl.map | 33 + help/html/httpBase_8h__dep__incl.md5 | 1 + help/html/httpBase_8h__dep__incl.png | Bin 0 -> 93221 bytes help/html/httpBase_8h__incl.map | 9 + help/html/httpBase_8h__incl.md5 | 1 + help/html/httpBase_8h__incl.png | Bin 0 -> 17039 bytes help/html/httpBase_8h_source.html | 114 + help/html/httpGet_8cc.html | 124 + help/html/httpGet_8cc__incl.map | 18 + help/html/httpGet_8cc__incl.md5 | 1 + help/html/httpGet_8cc__incl.png | Bin 0 -> 64866 bytes help/html/httpGet_8h.html | 131 + help/html/httpGet_8h__dep__incl.map | 7 + help/html/httpGet_8h__dep__incl.md5 | 1 + help/html/httpGet_8h__dep__incl.png | Bin 0 -> 14672 bytes help/html/httpGet_8h__incl.map | 10 + help/html/httpGet_8h__incl.md5 | 1 + help/html/httpGet_8h__incl.png | Bin 0 -> 24312 bytes help/html/httpGet_8h_source.html | 103 + help/html/httpPost_8cc.html | 138 + help/html/httpPost_8cc__incl.map | 26 + help/html/httpPost_8cc__incl.md5 | 1 + help/html/httpPost_8cc__incl.png | Bin 0 -> 118735 bytes help/html/httpPost_8h.html | 152 + help/html/httpPost_8h__dep__incl.map | 28 + help/html/httpPost_8h__dep__incl.md5 | 1 + help/html/httpPost_8h__dep__incl.png | Bin 0 -> 67781 bytes help/html/httpPost_8h__incl.map | 10 + help/html/httpPost_8h__incl.md5 | 1 + help/html/httpPost_8h__incl.png | Bin 0 -> 24255 bytes help/html/httpPost_8h_source.html | 103 + help/html/index.html | 76 + help/html/inherit_graph_0.map | 3 + help/html/inherit_graph_0.md5 | 1 + help/html/inherit_graph_0.png | Bin 0 -> 1697 bytes help/html/inherit_graph_1.map | 7 + help/html/inherit_graph_1.md5 | 1 + help/html/inherit_graph_1.png | Bin 0 -> 18128 bytes help/html/inherit_graph_10.map | 4 + help/html/inherit_graph_10.md5 | 1 + help/html/inherit_graph_10.png | Bin 0 -> 4347 bytes help/html/inherit_graph_100.map | 3 + help/html/inherit_graph_100.md5 | 1 + help/html/inherit_graph_100.png | Bin 0 -> 4076 bytes help/html/inherit_graph_101.map | 3 + help/html/inherit_graph_101.md5 | 1 + help/html/inherit_graph_101.png | Bin 0 -> 2703 bytes help/html/inherit_graph_102.map | 3 + help/html/inherit_graph_102.md5 | 1 + help/html/inherit_graph_102.png | Bin 0 -> 2903 bytes help/html/inherit_graph_103.map | 3 + help/html/inherit_graph_103.md5 | 1 + help/html/inherit_graph_103.png | Bin 0 -> 3633 bytes help/html/inherit_graph_104.map | 3 + help/html/inherit_graph_104.md5 | 1 + help/html/inherit_graph_104.png | Bin 0 -> 1894 bytes help/html/inherit_graph_105.map | 3 + help/html/inherit_graph_105.md5 | 1 + help/html/inherit_graph_105.png | Bin 0 -> 2560 bytes help/html/inherit_graph_106.map | 3 + help/html/inherit_graph_106.md5 | 1 + help/html/inherit_graph_106.png | Bin 0 -> 3859 bytes help/html/inherit_graph_107.map | 4 + help/html/inherit_graph_107.md5 | 1 + help/html/inherit_graph_107.png | Bin 0 -> 6065 bytes help/html/inherit_graph_11.map | 3 + help/html/inherit_graph_11.md5 | 1 + help/html/inherit_graph_11.png | Bin 0 -> 3907 bytes help/html/inherit_graph_12.map | 3 + help/html/inherit_graph_12.md5 | 1 + help/html/inherit_graph_12.png | Bin 0 -> 3791 bytes help/html/inherit_graph_13.map | 4 + help/html/inherit_graph_13.md5 | 1 + help/html/inherit_graph_13.png | Bin 0 -> 2902 bytes help/html/inherit_graph_14.map | 4 + help/html/inherit_graph_14.md5 | 1 + help/html/inherit_graph_14.png | Bin 0 -> 3220 bytes help/html/inherit_graph_15.map | 10 + help/html/inherit_graph_15.md5 | 1 + help/html/inherit_graph_15.png | Bin 0 -> 38883 bytes help/html/inherit_graph_16.map | 3 + help/html/inherit_graph_16.md5 | 1 + help/html/inherit_graph_16.png | Bin 0 -> 4476 bytes help/html/inherit_graph_17.map | 3 + help/html/inherit_graph_17.md5 | 1 + help/html/inherit_graph_17.png | Bin 0 -> 4447 bytes help/html/inherit_graph_18.map | 3 + help/html/inherit_graph_18.md5 | 1 + help/html/inherit_graph_18.png | Bin 0 -> 2147 bytes help/html/inherit_graph_19.map | 3 + help/html/inherit_graph_19.md5 | 1 + help/html/inherit_graph_19.png | Bin 0 -> 2281 bytes help/html/inherit_graph_2.map | 14 + help/html/inherit_graph_2.md5 | 1 + help/html/inherit_graph_2.png | Bin 0 -> 61900 bytes help/html/inherit_graph_20.map | 3 + help/html/inherit_graph_20.md5 | 1 + help/html/inherit_graph_20.png | Bin 0 -> 2048 bytes help/html/inherit_graph_21.map | 3 + help/html/inherit_graph_21.md5 | 1 + help/html/inherit_graph_21.png | Bin 0 -> 2715 bytes help/html/inherit_graph_22.map | 3 + help/html/inherit_graph_22.md5 | 1 + help/html/inherit_graph_22.png | Bin 0 -> 3044 bytes help/html/inherit_graph_23.map | 3 + help/html/inherit_graph_23.md5 | 1 + help/html/inherit_graph_23.png | Bin 0 -> 3075 bytes help/html/inherit_graph_24.map | 3 + help/html/inherit_graph_24.md5 | 1 + help/html/inherit_graph_24.png | Bin 0 -> 3235 bytes help/html/inherit_graph_25.map | 3 + help/html/inherit_graph_25.md5 | 1 + help/html/inherit_graph_25.png | Bin 0 -> 3510 bytes help/html/inherit_graph_26.map | 3 + help/html/inherit_graph_26.md5 | 1 + help/html/inherit_graph_26.png | Bin 0 -> 3623 bytes help/html/inherit_graph_27.map | 3 + help/html/inherit_graph_27.md5 | 1 + help/html/inherit_graph_27.png | Bin 0 -> 3715 bytes help/html/inherit_graph_28.map | 3 + help/html/inherit_graph_28.md5 | 1 + help/html/inherit_graph_28.png | Bin 0 -> 3350 bytes help/html/inherit_graph_29.map | 3 + help/html/inherit_graph_29.md5 | 1 + help/html/inherit_graph_29.png | Bin 0 -> 3040 bytes help/html/inherit_graph_3.map | 3 + help/html/inherit_graph_3.md5 | 1 + help/html/inherit_graph_3.png | Bin 0 -> 2633 bytes help/html/inherit_graph_30.map | 3 + help/html/inherit_graph_30.md5 | 1 + help/html/inherit_graph_30.png | Bin 0 -> 1878 bytes help/html/inherit_graph_31.map | 3 + help/html/inherit_graph_31.md5 | 1 + help/html/inherit_graph_31.png | Bin 0 -> 4018 bytes help/html/inherit_graph_32.map | 3 + help/html/inherit_graph_32.md5 | 1 + help/html/inherit_graph_32.png | Bin 0 -> 4061 bytes help/html/inherit_graph_33.map | 3 + help/html/inherit_graph_33.md5 | 1 + help/html/inherit_graph_33.png | Bin 0 -> 4540 bytes help/html/inherit_graph_34.map | 3 + help/html/inherit_graph_34.md5 | 1 + help/html/inherit_graph_34.png | Bin 0 -> 4446 bytes help/html/inherit_graph_35.map | 3 + help/html/inherit_graph_35.md5 | 1 + help/html/inherit_graph_35.png | Bin 0 -> 4032 bytes help/html/inherit_graph_36.map | 3 + help/html/inherit_graph_36.md5 | 1 + help/html/inherit_graph_36.png | Bin 0 -> 3988 bytes help/html/inherit_graph_37.map | 4 + help/html/inherit_graph_37.md5 | 1 + help/html/inherit_graph_37.png | Bin 0 -> 3873 bytes help/html/inherit_graph_38.map | 4 + help/html/inherit_graph_38.md5 | 1 + help/html/inherit_graph_38.png | Bin 0 -> 6676 bytes help/html/inherit_graph_39.map | 3 + help/html/inherit_graph_39.md5 | 1 + help/html/inherit_graph_39.png | Bin 0 -> 2780 bytes help/html/inherit_graph_4.map | 3 + help/html/inherit_graph_4.md5 | 1 + help/html/inherit_graph_4.png | Bin 0 -> 2181 bytes help/html/inherit_graph_40.map | 4 + help/html/inherit_graph_40.md5 | 1 + help/html/inherit_graph_40.png | Bin 0 -> 3825 bytes help/html/inherit_graph_41.map | 3 + help/html/inherit_graph_41.md5 | 1 + help/html/inherit_graph_41.png | Bin 0 -> 1971 bytes help/html/inherit_graph_42.map | 7 + help/html/inherit_graph_42.md5 | 1 + help/html/inherit_graph_42.png | Bin 0 -> 15711 bytes help/html/inherit_graph_43.map | 3 + help/html/inherit_graph_43.md5 | 1 + help/html/inherit_graph_43.png | Bin 0 -> 2899 bytes help/html/inherit_graph_44.map | 3 + help/html/inherit_graph_44.md5 | 1 + help/html/inherit_graph_44.png | Bin 0 -> 4027 bytes help/html/inherit_graph_45.map | 35 + help/html/inherit_graph_45.md5 | 1 + help/html/inherit_graph_45.png | Bin 0 -> 274897 bytes help/html/inherit_graph_46.map | 3 + help/html/inherit_graph_46.md5 | 1 + help/html/inherit_graph_46.png | Bin 0 -> 11905 bytes help/html/inherit_graph_47.map | 3 + help/html/inherit_graph_47.md5 | 1 + help/html/inherit_graph_47.png | Bin 0 -> 12144 bytes help/html/inherit_graph_48.map | 3 + help/html/inherit_graph_48.md5 | 1 + help/html/inherit_graph_48.png | Bin 0 -> 11899 bytes help/html/inherit_graph_49.map | 3 + help/html/inherit_graph_49.md5 | 1 + help/html/inherit_graph_49.png | Bin 0 -> 11289 bytes help/html/inherit_graph_5.map | 3 + help/html/inherit_graph_5.md5 | 1 + help/html/inherit_graph_5.png | Bin 0 -> 2833 bytes help/html/inherit_graph_50.map | 3 + help/html/inherit_graph_50.md5 | 1 + help/html/inherit_graph_50.png | Bin 0 -> 7141 bytes help/html/inherit_graph_51.map | 3 + help/html/inherit_graph_51.md5 | 1 + help/html/inherit_graph_51.png | Bin 0 -> 6799 bytes help/html/inherit_graph_52.map | 3 + help/html/inherit_graph_52.md5 | 1 + help/html/inherit_graph_52.png | Bin 0 -> 6944 bytes help/html/inherit_graph_53.map | 3 + help/html/inherit_graph_53.md5 | 1 + help/html/inherit_graph_53.png | Bin 0 -> 4737 bytes help/html/inherit_graph_54.map | 3 + help/html/inherit_graph_54.md5 | 1 + help/html/inherit_graph_54.png | Bin 0 -> 19527 bytes help/html/inherit_graph_55.map | 3 + help/html/inherit_graph_55.md5 | 1 + help/html/inherit_graph_55.png | Bin 0 -> 36315 bytes help/html/inherit_graph_56.map | 3 + help/html/inherit_graph_56.md5 | 1 + help/html/inherit_graph_56.png | Bin 0 -> 11873 bytes help/html/inherit_graph_57.map | 3 + help/html/inherit_graph_57.md5 | 1 + help/html/inherit_graph_57.png | Bin 0 -> 11041 bytes help/html/inherit_graph_58.map | 3 + help/html/inherit_graph_58.md5 | 1 + help/html/inherit_graph_58.png | Bin 0 -> 9145 bytes help/html/inherit_graph_59.map | 3 + help/html/inherit_graph_59.md5 | 1 + help/html/inherit_graph_59.png | Bin 0 -> 3422 bytes help/html/inherit_graph_6.map | 10 + help/html/inherit_graph_6.md5 | 1 + help/html/inherit_graph_6.png | Bin 0 -> 38843 bytes help/html/inherit_graph_60.map | 3 + help/html/inherit_graph_60.md5 | 1 + help/html/inherit_graph_60.png | Bin 0 -> 2777 bytes help/html/inherit_graph_61.map | 3 + help/html/inherit_graph_61.md5 | 1 + help/html/inherit_graph_61.png | Bin 0 -> 3078 bytes help/html/inherit_graph_62.map | 3 + help/html/inherit_graph_62.md5 | 1 + help/html/inherit_graph_62.png | Bin 0 -> 3525 bytes help/html/inherit_graph_63.map | 3 + help/html/inherit_graph_63.md5 | 1 + help/html/inherit_graph_63.png | Bin 0 -> 4327 bytes help/html/inherit_graph_64.map | 3 + help/html/inherit_graph_64.md5 | 1 + help/html/inherit_graph_64.png | Bin 0 -> 3160 bytes help/html/inherit_graph_65.map | 3 + help/html/inherit_graph_65.md5 | 1 + help/html/inherit_graph_65.png | Bin 0 -> 2667 bytes help/html/inherit_graph_66.map | 3 + help/html/inherit_graph_66.md5 | 1 + help/html/inherit_graph_66.png | Bin 0 -> 2942 bytes help/html/inherit_graph_67.map | 3 + help/html/inherit_graph_67.md5 | 1 + help/html/inherit_graph_67.png | Bin 0 -> 2648 bytes help/html/inherit_graph_68.map | 3 + help/html/inherit_graph_68.md5 | 1 + help/html/inherit_graph_68.png | Bin 0 -> 3653 bytes help/html/inherit_graph_69.map | 3 + help/html/inherit_graph_69.md5 | 1 + help/html/inherit_graph_69.png | Bin 0 -> 4573 bytes help/html/inherit_graph_7.map | 3 + help/html/inherit_graph_7.md5 | 1 + help/html/inherit_graph_7.png | Bin 0 -> 2441 bytes help/html/inherit_graph_70.map | 3 + help/html/inherit_graph_70.md5 | 1 + help/html/inherit_graph_70.png | Bin 0 -> 4274 bytes help/html/inherit_graph_71.map | 3 + help/html/inherit_graph_71.md5 | 1 + help/html/inherit_graph_71.png | Bin 0 -> 2797 bytes help/html/inherit_graph_72.map | 3 + help/html/inherit_graph_72.md5 | 1 + help/html/inherit_graph_72.png | Bin 0 -> 2834 bytes help/html/inherit_graph_73.map | 3 + help/html/inherit_graph_73.md5 | 1 + help/html/inherit_graph_73.png | Bin 0 -> 5869 bytes help/html/inherit_graph_74.map | 4 + help/html/inherit_graph_74.md5 | 1 + help/html/inherit_graph_74.png | Bin 0 -> 5112 bytes help/html/inherit_graph_75.map | 3 + help/html/inherit_graph_75.md5 | 1 + help/html/inherit_graph_75.png | Bin 0 -> 2945 bytes help/html/inherit_graph_76.map | 4 + help/html/inherit_graph_76.md5 | 1 + help/html/inherit_graph_76.png | Bin 0 -> 3712 bytes help/html/inherit_graph_77.map | 3 + help/html/inherit_graph_77.md5 | 1 + help/html/inherit_graph_77.png | Bin 0 -> 3209 bytes help/html/inherit_graph_78.map | 3 + help/html/inherit_graph_78.md5 | 1 + help/html/inherit_graph_78.png | Bin 0 -> 4003 bytes help/html/inherit_graph_79.map | 3 + help/html/inherit_graph_79.md5 | 1 + help/html/inherit_graph_79.png | Bin 0 -> 3336 bytes help/html/inherit_graph_8.map | 3 + help/html/inherit_graph_8.md5 | 1 + help/html/inherit_graph_8.png | Bin 0 -> 2401 bytes help/html/inherit_graph_80.map | 3 + help/html/inherit_graph_80.md5 | 1 + help/html/inherit_graph_80.png | Bin 0 -> 2858 bytes help/html/inherit_graph_81.map | 3 + help/html/inherit_graph_81.md5 | 1 + help/html/inherit_graph_81.png | Bin 0 -> 3010 bytes help/html/inherit_graph_82.map | 3 + help/html/inherit_graph_82.md5 | 1 + help/html/inherit_graph_82.png | Bin 0 -> 2464 bytes help/html/inherit_graph_83.map | 4 + help/html/inherit_graph_83.md5 | 1 + help/html/inherit_graph_83.png | Bin 0 -> 6214 bytes help/html/inherit_graph_84.map | 3 + help/html/inherit_graph_84.md5 | 1 + help/html/inherit_graph_84.png | Bin 0 -> 3885 bytes help/html/inherit_graph_85.map | 3 + help/html/inherit_graph_85.md5 | 1 + help/html/inherit_graph_85.png | Bin 0 -> 1705 bytes help/html/inherit_graph_86.map | 3 + help/html/inherit_graph_86.md5 | 1 + help/html/inherit_graph_86.png | Bin 0 -> 3293 bytes help/html/inherit_graph_87.map | 6 + help/html/inherit_graph_87.md5 | 1 + help/html/inherit_graph_87.png | Bin 0 -> 15100 bytes help/html/inherit_graph_88.map | 3 + help/html/inherit_graph_88.md5 | 1 + help/html/inherit_graph_88.png | Bin 0 -> 2810 bytes help/html/inherit_graph_89.map | 3 + help/html/inherit_graph_89.md5 | 1 + help/html/inherit_graph_89.png | Bin 0 -> 1830 bytes help/html/inherit_graph_9.map | 3 + help/html/inherit_graph_9.md5 | 1 + help/html/inherit_graph_9.png | Bin 0 -> 1392 bytes help/html/inherit_graph_90.map | 3 + help/html/inherit_graph_90.md5 | 1 + help/html/inherit_graph_90.png | Bin 0 -> 2173 bytes help/html/inherit_graph_91.map | 3 + help/html/inherit_graph_91.md5 | 1 + help/html/inherit_graph_91.png | Bin 0 -> 2560 bytes help/html/inherit_graph_92.map | 3 + help/html/inherit_graph_92.md5 | 1 + help/html/inherit_graph_92.png | Bin 0 -> 2515 bytes help/html/inherit_graph_93.map | 3 + help/html/inherit_graph_93.md5 | 1 + help/html/inherit_graph_93.png | Bin 0 -> 3199 bytes help/html/inherit_graph_94.map | 3 + help/html/inherit_graph_94.md5 | 1 + help/html/inherit_graph_94.png | Bin 0 -> 2106 bytes help/html/inherit_graph_95.map | 3 + help/html/inherit_graph_95.md5 | 1 + help/html/inherit_graph_95.png | Bin 0 -> 2404 bytes help/html/inherit_graph_96.map | 3 + help/html/inherit_graph_96.md5 | 1 + help/html/inherit_graph_96.png | Bin 0 -> 1754 bytes help/html/inherit_graph_97.map | 3 + help/html/inherit_graph_97.md5 | 1 + help/html/inherit_graph_97.png | Bin 0 -> 4021 bytes help/html/inherit_graph_98.map | 3 + help/html/inherit_graph_98.md5 | 1 + help/html/inherit_graph_98.png | Bin 0 -> 3988 bytes help/html/inherit_graph_99.map | 3 + help/html/inherit_graph_99.md5 | 1 + help/html/inherit_graph_99.png | Bin 0 -> 4304 bytes help/html/inherits.html | 147 + help/html/jquery.js | 35 + help/html/json-populate-cfgcmd_8txt.html | 76 + .../json-populate-gitclone-lastrun_8txt.html | 76 + help/html/json-populate-gitinfo_8txt.html | 76 + help/html/json_8hpp.html | 4042 +++ help/html/json_8hpp__dep__incl.map | 5 + help/html/json_8hpp__dep__incl.md5 | 1 + help/html/json_8hpp__dep__incl.png | Bin 0 -> 8709 bytes help/html/json_8hpp__incl.map | 36 + help/html/json_8hpp__incl.md5 | 1 + help/html/json_8hpp__incl.png | Bin 0 -> 88844 bytes help/html/json_8hpp_source.html | 17066 +++++++++++ help/html/json__fwd_8hpp.html | 122 + help/html/json__fwd_8hpp__incl.map | 8 + help/html/json__fwd_8hpp__incl.md5 | 1 + help/html/json__fwd_8hpp__incl.png | Bin 0 -> 10900 bytes help/html/json__fwd_8hpp_source.html | 115 + help/html/key_8cc.html | 107 + help/html/key_8cc__incl.map | 8 + help/html/key_8cc__incl.md5 | 1 + help/html/key_8cc__incl.png | Bin 0 -> 13667 bytes help/html/key_8h.html | 156 + help/html/key_8h__dep__incl.map | 41 + help/html/key_8h__dep__incl.md5 | 1 + help/html/key_8h__dep__incl.png | Bin 0 -> 209172 bytes help/html/key_8h__incl.map | 5 + help/html/key_8h__incl.md5 | 1 + help/html/key_8h__incl.png | Bin 0 -> 5857 bytes help/html/key_8h_source.html | 138 + help/html/main_8cc.html | 141 + help/html/main_8cc__incl.map | 26 + help/html/main_8cc__incl.md5 | 1 + help/html/main_8cc__incl.png | Bin 0 -> 174935 bytes help/html/md_README.html | 219 + help/html/md_build__deps_json-src_README.html | 102 + help/html/mediaStore_8cc.html | 108 + help/html/mediaStore_8cc__incl.map | 8 + help/html/mediaStore_8cc__incl.md5 | 1 + help/html/mediaStore_8cc__incl.png | Bin 0 -> 13645 bytes help/html/mediaStore_8h.html | 127 + help/html/mediaStore_8h__dep__incl.map | 11 + help/html/mediaStore_8h__dep__incl.md5 | 1 + help/html/mediaStore_8h__dep__incl.png | Bin 0 -> 27904 bytes help/html/mediaStore_8h__incl.map | 4 + help/html/mediaStore_8h__incl.md5 | 1 + help/html/mediaStore_8h__incl.png | Bin 0 -> 4521 bytes help/html/mediaStore_8h_source.html | 138 + help/html/media_8cc.html | 115 + help/html/media_8cc__incl.map | 17 + help/html/media_8cc__incl.md5 | 1 + help/html/media_8cc__incl.png | Bin 0 -> 75576 bytes help/html/media_8h.html | 139 + help/html/media_8h__dep__incl.map | 7 + help/html/media_8h__dep__incl.md5 | 1 + help/html/media_8h__dep__incl.png | Bin 0 -> 13606 bytes help/html/media_8h__incl.map | 16 + help/html/media_8h__incl.md5 | 1 + help/html/media_8h__incl.png | Bin 0 -> 71365 bytes help/html/media_8h_source.html | 114 + help/html/menu.js | 50 + help/html/menudata.js | 84 + help/html/namespaceCocoaTweet.html | 90 + help/html/namespaceCocoaTweet_1_1API.html | 107 + ...ceCocoaTweet_1_1API_1_1DirectMessages.html | 92 + ...mespaceCocoaTweet_1_1API_1_1Favorites.html | 92 + ...mespaceCocoaTweet_1_1API_1_1Interface.html | 94 + .../namespaceCocoaTweet_1_1API_1_1Medias.html | 92 + .../namespaceCocoaTweet_1_1API_1_1Model.html | 92 + ...amespaceCocoaTweet_1_1API_1_1Statuses.html | 102 + .../namespaceCocoaTweet_1_1Exception.html | 100 + help/html/namespaceCocoaTweet_1_1OAuth.html | 90 + help/html/namespaceCocoaTweet_1_1Util.html | 137 + help/html/namespacemembers.html | 80 + help/html/namespacemembers_enum.html | 89 + help/html/namespacemembers_func.html | 80 + help/html/namespacemembers_type.html | 264 + help/html/namespacemembers_vars.html | 113 + help/html/namespacenlohmann.html | 197 + help/html/namespacenlohmann_1_1detail.html | 3557 +++ ...spacenlohmann_1_1detail_1_1dtoa__impl.html | 616 + help/html/namespaces.html | 91 + help/html/namespacestd.html | 141 + help/html/namespaceupdate.html | 259 + help/html/nav_f.png | Bin 0 -> 153 bytes help/html/nav_g.png | Bin 0 -> 95 bytes help/html/nav_h.png | Bin 0 -> 98 bytes help/html/new_8cc.html | 118 + help/html/new_8cc__incl.map | 18 + help/html/new_8cc__incl.md5 | 1 + help/html/new_8cc__incl.png | Bin 0 -> 69214 bytes help/html/new_8h.html | 138 + help/html/new_8h__dep__incl.map | 6 + help/html/new_8h__dep__incl.md5 | 1 + help/html/new_8h__dep__incl.png | Bin 0 -> 10574 bytes help/html/new_8h__incl.map | 15 + help/html/new_8h__incl.md5 | 1 + help/html/new_8h__incl.png | Bin 0 -> 50387 bytes help/html/new_8h_source.html | 115 + help/html/oauth_8cc.html | 126 + help/html/oauth_8cc__incl.map | 19 + help/html/oauth_8cc__incl.md5 | 1 + help/html/oauth_8cc__incl.png | Bin 0 -> 44232 bytes help/html/oauth_8h.html | 158 + help/html/oauth_8h__dep__incl.map | 39 + help/html/oauth_8h__dep__incl.md5 | 1 + help/html/oauth_8h__dep__incl.png | Bin 0 -> 186079 bytes help/html/oauth_8h__incl.map | 7 + help/html/oauth_8h__incl.md5 | 1 + help/html/oauth_8h__incl.png | Bin 0 -> 12819 bytes help/html/oauth_8h_source.html | 127 + help/html/open.png | Bin 0 -> 123 bytes help/html/pages.html | 81 + help/html/rateLimitException_8h.html | 119 + .../html/rateLimitException_8h__dep__incl.map | 4 + .../html/rateLimitException_8h__dep__incl.md5 | 1 + .../html/rateLimitException_8h__dep__incl.png | Bin 0 -> 6599 bytes help/html/rateLimitException_8h__incl.map | 6 + help/html/rateLimitException_8h__incl.md5 | 1 + help/html/rateLimitException_8h__incl.png | Bin 0 -> 10036 bytes help/html/rateLimitException_8h_source.html | 97 + help/html/retweet_8cc.html | 113 + help/html/retweet_8cc__incl.map | 14 + help/html/retweet_8cc__incl.md5 | 1 + help/html/retweet_8cc__incl.png | Bin 0 -> 39308 bytes help/html/retweet_8h.html | 129 + help/html/retweet_8h__dep__incl.map | 5 + help/html/retweet_8h__dep__incl.md5 | 1 + help/html/retweet_8h__dep__incl.png | Bin 0 -> 7865 bytes help/html/retweet_8h__incl.map | 12 + help/html/retweet_8h__incl.md5 | 1 + help/html/retweet_8h__incl.png | Bin 0 -> 38007 bytes help/html/retweet_8h_source.html | 107 + help/html/search/all_0.html | 30 + help/html/search/all_0.js | 14 + help/html/search/all_1.html | 30 + help/html/search/all_1.js | 5 + help/html/search/all_10.html | 30 + help/html/search/all_10.js | 12 + help/html/search/all_11.html | 30 + help/html/search/all_11.js | 15 + help/html/search/all_12.html | 30 + help/html/search/all_12.js | 21 + help/html/search/all_13.html | 30 + help/html/search/all_13.js | 4 + help/html/search/all_14.html | 30 + help/html/search/all_14.js | 4 + help/html/search/all_15.html | 30 + help/html/search/all_15.js | 4 + help/html/search/all_16.html | 30 + help/html/search/all_16.js | 4 + help/html/search/all_17.html | 30 + help/html/search/all_17.js | 17 + help/html/search/all_18.html | 30 + help/html/search/all_18.js | 4 + help/html/search/all_19.html | 30 + help/html/search/all_19.js | 18 + help/html/search/all_2.html | 30 + help/html/search/all_2.js | 26 + help/html/search/all_3.html | 30 + help/html/search/all_3.js | 10 + help/html/search/all_4.html | 30 + help/html/search/all_4.js | 10 + help/html/search/all_5.html | 30 + help/html/search/all_5.js | 8 + help/html/search/all_6.html | 30 + help/html/search/all_6.js | 5 + help/html/search/all_7.html | 30 + help/html/search/all_7.js | 12 + help/html/search/all_8.html | 30 + help/html/search/all_8.js | 4 + help/html/search/all_9.html | 30 + help/html/search/all_9.js | 4 + help/html/search/all_a.html | 30 + help/html/search/all_a.js | 6 + help/html/search/all_b.html | 30 + help/html/search/all_b.js | 16 + help/html/search/all_c.html | 30 + help/html/search/all_c.js | 9 + help/html/search/all_d.html | 30 + help/html/search/all_d.js | 10 + help/html/search/all_e.html | 30 + help/html/search/all_e.js | 5 + help/html/search/all_f.html | 30 + help/html/search/all_f.js | 13 + help/html/search/classes_0.html | 30 + help/html/search/classes_0.js | 5 + help/html/search/classes_1.html | 30 + help/html/search/classes_1.js | 4 + help/html/search/classes_10.html | 30 + help/html/search/classes_10.js | 4 + help/html/search/classes_11.html | 30 + help/html/search/classes_11.js | 7 + help/html/search/classes_12.html | 30 + help/html/search/classes_12.js | 11 + help/html/search/classes_13.html | 30 + help/html/search/classes_13.js | 5 + help/html/search/classes_14.html | 30 + help/html/search/classes_14.js | 8 + help/html/search/classes_2.html | 30 + help/html/search/classes_2.js | 5 + help/html/search/classes_3.html | 30 + help/html/search/classes_3.js | 4 + help/html/search/classes_4.html | 30 + help/html/search/classes_4.js | 4 + help/html/search/classes_5.html | 30 + help/html/search/classes_5.js | 4 + help/html/search/classes_6.html | 30 + help/html/search/classes_6.js | 6 + help/html/search/classes_7.html | 30 + help/html/search/classes_7.js | 4 + help/html/search/classes_8.html | 30 + help/html/search/classes_8.js | 5 + help/html/search/classes_9.html | 30 + help/html/search/classes_9.js | 4 + help/html/search/classes_a.html | 30 + help/html/search/classes_a.js | 5 + help/html/search/classes_b.html | 30 + help/html/search/classes_b.js | 5 + help/html/search/classes_c.html | 30 + help/html/search/classes_c.js | 4 + help/html/search/classes_d.html | 30 + help/html/search/classes_d.js | 7 + help/html/search/classes_e.html | 30 + help/html/search/classes_e.js | 8 + help/html/search/classes_f.html | 30 + help/html/search/classes_f.js | 9 + help/html/search/close.png | Bin 0 -> 273 bytes help/html/search/defines_0.html | 30 + help/html/search/defines_0.js | 4 + help/html/search/defines_1.html | 30 + help/html/search/defines_1.js | 6 + help/html/search/defines_2.html | 30 + help/html/search/defines_2.js | 4 + help/html/search/defines_3.html | 30 + help/html/search/defines_3.js | 4 + help/html/search/defines_4.html | 30 + help/html/search/defines_4.js | 4 + help/html/search/defines_5.html | 30 + help/html/search/defines_5.js | 132 + help/html/search/defines_6.html | 30 + help/html/search/defines_6.js | 79 + help/html/search/defines_7.html | 30 + help/html/search/defines_7.js | 4 + help/html/search/defines_8.html | 30 + help/html/search/defines_8.js | 5 + help/html/search/enums_0.html | 30 + help/html/search/enums_0.js | 4 + help/html/search/enums_1.html | 30 + help/html/search/enums_1.js | 4 + help/html/search/enums_2.html | 30 + help/html/search/enums_2.js | 4 + help/html/search/enums_3.html | 30 + help/html/search/enums_3.js | 4 + help/html/search/enums_4.html | 30 + help/html/search/enums_4.js | 4 + help/html/search/enums_5.html | 30 + help/html/search/enums_5.js | 4 + help/html/search/enumvalues_0.html | 30 + help/html/search/enumvalues_0.js | 4 + help/html/search/enumvalues_1.html | 30 + help/html/search/enumvalues_1.js | 4 + help/html/search/enumvalues_10.html | 30 + help/html/search/enumvalues_10.js | 5 + help/html/search/enumvalues_11.html | 30 + help/html/search/enumvalues_11.js | 9 + help/html/search/enumvalues_2.html | 30 + help/html/search/enumvalues_2.js | 4 + help/html/search/enumvalues_3.html | 30 + help/html/search/enumvalues_3.js | 4 + help/html/search/enumvalues_4.html | 30 + help/html/search/enumvalues_4.js | 7 + help/html/search/enumvalues_5.html | 30 + help/html/search/enumvalues_5.js | 4 + help/html/search/enumvalues_6.html | 30 + help/html/search/enumvalues_6.js | 5 + help/html/search/enumvalues_7.html | 30 + help/html/search/enumvalues_7.js | 4 + help/html/search/enumvalues_8.html | 30 + help/html/search/enumvalues_8.js | 4 + help/html/search/enumvalues_9.html | 30 + help/html/search/enumvalues_9.js | 7 + help/html/search/enumvalues_a.html | 30 + help/html/search/enumvalues_a.js | 4 + help/html/search/enumvalues_b.html | 30 + help/html/search/enumvalues_b.js | 8 + help/html/search/enumvalues_c.html | 30 + help/html/search/enumvalues_c.js | 6 + help/html/search/enumvalues_d.html | 30 + help/html/search/enumvalues_d.js | 4 + help/html/search/enumvalues_e.html | 30 + help/html/search/enumvalues_e.js | 4 + help/html/search/enumvalues_f.html | 30 + help/html/search/enumvalues_f.js | 5 + help/html/search/files_0.html | 30 + help/html/search/files_0.js | 6 + help/html/search/files_1.html | 30 + help/html/search/files_1.js | 6 + help/html/search/files_2.html | 30 + help/html/search/files_2.js | 7 + help/html/search/files_3.html | 30 + help/html/search/files_3.js | 4 + help/html/search/files_4.html | 30 + help/html/search/files_4.js | 5 + help/html/search/files_5.html | 30 + help/html/search/files_5.js | 4 + help/html/search/files_6.html | 30 + help/html/search/files_6.js | 8 + help/html/search/files_7.html | 30 + help/html/search/files_7.js | 5 + help/html/search/files_8.html | 30 + help/html/search/files_8.js | 8 + help/html/search/files_9.html | 30 + help/html/search/files_9.js | 5 + help/html/search/files_a.html | 30 + help/html/search/files_a.js | 5 + help/html/search/files_b.html | 30 + help/html/search/files_b.js | 7 + help/html/search/files_c.html | 30 + help/html/search/files_c.js | 5 + help/html/search/files_d.html | 30 + help/html/search/files_d.js | 8 + help/html/search/files_e.html | 30 + help/html/search/files_e.js | 14 + help/html/search/files_f.html | 30 + help/html/search/files_f.js | 10 + help/html/search/functions_0.html | 30 + help/html/search/functions_0.js | 10 + help/html/search/functions_1.html | 30 + help/html/search/functions_1.js | 4 + help/html/search/functions_10.html | 30 + help/html/search/functions_10.js | 7 + help/html/search/functions_11.html | 30 + help/html/search/functions_11.js | 8 + help/html/search/functions_12.html | 30 + help/html/search/functions_12.js | 4 + help/html/search/functions_13.html | 30 + help/html/search/functions_13.js | 4 + help/html/search/functions_14.html | 30 + help/html/search/functions_14.js | 4 + help/html/search/functions_15.html | 30 + help/html/search/functions_15.js | 11 + help/html/search/functions_16.html | 30 + help/html/search/functions_16.js | 18 + help/html/search/functions_2.html | 30 + help/html/search/functions_2.js | 10 + help/html/search/functions_3.html | 30 + help/html/search/functions_3.js | 6 + help/html/search/functions_4.html | 30 + help/html/search/functions_4.js | 9 + help/html/search/functions_5.html | 30 + help/html/search/functions_5.js | 6 + help/html/search/functions_6.html | 30 + help/html/search/functions_6.js | 4 + help/html/search/functions_7.html | 30 + help/html/search/functions_7.js | 4 + help/html/search/functions_8.html | 30 + help/html/search/functions_8.js | 4 + help/html/search/functions_9.html | 30 + help/html/search/functions_9.js | 4 + help/html/search/functions_a.html | 30 + help/html/search/functions_a.js | 10 + help/html/search/functions_b.html | 30 + help/html/search/functions_b.js | 6 + help/html/search/functions_c.html | 30 + help/html/search/functions_c.js | 5 + help/html/search/functions_d.html | 30 + help/html/search/functions_d.js | 5 + help/html/search/functions_e.html | 30 + help/html/search/functions_e.js | 7 + help/html/search/functions_f.html | 30 + help/html/search/functions_f.js | 10 + help/html/search/mag_sel.png | Bin 0 -> 465 bytes help/html/search/namespaces_0.html | 30 + help/html/search/namespaces_0.js | 14 + help/html/search/namespaces_1.html | 30 + help/html/search/namespaces_1.js | 6 + help/html/search/namespaces_2.html | 30 + help/html/search/namespaces_2.js | 4 + help/html/search/namespaces_3.html | 30 + help/html/search/namespaces_3.js | 4 + help/html/search/nomatches.html | 12 + help/html/search/pages_0.html | 30 + help/html/search/pages_0.js | 4 + help/html/search/pages_1.html | 30 + help/html/search/pages_1.js | 4 + help/html/search/pages_2.html | 30 + help/html/search/pages_2.js | 4 + help/html/search/related_0.html | 30 + help/html/search/related_0.js | 9 + help/html/search/related_1.html | 30 + help/html/search/related_1.js | 4 + help/html/search/related_2.html | 30 + help/html/search/related_2.js | 4 + help/html/search/related_3.html | 30 + help/html/search/related_3.js | 14 + help/html/search/related_4.html | 30 + help/html/search/related_4.js | 4 + help/html/search/related_5.html | 30 + help/html/search/related_5.js | 4 + help/html/search/search.css | 271 + help/html/search/search.js | 814 + help/html/search/search_l.png | Bin 0 -> 567 bytes help/html/search/search_m.png | Bin 0 -> 158 bytes help/html/search/search_r.png | Bin 0 -> 553 bytes help/html/search/searchdata.js | 33 + help/html/search/typedefs_0.html | 30 + help/html/search/typedefs_0.js | 6 + help/html/search/typedefs_1.html | 30 + help/html/search/typedefs_1.js | 9 + help/html/search/typedefs_10.html | 30 + help/html/search/typedefs_10.js | 7 + help/html/search/typedefs_11.html | 30 + help/html/search/typedefs_11.js | 4 + help/html/search/typedefs_12.html | 30 + help/html/search/typedefs_12.js | 7 + help/html/search/typedefs_2.html | 30 + help/html/search/typedefs_2.js | 13 + help/html/search/typedefs_3.html | 30 + help/html/search/typedefs_3.js | 8 + help/html/search/typedefs_4.html | 30 + help/html/search/typedefs_4.js | 8 + help/html/search/typedefs_5.html | 30 + help/html/search/typedefs_5.js | 4 + help/html/search/typedefs_6.html | 30 + help/html/search/typedefs_6.js | 4 + help/html/search/typedefs_7.html | 30 + help/html/search/typedefs_7.js | 16 + help/html/search/typedefs_8.html | 30 + help/html/search/typedefs_8.js | 7 + help/html/search/typedefs_9.html | 30 + help/html/search/typedefs_9.js | 6 + help/html/search/typedefs_a.html | 30 + help/html/search/typedefs_a.js | 5 + help/html/search/typedefs_b.html | 30 + help/html/search/typedefs_b.js | 10 + help/html/search/typedefs_c.html | 30 + help/html/search/typedefs_c.js | 9 + help/html/search/typedefs_d.html | 30 + help/html/search/typedefs_d.js | 9 + help/html/search/typedefs_e.html | 30 + help/html/search/typedefs_e.js | 7 + help/html/search/typedefs_f.html | 30 + help/html/search/typedefs_f.js | 10 + help/html/search/variables_0.html | 30 + help/html/search/variables_0.js | 5 + help/html/search/variables_1.html | 30 + help/html/search/variables_1.js | 4 + help/html/search/variables_10.html | 30 + help/html/search/variables_10.js | 10 + help/html/search/variables_11.html | 30 + help/html/search/variables_11.js | 7 + help/html/search/variables_12.html | 30 + help/html/search/variables_12.js | 7 + help/html/search/variables_13.html | 30 + help/html/search/variables_13.js | 4 + help/html/search/variables_14.html | 30 + help/html/search/variables_14.js | 5 + help/html/search/variables_15.html | 30 + help/html/search/variables_15.js | 4 + help/html/search/variables_16.html | 30 + help/html/search/variables_16.js | 5 + help/html/search/variables_17.html | 30 + help/html/search/variables_17.js | 4 + help/html/search/variables_2.html | 30 + help/html/search/variables_2.js | 6 + help/html/search/variables_3.html | 30 + help/html/search/variables_3.js | 4 + help/html/search/variables_4.html | 30 + help/html/search/variables_4.js | 5 + help/html/search/variables_5.html | 30 + help/html/search/variables_5.js | 4 + help/html/search/variables_6.html | 30 + help/html/search/variables_6.js | 4 + help/html/search/variables_7.html | 30 + help/html/search/variables_7.js | 4 + help/html/search/variables_8.html | 30 + help/html/search/variables_8.js | 5 + help/html/search/variables_9.html | 30 + help/html/search/variables_9.js | 4 + help/html/search/variables_a.html | 30 + help/html/search/variables_a.js | 4 + help/html/search/variables_b.html | 30 + help/html/search/variables_b.js | 4 + help/html/search/variables_c.html | 30 + help/html/search/variables_c.js | 4 + help/html/search/variables_d.html | 30 + help/html/search/variables_d.js | 6 + help/html/search/variables_e.html | 30 + help/html/search/variables_e.js | 7 + help/html/search/variables_f.html | 30 + help/html/search/variables_f.js | 7 + help/html/splitbar.png | Bin 0 -> 314 bytes help/html/src_2CMakeLists_8txt.html | 123 + .../src_2cocoatweet_2CMakeLists_8txt.html | 76 + ...rc_2cocoatweet_2api_2model_2tweet_8cc.html | 117 + ...ocoatweet_2api_2model_2tweet_8cc__incl.map | 13 + ...ocoatweet_2api_2model_2tweet_8cc__incl.md5 | 1 + ...ocoatweet_2api_2model_2tweet_8cc__incl.png | Bin 0 -> 38641 bytes .../html/src_2cocoatweet_2oauth_2key_8cc.html | 107 + .../src_2cocoatweet_2oauth_2key_8cc__incl.map | 8 + .../src_2cocoatweet_2oauth_2key_8cc__incl.md5 | 1 + .../src_2cocoatweet_2oauth_2key_8cc__incl.png | Bin 0 -> 10410 bytes help/html/status_2destroy_8cc.html | 112 + help/html/status_2destroy_8cc__incl.map | 13 + help/html/status_2destroy_8cc__incl.md5 | 1 + help/html/status_2destroy_8cc__incl.png | Bin 0 -> 49600 bytes help/html/status_2destroy_8h.html | 131 + help/html/status_2destroy_8h__dep__incl.map | 5 + help/html/status_2destroy_8h__dep__incl.md5 | 1 + help/html/status_2destroy_8h__dep__incl.png | Bin 0 -> 8504 bytes help/html/status_2destroy_8h__incl.map | 12 + help/html/status_2destroy_8h__incl.md5 | 1 + help/html/status_2destroy_8h__incl.png | Bin 0 -> 42908 bytes help/html/status_2destroy_8h_source.html | 108 + help/html/status_8cc.html | 125 + help/html/status_8cc__incl.map | 22 + help/html/status_8cc__incl.md5 | 1 + help/html/status_8cc__incl.png | Bin 0 -> 106105 bytes help/html/status_8h.html | 137 + help/html/status_8h__dep__incl.map | 7 + help/html/status_8h__dep__incl.md5 | 1 + help/html/status_8h__dep__incl.png | Bin 0 -> 13245 bytes help/html/status_8h__incl.map | 12 + help/html/status_8h__incl.md5 | 1 + help/html/status_8h__incl.png | Bin 0 -> 34460 bytes help/html/status_8h_source.html | 153 + ...Statuses_1_1Status_1_1Options-members.html | 92 + ...1API_1_1Statuses_1_1Status_1_1Options.html | 237 + ...ctnlohmann_1_1adl__serializer-members.html | 87 + .../structnlohmann_1_1adl__serializer.html | 322 + ...ructnlohmann_1_1detail_1_1conjunction.html | 103 + ...conjunction_3_01B1_00_01Bn_8_8_8_01_4.html | 103 + ...3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map | 4 + ...3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 | 1 + ...3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png | Bin 0 -> 6413 bytes ...1B1_00_01Bn_8_8_8_01_4__inherit__graph.map | 4 + ...1B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 | 1 + ...1B1_00_01Bn_8_8_8_01_4__inherit__graph.png | Bin 0 -> 6413 bytes ..._1_1detail_1_1conjunction_3_01B1_01_4.html | 103 + ..._1conjunction_3_01B1_01_4__coll__graph.map | 4 + ..._1conjunction_3_01B1_01_4__coll__graph.md5 | 1 + ..._1conjunction_3_01B1_01_4__coll__graph.png | Bin 0 -> 3606 bytes ...onjunction_3_01B1_01_4__inherit__graph.map | 4 + ...onjunction_3_01B1_01_4__inherit__graph.md5 | 1 + ...onjunction_3_01B1_01_4__inherit__graph.png | Bin 0 -> 3606 bytes ..._1_1detail_1_1conjunction__coll__graph.map | 4 + ..._1_1detail_1_1conjunction__coll__graph.md5 | 1 + ..._1_1detail_1_1conjunction__coll__graph.png | Bin 0 -> 3979 bytes ...1detail_1_1conjunction__inherit__graph.map | 4 + ...1detail_1_1conjunction__inherit__graph.md5 | 1 + ...1detail_1_1conjunction__inherit__graph.png | Bin 0 -> 3979 bytes ...lohmann_1_1detail_1_1detector-members.html | 87 + .../structnlohmann_1_1detail_1_1detector.html | 165 + ..._4_0069ce2b3aa60be472a03913e9fec4f4c1.html | 87 + ...1_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html | 165 + ...l_1_1dtoa__impl_1_1boundaries-members.html | 86 + ...1_1detail_1_1dtoa__impl_1_1boundaries.html | 150 + ...1dtoa__impl_1_1boundaries__coll__graph.map | 4 + ...1dtoa__impl_1_1boundaries__coll__graph.md5 | 1 + ...1dtoa__impl_1_1boundaries__coll__graph.png | Bin 0 -> 5665 bytes ..._1dtoa__impl_1_1cached__power-members.html | 86 + ...detail_1_1dtoa__impl_1_1cached__power.html | 141 + ...detail_1_1dtoa__impl_1_1diyfp-members.html | 96 + ...mann_1_1detail_1_1dtoa__impl_1_1diyfp.html | 555 + ...nn_1_1detail_1_1external__constructor.html | 85 + ...or_3_01value__t_1_1array_01_4-members.html | 93 + ...onstructor_3_01value__t_1_1array_01_4.html | 503 + ...r_3_01value__t_1_1binary_01_4-members.html | 85 + ...nstructor_3_01value__t_1_1binary_01_4.html | 175 + ..._3_01value__t_1_1boolean_01_4-members.html | 85 + ...structor_3_01value__t_1_1boolean_01_4.html | 175 + ...alue__t_1_1number__float_01_4-members.html | 85 + ...or_3_01value__t_1_1number__float_01_4.html | 175 + ...ue__t_1_1number__integer_01_4-members.html | 85 + ..._3_01value__t_1_1number__integer_01_4.html | 175 + ...e__t_1_1number__unsigned_01_4-members.html | 85 + ...3_01value__t_1_1number__unsigned_01_4.html | 175 + ...r_3_01value__t_1_1object_01_4-members.html | 89 + ...nstructor_3_01value__t_1_1object_01_4.html | 339 + ...r_3_01value__t_1_1string_01_4-members.html | 89 + ...nstructor_3_01value__t_1_1string_01_4.html | 339 + ...n_1_1detail_1_1from__json__fn-members.html | 85 + ...tnlohmann_1_1detail_1_1from__json__fn.html | 177 + ...nlohmann_1_1detail_1_1has__from__json.html | 103 + ...1_9is3ee028c64c76c768be45996bb13fc9c5.html | 150 + ...1_9isde16438fb15ffe82c953e808bb44e8bf.html | 85 + ...1not_43514980991ae140f327ade8e98a8a39.html | 85 + ...1not_5e786a91cad76ed1c14f425887b41640.html | 150 + ...detail_1_1has__from__json__coll__graph.map | 4 + ...detail_1_1has__from__json__coll__graph.md5 | 1 + ...detail_1_1has__from__json__coll__graph.png | Bin 0 -> 5055 bytes ...ail_1_1has__from__json__inherit__graph.map | 4 + ...ail_1_1has__from__json__inherit__graph.md5 | 1 + ...ail_1_1has__from__json__inherit__graph.png | Bin 0 -> 5055 bytes ...tail_1_1has__non__default__from__json.html | 103 + ...ble__77fa4a66bcd4ad6a4833327a7a0f101c.html | 85 + ...ble__a9e4562f31f7ed523e6e0f675606b0f2.html | 149 + ...ble__b7a8cd863889b54d1139b207b4233111.html | 149 + ...ble__e5da58796d1ad6035f3ae6423b3ecf82.html | 85 + ..._non__default__from__json__coll__graph.map | 4 + ..._non__default__from__json__coll__graph.md5 | 1 + ..._non__default__from__json__coll__graph.png | Bin 0 -> 5405 bytes ...n__default__from__json__inherit__graph.map | 4 + ...n__default__from__json__inherit__graph.md5 | 1 + ...n__default__from__json__inherit__graph.png | Bin 0 -> 5405 bytes ...ctnlohmann_1_1detail_1_1has__to__json.html | 103 + ...9is__4a8838c1c30336126696a126041e661c.html | 150 + ...9is__944b66130848f3165eb5e28ba04c888e.html | 85 + ...ot_0145fd0aefe65a4b2c55996f981ba800f0.html | 85 + ...ot_01737900a749c335e922e2f74e2face5e4.html | 150 + ..._1detail_1_1has__to__json__coll__graph.map | 4 + ..._1detail_1_1has__to__json__coll__graph.md5 | 1 + ..._1detail_1_1has__to__json__coll__graph.png | Bin 0 -> 5012 bytes ...etail_1_1has__to__json__inherit__graph.map | 4 + ...etail_1_1has__to__json__inherit__graph.md5 | 1 + ...etail_1_1has__to__json__inherit__graph.png | Bin 0 -> 5012 bytes ..._1_1detail_1_1index__sequence-members.html | 89 + ...nlohmann_1_1detail_1_1index__sequence.html | 228 + ...l_1_1input__adapter__protocol-members.html | 85 + ...1_1detail_1_1input__adapter__protocol.html | 171 + ...put__adapter__protocol__inherit__graph.map | 7 + ...put__adapter__protocol__inherit__graph.md5 | 1 + ...put__adapter__protocol__inherit__graph.png | Bin 0 -> 16799 bytes ...1detail_1_1internal__iterator-members.html | 86 + ...hmann_1_1detail_1_1internal__iterator.html | 174 + ...ail_1_1internal__iterator__coll__graph.map | 4 + ...ail_1_1internal__iterator__coll__graph.md5 | 1 + ...ail_1_1internal__iterator__coll__graph.png | Bin 0 -> 7524 bytes ...nlohmann_1_1detail_1_1is__basic__json.html | 103 + ...n_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html | 103 + ...NN__BASIC__JSON__TPL_01_4__coll__graph.map | 4 + ...NN__BASIC__JSON__TPL_01_4__coll__graph.md5 | 1 + ...NN__BASIC__JSON__TPL_01_4__coll__graph.png | Bin 0 -> 5581 bytes ..._BASIC__JSON__TPL_01_4__inherit__graph.map | 4 + ..._BASIC__JSON__TPL_01_4__inherit__graph.md5 | 1 + ..._BASIC__JSON__TPL_01_4__inherit__graph.png | Bin 0 -> 5581 bytes ...detail_1_1is__basic__json__coll__graph.map | 4 + ...detail_1_1is__basic__json__coll__graph.md5 | 1 + ...detail_1_1is__basic__json__coll__graph.png | Bin 0 -> 4917 bytes ...ail_1_1is__basic__json__inherit__graph.map | 4 + ...ail_1_1is__basic__json__inherit__graph.md5 | 1 + ...ail_1_1is__basic__json__inherit__graph.png | Bin 0 -> 4917 bytes ...detail_1_1is__compatible__array__type.html | 105 + ...__compatible__array__type__coll__graph.map | 5 + ...__compatible__array__type__coll__graph.md5 | 1 + ...__compatible__array__type__coll__graph.png | Bin 0 -> 9689 bytes ..._1_1is__compatible__array__type__impl.html | 103 + ...ibleA267684a873e5addda71cf693e6831a1f.html | 84 + ...ibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html | 123 + ...ibleA743c6abbb328073027e2ffd00708cfee.html | 84 + ...ibleAb638dd3c6149bb42b44d6778e8db3f9d.html | 123 + ...atible__array__type__impl__coll__graph.map | 4 + ...atible__array__type__impl__coll__graph.md5 | 1 + ...atible__array__type__impl__coll__graph.png | Bin 0 -> 6461 bytes ...ble__array__type__impl__inherit__graph.map | 4 + ...ble__array__type__impl__inherit__graph.md5 | 1 + ...ble__array__type__impl__inherit__graph.png | Bin 0 -> 6461 bytes ...ompatible__array__type__inherit__graph.map | 5 + ...ompatible__array__type__inherit__graph.md5 | 1 + ...ompatible__array__type__inherit__graph.png | Bin 0 -> 9689 bytes ...tail_1_1is__compatible__integer__type.html | 105 + ...compatible__integer__type__coll__graph.map | 5 + ...compatible__integer__type__coll__graph.md5 | 1 + ...compatible__integer__type__coll__graph.png | Bin 0 -> 16068 bytes ..._1is__compatible__integer__type__impl.html | 103 + ...mpati1168634cedff9d7e18b9909ed68ebe6b.html | 86 + ...mpati3a04243716e8bda67d1ff2aead18da88.html | 166 + ...mpatiae7372380b367a5941ed536a54f52e62.html | 86 + ...mpatie5920c849e839ebb9f8c57349c900796.html | 166 + ...ible__integer__type__impl__coll__graph.map | 4 + ...ible__integer__type__impl__coll__graph.md5 | 1 + ...ible__integer__type__impl__coll__graph.png | Bin 0 -> 6423 bytes ...e__integer__type__impl__inherit__graph.map | 4 + ...e__integer__type__impl__inherit__graph.md5 | 1 + ...e__integer__type__impl__inherit__graph.png | Bin 0 -> 6423 bytes ...patible__integer__type__inherit__graph.map | 5 + ...patible__integer__type__inherit__graph.md5 | 1 + ...patible__integer__type__inherit__graph.png | Bin 0 -> 16068 bytes ...etail_1_1is__compatible__object__type.html | 105 + ..._compatible__object__type__coll__graph.map | 5 + ..._compatible__object__type__coll__graph.md5 | 1 + ..._compatible__object__type__coll__graph.png | Bin 0 -> 9871 bytes ...1_1is__compatible__object__type__impl.html | 103 + ...tible0bd988932da161d60568f9b7198a50d2.html | 148 + ...tible1dd1bd23ba0e4ce33237aa702f8058a9.html | 148 + ...tible36ffa4cc676308784bdd0957c614c009.html | 85 + ...tiblea32a8cabf55a683668f34b50bd53f52d.html | 85 + ...tible__object__type__impl__coll__graph.map | 4 + ...tible__object__type__impl__coll__graph.md5 | 1 + ...tible__object__type__impl__coll__graph.png | Bin 0 -> 6292 bytes ...le__object__type__impl__inherit__graph.map | 4 + ...le__object__type__impl__inherit__graph.md5 | 1 + ...le__object__type__impl__inherit__graph.png | Bin 0 -> 6292 bytes ...mpatible__object__type__inherit__graph.map | 5 + ...mpatible__object__type__inherit__graph.md5 | 1 + ...mpatible__object__type__inherit__graph.png | Bin 0 -> 9871 bytes ...etail_1_1is__compatible__string__type.html | 105 + ..._compatible__string__type__coll__graph.map | 5 + ..._compatible__string__type__coll__graph.md5 | 1 + ..._compatible__string__type__coll__graph.png | Bin 0 -> 15609 bytes ...1_1is__compatible__string__type__impl.html | 103 + ...tible08f2b97ced9133b6c9efddf038a31cca.html | 84 + ...tible494e9dc742c819c61e54b8282030b5b6.html | 121 + ...tible__string__type__impl__coll__graph.map | 4 + ...tible__string__type__impl__coll__graph.md5 | 1 + ...tible__string__type__impl__coll__graph.png | Bin 0 -> 6450 bytes ...le__string__type__impl__inherit__graph.map | 4 + ...le__string__type__impl__inherit__graph.md5 | 1 + ...le__string__type__impl__inherit__graph.png | Bin 0 -> 6450 bytes ...mpatible__string__type__inherit__graph.map | 5 + ...mpatible__string__type__inherit__graph.md5 | 1 + ...mpatible__string__type__inherit__graph.png | Bin 0 -> 15609 bytes ...ann_1_1detail_1_1is__compatible__type.html | 105 + ...l_1_1is__compatible__type__coll__graph.map | 5 + ...l_1_1is__compatible__type__coll__graph.md5 | 1 + ...l_1_1is__compatible__type__coll__graph.png | Bin 0 -> 9264 bytes ...1detail_1_1is__compatible__type__impl.html | 103 + ...e_00_9a6352a6d7bc32b815455d253d1f1f62.html | 84 + ...e_00_fa54cb60e66f5c6ba93b1dd3f418b703.html | 121 + ...s__compatible__type__impl__coll__graph.map | 4 + ...s__compatible__type__impl__coll__graph.md5 | 1 + ...s__compatible__type__impl__coll__graph.png | Bin 0 -> 5334 bytes ...compatible__type__impl__inherit__graph.map | 4 + ...compatible__type__impl__inherit__graph.md5 | 1 + ...compatible__type__impl__inherit__graph.png | Bin 0 -> 5334 bytes ..._1is__compatible__type__inherit__graph.map | 5 + ..._1is__compatible__type__inherit__graph.md5 | 1 + ..._1is__compatible__type__inherit__graph.png | Bin 0 -> 9264 bytes ...hmann_1_1detail_1_1is__complete__type.html | 103 + ...cltype_07void_07sizeof_07T_08_08_08_4.html | 103 + ...d_07sizeof_07T_08_08_08_4__coll__graph.map | 4 + ...d_07sizeof_07T_08_08_08_4__coll__graph.md5 | 1 + ...d_07sizeof_07T_08_08_08_4__coll__graph.png | Bin 0 -> 5083 bytes ...7sizeof_07T_08_08_08_4__inherit__graph.map | 4 + ...7sizeof_07T_08_08_08_4__inherit__graph.md5 | 1 + ...7sizeof_07T_08_08_08_4__inherit__graph.png | Bin 0 -> 5083 bytes ...ail_1_1is__complete__type__coll__graph.map | 4 + ...ail_1_1is__complete__type__coll__graph.md5 | 1 + ...ail_1_1is__complete__type__coll__graph.png | Bin 0 -> 4881 bytes ..._1_1is__complete__type__inherit__graph.map | 4 + ..._1_1is__complete__type__inherit__graph.md5 | 1 + ..._1_1is__complete__type__inherit__graph.png | Bin 0 -> 4881 bytes ...ail_1_1is__constructible__array__type.html | 105 + ...onstructible__array__type__coll__graph.map | 5 + ...onstructible__array__type__coll__graph.md5 | 1 + ...onstructible__array__type__coll__graph.png | Bin 0 -> 15357 bytes ...1is__constructible__array__type__impl.html | 103 + ...nstruc32e1f7176d4f9ce923e40e0b0d186e13.map | 4 + ...nstruc32e1f7176d4f9ce923e40e0b0d186e13.md5 | 1 + ...nstruc32e1f7176d4f9ce923e40e0b0d186e13.png | Bin 0 -> 8006 bytes ...struc65686bccc13a5314e8805a22524438f0.html | 84 + ...struc66cd9eea2814580c77becd1b1fb171c6.html | 84 + ...nstruca6751f0ccf983945799627775f5c1958.map | 4 + ...nstruca6751f0ccf983945799627775f5c1958.md5 | 1 + ...nstruca6751f0ccf983945799627775f5c1958.png | Bin 0 -> 8006 bytes ...strucb751ba39e14100ed41966800a3fcf4db.html | 134 + ...strucdcf7abcf4e7a13cd758bad3819c3d6fc.html | 134 + ...struce6fa33688da703b95649da4749cdeb98.html | 103 + ...ctible__array__type__impl__coll__graph.map | 4 + ...ctible__array__type__impl__coll__graph.md5 | 1 + ...ctible__array__type__impl__coll__graph.png | Bin 0 -> 6679 bytes ...ble__array__type__impl__inherit__graph.map | 4 + ...ble__array__type__impl__inherit__graph.md5 | 1 + ...ble__array__type__impl__inherit__graph.png | Bin 0 -> 6679 bytes ...tructible__array__type__inherit__graph.map | 5 + ...tructible__array__type__inherit__graph.md5 | 1 + ...tructible__array__type__inherit__graph.png | Bin 0 -> 15357 bytes ...il_1_1is__constructible__object__type.html | 105 + ...nstructible__object__type__coll__graph.map | 5 + ...nstructible__object__type__coll__graph.md5 | 1 + ...nstructible__object__type__coll__graph.png | Bin 0 -> 10246 bytes ...is__constructible__object__type__impl.html | 103 + ...nstrua4d1e16800f2c4963485512ecf18377c.html | 157 + ...nstruabeeb8c1928ab8354a051276e570f7ba.html | 85 + ...nstrub7f96efbcfd2606ccb5c84a830a60036.html | 157 + ...nstruba053eadca50083566a99e3961acdee7.html | 85 + ...tible__object__type__impl__coll__graph.map | 4 + ...tible__object__type__impl__coll__graph.md5 | 1 + ...tible__object__type__impl__coll__graph.png | Bin 0 -> 6740 bytes ...le__object__type__impl__inherit__graph.map | 4 + ...le__object__type__impl__inherit__graph.md5 | 1 + ...le__object__type__impl__inherit__graph.png | Bin 0 -> 6740 bytes ...ructible__object__type__inherit__graph.map | 5 + ...ructible__object__type__inherit__graph.md5 | 1 + ...ructible__object__type__inherit__graph.png | Bin 0 -> 10246 bytes ...il_1_1is__constructible__string__type.html | 105 + ...nstructible__string__type__coll__graph.map | 5 + ...nstructible__string__type__coll__graph.md5 | 1 + ...nstructible__string__type__coll__graph.png | Bin 0 -> 10629 bytes ...is__constructible__string__type__impl.html | 103 + ...nstrue1847e4756f276dca6ac832a1b3cf4bf.html | 84 + ...nstrue4743afb22172cdb3c5f428800835387.html | 123 + ...tible__string__type__impl__coll__graph.map | 4 + ...tible__string__type__impl__coll__graph.md5 | 1 + ...tible__string__type__impl__coll__graph.png | Bin 0 -> 6846 bytes ...le__string__type__impl__inherit__graph.map | 4 + ...le__string__type__impl__inherit__graph.md5 | 1 + ...le__string__type__impl__inherit__graph.png | Bin 0 -> 6846 bytes ...ructible__string__type__inherit__graph.map | 5 + ...ructible__string__type__inherit__graph.md5 | 1 + ...ructible__string__type__inherit__graph.png | Bin 0 -> 10629 bytes ...1_1detail_1_1is__constructible__tuple.html | 103 + ...std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html | 105 + ..._3_01Args_8_8_8_01_4_01_4__coll__graph.map | 5 + ..._3_01Args_8_8_8_01_4_01_4__coll__graph.md5 | 1 + ..._3_01Args_8_8_8_01_4_01_4__coll__graph.png | Bin 0 -> 9111 bytes ...01Args_8_8_8_01_4_01_4__inherit__graph.map | 5 + ...01Args_8_8_8_01_4_01_4__inherit__graph.md5 | 1 + ...01Args_8_8_8_01_4_01_4__inherit__graph.png | Bin 0 -> 9111 bytes ...1is__constructible__tuple__coll__graph.map | 4 + ...1is__constructible__tuple__coll__graph.md5 | 1 + ...1is__constructible__tuple__coll__graph.png | Bin 0 -> 4611 bytes ...__constructible__tuple__inherit__graph.map | 4 + ...__constructible__tuple__inherit__graph.md5 | 1 + ...__constructible__tuple__inherit__graph.png | Bin 0 -> 4611 bytes ...mann_1_1detail_1_1is__getable-members.html | 84 + ...ructnlohmann_1_1detail_1_1is__getable.html | 119 + ..._1is__iterator__of__multibyte-members.html | 84 + ...detail_1_1is__iterator__of__multibyte.html | 130 + ...ann_1_1detail_1_1is__iterator__traits.html | 103 + ...rator__traits_3_01T_01_4_01_4-members.html | 84 + ..._3_01iterator__traits_3_01T_01_4_01_4.html | 125 + ...l_1_1is__iterator__traits__coll__graph.map | 4 + ...l_1_1is__iterator__traits__coll__graph.md5 | 1 + ...l_1_1is__iterator__traits__coll__graph.png | Bin 0 -> 4466 bytes ..._1is__iterator__traits__inherit__graph.map | 4 + ..._1is__iterator__traits__inherit__graph.md5 | 1 + ..._1is__iterator__traits__inherit__graph.png | Bin 0 -> 4466 bytes ...ctnlohmann_1_1detail_1_1is__json__ref.html | 103 + ...on__ref_3_01json__ref_3_01T_01_4_01_4.html | 103 + ...json__ref_3_01T_01_4_01_4__coll__graph.map | 4 + ...json__ref_3_01T_01_4_01_4__coll__graph.md5 | 1 + ...json__ref_3_01T_01_4_01_4__coll__graph.png | Bin 0 -> 4291 bytes ...n__ref_3_01T_01_4_01_4__inherit__graph.map | 4 + ...n__ref_3_01T_01_4_01_4__inherit__graph.md5 | 1 + ...n__ref_3_01T_01_4_01_4__inherit__graph.png | Bin 0 -> 4291 bytes ..._1detail_1_1is__json__ref__coll__graph.map | 4 + ..._1detail_1_1is__json__ref__coll__graph.md5 | 1 + ..._1detail_1_1is__json__ref__coll__graph.png | Bin 0 -> 4822 bytes ...etail_1_1is__json__ref__inherit__graph.map | 4 + ...etail_1_1is__json__ref__inherit__graph.md5 | 1 + ...etail_1_1is__json__ref__inherit__graph.png | Bin 0 -> 4822 bytes ...nlohmann_1_1detail_1_1is__sax-members.html | 84 + .../structnlohmann_1_1detail_1_1is__sax.html | 140 + ...l_1_1is__sax__static__asserts-members.html | 82 + ...1_1detail_1_1is__sax__static__asserts.html | 87 + ...ator__input__adapter__factory-members.html | 87 + ..._1_1iterator__input__adapter__factory.html | 192 + ..._if__0c89cbb31dac1e960c788dd5bec52102.html | 88 + ..._if__0e86378a778d78dd2284e92dc30f4902.html | 210 + ...lohmann_1_1detail_1_1iterator__traits.html | 85 + ...nter_31bae2175447e35a79f8ff22df87ddb2a.map | 4 + ...nter_31bae2175447e35a79f8ff22df87ddb2a.md5 | 1 + ...nter_31bae2175447e35a79f8ff22df87ddb2a.png | Bin 0 -> 7087 bytes ...nter_31de627e6351fc4d3947a52fbbc938280.map | 4 + ...nter_31de627e6351fc4d3947a52fbbc938280.md5 | 1 + ...nter_31de627e6351fc4d3947a52fbbc938280.png | Bin 0 -> 7087 bytes ...pointer_3_01T_01_4_1_1value_01_4_01_4.html | 103 + ...bject8650598a124364f80fcaf29866166db6.html | 93 + ..._object_3_01T_01_4_1_1value_01_4_01_4.html | 273 + ...nlohmann_1_1detail_1_1iterator__types.html | 85 + ...ence_325e10c1578b3a63812617d3f8a8d995.html | 93 + ...ence_d2be8685966c97e00e99d4fd2366dc0b.html | 273 + ...nn_1_1detail_1_1make__index__sequence.html | 103 + ...e__index__sequence_3_010_01_4-members.html | 89 + ...l_1_1make__index__sequence_3_010_01_4.html | 123 + ...ndex__sequence_3_010_01_4__coll__graph.map | 4 + ...ndex__sequence_3_010_01_4__coll__graph.md5 | 1 + ...ndex__sequence_3_010_01_4__coll__graph.png | Bin 0 -> 6240 bytes ...x__sequence_3_010_01_4__inherit__graph.map | 4 + ...x__sequence_3_010_01_4__inherit__graph.md5 | 1 + ...x__sequence_3_010_01_4__inherit__graph.png | Bin 0 -> 6240 bytes ...e__index__sequence_3_011_01_4-members.html | 89 + ...l_1_1make__index__sequence_3_011_01_4.html | 123 + ...ndex__sequence_3_011_01_4__coll__graph.map | 4 + ...ndex__sequence_3_011_01_4__coll__graph.md5 | 1 + ...ndex__sequence_3_011_01_4__coll__graph.png | Bin 0 -> 6326 bytes ...x__sequence_3_011_01_4__inherit__graph.map | 4 + ...x__sequence_3_011_01_4__inherit__graph.md5 | 1 + ...x__sequence_3_011_01_4__inherit__graph.png | Bin 0 -> 6326 bytes ..._1_1make__index__sequence__coll__graph.map | 4 + ..._1_1make__index__sequence__coll__graph.md5 | 1 + ..._1_1make__index__sequence__coll__graph.png | Bin 0 -> 8465 bytes ...1make__index__sequence__inherit__graph.map | 4 + ...1make__index__sequence__inherit__graph.md5 | 1 + ...1make__index__sequence__inherit__graph.png | Bin 0 -> 8465 bytes ...hmann_1_1detail_1_1make__void-members.html | 85 + ...tructnlohmann_1_1detail_1_1make__void.html | 129 + ...ann_1_1detail_1_1merge__and__renumber.html | 85 + ...01inde1bac35fd5e769bd829866cd5fef35c22.map | 4 + ...01inde1bac35fd5e769bd829866cd5fef35c22.md5 | 1 + ...01inde1bac35fd5e769bd829866cd5fef35c22.png | Bin 0 -> 7650 bytes ...1inde4885d6f1d93a04f25932afbd429c4793.html | 123 + ...01inde58a580c1f5a37a79769abd61aded5e29.map | 4 + ...01inde58a580c1f5a37a79769abd61aded5e29.md5 | 1 + ...01inde58a580c1f5a37a79769abd61aded5e29.png | Bin 0 -> 7650 bytes ...1indebebec34e109190e5d41f54d7e3818587.html | 89 + ...lohmann_1_1detail_1_1nonesuch-members.html | 95 + .../structnlohmann_1_1detail_1_1nonesuch.html | 426 + ..._1_1output__adapter__protocol-members.html | 89 + ..._1detail_1_1output__adapter__protocol.html | 319 + ...put__adapter__protocol__inherit__graph.map | 6 + ...put__adapter__protocol__inherit__graph.md5 | 1 + ...put__adapter__protocol__inherit__graph.png | Bin 0 -> 16227 bytes ...mann_1_1detail_1_1position__t-members.html | 88 + ...ructnlohmann_1_1detail_1_1position__t.html | 220 + ...ctnlohmann_1_1detail_1_1priority__tag.html | 85 + ...1_1detail_1_1priority__tag_3_010_01_4.html | 85 + ...nn_1_1detail_1_1static__const-members.html | 84 + ...ctnlohmann_1_1detail_1_1static__const.html | 119 + ...ann_1_1detail_1_1to__json__fn-members.html | 85 + ...uctnlohmann_1_1detail_1_1to__json__fn.html | 177 + ..._1wide__string__input__helper-members.html | 84 + ...detail_1_1wide__string__input__helper.html | 151 + ...1BaseInputAdapter_00_012_01_4-members.html | 84 + ...lper_3_01BaseInputAdapter_00_012_01_4.html | 145 + ...1BaseInputAdapter_00_014_01_4-members.html | 84 + ...lper_3_01BaseInputAdapter_00_014_01_4.html | 145 + ..._01WideStringType_00_012_01_4-members.html | 84 + ...helper_3_01WideStringType_00_012_01_4.html | 151 + .../structnlohmann_1_1json__sax-members.html | 119 + help/html/structnlohmann_1_1json__sax.html | 1365 + ...tructnlohmann_1_1ordered__map-members.html | 101 + help/html/structnlohmann_1_1ordered__map.html | 647 + ...ash_3_01nlohmann_1_1json_01_4-members.html | 85 + ...std_1_1hash_3_01nlohmann_1_1json_01_4.html | 162 + ...nn_1_1detail_1_1value__t_01_4-members.html | 85 + ..._1nlohmann_1_1detail_1_1value__t_01_4.html | 179 + help/html/sync_off.png | Bin 0 -> 853 bytes help/html/sync_on.png | Bin 0 -> 845 bytes help/html/tab_a.png | Bin 0 -> 142 bytes help/html/tab_b.png | Bin 0 -> 169 bytes help/html/tab_h.png | Bin 0 -> 177 bytes help/html/tab_s.png | Bin 0 -> 184 bytes help/html/tabs.css | 1 + help/html/test_2CMakeLists_8txt.html | 76 + help/html/test_2api_2model_2tweet_8cc.html | 273 + .../test_2api_2model_2tweet_8cc__incl.map | 13 + .../test_2api_2model_2tweet_8cc__incl.md5 | 1 + .../test_2api_2model_2tweet_8cc__incl.png | Bin 0 -> 37849 bytes help/html/test_2oauth_2key_8cc.html | 161 + help/html/test_2oauth_2key_8cc__incl.map | 6 + help/html/test_2oauth_2key_8cc__incl.md5 | 1 + help/html/test_2oauth_2key_8cc__incl.png | Bin 0 -> 9589 bytes help/html/third_2nlohmann_2json_8hpp.html | 18567 ++++++++++++ .../third_2nlohmann_2json_8hpp__dep__incl.map | 5 + .../third_2nlohmann_2json_8hpp__dep__incl.md5 | 1 + .../third_2nlohmann_2json_8hpp__dep__incl.png | Bin 0 -> 7914 bytes .../html/third_2nlohmann_2json_8hpp__incl.map | 35 + .../html/third_2nlohmann_2json_8hpp__incl.md5 | 1 + .../html/third_2nlohmann_2json_8hpp__incl.png | Bin 0 -> 76013 bytes .../third_2nlohmann_2json_8hpp_source.html | 19297 +++++++++++++ help/html/tweetDuplicateException_8h.html | 119 + .../tweetDuplicateException_8h__dep__incl.map | 4 + .../tweetDuplicateException_8h__dep__incl.md5 | 1 + .../tweetDuplicateException_8h__dep__incl.png | Bin 0 -> 6076 bytes .../html/tweetDuplicateException_8h__incl.map | 6 + .../html/tweetDuplicateException_8h__incl.md5 | 1 + .../html/tweetDuplicateException_8h__incl.png | Bin 0 -> 9220 bytes .../tweetDuplicateException_8h_source.html | 97 + help/html/tweetNotFoundException_8h.html | 119 + .../tweetNotFoundException_8h__dep__incl.map | 4 + .../tweetNotFoundException_8h__dep__incl.md5 | 1 + .../tweetNotFoundException_8h__dep__incl.png | Bin 0 -> 6112 bytes help/html/tweetNotFoundException_8h__incl.map | 6 + help/html/tweetNotFoundException_8h__incl.md5 | 1 + help/html/tweetNotFoundException_8h__incl.png | Bin 0 -> 9252 bytes .../tweetNotFoundException_8h_source.html | 97 + help/html/tweetTooLongException_8h.html | 119 + .../tweetTooLongException_8h__dep__incl.map | 4 + .../tweetTooLongException_8h__dep__incl.md5 | 1 + .../tweetTooLongException_8h__dep__incl.png | Bin 0 -> 6455 bytes help/html/tweetTooLongException_8h__incl.map | 6 + help/html/tweetTooLongException_8h__incl.md5 | 1 + help/html/tweetTooLongException_8h__incl.png | Bin 0 -> 9881 bytes .../html/tweetTooLongException_8h_source.html | 97 + help/html/tweet_8cc.html | 105 + help/html/tweet_8cc__incl.map | 6 + help/html/tweet_8cc__incl.md5 | 1 + help/html/tweet_8cc__incl.png | Bin 0 -> 10379 bytes help/html/tweet_8h.html | 145 + help/html/tweet_8h__dep__incl.map | 29 + help/html/tweet_8h__dep__incl.md5 | 1 + help/html/tweet_8h__dep__incl.png | Bin 0 -> 90929 bytes help/html/tweet_8h__incl.map | 4 + help/html/tweet_8h__incl.md5 | 1 + help/html/tweet_8h__incl.png | Bin 0 -> 4140 bytes help/html/tweet_8h_source.html | 131 + help/html/unretweet_8cc.html | 113 + help/html/unretweet_8cc__incl.map | 14 + help/html/unretweet_8cc__incl.md5 | 1 + help/html/unretweet_8cc__incl.png | Bin 0 -> 39365 bytes help/html/unretweet_8h.html | 129 + help/html/unretweet_8h__dep__incl.map | 5 + help/html/unretweet_8h__dep__incl.md5 | 1 + help/html/unretweet_8h__dep__incl.png | Bin 0 -> 6410 bytes help/html/unretweet_8h__incl.map | 12 + help/html/unretweet_8h__incl.md5 | 1 + help/html/unretweet_8h__incl.png | Bin 0 -> 38036 bytes help/html/unretweet_8h_source.html | 107 + .../unsupportedMediaTypeException_8h.html | 119 + ...portedMediaTypeException_8h__dep__incl.map | 4 + ...portedMediaTypeException_8h__dep__incl.md5 | 1 + ...portedMediaTypeException_8h__dep__incl.png | Bin 0 -> 6511 bytes ...unsupportedMediaTypeException_8h__incl.map | 6 + ...unsupportedMediaTypeException_8h__incl.md5 | 1 + ...unsupportedMediaTypeException_8h__incl.png | Bin 0 -> 9812 bytes ...supportedMediaTypeException_8h_source.html | 97 + help/html/update_8cc.html | 116 + help/html/update_8cc__incl.map | 17 + help/html/update_8cc__incl.md5 | 1 + help/html/update_8cc__incl.png | Bin 0 -> 55143 bytes help/html/update_8h.html | 135 + help/html/update_8h__dep__incl.map | 5 + help/html/update_8h__dep__incl.md5 | 1 + help/html/update_8h__dep__incl.png | Bin 0 -> 8072 bytes help/html/update_8h__incl.map | 14 + help/html/update_8h__incl.md5 | 1 + help/html/update_8h__incl.png | Bin 0 -> 46631 bytes help/html/update_8h_source.html | 143 + help/html/update_8py.html | 114 + help/html/upload_8cc.html | 121 + help/html/upload_8cc__incl.map | 19 + help/html/upload_8cc__incl.md5 | 1 + help/html/upload_8cc__incl.png | Bin 0 -> 69286 bytes help/html/upload_8h.html | 137 + help/html/upload_8h__dep__incl.map | 9 + help/html/upload_8h__dep__incl.md5 | 1 + help/html/upload_8h__dep__incl.png | Bin 0 -> 19494 bytes help/html/upload_8h__incl.map | 13 + help/html/upload_8h__incl.md5 | 1 + help/html/upload_8h__incl.png | Bin 0 -> 45689 bytes help/html/upload_8h_source.html | 116 + help/html/userTimeline_8cc.html | 118 + help/html/userTimeline_8cc__incl.map | 18 + help/html/userTimeline_8cc__incl.md5 | 1 + help/html/userTimeline_8cc__incl.png | Bin 0 -> 58034 bytes help/html/userTimeline_8h.html | 135 + help/html/userTimeline_8h__dep__incl.map | 5 + help/html/userTimeline_8h__dep__incl.md5 | 1 + help/html/userTimeline_8h__dep__incl.png | Bin 0 -> 7818 bytes help/html/userTimeline_8h__incl.map | 14 + help/html/userTimeline_8h__incl.md5 | 1 + help/html/userTimeline_8h__incl.png | Bin 0 -> 46505 bytes help/html/userTimeline_8h_source.html | 113 + help/html/util_8cc.html | 115 + help/html/util_8cc__incl.map | 9 + help/html/util_8cc__incl.md5 | 1 + help/html/util_8cc__incl.png | Bin 0 -> 11342 bytes help/html/util_8h.html | 129 + help/html/util_8h__dep__incl.map | 10 + help/html/util_8h__dep__incl.md5 | 1 + help/html/util_8h__dep__incl.png | Bin 0 -> 21636 bytes help/html/util_8h__incl.map | 6 + help/html/util_8h__incl.md5 | 1 + help/html/util_8h__incl.png | Bin 0 -> 6634 bytes help/html/util_8h_source.html | 96 + src/cocoatweet/api/api.cc | 4 + src/cocoatweet/api/api.h | 1 + src/cocoatweet/api/interface/httpGet.cc | 81 +- src/cocoatweet/api/interface/httpPost.cc | 3 + src/cocoatweet/api/media/upload.cc | 2 - src/cocoatweet/api/model/tweet.cc | 15 +- src/cocoatweet/api/model/tweet.h | 6 + src/cocoatweet/api/model/user.cc | 35 + src/cocoatweet/api/model/user.h | 78 + src/cocoatweet/api/status/retweet.cc | 1 - src/cocoatweet/api/status/unretweet.cc | 1 - .../exception/authenticateException.h | 2 +- .../exception/invalidParameterException.h | 12 + src/cocoatweet/exception/rateLimitException.h | 2 +- .../exception/tokenInvalidException.h | 12 + .../exception/tweetDuplicateException.h | 2 +- .../exception/tweetNotFoundException.h | 2 +- .../exception/tweetTooLongException.h | 2 +- .../exception/unsupportedMediaTypeException.h | 2 +- src/cocoatweet/oauth/key.cc | 25 +- src/cocoatweet/oauth/key.h | 35 +- src/cocoatweet/oauth/oauth.cc | 106 +- src/cocoatweet/oauth/oauth.h | 18 + src/cocoatweet/util/util.cc | 1 + src/main.cc | 24 +- 2184 files changed, 220055 insertions(+), 42 deletions(-) create mode 100644 api_key.json create mode 100644 help/html/CMakeCCompilerId_8c.html create mode 100644 help/html/CMakeCXXCompilerId_8cpp.html create mode 100644 help/html/CMakeCache_8txt.html create mode 100644 help/html/CMakeFiles_2TargetDirectories_8txt.html create mode 100644 help/html/CMakeLists_8txt.html create mode 100644 help/html/DartConfiguration_8tcl.html create mode 100644 help/html/Labels_8txt.html create mode 100644 help/html/README_8md.html create mode 100644 help/html/__deps_2json-subbuild_2CMakeCache_8txt.html create mode 100644 help/html/__deps_2json-subbuild_2CMakeFiles_2TargetDirectories_8txt.html create mode 100644 help/html/annotated.html create mode 100644 help/html/api_8cc.html create mode 100644 help/html/api_8cc__incl.map create mode 100644 help/html/api_8cc__incl.md5 create mode 100644 help/html/api_8cc__incl.png create mode 100644 help/html/api_8h.html create mode 100644 help/html/api_8h__dep__incl.map create mode 100644 help/html/api_8h__dep__incl.md5 create mode 100644 help/html/api_8h__dep__incl.png create mode 100644 help/html/api_8h__incl.map create mode 100644 help/html/api_8h__incl.md5 create mode 100644 help/html/api_8h__incl.png create mode 100644 help/html/api_8h_source.html create mode 100644 help/html/authenticateException_8h.html create mode 100644 help/html/authenticateException_8h__dep__incl.map create mode 100644 help/html/authenticateException_8h__dep__incl.md5 create mode 100644 help/html/authenticateException_8h__dep__incl.png create mode 100644 help/html/authenticateException_8h__incl.map create mode 100644 help/html/authenticateException_8h__incl.md5 create mode 100644 help/html/authenticateException_8h__incl.png create mode 100644 help/html/authenticateException_8h_source.html create mode 100644 help/html/bc_s.png create mode 100644 help/html/bdwn.png create mode 100644 help/html/build_2__deps_2json-src_2CMakeLists_8txt.html create mode 100644 help/html/build_2__deps_2json-src_2README_8md.html create mode 100644 help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html create mode 100644 help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.map create mode 100644 help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.md5 create mode 100644 help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.png create mode 100644 help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp_source.html create mode 100644 help/html/build_2__deps_2json-subbuild_2CMakeLists_8txt.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1API-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1API.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1API_1_1groupInterface-members.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1groupInterface.html create mode 100644 help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException-members.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.png create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.map create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.md5 create mode 100644 help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.png create mode 100644 help/html/classCocoaTweet_1_1OAuth_1_1Key-members.html create mode 100644 help/html/classCocoaTweet_1_1OAuth_1_1Key.html create mode 100644 help/html/classCocoaTweet_1_1OAuth_1_1OAuth1-members.html create mode 100644 help/html/classCocoaTweet_1_1OAuth_1_1OAuth1.html create mode 100644 help/html/classes.html create mode 100644 help/html/classnlohmann_1_1basic__json-members.html create mode 100644 help/html/classnlohmann_1_1basic__json.html create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype-members.html create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype.html create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.map create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.png create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1binary__reader-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1binary__reader.html create mode 100644 help/html/classnlohmann_1_1detail_1_1binary__writer-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1binary__writer.html create mode 100644 help/html/classnlohmann_1_1detail_1_1exception-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1exception.html create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1input__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator.html create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1iter__impl-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iter__impl.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iteration__proxy-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iteration__proxy.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iteration__proxy__value.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1iterator__input__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__ref-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__ref.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__acceptor.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser.html create mode 100644 help/html/classnlohmann_1_1detail_1_1lexer-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1lexer.html create mode 100644 help/html/classnlohmann_1_1detail_1_1lexer__base-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1lexer__base.html create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error.html create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range.html create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error.html create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1parser-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1parser.html create mode 100644 help/html/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1primitive__iterator__t.html create mode 100644 help/html/classnlohmann_1_1detail_1_1serializer-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1serializer.html create mode 100644 help/html/classnlohmann_1_1detail_1_1span__input__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1span__input__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error.html create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter-members.html create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter.html create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.map create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.md5 create mode 100644 help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.png create mode 100644 help/html/classnlohmann_1_1json__pointer-members.html create mode 100644 help/html/classnlohmann_1_1json__pointer.html create mode 100644 help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html create mode 100644 help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.map create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 create mode 100644 help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png create mode 100644 help/html/closed.png create mode 100644 help/html/create_8cc.html create mode 100644 help/html/create_8cc__incl.map create mode 100644 help/html/create_8cc__incl.md5 create mode 100644 help/html/create_8cc__incl.png create mode 100644 help/html/create_8h.html create mode 100644 help/html/create_8h__dep__incl.map create mode 100644 help/html/create_8h__dep__incl.md5 create mode 100644 help/html/create_8h__dep__incl.png create mode 100644 help/html/create_8h__incl.map create mode 100644 help/html/create_8h__incl.md5 create mode 100644 help/html/create_8h__incl.png create mode 100644 help/html/create_8h_source.html create mode 100644 help/html/deprecated.html create mode 100644 help/html/dir_000002_000003.html create mode 100644 help/html/dir_000002_000004.html create mode 100644 help/html/dir_000002_000005.html create mode 100644 help/html/dir_000002_000006.html create mode 100644 help/html/dir_000002_000007.html create mode 100644 help/html/dir_000002_000008.html create mode 100644 help/html/dir_000002_000009.html create mode 100644 help/html/dir_000002_000010.html create mode 100644 help/html/dir_000002_000011.html create mode 100644 help/html/dir_000003_000004.html create mode 100644 help/html/dir_000003_000005.html create mode 100644 help/html/dir_000003_000006.html create mode 100644 help/html/dir_000003_000007.html create mode 100644 help/html/dir_000003_000008.html create mode 100644 help/html/dir_000003_000009.html create mode 100644 help/html/dir_000003_000010.html create mode 100644 help/html/dir_000003_000011.html create mode 100644 help/html/dir_000003_000012.html create mode 100644 help/html/dir_000003_000014.html create mode 100644 help/html/dir_000004_000005.html create mode 100644 help/html/dir_000004_000006.html create mode 100644 help/html/dir_000004_000007.html create mode 100644 help/html/dir_000004_000008.html create mode 100644 help/html/dir_000004_000009.html create mode 100644 help/html/dir_000004_000010.html create mode 100644 help/html/dir_000004_000012.html create mode 100644 help/html/dir_000005_000006.html create mode 100644 help/html/dir_000005_000008.html create mode 100644 help/html/dir_000005_000009.html create mode 100644 help/html/dir_000005_000010.html create mode 100644 help/html/dir_000005_000011.html create mode 100644 help/html/dir_000005_000012.html create mode 100644 help/html/dir_000006_000000.html create mode 100644 help/html/dir_000006_000005.html create mode 100644 help/html/dir_000006_000007.html create mode 100644 help/html/dir_000006_000008.html create mode 100644 help/html/dir_000006_000009.html create mode 100644 help/html/dir_000006_000010.html create mode 100644 help/html/dir_000006_000011.html create mode 100644 help/html/dir_000006_000012.html create mode 100644 help/html/dir_000006_000014.html create mode 100644 help/html/dir_000007_000006.html create mode 100644 help/html/dir_000007_000008.html create mode 100644 help/html/dir_000007_000009.html create mode 100644 help/html/dir_000007_000010.html create mode 100644 help/html/dir_000008_000009.html create mode 100644 help/html/dir_000008_000011.html create mode 100644 help/html/dir_000009_000000.html create mode 100644 help/html/dir_000009_000010.html create mode 100644 help/html/dir_000010_000000.html create mode 100644 help/html/dir_000010_000011.html create mode 100644 help/html/dir_000012_000014.html create mode 100644 help/html/dir_000013_000000.html create mode 100644 help/html/dir_000019_000000.html create mode 100644 help/html/dir_000019_000020.html create mode 100644 help/html/dir_000019_000021.html create mode 100644 help/html/dir_000019_000025.html create mode 100644 help/html/dir_000019_000026.html create mode 100644 help/html/dir_000019_000027.html create mode 100644 help/html/dir_000020_000022.html create mode 100644 help/html/dir_000020_000026.html create mode 100644 help/html/dir_000021_000022.html create mode 100644 help/html/dir_000021_000023.html create mode 100644 help/html/dir_000021_000024.html create mode 100644 help/html/dir_000021_000026.html create mode 100644 help/html/dir_000021_000027.html create mode 100644 help/html/dir_000021_000028.html create mode 100644 help/html/dir_000021_000029.html create mode 100644 help/html/dir_000022_000024.html create mode 100644 help/html/dir_000022_000026.html create mode 100644 help/html/dir_000022_000027.html create mode 100644 help/html/dir_000022_000028.html create mode 100644 help/html/dir_000023_000024.html create mode 100644 help/html/dir_000023_000026.html create mode 100644 help/html/dir_000023_000028.html create mode 100644 help/html/dir_000024_000000.html create mode 100644 help/html/dir_000024_000025.html create mode 100644 help/html/dir_000024_000028.html create mode 100644 help/html/dir_000024_000029.html create mode 100644 help/html/dir_000026_000000.html create mode 100644 help/html/dir_000026_000027.html create mode 100644 help/html/dir_000028_000029.html create mode 100644 help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7.html create mode 100644 help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.map create mode 100644 help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.md5 create mode 100644 help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.png create mode 100644 help/html/dir_06575b8358e13047479eaa591b69dad2.html create mode 100644 help/html/dir_06575b8358e13047479eaa591b69dad2_dep.map create mode 100644 help/html/dir_06575b8358e13047479eaa591b69dad2_dep.md5 create mode 100644 help/html/dir_06575b8358e13047479eaa591b69dad2_dep.png create mode 100644 help/html/dir_06bf8d3e2008620d16ac418f1dde3e85.html create mode 100644 help/html/dir_0b33dbc856f0018626633bfe56654d6c.html create mode 100644 help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.map create mode 100644 help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.md5 create mode 100644 help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.png create mode 100644 help/html/dir_0c442c3451b59b63dfe09a0379a94178.html create mode 100644 help/html/dir_0e9bcac464ba29ef322b4b8f7fba04ee.html create mode 100644 help/html/dir_13e138d54eb8818da29c3992edef070a.html create mode 100644 help/html/dir_13e138d54eb8818da29c3992edef070a_dep.map create mode 100644 help/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 create mode 100644 help/html/dir_13e138d54eb8818da29c3992edef070a_dep.png create mode 100644 help/html/dir_1a19983f27cd648658d29847c7bbcb19.html create mode 100644 help/html/dir_23b5b2bc83a8d87415b91ff4fc156479.html create mode 100644 help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.map create mode 100644 help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.md5 create mode 100644 help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.png create mode 100644 help/html/dir_289a9db7f5db18fcebe2284c66b05f94.html create mode 100644 help/html/dir_2d70b624766e7af9f02777d40df177e4.html create mode 100644 help/html/dir_30efafad49404b27c7a8c0189efd1d72.html create mode 100644 help/html/dir_3e4011b093e9094a5bbfad1e0d15235b.html create mode 100644 help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03.html create mode 100644 help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.map create mode 100644 help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.md5 create mode 100644 help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.png create mode 100644 help/html/dir_4fef79e7177ba769987a8da36c892c5f.html create mode 100644 help/html/dir_63772b626f2709090f0bdca0f40827b4.html create mode 100644 help/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map create mode 100644 help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 create mode 100644 help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png create mode 100644 help/html/dir_68d9d37faf938ef4e7c82b587d705a9a.html create mode 100644 help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.map create mode 100644 help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.md5 create mode 100644 help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.png create mode 100644 help/html/dir_79efdb59f6a5ff44918633d20e92653c.html create mode 100644 help/html/dir_7ab4773fac486c7995104695845818e6.html create mode 100644 help/html/dir_7ab4773fac486c7995104695845818e6_dep.map create mode 100644 help/html/dir_7ab4773fac486c7995104695845818e6_dep.md5 create mode 100644 help/html/dir_7ab4773fac486c7995104695845818e6_dep.png create mode 100644 help/html/dir_7b204e709373ad92a397cb8b8f7260f0.html create mode 100644 help/html/dir_83bb4264a967bda825f8e2a6706cdbe3.html create mode 100644 help/html/dir_8aa1ed3b12087951e6a0c9105a0a98a2.html create mode 100644 help/html/dir_99f78c8e628118007b622946f3ce3340.html create mode 100644 help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892.html create mode 100644 help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.map create mode 100644 help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.md5 create mode 100644 help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.png create mode 100644 help/html/dir_9cf5991ce8de267a99f538b490a27ef5.html create mode 100644 help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.map create mode 100644 help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.md5 create mode 100644 help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.png create mode 100644 help/html/dir_a4143d9535409cad0db9157922ee0522.html create mode 100644 help/html/dir_a4143d9535409cad0db9157922ee0522_dep.map create mode 100644 help/html/dir_a4143d9535409cad0db9157922ee0522_dep.md5 create mode 100644 help/html/dir_a4143d9535409cad0db9157922ee0522_dep.png create mode 100644 help/html/dir_a57a94e38c03835eed49274b75b0176d.html create mode 100644 help/html/dir_c06befe8754771f97f430fe979ad2856.html create mode 100644 help/html/dir_c3fa62a8cff70d54181bfe4edcf32bea.html create mode 100644 help/html/dir_ce57668a0aec1228559c5babc6601945.html create mode 100644 help/html/dir_ce57668a0aec1228559c5babc6601945_dep.map create mode 100644 help/html/dir_ce57668a0aec1228559c5babc6601945_dep.md5 create mode 100644 help/html/dir_ce57668a0aec1228559c5babc6601945_dep.png create mode 100644 help/html/dir_ceaf37d45d7af60067755dfeb40fde64.html create mode 100644 help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.map create mode 100644 help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.md5 create mode 100644 help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.png create mode 100644 help/html/dir_e9d2c87952e388da8e570b477721a3fc.html create mode 100644 help/html/dir_ef921c9c7afa4ede73f5526ef5f0e87a.html create mode 100644 help/html/dir_f91a90d4f7f2239d1002731883d1939d.html create mode 100644 help/html/directMessage_8cc.html create mode 100644 help/html/directMessage_8cc__incl.map create mode 100644 help/html/directMessage_8cc__incl.md5 create mode 100644 help/html/directMessage_8cc__incl.png create mode 100644 help/html/directMessage_8h.html create mode 100644 help/html/directMessage_8h__dep__incl.map create mode 100644 help/html/directMessage_8h__dep__incl.md5 create mode 100644 help/html/directMessage_8h__dep__incl.png create mode 100644 help/html/directMessage_8h__incl.map create mode 100644 help/html/directMessage_8h__incl.md5 create mode 100644 help/html/directMessage_8h__incl.png create mode 100644 help/html/directMessage_8h_source.html create mode 100644 help/html/doc.png create mode 100644 help/html/doxygen.css create mode 100644 help/html/doxygen.png create mode 100644 help/html/dynsections.js create mode 100644 help/html/exception_8h.html create mode 100644 help/html/exception_8h__dep__incl.map create mode 100644 help/html/exception_8h__dep__incl.md5 create mode 100644 help/html/exception_8h__dep__incl.png create mode 100644 help/html/exception_8h__incl.map create mode 100644 help/html/exception_8h__incl.md5 create mode 100644 help/html/exception_8h__incl.png create mode 100644 help/html/exception_8h_source.html create mode 100644 help/html/favorite_2destroy_8cc.html create mode 100644 help/html/favorite_2destroy_8cc__incl.map create mode 100644 help/html/favorite_2destroy_8cc__incl.md5 create mode 100644 help/html/favorite_2destroy_8cc__incl.png create mode 100644 help/html/favorite_2destroy_8h.html create mode 100644 help/html/favorite_2destroy_8h__dep__incl.map create mode 100644 help/html/favorite_2destroy_8h__dep__incl.md5 create mode 100644 help/html/favorite_2destroy_8h__dep__incl.png create mode 100644 help/html/favorite_2destroy_8h__incl.map create mode 100644 help/html/favorite_2destroy_8h__incl.md5 create mode 100644 help/html/favorite_2destroy_8h__incl.png create mode 100644 help/html/favorite_2destroy_8h_source.html create mode 100644 help/html/favorite_8cc.html create mode 100644 help/html/favorite_8cc__incl.map create mode 100644 help/html/favorite_8cc__incl.md5 create mode 100644 help/html/favorite_8cc__incl.png create mode 100644 help/html/favorite_8h.html create mode 100644 help/html/favorite_8h__dep__incl.map create mode 100644 help/html/favorite_8h__dep__incl.md5 create mode 100644 help/html/favorite_8h__dep__incl.png create mode 100644 help/html/favorite_8h__incl.map create mode 100644 help/html/favorite_8h__incl.md5 create mode 100644 help/html/favorite_8h__incl.png create mode 100644 help/html/favorite_8h_source.html create mode 100644 help/html/files.html create mode 100644 help/html/folderclosed.png create mode 100644 help/html/folderopen.png create mode 100644 help/html/formula.repository create mode 100644 help/html/functions.html create mode 100644 help/html/functions_a.html create mode 100644 help/html/functions_b.html create mode 100644 help/html/functions_c.html create mode 100644 help/html/functions_d.html create mode 100644 help/html/functions_e.html create mode 100644 help/html/functions_enum.html create mode 100644 help/html/functions_eval.html create mode 100644 help/html/functions_f.html create mode 100644 help/html/functions_func.html create mode 100644 help/html/functions_func_b.html create mode 100644 help/html/functions_func_c.html create mode 100644 help/html/functions_func_d.html create mode 100644 help/html/functions_func_e.html create mode 100644 help/html/functions_func_f.html create mode 100644 help/html/functions_func_g.html create mode 100644 help/html/functions_func_h.html create mode 100644 help/html/functions_func_i.html create mode 100644 help/html/functions_func_j.html create mode 100644 help/html/functions_func_k.html create mode 100644 help/html/functions_func_l.html create mode 100644 help/html/functions_func_m.html create mode 100644 help/html/functions_func_n.html create mode 100644 help/html/functions_func_o.html create mode 100644 help/html/functions_func_p.html create mode 100644 help/html/functions_func_r.html create mode 100644 help/html/functions_func_s.html create mode 100644 help/html/functions_func_t.html create mode 100644 help/html/functions_func_u.html create mode 100644 help/html/functions_func_v.html create mode 100644 help/html/functions_func_w.html create mode 100644 help/html/functions_func_~.html create mode 100644 help/html/functions_g.html create mode 100644 help/html/functions_h.html create mode 100644 help/html/functions_i.html create mode 100644 help/html/functions_j.html create mode 100644 help/html/functions_k.html create mode 100644 help/html/functions_l.html create mode 100644 help/html/functions_m.html create mode 100644 help/html/functions_n.html create mode 100644 help/html/functions_o.html create mode 100644 help/html/functions_p.html create mode 100644 help/html/functions_r.html create mode 100644 help/html/functions_rela.html create mode 100644 help/html/functions_s.html create mode 100644 help/html/functions_t.html create mode 100644 help/html/functions_type.html create mode 100644 help/html/functions_type_b.html create mode 100644 help/html/functions_type_c.html create mode 100644 help/html/functions_type_d.html create mode 100644 help/html/functions_type_e.html create mode 100644 help/html/functions_type_i.html create mode 100644 help/html/functions_type_j.html create mode 100644 help/html/functions_type_k.html create mode 100644 help/html/functions_type_m.html create mode 100644 help/html/functions_type_n.html create mode 100644 help/html/functions_type_o.html create mode 100644 help/html/functions_type_p.html create mode 100644 help/html/functions_type_r.html create mode 100644 help/html/functions_type_s.html create mode 100644 help/html/functions_type_t.html create mode 100644 help/html/functions_type_v.html create mode 100644 help/html/functions_u.html create mode 100644 help/html/functions_v.html create mode 100644 help/html/functions_vars.html create mode 100644 help/html/functions_w.html create mode 100644 help/html/functions_~.html create mode 100644 help/html/globals.html create mode 100644 help/html/globals_a.html create mode 100644 help/html/globals_b.html create mode 100644 help/html/globals_c.html create mode 100644 help/html/globals_d.html create mode 100644 help/html/globals_defs.html create mode 100644 help/html/globals_defs_c.html create mode 100644 help/html/globals_defs_d.html create mode 100644 help/html/globals_defs_h.html create mode 100644 help/html/globals_defs_i.html create mode 100644 help/html/globals_defs_j.html create mode 100644 help/html/globals_defs_n.html create mode 100644 help/html/globals_defs_p.html create mode 100644 help/html/globals_defs_s.html create mode 100644 help/html/globals_f.html create mode 100644 help/html/globals_func.html create mode 100644 help/html/globals_g.html create mode 100644 help/html/globals_h.html create mode 100644 help/html/globals_i.html create mode 100644 help/html/globals_j.html create mode 100644 help/html/globals_k.html create mode 100644 help/html/globals_l.html create mode 100644 help/html/globals_m.html create mode 100644 help/html/globals_n.html create mode 100644 help/html/globals_o.html create mode 100644 help/html/globals_p.html create mode 100644 help/html/globals_r.html create mode 100644 help/html/globals_s.html create mode 100644 help/html/globals_u.html create mode 100644 help/html/globals_vars.html create mode 100644 help/html/globals_w.html create mode 100644 help/html/globals_z.html create mode 100644 help/html/graph_legend.html create mode 100644 help/html/graph_legend.md5 create mode 100644 help/html/graph_legend.png create mode 100644 help/html/groupInterface_8h.html create mode 100644 help/html/groupInterface_8h__dep__incl.map create mode 100644 help/html/groupInterface_8h__dep__incl.md5 create mode 100644 help/html/groupInterface_8h__dep__incl.png create mode 100644 help/html/groupInterface_8h__incl.map create mode 100644 help/html/groupInterface_8h__incl.md5 create mode 100644 help/html/groupInterface_8h__incl.png create mode 100644 help/html/groupInterface_8h_source.html create mode 100644 help/html/hierarchy.html create mode 100644 help/html/httpBase_8h.html create mode 100644 help/html/httpBase_8h__dep__incl.map create mode 100644 help/html/httpBase_8h__dep__incl.md5 create mode 100644 help/html/httpBase_8h__dep__incl.png create mode 100644 help/html/httpBase_8h__incl.map create mode 100644 help/html/httpBase_8h__incl.md5 create mode 100644 help/html/httpBase_8h__incl.png create mode 100644 help/html/httpBase_8h_source.html create mode 100644 help/html/httpGet_8cc.html create mode 100644 help/html/httpGet_8cc__incl.map create mode 100644 help/html/httpGet_8cc__incl.md5 create mode 100644 help/html/httpGet_8cc__incl.png create mode 100644 help/html/httpGet_8h.html create mode 100644 help/html/httpGet_8h__dep__incl.map create mode 100644 help/html/httpGet_8h__dep__incl.md5 create mode 100644 help/html/httpGet_8h__dep__incl.png create mode 100644 help/html/httpGet_8h__incl.map create mode 100644 help/html/httpGet_8h__incl.md5 create mode 100644 help/html/httpGet_8h__incl.png create mode 100644 help/html/httpGet_8h_source.html create mode 100644 help/html/httpPost_8cc.html create mode 100644 help/html/httpPost_8cc__incl.map create mode 100644 help/html/httpPost_8cc__incl.md5 create mode 100644 help/html/httpPost_8cc__incl.png create mode 100644 help/html/httpPost_8h.html create mode 100644 help/html/httpPost_8h__dep__incl.map create mode 100644 help/html/httpPost_8h__dep__incl.md5 create mode 100644 help/html/httpPost_8h__dep__incl.png create mode 100644 help/html/httpPost_8h__incl.map create mode 100644 help/html/httpPost_8h__incl.md5 create mode 100644 help/html/httpPost_8h__incl.png create mode 100644 help/html/httpPost_8h_source.html create mode 100644 help/html/index.html create mode 100644 help/html/inherit_graph_0.map create mode 100644 help/html/inherit_graph_0.md5 create mode 100644 help/html/inherit_graph_0.png create mode 100644 help/html/inherit_graph_1.map create mode 100644 help/html/inherit_graph_1.md5 create mode 100644 help/html/inherit_graph_1.png create mode 100644 help/html/inherit_graph_10.map create mode 100644 help/html/inherit_graph_10.md5 create mode 100644 help/html/inherit_graph_10.png create mode 100644 help/html/inherit_graph_100.map create mode 100644 help/html/inherit_graph_100.md5 create mode 100644 help/html/inherit_graph_100.png create mode 100644 help/html/inherit_graph_101.map create mode 100644 help/html/inherit_graph_101.md5 create mode 100644 help/html/inherit_graph_101.png create mode 100644 help/html/inherit_graph_102.map create mode 100644 help/html/inherit_graph_102.md5 create mode 100644 help/html/inherit_graph_102.png create mode 100644 help/html/inherit_graph_103.map create mode 100644 help/html/inherit_graph_103.md5 create mode 100644 help/html/inherit_graph_103.png create mode 100644 help/html/inherit_graph_104.map create mode 100644 help/html/inherit_graph_104.md5 create mode 100644 help/html/inherit_graph_104.png create mode 100644 help/html/inherit_graph_105.map create mode 100644 help/html/inherit_graph_105.md5 create mode 100644 help/html/inherit_graph_105.png create mode 100644 help/html/inherit_graph_106.map create mode 100644 help/html/inherit_graph_106.md5 create mode 100644 help/html/inherit_graph_106.png create mode 100644 help/html/inherit_graph_107.map create mode 100644 help/html/inherit_graph_107.md5 create mode 100644 help/html/inherit_graph_107.png create mode 100644 help/html/inherit_graph_11.map create mode 100644 help/html/inherit_graph_11.md5 create mode 100644 help/html/inherit_graph_11.png create mode 100644 help/html/inherit_graph_12.map create mode 100644 help/html/inherit_graph_12.md5 create mode 100644 help/html/inherit_graph_12.png create mode 100644 help/html/inherit_graph_13.map create mode 100644 help/html/inherit_graph_13.md5 create mode 100644 help/html/inherit_graph_13.png create mode 100644 help/html/inherit_graph_14.map create mode 100644 help/html/inherit_graph_14.md5 create mode 100644 help/html/inherit_graph_14.png create mode 100644 help/html/inherit_graph_15.map create mode 100644 help/html/inherit_graph_15.md5 create mode 100644 help/html/inherit_graph_15.png create mode 100644 help/html/inherit_graph_16.map create mode 100644 help/html/inherit_graph_16.md5 create mode 100644 help/html/inherit_graph_16.png create mode 100644 help/html/inherit_graph_17.map create mode 100644 help/html/inherit_graph_17.md5 create mode 100644 help/html/inherit_graph_17.png create mode 100644 help/html/inherit_graph_18.map create mode 100644 help/html/inherit_graph_18.md5 create mode 100644 help/html/inherit_graph_18.png create mode 100644 help/html/inherit_graph_19.map create mode 100644 help/html/inherit_graph_19.md5 create mode 100644 help/html/inherit_graph_19.png create mode 100644 help/html/inherit_graph_2.map create mode 100644 help/html/inherit_graph_2.md5 create mode 100644 help/html/inherit_graph_2.png create mode 100644 help/html/inherit_graph_20.map create mode 100644 help/html/inherit_graph_20.md5 create mode 100644 help/html/inherit_graph_20.png create mode 100644 help/html/inherit_graph_21.map create mode 100644 help/html/inherit_graph_21.md5 create mode 100644 help/html/inherit_graph_21.png create mode 100644 help/html/inherit_graph_22.map create mode 100644 help/html/inherit_graph_22.md5 create mode 100644 help/html/inherit_graph_22.png create mode 100644 help/html/inherit_graph_23.map create mode 100644 help/html/inherit_graph_23.md5 create mode 100644 help/html/inherit_graph_23.png create mode 100644 help/html/inherit_graph_24.map create mode 100644 help/html/inherit_graph_24.md5 create mode 100644 help/html/inherit_graph_24.png create mode 100644 help/html/inherit_graph_25.map create mode 100644 help/html/inherit_graph_25.md5 create mode 100644 help/html/inherit_graph_25.png create mode 100644 help/html/inherit_graph_26.map create mode 100644 help/html/inherit_graph_26.md5 create mode 100644 help/html/inherit_graph_26.png create mode 100644 help/html/inherit_graph_27.map create mode 100644 help/html/inherit_graph_27.md5 create mode 100644 help/html/inherit_graph_27.png create mode 100644 help/html/inherit_graph_28.map create mode 100644 help/html/inherit_graph_28.md5 create mode 100644 help/html/inherit_graph_28.png create mode 100644 help/html/inherit_graph_29.map create mode 100644 help/html/inherit_graph_29.md5 create mode 100644 help/html/inherit_graph_29.png create mode 100644 help/html/inherit_graph_3.map create mode 100644 help/html/inherit_graph_3.md5 create mode 100644 help/html/inherit_graph_3.png create mode 100644 help/html/inherit_graph_30.map create mode 100644 help/html/inherit_graph_30.md5 create mode 100644 help/html/inherit_graph_30.png create mode 100644 help/html/inherit_graph_31.map create mode 100644 help/html/inherit_graph_31.md5 create mode 100644 help/html/inherit_graph_31.png create mode 100644 help/html/inherit_graph_32.map create mode 100644 help/html/inherit_graph_32.md5 create mode 100644 help/html/inherit_graph_32.png create mode 100644 help/html/inherit_graph_33.map create mode 100644 help/html/inherit_graph_33.md5 create mode 100644 help/html/inherit_graph_33.png create mode 100644 help/html/inherit_graph_34.map create mode 100644 help/html/inherit_graph_34.md5 create mode 100644 help/html/inherit_graph_34.png create mode 100644 help/html/inherit_graph_35.map create mode 100644 help/html/inherit_graph_35.md5 create mode 100644 help/html/inherit_graph_35.png create mode 100644 help/html/inherit_graph_36.map create mode 100644 help/html/inherit_graph_36.md5 create mode 100644 help/html/inherit_graph_36.png create mode 100644 help/html/inherit_graph_37.map create mode 100644 help/html/inherit_graph_37.md5 create mode 100644 help/html/inherit_graph_37.png create mode 100644 help/html/inherit_graph_38.map create mode 100644 help/html/inherit_graph_38.md5 create mode 100644 help/html/inherit_graph_38.png create mode 100644 help/html/inherit_graph_39.map create mode 100644 help/html/inherit_graph_39.md5 create mode 100644 help/html/inherit_graph_39.png create mode 100644 help/html/inherit_graph_4.map create mode 100644 help/html/inherit_graph_4.md5 create mode 100644 help/html/inherit_graph_4.png create mode 100644 help/html/inherit_graph_40.map create mode 100644 help/html/inherit_graph_40.md5 create mode 100644 help/html/inherit_graph_40.png create mode 100644 help/html/inherit_graph_41.map create mode 100644 help/html/inherit_graph_41.md5 create mode 100644 help/html/inherit_graph_41.png create mode 100644 help/html/inherit_graph_42.map create mode 100644 help/html/inherit_graph_42.md5 create mode 100644 help/html/inherit_graph_42.png create mode 100644 help/html/inherit_graph_43.map create mode 100644 help/html/inherit_graph_43.md5 create mode 100644 help/html/inherit_graph_43.png create mode 100644 help/html/inherit_graph_44.map create mode 100644 help/html/inherit_graph_44.md5 create mode 100644 help/html/inherit_graph_44.png create mode 100644 help/html/inherit_graph_45.map create mode 100644 help/html/inherit_graph_45.md5 create mode 100644 help/html/inherit_graph_45.png create mode 100644 help/html/inherit_graph_46.map create mode 100644 help/html/inherit_graph_46.md5 create mode 100644 help/html/inherit_graph_46.png create mode 100644 help/html/inherit_graph_47.map create mode 100644 help/html/inherit_graph_47.md5 create mode 100644 help/html/inherit_graph_47.png create mode 100644 help/html/inherit_graph_48.map create mode 100644 help/html/inherit_graph_48.md5 create mode 100644 help/html/inherit_graph_48.png create mode 100644 help/html/inherit_graph_49.map create mode 100644 help/html/inherit_graph_49.md5 create mode 100644 help/html/inherit_graph_49.png create mode 100644 help/html/inherit_graph_5.map create mode 100644 help/html/inherit_graph_5.md5 create mode 100644 help/html/inherit_graph_5.png create mode 100644 help/html/inherit_graph_50.map create mode 100644 help/html/inherit_graph_50.md5 create mode 100644 help/html/inherit_graph_50.png create mode 100644 help/html/inherit_graph_51.map create mode 100644 help/html/inherit_graph_51.md5 create mode 100644 help/html/inherit_graph_51.png create mode 100644 help/html/inherit_graph_52.map create mode 100644 help/html/inherit_graph_52.md5 create mode 100644 help/html/inherit_graph_52.png create mode 100644 help/html/inherit_graph_53.map create mode 100644 help/html/inherit_graph_53.md5 create mode 100644 help/html/inherit_graph_53.png create mode 100644 help/html/inherit_graph_54.map create mode 100644 help/html/inherit_graph_54.md5 create mode 100644 help/html/inherit_graph_54.png create mode 100644 help/html/inherit_graph_55.map create mode 100644 help/html/inherit_graph_55.md5 create mode 100644 help/html/inherit_graph_55.png create mode 100644 help/html/inherit_graph_56.map create mode 100644 help/html/inherit_graph_56.md5 create mode 100644 help/html/inherit_graph_56.png create mode 100644 help/html/inherit_graph_57.map create mode 100644 help/html/inherit_graph_57.md5 create mode 100644 help/html/inherit_graph_57.png create mode 100644 help/html/inherit_graph_58.map create mode 100644 help/html/inherit_graph_58.md5 create mode 100644 help/html/inherit_graph_58.png create mode 100644 help/html/inherit_graph_59.map create mode 100644 help/html/inherit_graph_59.md5 create mode 100644 help/html/inherit_graph_59.png create mode 100644 help/html/inherit_graph_6.map create mode 100644 help/html/inherit_graph_6.md5 create mode 100644 help/html/inherit_graph_6.png create mode 100644 help/html/inherit_graph_60.map create mode 100644 help/html/inherit_graph_60.md5 create mode 100644 help/html/inherit_graph_60.png create mode 100644 help/html/inherit_graph_61.map create mode 100644 help/html/inherit_graph_61.md5 create mode 100644 help/html/inherit_graph_61.png create mode 100644 help/html/inherit_graph_62.map create mode 100644 help/html/inherit_graph_62.md5 create mode 100644 help/html/inherit_graph_62.png create mode 100644 help/html/inherit_graph_63.map create mode 100644 help/html/inherit_graph_63.md5 create mode 100644 help/html/inherit_graph_63.png create mode 100644 help/html/inherit_graph_64.map create mode 100644 help/html/inherit_graph_64.md5 create mode 100644 help/html/inherit_graph_64.png create mode 100644 help/html/inherit_graph_65.map create mode 100644 help/html/inherit_graph_65.md5 create mode 100644 help/html/inherit_graph_65.png create mode 100644 help/html/inherit_graph_66.map create mode 100644 help/html/inherit_graph_66.md5 create mode 100644 help/html/inherit_graph_66.png create mode 100644 help/html/inherit_graph_67.map create mode 100644 help/html/inherit_graph_67.md5 create mode 100644 help/html/inherit_graph_67.png create mode 100644 help/html/inherit_graph_68.map create mode 100644 help/html/inherit_graph_68.md5 create mode 100644 help/html/inherit_graph_68.png create mode 100644 help/html/inherit_graph_69.map create mode 100644 help/html/inherit_graph_69.md5 create mode 100644 help/html/inherit_graph_69.png create mode 100644 help/html/inherit_graph_7.map create mode 100644 help/html/inherit_graph_7.md5 create mode 100644 help/html/inherit_graph_7.png create mode 100644 help/html/inherit_graph_70.map create mode 100644 help/html/inherit_graph_70.md5 create mode 100644 help/html/inherit_graph_70.png create mode 100644 help/html/inherit_graph_71.map create mode 100644 help/html/inherit_graph_71.md5 create mode 100644 help/html/inherit_graph_71.png create mode 100644 help/html/inherit_graph_72.map create mode 100644 help/html/inherit_graph_72.md5 create mode 100644 help/html/inherit_graph_72.png create mode 100644 help/html/inherit_graph_73.map create mode 100644 help/html/inherit_graph_73.md5 create mode 100644 help/html/inherit_graph_73.png create mode 100644 help/html/inherit_graph_74.map create mode 100644 help/html/inherit_graph_74.md5 create mode 100644 help/html/inherit_graph_74.png create mode 100644 help/html/inherit_graph_75.map create mode 100644 help/html/inherit_graph_75.md5 create mode 100644 help/html/inherit_graph_75.png create mode 100644 help/html/inherit_graph_76.map create mode 100644 help/html/inherit_graph_76.md5 create mode 100644 help/html/inherit_graph_76.png create mode 100644 help/html/inherit_graph_77.map create mode 100644 help/html/inherit_graph_77.md5 create mode 100644 help/html/inherit_graph_77.png create mode 100644 help/html/inherit_graph_78.map create mode 100644 help/html/inherit_graph_78.md5 create mode 100644 help/html/inherit_graph_78.png create mode 100644 help/html/inherit_graph_79.map create mode 100644 help/html/inherit_graph_79.md5 create mode 100644 help/html/inherit_graph_79.png create mode 100644 help/html/inherit_graph_8.map create mode 100644 help/html/inherit_graph_8.md5 create mode 100644 help/html/inherit_graph_8.png create mode 100644 help/html/inherit_graph_80.map create mode 100644 help/html/inherit_graph_80.md5 create mode 100644 help/html/inherit_graph_80.png create mode 100644 help/html/inherit_graph_81.map create mode 100644 help/html/inherit_graph_81.md5 create mode 100644 help/html/inherit_graph_81.png create mode 100644 help/html/inherit_graph_82.map create mode 100644 help/html/inherit_graph_82.md5 create mode 100644 help/html/inherit_graph_82.png create mode 100644 help/html/inherit_graph_83.map create mode 100644 help/html/inherit_graph_83.md5 create mode 100644 help/html/inherit_graph_83.png create mode 100644 help/html/inherit_graph_84.map create mode 100644 help/html/inherit_graph_84.md5 create mode 100644 help/html/inherit_graph_84.png create mode 100644 help/html/inherit_graph_85.map create mode 100644 help/html/inherit_graph_85.md5 create mode 100644 help/html/inherit_graph_85.png create mode 100644 help/html/inherit_graph_86.map create mode 100644 help/html/inherit_graph_86.md5 create mode 100644 help/html/inherit_graph_86.png create mode 100644 help/html/inherit_graph_87.map create mode 100644 help/html/inherit_graph_87.md5 create mode 100644 help/html/inherit_graph_87.png create mode 100644 help/html/inherit_graph_88.map create mode 100644 help/html/inherit_graph_88.md5 create mode 100644 help/html/inherit_graph_88.png create mode 100644 help/html/inherit_graph_89.map create mode 100644 help/html/inherit_graph_89.md5 create mode 100644 help/html/inherit_graph_89.png create mode 100644 help/html/inherit_graph_9.map create mode 100644 help/html/inherit_graph_9.md5 create mode 100644 help/html/inherit_graph_9.png create mode 100644 help/html/inherit_graph_90.map create mode 100644 help/html/inherit_graph_90.md5 create mode 100644 help/html/inherit_graph_90.png create mode 100644 help/html/inherit_graph_91.map create mode 100644 help/html/inherit_graph_91.md5 create mode 100644 help/html/inherit_graph_91.png create mode 100644 help/html/inherit_graph_92.map create mode 100644 help/html/inherit_graph_92.md5 create mode 100644 help/html/inherit_graph_92.png create mode 100644 help/html/inherit_graph_93.map create mode 100644 help/html/inherit_graph_93.md5 create mode 100644 help/html/inherit_graph_93.png create mode 100644 help/html/inherit_graph_94.map create mode 100644 help/html/inherit_graph_94.md5 create mode 100644 help/html/inherit_graph_94.png create mode 100644 help/html/inherit_graph_95.map create mode 100644 help/html/inherit_graph_95.md5 create mode 100644 help/html/inherit_graph_95.png create mode 100644 help/html/inherit_graph_96.map create mode 100644 help/html/inherit_graph_96.md5 create mode 100644 help/html/inherit_graph_96.png create mode 100644 help/html/inherit_graph_97.map create mode 100644 help/html/inherit_graph_97.md5 create mode 100644 help/html/inherit_graph_97.png create mode 100644 help/html/inherit_graph_98.map create mode 100644 help/html/inherit_graph_98.md5 create mode 100644 help/html/inherit_graph_98.png create mode 100644 help/html/inherit_graph_99.map create mode 100644 help/html/inherit_graph_99.md5 create mode 100644 help/html/inherit_graph_99.png create mode 100644 help/html/inherits.html create mode 100644 help/html/jquery.js create mode 100644 help/html/json-populate-cfgcmd_8txt.html create mode 100644 help/html/json-populate-gitclone-lastrun_8txt.html create mode 100644 help/html/json-populate-gitinfo_8txt.html create mode 100644 help/html/json_8hpp.html create mode 100644 help/html/json_8hpp__dep__incl.map create mode 100644 help/html/json_8hpp__dep__incl.md5 create mode 100644 help/html/json_8hpp__dep__incl.png create mode 100644 help/html/json_8hpp__incl.map create mode 100644 help/html/json_8hpp__incl.md5 create mode 100644 help/html/json_8hpp__incl.png create mode 100644 help/html/json_8hpp_source.html create mode 100644 help/html/json__fwd_8hpp.html create mode 100644 help/html/json__fwd_8hpp__incl.map create mode 100644 help/html/json__fwd_8hpp__incl.md5 create mode 100644 help/html/json__fwd_8hpp__incl.png create mode 100644 help/html/json__fwd_8hpp_source.html create mode 100644 help/html/key_8cc.html create mode 100644 help/html/key_8cc__incl.map create mode 100644 help/html/key_8cc__incl.md5 create mode 100644 help/html/key_8cc__incl.png create mode 100644 help/html/key_8h.html create mode 100644 help/html/key_8h__dep__incl.map create mode 100644 help/html/key_8h__dep__incl.md5 create mode 100644 help/html/key_8h__dep__incl.png create mode 100644 help/html/key_8h__incl.map create mode 100644 help/html/key_8h__incl.md5 create mode 100644 help/html/key_8h__incl.png create mode 100644 help/html/key_8h_source.html create mode 100644 help/html/main_8cc.html create mode 100644 help/html/main_8cc__incl.map create mode 100644 help/html/main_8cc__incl.md5 create mode 100644 help/html/main_8cc__incl.png create mode 100644 help/html/md_README.html create mode 100644 help/html/md_build__deps_json-src_README.html create mode 100644 help/html/mediaStore_8cc.html create mode 100644 help/html/mediaStore_8cc__incl.map create mode 100644 help/html/mediaStore_8cc__incl.md5 create mode 100644 help/html/mediaStore_8cc__incl.png create mode 100644 help/html/mediaStore_8h.html create mode 100644 help/html/mediaStore_8h__dep__incl.map create mode 100644 help/html/mediaStore_8h__dep__incl.md5 create mode 100644 help/html/mediaStore_8h__dep__incl.png create mode 100644 help/html/mediaStore_8h__incl.map create mode 100644 help/html/mediaStore_8h__incl.md5 create mode 100644 help/html/mediaStore_8h__incl.png create mode 100644 help/html/mediaStore_8h_source.html create mode 100644 help/html/media_8cc.html create mode 100644 help/html/media_8cc__incl.map create mode 100644 help/html/media_8cc__incl.md5 create mode 100644 help/html/media_8cc__incl.png create mode 100644 help/html/media_8h.html create mode 100644 help/html/media_8h__dep__incl.map create mode 100644 help/html/media_8h__dep__incl.md5 create mode 100644 help/html/media_8h__dep__incl.png create mode 100644 help/html/media_8h__incl.map create mode 100644 help/html/media_8h__incl.md5 create mode 100644 help/html/media_8h__incl.png create mode 100644 help/html/media_8h_source.html create mode 100644 help/html/menu.js create mode 100644 help/html/menudata.js create mode 100644 help/html/namespaceCocoaTweet.html create mode 100644 help/html/namespaceCocoaTweet_1_1API.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1DirectMessages.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1Favorites.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1Interface.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1Medias.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1Model.html create mode 100644 help/html/namespaceCocoaTweet_1_1API_1_1Statuses.html create mode 100644 help/html/namespaceCocoaTweet_1_1Exception.html create mode 100644 help/html/namespaceCocoaTweet_1_1OAuth.html create mode 100644 help/html/namespaceCocoaTweet_1_1Util.html create mode 100644 help/html/namespacemembers.html create mode 100644 help/html/namespacemembers_enum.html create mode 100644 help/html/namespacemembers_func.html create mode 100644 help/html/namespacemembers_type.html create mode 100644 help/html/namespacemembers_vars.html create mode 100644 help/html/namespacenlohmann.html create mode 100644 help/html/namespacenlohmann_1_1detail.html create mode 100644 help/html/namespacenlohmann_1_1detail_1_1dtoa__impl.html create mode 100644 help/html/namespaces.html create mode 100644 help/html/namespacestd.html create mode 100644 help/html/namespaceupdate.html create mode 100644 help/html/nav_f.png create mode 100644 help/html/nav_g.png create mode 100644 help/html/nav_h.png create mode 100644 help/html/new_8cc.html create mode 100644 help/html/new_8cc__incl.map create mode 100644 help/html/new_8cc__incl.md5 create mode 100644 help/html/new_8cc__incl.png create mode 100644 help/html/new_8h.html create mode 100644 help/html/new_8h__dep__incl.map create mode 100644 help/html/new_8h__dep__incl.md5 create mode 100644 help/html/new_8h__dep__incl.png create mode 100644 help/html/new_8h__incl.map create mode 100644 help/html/new_8h__incl.md5 create mode 100644 help/html/new_8h__incl.png create mode 100644 help/html/new_8h_source.html create mode 100644 help/html/oauth_8cc.html create mode 100644 help/html/oauth_8cc__incl.map create mode 100644 help/html/oauth_8cc__incl.md5 create mode 100644 help/html/oauth_8cc__incl.png create mode 100644 help/html/oauth_8h.html create mode 100644 help/html/oauth_8h__dep__incl.map create mode 100644 help/html/oauth_8h__dep__incl.md5 create mode 100644 help/html/oauth_8h__dep__incl.png create mode 100644 help/html/oauth_8h__incl.map create mode 100644 help/html/oauth_8h__incl.md5 create mode 100644 help/html/oauth_8h__incl.png create mode 100644 help/html/oauth_8h_source.html create mode 100644 help/html/open.png create mode 100644 help/html/pages.html create mode 100644 help/html/rateLimitException_8h.html create mode 100644 help/html/rateLimitException_8h__dep__incl.map create mode 100644 help/html/rateLimitException_8h__dep__incl.md5 create mode 100644 help/html/rateLimitException_8h__dep__incl.png create mode 100644 help/html/rateLimitException_8h__incl.map create mode 100644 help/html/rateLimitException_8h__incl.md5 create mode 100644 help/html/rateLimitException_8h__incl.png create mode 100644 help/html/rateLimitException_8h_source.html create mode 100644 help/html/retweet_8cc.html create mode 100644 help/html/retweet_8cc__incl.map create mode 100644 help/html/retweet_8cc__incl.md5 create mode 100644 help/html/retweet_8cc__incl.png create mode 100644 help/html/retweet_8h.html create mode 100644 help/html/retweet_8h__dep__incl.map create mode 100644 help/html/retweet_8h__dep__incl.md5 create mode 100644 help/html/retweet_8h__dep__incl.png create mode 100644 help/html/retweet_8h__incl.map create mode 100644 help/html/retweet_8h__incl.md5 create mode 100644 help/html/retweet_8h__incl.png create mode 100644 help/html/retweet_8h_source.html create mode 100644 help/html/search/all_0.html create mode 100644 help/html/search/all_0.js create mode 100644 help/html/search/all_1.html create mode 100644 help/html/search/all_1.js create mode 100644 help/html/search/all_10.html create mode 100644 help/html/search/all_10.js create mode 100644 help/html/search/all_11.html create mode 100644 help/html/search/all_11.js create mode 100644 help/html/search/all_12.html create mode 100644 help/html/search/all_12.js create mode 100644 help/html/search/all_13.html create mode 100644 help/html/search/all_13.js create mode 100644 help/html/search/all_14.html create mode 100644 help/html/search/all_14.js create mode 100644 help/html/search/all_15.html create mode 100644 help/html/search/all_15.js create mode 100644 help/html/search/all_16.html create mode 100644 help/html/search/all_16.js create mode 100644 help/html/search/all_17.html create mode 100644 help/html/search/all_17.js create mode 100644 help/html/search/all_18.html create mode 100644 help/html/search/all_18.js create mode 100644 help/html/search/all_19.html create mode 100644 help/html/search/all_19.js create mode 100644 help/html/search/all_2.html create mode 100644 help/html/search/all_2.js create mode 100644 help/html/search/all_3.html create mode 100644 help/html/search/all_3.js create mode 100644 help/html/search/all_4.html create mode 100644 help/html/search/all_4.js create mode 100644 help/html/search/all_5.html create mode 100644 help/html/search/all_5.js create mode 100644 help/html/search/all_6.html create mode 100644 help/html/search/all_6.js create mode 100644 help/html/search/all_7.html create mode 100644 help/html/search/all_7.js create mode 100644 help/html/search/all_8.html create mode 100644 help/html/search/all_8.js create mode 100644 help/html/search/all_9.html create mode 100644 help/html/search/all_9.js create mode 100644 help/html/search/all_a.html create mode 100644 help/html/search/all_a.js create mode 100644 help/html/search/all_b.html create mode 100644 help/html/search/all_b.js create mode 100644 help/html/search/all_c.html create mode 100644 help/html/search/all_c.js create mode 100644 help/html/search/all_d.html create mode 100644 help/html/search/all_d.js create mode 100644 help/html/search/all_e.html create mode 100644 help/html/search/all_e.js create mode 100644 help/html/search/all_f.html create mode 100644 help/html/search/all_f.js create mode 100644 help/html/search/classes_0.html create mode 100644 help/html/search/classes_0.js create mode 100644 help/html/search/classes_1.html create mode 100644 help/html/search/classes_1.js create mode 100644 help/html/search/classes_10.html create mode 100644 help/html/search/classes_10.js create mode 100644 help/html/search/classes_11.html create mode 100644 help/html/search/classes_11.js create mode 100644 help/html/search/classes_12.html create mode 100644 help/html/search/classes_12.js create mode 100644 help/html/search/classes_13.html create mode 100644 help/html/search/classes_13.js create mode 100644 help/html/search/classes_14.html create mode 100644 help/html/search/classes_14.js create mode 100644 help/html/search/classes_2.html create mode 100644 help/html/search/classes_2.js create mode 100644 help/html/search/classes_3.html create mode 100644 help/html/search/classes_3.js create mode 100644 help/html/search/classes_4.html create mode 100644 help/html/search/classes_4.js create mode 100644 help/html/search/classes_5.html create mode 100644 help/html/search/classes_5.js create mode 100644 help/html/search/classes_6.html create mode 100644 help/html/search/classes_6.js create mode 100644 help/html/search/classes_7.html create mode 100644 help/html/search/classes_7.js create mode 100644 help/html/search/classes_8.html create mode 100644 help/html/search/classes_8.js create mode 100644 help/html/search/classes_9.html create mode 100644 help/html/search/classes_9.js create mode 100644 help/html/search/classes_a.html create mode 100644 help/html/search/classes_a.js create mode 100644 help/html/search/classes_b.html create mode 100644 help/html/search/classes_b.js create mode 100644 help/html/search/classes_c.html create mode 100644 help/html/search/classes_c.js create mode 100644 help/html/search/classes_d.html create mode 100644 help/html/search/classes_d.js create mode 100644 help/html/search/classes_e.html create mode 100644 help/html/search/classes_e.js create mode 100644 help/html/search/classes_f.html create mode 100644 help/html/search/classes_f.js create mode 100644 help/html/search/close.png create mode 100644 help/html/search/defines_0.html create mode 100644 help/html/search/defines_0.js create mode 100644 help/html/search/defines_1.html create mode 100644 help/html/search/defines_1.js create mode 100644 help/html/search/defines_2.html create mode 100644 help/html/search/defines_2.js create mode 100644 help/html/search/defines_3.html create mode 100644 help/html/search/defines_3.js create mode 100644 help/html/search/defines_4.html create mode 100644 help/html/search/defines_4.js create mode 100644 help/html/search/defines_5.html create mode 100644 help/html/search/defines_5.js create mode 100644 help/html/search/defines_6.html create mode 100644 help/html/search/defines_6.js create mode 100644 help/html/search/defines_7.html create mode 100644 help/html/search/defines_7.js create mode 100644 help/html/search/defines_8.html create mode 100644 help/html/search/defines_8.js create mode 100644 help/html/search/enums_0.html create mode 100644 help/html/search/enums_0.js create mode 100644 help/html/search/enums_1.html create mode 100644 help/html/search/enums_1.js create mode 100644 help/html/search/enums_2.html create mode 100644 help/html/search/enums_2.js create mode 100644 help/html/search/enums_3.html create mode 100644 help/html/search/enums_3.js create mode 100644 help/html/search/enums_4.html create mode 100644 help/html/search/enums_4.js create mode 100644 help/html/search/enums_5.html create mode 100644 help/html/search/enums_5.js create mode 100644 help/html/search/enumvalues_0.html create mode 100644 help/html/search/enumvalues_0.js create mode 100644 help/html/search/enumvalues_1.html create mode 100644 help/html/search/enumvalues_1.js create mode 100644 help/html/search/enumvalues_10.html create mode 100644 help/html/search/enumvalues_10.js create mode 100644 help/html/search/enumvalues_11.html create mode 100644 help/html/search/enumvalues_11.js create mode 100644 help/html/search/enumvalues_2.html create mode 100644 help/html/search/enumvalues_2.js create mode 100644 help/html/search/enumvalues_3.html create mode 100644 help/html/search/enumvalues_3.js create mode 100644 help/html/search/enumvalues_4.html create mode 100644 help/html/search/enumvalues_4.js create mode 100644 help/html/search/enumvalues_5.html create mode 100644 help/html/search/enumvalues_5.js create mode 100644 help/html/search/enumvalues_6.html create mode 100644 help/html/search/enumvalues_6.js create mode 100644 help/html/search/enumvalues_7.html create mode 100644 help/html/search/enumvalues_7.js create mode 100644 help/html/search/enumvalues_8.html create mode 100644 help/html/search/enumvalues_8.js create mode 100644 help/html/search/enumvalues_9.html create mode 100644 help/html/search/enumvalues_9.js create mode 100644 help/html/search/enumvalues_a.html create mode 100644 help/html/search/enumvalues_a.js create mode 100644 help/html/search/enumvalues_b.html create mode 100644 help/html/search/enumvalues_b.js create mode 100644 help/html/search/enumvalues_c.html create mode 100644 help/html/search/enumvalues_c.js create mode 100644 help/html/search/enumvalues_d.html create mode 100644 help/html/search/enumvalues_d.js create mode 100644 help/html/search/enumvalues_e.html create mode 100644 help/html/search/enumvalues_e.js create mode 100644 help/html/search/enumvalues_f.html create mode 100644 help/html/search/enumvalues_f.js create mode 100644 help/html/search/files_0.html create mode 100644 help/html/search/files_0.js create mode 100644 help/html/search/files_1.html create mode 100644 help/html/search/files_1.js create mode 100644 help/html/search/files_2.html create mode 100644 help/html/search/files_2.js create mode 100644 help/html/search/files_3.html create mode 100644 help/html/search/files_3.js create mode 100644 help/html/search/files_4.html create mode 100644 help/html/search/files_4.js create mode 100644 help/html/search/files_5.html create mode 100644 help/html/search/files_5.js create mode 100644 help/html/search/files_6.html create mode 100644 help/html/search/files_6.js create mode 100644 help/html/search/files_7.html create mode 100644 help/html/search/files_7.js create mode 100644 help/html/search/files_8.html create mode 100644 help/html/search/files_8.js create mode 100644 help/html/search/files_9.html create mode 100644 help/html/search/files_9.js create mode 100644 help/html/search/files_a.html create mode 100644 help/html/search/files_a.js create mode 100644 help/html/search/files_b.html create mode 100644 help/html/search/files_b.js create mode 100644 help/html/search/files_c.html create mode 100644 help/html/search/files_c.js create mode 100644 help/html/search/files_d.html create mode 100644 help/html/search/files_d.js create mode 100644 help/html/search/files_e.html create mode 100644 help/html/search/files_e.js create mode 100644 help/html/search/files_f.html create mode 100644 help/html/search/files_f.js create mode 100644 help/html/search/functions_0.html create mode 100644 help/html/search/functions_0.js create mode 100644 help/html/search/functions_1.html create mode 100644 help/html/search/functions_1.js create mode 100644 help/html/search/functions_10.html create mode 100644 help/html/search/functions_10.js create mode 100644 help/html/search/functions_11.html create mode 100644 help/html/search/functions_11.js create mode 100644 help/html/search/functions_12.html create mode 100644 help/html/search/functions_12.js create mode 100644 help/html/search/functions_13.html create mode 100644 help/html/search/functions_13.js create mode 100644 help/html/search/functions_14.html create mode 100644 help/html/search/functions_14.js create mode 100644 help/html/search/functions_15.html create mode 100644 help/html/search/functions_15.js create mode 100644 help/html/search/functions_16.html create mode 100644 help/html/search/functions_16.js create mode 100644 help/html/search/functions_2.html create mode 100644 help/html/search/functions_2.js create mode 100644 help/html/search/functions_3.html create mode 100644 help/html/search/functions_3.js create mode 100644 help/html/search/functions_4.html create mode 100644 help/html/search/functions_4.js create mode 100644 help/html/search/functions_5.html create mode 100644 help/html/search/functions_5.js create mode 100644 help/html/search/functions_6.html create mode 100644 help/html/search/functions_6.js create mode 100644 help/html/search/functions_7.html create mode 100644 help/html/search/functions_7.js create mode 100644 help/html/search/functions_8.html create mode 100644 help/html/search/functions_8.js create mode 100644 help/html/search/functions_9.html create mode 100644 help/html/search/functions_9.js create mode 100644 help/html/search/functions_a.html create mode 100644 help/html/search/functions_a.js create mode 100644 help/html/search/functions_b.html create mode 100644 help/html/search/functions_b.js create mode 100644 help/html/search/functions_c.html create mode 100644 help/html/search/functions_c.js create mode 100644 help/html/search/functions_d.html create mode 100644 help/html/search/functions_d.js create mode 100644 help/html/search/functions_e.html create mode 100644 help/html/search/functions_e.js create mode 100644 help/html/search/functions_f.html create mode 100644 help/html/search/functions_f.js create mode 100644 help/html/search/mag_sel.png create mode 100644 help/html/search/namespaces_0.html create mode 100644 help/html/search/namespaces_0.js create mode 100644 help/html/search/namespaces_1.html create mode 100644 help/html/search/namespaces_1.js create mode 100644 help/html/search/namespaces_2.html create mode 100644 help/html/search/namespaces_2.js create mode 100644 help/html/search/namespaces_3.html create mode 100644 help/html/search/namespaces_3.js create mode 100644 help/html/search/nomatches.html create mode 100644 help/html/search/pages_0.html create mode 100644 help/html/search/pages_0.js create mode 100644 help/html/search/pages_1.html create mode 100644 help/html/search/pages_1.js create mode 100644 help/html/search/pages_2.html create mode 100644 help/html/search/pages_2.js create mode 100644 help/html/search/related_0.html create mode 100644 help/html/search/related_0.js create mode 100644 help/html/search/related_1.html create mode 100644 help/html/search/related_1.js create mode 100644 help/html/search/related_2.html create mode 100644 help/html/search/related_2.js create mode 100644 help/html/search/related_3.html create mode 100644 help/html/search/related_3.js create mode 100644 help/html/search/related_4.html create mode 100644 help/html/search/related_4.js create mode 100644 help/html/search/related_5.html create mode 100644 help/html/search/related_5.js create mode 100644 help/html/search/search.css create mode 100644 help/html/search/search.js create mode 100644 help/html/search/search_l.png create mode 100644 help/html/search/search_m.png create mode 100644 help/html/search/search_r.png create mode 100644 help/html/search/searchdata.js create mode 100644 help/html/search/typedefs_0.html create mode 100644 help/html/search/typedefs_0.js create mode 100644 help/html/search/typedefs_1.html create mode 100644 help/html/search/typedefs_1.js create mode 100644 help/html/search/typedefs_10.html create mode 100644 help/html/search/typedefs_10.js create mode 100644 help/html/search/typedefs_11.html create mode 100644 help/html/search/typedefs_11.js create mode 100644 help/html/search/typedefs_12.html create mode 100644 help/html/search/typedefs_12.js create mode 100644 help/html/search/typedefs_2.html create mode 100644 help/html/search/typedefs_2.js create mode 100644 help/html/search/typedefs_3.html create mode 100644 help/html/search/typedefs_3.js create mode 100644 help/html/search/typedefs_4.html create mode 100644 help/html/search/typedefs_4.js create mode 100644 help/html/search/typedefs_5.html create mode 100644 help/html/search/typedefs_5.js create mode 100644 help/html/search/typedefs_6.html create mode 100644 help/html/search/typedefs_6.js create mode 100644 help/html/search/typedefs_7.html create mode 100644 help/html/search/typedefs_7.js create mode 100644 help/html/search/typedefs_8.html create mode 100644 help/html/search/typedefs_8.js create mode 100644 help/html/search/typedefs_9.html create mode 100644 help/html/search/typedefs_9.js create mode 100644 help/html/search/typedefs_a.html create mode 100644 help/html/search/typedefs_a.js create mode 100644 help/html/search/typedefs_b.html create mode 100644 help/html/search/typedefs_b.js create mode 100644 help/html/search/typedefs_c.html create mode 100644 help/html/search/typedefs_c.js create mode 100644 help/html/search/typedefs_d.html create mode 100644 help/html/search/typedefs_d.js create mode 100644 help/html/search/typedefs_e.html create mode 100644 help/html/search/typedefs_e.js create mode 100644 help/html/search/typedefs_f.html create mode 100644 help/html/search/typedefs_f.js create mode 100644 help/html/search/variables_0.html create mode 100644 help/html/search/variables_0.js create mode 100644 help/html/search/variables_1.html create mode 100644 help/html/search/variables_1.js create mode 100644 help/html/search/variables_10.html create mode 100644 help/html/search/variables_10.js create mode 100644 help/html/search/variables_11.html create mode 100644 help/html/search/variables_11.js create mode 100644 help/html/search/variables_12.html create mode 100644 help/html/search/variables_12.js create mode 100644 help/html/search/variables_13.html create mode 100644 help/html/search/variables_13.js create mode 100644 help/html/search/variables_14.html create mode 100644 help/html/search/variables_14.js create mode 100644 help/html/search/variables_15.html create mode 100644 help/html/search/variables_15.js create mode 100644 help/html/search/variables_16.html create mode 100644 help/html/search/variables_16.js create mode 100644 help/html/search/variables_17.html create mode 100644 help/html/search/variables_17.js create mode 100644 help/html/search/variables_2.html create mode 100644 help/html/search/variables_2.js create mode 100644 help/html/search/variables_3.html create mode 100644 help/html/search/variables_3.js create mode 100644 help/html/search/variables_4.html create mode 100644 help/html/search/variables_4.js create mode 100644 help/html/search/variables_5.html create mode 100644 help/html/search/variables_5.js create mode 100644 help/html/search/variables_6.html create mode 100644 help/html/search/variables_6.js create mode 100644 help/html/search/variables_7.html create mode 100644 help/html/search/variables_7.js create mode 100644 help/html/search/variables_8.html create mode 100644 help/html/search/variables_8.js create mode 100644 help/html/search/variables_9.html create mode 100644 help/html/search/variables_9.js create mode 100644 help/html/search/variables_a.html create mode 100644 help/html/search/variables_a.js create mode 100644 help/html/search/variables_b.html create mode 100644 help/html/search/variables_b.js create mode 100644 help/html/search/variables_c.html create mode 100644 help/html/search/variables_c.js create mode 100644 help/html/search/variables_d.html create mode 100644 help/html/search/variables_d.js create mode 100644 help/html/search/variables_e.html create mode 100644 help/html/search/variables_e.js create mode 100644 help/html/search/variables_f.html create mode 100644 help/html/search/variables_f.js create mode 100644 help/html/splitbar.png create mode 100644 help/html/src_2CMakeLists_8txt.html create mode 100644 help/html/src_2cocoatweet_2CMakeLists_8txt.html create mode 100644 help/html/src_2cocoatweet_2api_2model_2tweet_8cc.html create mode 100644 help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.map create mode 100644 help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.md5 create mode 100644 help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.png create mode 100644 help/html/src_2cocoatweet_2oauth_2key_8cc.html create mode 100644 help/html/src_2cocoatweet_2oauth_2key_8cc__incl.map create mode 100644 help/html/src_2cocoatweet_2oauth_2key_8cc__incl.md5 create mode 100644 help/html/src_2cocoatweet_2oauth_2key_8cc__incl.png create mode 100644 help/html/status_2destroy_8cc.html create mode 100644 help/html/status_2destroy_8cc__incl.map create mode 100644 help/html/status_2destroy_8cc__incl.md5 create mode 100644 help/html/status_2destroy_8cc__incl.png create mode 100644 help/html/status_2destroy_8h.html create mode 100644 help/html/status_2destroy_8h__dep__incl.map create mode 100644 help/html/status_2destroy_8h__dep__incl.md5 create mode 100644 help/html/status_2destroy_8h__dep__incl.png create mode 100644 help/html/status_2destroy_8h__incl.map create mode 100644 help/html/status_2destroy_8h__incl.md5 create mode 100644 help/html/status_2destroy_8h__incl.png create mode 100644 help/html/status_2destroy_8h_source.html create mode 100644 help/html/status_8cc.html create mode 100644 help/html/status_8cc__incl.map create mode 100644 help/html/status_8cc__incl.md5 create mode 100644 help/html/status_8cc__incl.png create mode 100644 help/html/status_8h.html create mode 100644 help/html/status_8h__dep__incl.map create mode 100644 help/html/status_8h__dep__incl.md5 create mode 100644 help/html/status_8h__dep__incl.png create mode 100644 help/html/status_8h__incl.map create mode 100644 help/html/status_8h__incl.md5 create mode 100644 help/html/status_8h__incl.png create mode 100644 help/html/status_8h_source.html create mode 100644 help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options-members.html create mode 100644 help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html create mode 100644 help/html/structnlohmann_1_1adl__serializer-members.html create mode 100644 help/html/structnlohmann_1_1adl__serializer.html create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction.html create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1detector-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1detector.html create mode 100644 help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html create mode 100644 help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1from__json__fn-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1from__json__fn.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_43514980991ae140f327ade8e98a8a39.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__77fa4a66bcd4ad6a4833327a7a0f101c.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_0145fd0aefe65a4b2c55996f981ba800f0.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1index__sequence-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1index__sequence.html create mode 100644 help/html/structnlohmann_1_1detail_1_1input__adapter__protocol-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1input__adapter__protocol.html create mode 100644 help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1internal__iterator-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1internal__iterator.html create mode 100644 help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA267684a873e5addda71cf693e6831a1f.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatiae7372380b367a5941ed536a54f52e62.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatiblea32a8cabf55a683668f34b50bd53f52d.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc65686bccc13a5314e8805a22524438f0.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc66cd9eea2814580c77becd1b1fb171c6.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcb751ba39e14100ed41966800a3fcf4db.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcdcf7abcf4e7a13cd758bad3819c3d6fc.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construabeeb8c1928ab8354a051276e570f7ba.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__getable-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__getable.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1is__sax-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__sax.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.map create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__types.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html create mode 100644 help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1make__void-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1make__void.html create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber.html create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.map create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.png create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde4885d6f1d93a04f25932afbd429c4793.html create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.map create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.png create mode 100644 help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01indebebec34e109190e5d41f54d7e3818587.html create mode 100644 help/html/structnlohmann_1_1detail_1_1nonesuch-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1nonesuch.html create mode 100644 help/html/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1output__adapter__protocol.html create mode 100644 help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map create mode 100644 help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 create mode 100644 help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png create mode 100644 help/html/structnlohmann_1_1detail_1_1position__t-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1position__t.html create mode 100644 help/html/structnlohmann_1_1detail_1_1priority__tag.html create mode 100644 help/html/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1static__const-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1static__const.html create mode 100644 help/html/structnlohmann_1_1detail_1_1to__json__fn-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1to__json__fn.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4-members.html create mode 100644 help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html create mode 100644 help/html/structnlohmann_1_1json__sax-members.html create mode 100644 help/html/structnlohmann_1_1json__sax.html create mode 100644 help/html/structnlohmann_1_1ordered__map-members.html create mode 100644 help/html/structnlohmann_1_1ordered__map.html create mode 100644 help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html create mode 100644 help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html create mode 100644 help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html create mode 100644 help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html create mode 100644 help/html/sync_off.png create mode 100644 help/html/sync_on.png create mode 100644 help/html/tab_a.png create mode 100644 help/html/tab_b.png create mode 100644 help/html/tab_h.png create mode 100644 help/html/tab_s.png create mode 100644 help/html/tabs.css create mode 100644 help/html/test_2CMakeLists_8txt.html create mode 100644 help/html/test_2api_2model_2tweet_8cc.html create mode 100644 help/html/test_2api_2model_2tweet_8cc__incl.map create mode 100644 help/html/test_2api_2model_2tweet_8cc__incl.md5 create mode 100644 help/html/test_2api_2model_2tweet_8cc__incl.png create mode 100644 help/html/test_2oauth_2key_8cc.html create mode 100644 help/html/test_2oauth_2key_8cc__incl.map create mode 100644 help/html/test_2oauth_2key_8cc__incl.md5 create mode 100644 help/html/test_2oauth_2key_8cc__incl.png create mode 100644 help/html/third_2nlohmann_2json_8hpp.html create mode 100644 help/html/third_2nlohmann_2json_8hpp__dep__incl.map create mode 100644 help/html/third_2nlohmann_2json_8hpp__dep__incl.md5 create mode 100644 help/html/third_2nlohmann_2json_8hpp__dep__incl.png create mode 100644 help/html/third_2nlohmann_2json_8hpp__incl.map create mode 100644 help/html/third_2nlohmann_2json_8hpp__incl.md5 create mode 100644 help/html/third_2nlohmann_2json_8hpp__incl.png create mode 100644 help/html/third_2nlohmann_2json_8hpp_source.html create mode 100644 help/html/tweetDuplicateException_8h.html create mode 100644 help/html/tweetDuplicateException_8h__dep__incl.map create mode 100644 help/html/tweetDuplicateException_8h__dep__incl.md5 create mode 100644 help/html/tweetDuplicateException_8h__dep__incl.png create mode 100644 help/html/tweetDuplicateException_8h__incl.map create mode 100644 help/html/tweetDuplicateException_8h__incl.md5 create mode 100644 help/html/tweetDuplicateException_8h__incl.png create mode 100644 help/html/tweetDuplicateException_8h_source.html create mode 100644 help/html/tweetNotFoundException_8h.html create mode 100644 help/html/tweetNotFoundException_8h__dep__incl.map create mode 100644 help/html/tweetNotFoundException_8h__dep__incl.md5 create mode 100644 help/html/tweetNotFoundException_8h__dep__incl.png create mode 100644 help/html/tweetNotFoundException_8h__incl.map create mode 100644 help/html/tweetNotFoundException_8h__incl.md5 create mode 100644 help/html/tweetNotFoundException_8h__incl.png create mode 100644 help/html/tweetNotFoundException_8h_source.html create mode 100644 help/html/tweetTooLongException_8h.html create mode 100644 help/html/tweetTooLongException_8h__dep__incl.map create mode 100644 help/html/tweetTooLongException_8h__dep__incl.md5 create mode 100644 help/html/tweetTooLongException_8h__dep__incl.png create mode 100644 help/html/tweetTooLongException_8h__incl.map create mode 100644 help/html/tweetTooLongException_8h__incl.md5 create mode 100644 help/html/tweetTooLongException_8h__incl.png create mode 100644 help/html/tweetTooLongException_8h_source.html create mode 100644 help/html/tweet_8cc.html create mode 100644 help/html/tweet_8cc__incl.map create mode 100644 help/html/tweet_8cc__incl.md5 create mode 100644 help/html/tweet_8cc__incl.png create mode 100644 help/html/tweet_8h.html create mode 100644 help/html/tweet_8h__dep__incl.map create mode 100644 help/html/tweet_8h__dep__incl.md5 create mode 100644 help/html/tweet_8h__dep__incl.png create mode 100644 help/html/tweet_8h__incl.map create mode 100644 help/html/tweet_8h__incl.md5 create mode 100644 help/html/tweet_8h__incl.png create mode 100644 help/html/tweet_8h_source.html create mode 100644 help/html/unretweet_8cc.html create mode 100644 help/html/unretweet_8cc__incl.map create mode 100644 help/html/unretweet_8cc__incl.md5 create mode 100644 help/html/unretweet_8cc__incl.png create mode 100644 help/html/unretweet_8h.html create mode 100644 help/html/unretweet_8h__dep__incl.map create mode 100644 help/html/unretweet_8h__dep__incl.md5 create mode 100644 help/html/unretweet_8h__dep__incl.png create mode 100644 help/html/unretweet_8h__incl.map create mode 100644 help/html/unretweet_8h__incl.md5 create mode 100644 help/html/unretweet_8h__incl.png create mode 100644 help/html/unretweet_8h_source.html create mode 100644 help/html/unsupportedMediaTypeException_8h.html create mode 100644 help/html/unsupportedMediaTypeException_8h__dep__incl.map create mode 100644 help/html/unsupportedMediaTypeException_8h__dep__incl.md5 create mode 100644 help/html/unsupportedMediaTypeException_8h__dep__incl.png create mode 100644 help/html/unsupportedMediaTypeException_8h__incl.map create mode 100644 help/html/unsupportedMediaTypeException_8h__incl.md5 create mode 100644 help/html/unsupportedMediaTypeException_8h__incl.png create mode 100644 help/html/unsupportedMediaTypeException_8h_source.html create mode 100644 help/html/update_8cc.html create mode 100644 help/html/update_8cc__incl.map create mode 100644 help/html/update_8cc__incl.md5 create mode 100644 help/html/update_8cc__incl.png create mode 100644 help/html/update_8h.html create mode 100644 help/html/update_8h__dep__incl.map create mode 100644 help/html/update_8h__dep__incl.md5 create mode 100644 help/html/update_8h__dep__incl.png create mode 100644 help/html/update_8h__incl.map create mode 100644 help/html/update_8h__incl.md5 create mode 100644 help/html/update_8h__incl.png create mode 100644 help/html/update_8h_source.html create mode 100644 help/html/update_8py.html create mode 100644 help/html/upload_8cc.html create mode 100644 help/html/upload_8cc__incl.map create mode 100644 help/html/upload_8cc__incl.md5 create mode 100644 help/html/upload_8cc__incl.png create mode 100644 help/html/upload_8h.html create mode 100644 help/html/upload_8h__dep__incl.map create mode 100644 help/html/upload_8h__dep__incl.md5 create mode 100644 help/html/upload_8h__dep__incl.png create mode 100644 help/html/upload_8h__incl.map create mode 100644 help/html/upload_8h__incl.md5 create mode 100644 help/html/upload_8h__incl.png create mode 100644 help/html/upload_8h_source.html create mode 100644 help/html/userTimeline_8cc.html create mode 100644 help/html/userTimeline_8cc__incl.map create mode 100644 help/html/userTimeline_8cc__incl.md5 create mode 100644 help/html/userTimeline_8cc__incl.png create mode 100644 help/html/userTimeline_8h.html create mode 100644 help/html/userTimeline_8h__dep__incl.map create mode 100644 help/html/userTimeline_8h__dep__incl.md5 create mode 100644 help/html/userTimeline_8h__dep__incl.png create mode 100644 help/html/userTimeline_8h__incl.map create mode 100644 help/html/userTimeline_8h__incl.md5 create mode 100644 help/html/userTimeline_8h__incl.png create mode 100644 help/html/userTimeline_8h_source.html create mode 100644 help/html/util_8cc.html create mode 100644 help/html/util_8cc__incl.map create mode 100644 help/html/util_8cc__incl.md5 create mode 100644 help/html/util_8cc__incl.png create mode 100644 help/html/util_8h.html create mode 100644 help/html/util_8h__dep__incl.map create mode 100644 help/html/util_8h__dep__incl.md5 create mode 100644 help/html/util_8h__dep__incl.png create mode 100644 help/html/util_8h__incl.map create mode 100644 help/html/util_8h__incl.md5 create mode 100644 help/html/util_8h__incl.png create mode 100644 help/html/util_8h_source.html create mode 100644 src/cocoatweet/api/model/user.cc create mode 100644 src/cocoatweet/api/model/user.h create mode 100644 src/cocoatweet/exception/invalidParameterException.h create mode 100644 src/cocoatweet/exception/tokenInvalidException.h diff --git a/api_key.json b/api_key.json new file mode 100644 index 0000000..33be5e1 --- /dev/null +++ b/api_key.json @@ -0,0 +1,6 @@ +{ + "consumer_key" : "ZppPUpvBAdG5pG1dXpmunKAWs", + "consumer_secret" : "eb8kIaw5xNFCjDkgATk3TmsehOnHhsNW1TCiOM2BK1zM0eOFrR", + "access_token" : "2224351076-elEMPKpQEwTRL9wphhqteU8zbjdMMqyMjkmRA2o", + "access_token_secret" : "0HiqIMPZwHwoM5cpawvNv5YSKYwEIYt7NXyeIoNfLqOMS" +} diff --git a/help/html/CMakeCCompilerId_8c.html b/help/html/CMakeCCompilerId_8c.html new file mode 100644 index 0000000..fd32b5b --- /dev/null +++ b/help/html/CMakeCCompilerId_8c.html @@ -0,0 +1,354 @@ + + + + + + + +CocoaTweet: build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CMakeCCompilerId.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Macros

#define COMPILER_ID   ""
 
#define STRINGIFY_HELPER(X)   #X
 
#define STRINGIFY(X)   STRINGIFY_HELPER(X)
 
#define PLATFORM_ID
 
#define ARCHITECTURE_ID
 
#define DEC(n)
 
#define HEX(n)
 
#define C_DIALECT
 
+ + + +

+Functions

int main (int argc, char *argv[])
 
+ + + + + + + + + +

+Variables

char const * info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
 
char const * info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
 
char const * info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
 
const char * info_language_dialect_default
 
+

Macro Definition Documentation

+ +

◆ ARCHITECTURE_ID

+ +
+
+ + + + +
#define ARCHITECTURE_ID
+
+ +
+
+ +

◆ C_DIALECT

+ +
+
+ + + + +
#define C_DIALECT
+
+ +
+
+ +

◆ COMPILER_ID

+ +
+
+ + + + +
#define COMPILER_ID   ""
+
+ +
+
+ +

◆ DEC

+ +
+
+ + + + + + + + +
#define DEC( n)
+
+Value:
('0' + (((n) / 10000000)%10)), \
+
('0' + (((n) / 1000000)%10)), \
+
('0' + (((n) / 100000)%10)), \
+
('0' + (((n) / 10000)%10)), \
+
('0' + (((n) / 1000)%10)), \
+
('0' + (((n) / 100)%10)), \
+
('0' + (((n) / 10)%10)), \
+
('0' + ((n) % 10))
+
+
+
+ +

◆ HEX

+ +
+
+ + + + + + + + +
#define HEX( n)
+
+Value:
('0' + ((n)>>28 & 0xF)), \
+
('0' + ((n)>>24 & 0xF)), \
+
('0' + ((n)>>20 & 0xF)), \
+
('0' + ((n)>>16 & 0xF)), \
+
('0' + ((n)>>12 & 0xF)), \
+
('0' + ((n)>>8 & 0xF)), \
+
('0' + ((n)>>4 & 0xF)), \
+
('0' + ((n) & 0xF))
+
+
+
+ +

◆ PLATFORM_ID

+ +
+
+ + + + +
#define PLATFORM_ID
+
+ +
+
+ +

◆ STRINGIFY

+ +
+
+ + + + + + + + +
#define STRINGIFY( X)   STRINGIFY_HELPER(X)
+
+ +
+
+ +

◆ STRINGIFY_HELPER

+ +
+
+ + + + + + + + +
#define STRINGIFY_HELPER( X)   #X
+
+ +
+
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+ +
+
+

Variable Documentation

+ +

◆ info_arch

+ +
+
+ + + + +
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
+
+ +
+
+ +

◆ info_compiler

+ +
+
+ + + + +
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
+
+ +
+
+ +

◆ info_language_dialect_default

+ +
+
+ + + + +
const char* info_language_dialect_default
+
+Initial value:
=
+
"INFO" ":" "dialect_default[" C_DIALECT "]"
+
+
+
+ +

◆ info_platform

+ +
+
+ + + + +
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
+
+ +
+
+
+
#define C_DIALECT
Definition: CMakeCCompilerId.c:625
+ + + + diff --git a/help/html/CMakeCXXCompilerId_8cpp.html b/help/html/CMakeCXXCompilerId_8cpp.html new file mode 100644 index 0000000..e50558f --- /dev/null +++ b/help/html/CMakeCXXCompilerId_8cpp.html @@ -0,0 +1,364 @@ + + + + + + + +CocoaTweet: build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CMakeCXXCompilerId.cpp File Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Macros

#define COMPILER_ID   ""
 
#define STRINGIFY_HELPER(X)   #X
 
#define STRINGIFY(X)   STRINGIFY_HELPER(X)
 
#define PLATFORM_ID
 
#define ARCHITECTURE_ID
 
#define DEC(n)
 
#define HEX(n)
 
#define CXX_STD   __cplusplus
 
+ + + +

+Functions

int main (int argc, char *argv[])
 
+ + + + + + + + + +

+Variables

char const * info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
 
char const * info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
 
char const * info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
 
const char * info_language_dialect_default
 
+

Macro Definition Documentation

+ +

◆ ARCHITECTURE_ID

+ +
+
+ + + + +
#define ARCHITECTURE_ID
+
+ +
+
+ +

◆ COMPILER_ID

+ +
+
+ + + + +
#define COMPILER_ID   ""
+
+ +
+
+ +

◆ CXX_STD

+ +
+
+ + + + +
#define CXX_STD   __cplusplus
+
+ +
+
+ +

◆ DEC

+ +
+
+ + + + + + + + +
#define DEC( n)
+
+Value:
('0' + (((n) / 10000000)%10)), \
+
('0' + (((n) / 1000000)%10)), \
+
('0' + (((n) / 100000)%10)), \
+
('0' + (((n) / 10000)%10)), \
+
('0' + (((n) / 1000)%10)), \
+
('0' + (((n) / 100)%10)), \
+
('0' + (((n) / 10)%10)), \
+
('0' + ((n) % 10))
+
+
+
+ +

◆ HEX

+ +
+
+ + + + + + + + +
#define HEX( n)
+
+Value:
('0' + ((n)>>28 & 0xF)), \
+
('0' + ((n)>>24 & 0xF)), \
+
('0' + ((n)>>20 & 0xF)), \
+
('0' + ((n)>>16 & 0xF)), \
+
('0' + ((n)>>12 & 0xF)), \
+
('0' + ((n)>>8 & 0xF)), \
+
('0' + ((n)>>4 & 0xF)), \
+
('0' + ((n) & 0xF))
+
+
+
+ +

◆ PLATFORM_ID

+ +
+
+ + + + +
#define PLATFORM_ID
+
+ +
+
+ +

◆ STRINGIFY

+ +
+
+ + + + + + + + +
#define STRINGIFY( X)   STRINGIFY_HELPER(X)
+
+ +
+
+ +

◆ STRINGIFY_HELPER

+ +
+
+ + + + + + + + +
#define STRINGIFY_HELPER( X)   #X
+
+ +
+
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+ +
+
+

Variable Documentation

+ +

◆ info_arch

+ +
+
+ + + + +
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
+
+ +
+
+ +

◆ info_compiler

+ +
+
+ + + + +
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"
+
+ +
+
+ +

◆ info_language_dialect_default

+ +
+
+ + + + +
const char* info_language_dialect_default
+
+Initial value:
= "INFO" ":" "dialect_default["
+
+
+
+
+
+
+
+
+
+
"98"
+
+
"]"
+
+
+
+ +

◆ info_platform

+ +
+
+ + + + +
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"
+
+ +
+
+
+ + + + diff --git a/help/html/CMakeCache_8txt.html b/help/html/CMakeCache_8txt.html new file mode 100644 index 0000000..e12959f --- /dev/null +++ b/help/html/CMakeCache_8txt.html @@ -0,0 +1,1011 @@ + + + + + + + +CocoaTweet: build/CMakeCache.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
build/CMakeCache.txt File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

BUILD_TESTING __pad1__
 
 lcurl
 
 lnghttp2
 
 lidn2
 
 lrtmp
 
 lssh
 
 lpsl
 
 lssl
 
 lcrypto
 
 Wl
 
Bsymbolic functions
 
 z
 
 relro
 
 lgssapi_krb5
 
 lkrb5
 
 lk5crypto
 
 lcom_err
 
 llber
 
 lldap
 
 lbrotlidec
 
lz PC_CURL_STATIC_LDFLAGS_OTHER
 
relro PC_CURL_STATIC_LIBDIR
 
 nghttp2
 
 idn2
 
 rtmp
 
 ssh
 
 psl
 
 ssl
 
 crypto
 
 gssapi_krb5
 
 krb5
 
 k5crypto
 
 com_err
 
 lber
 
 ldap
 
 brotlidec
 
z PC_CURL_STATIC_LIBRARY_DIRS
 
lcrypto _OPENSSL_LDFLAGS_OTHER
 
crypto _OPENSSL_LIBRARY_DIRS
 
 ldl
 
pthread _OPENSSL_STATIC_LDFLAGS_OTHER
 
dl _OPENSSL_STATIC_LIBRARY_DIRS
 
libcurl __pkg_config_arguments__OPENSSL
 
openssl __pkg_config_checked_PC_CURL
 
 IPv6
 
 UnixSockets
 
 libz
 
 brotli
 
 AsynchDNS
 
 IDN
 
GSS API
 
 PSL
 
 SPNEGO
 
 Kerberos
 
 NTLM
 
 NTLM_WB
 
TLS SRP
 
 HTTP2
 
+

Variable Documentation

+ +

◆ __pad1__

+ +
+
+ + + + +
BUILD_TESTING __pad1__
+
+ +
+
+ +

◆ __pkg_config_arguments__OPENSSL

+ +
+
+ + + + +
libcurl __pkg_config_arguments__OPENSSL
+
+ +
+
+ +

◆ __pkg_config_checked_PC_CURL

+ +
+
+ + + + +
openssl __pkg_config_checked_PC_CURL
+
+ +
+
+ +

◆ _OPENSSL_LDFLAGS_OTHER

+ +
+
+ + + + +
lcrypto _OPENSSL_LDFLAGS_OTHER
+
+ +
+
+ +

◆ _OPENSSL_LIBRARY_DIRS

+ +
+
+ + + + +
crypto _OPENSSL_LIBRARY_DIRS
+
+ +
+
+ +

◆ _OPENSSL_STATIC_LDFLAGS_OTHER

+ +
+
+ + + + +
pthread _OPENSSL_STATIC_LDFLAGS_OTHER
+
+ +
+
+ +

◆ _OPENSSL_STATIC_LIBRARY_DIRS

+ +
+
+ + + + +
dl _OPENSSL_STATIC_LIBRARY_DIRS
+
+ +
+
+ +

◆ API

+ +
+
+ + + + +
GSS API
+
+ +
+
+ +

◆ AsynchDNS

+ +
+
+ + + + +
AsynchDNS
+
+ +
+
+ +

◆ brotli

+ +
+
+ + + + +
brotli
+
+ +
+
+ +

◆ brotlidec

+ +
+
+ + + + +
brotlidec
+
+ +
+
+ +

◆ com_err

+ +
+
+ + + + +
com_err
+
+ +
+
+ +

◆ crypto

+ +
+
+ + + + +
crypto
+
+ +
+
+ +

◆ functions

+ +
+
+ + + + +
lz Bsymbolic functions
+
+ +
+
+ +

◆ gssapi_krb5

+ +
+
+ + + + +
gssapi_krb5
+
+ +
+
+ +

◆ HTTP2

+ +
+
+ + + + +
HTTP2
+
+ +
+
+ +

◆ IDN

+ +
+
+ + + + +
IDN
+
+ +
+
+ +

◆ idn2

+ +
+
+ + + + +
idn2
+
+ +
+
+ +

◆ IPv6

+ +
+
+ + + + +
IPv6
+
+ +
+
+ +

◆ k5crypto

+ +
+
+ + + + +
k5crypto
+
+ +
+
+ +

◆ Kerberos

+ +
+
+ + + + +
Kerberos
+
+ +
+
+ +

◆ krb5

+ +
+
+ + + + +
krb5
+
+ +
+
+ +

◆ lber

+ +
+
+ + + + +
lber
+
+ +
+
+ +

◆ lbrotlidec

+ +
+
+ + + + +
lbrotlidec
+
+ +
+
+ +

◆ lcom_err

+ +
+
+ + + + +
lcom_err
+
+ +
+
+ +

◆ lcrypto

+ +
+
+ + + + +
lcrypto
+
+ +
+
+ +

◆ lcurl

+ +
+
+ + + + +
lcurl
+
+ +
+
+ +

◆ ldap

+ +
+
+ + + + +
ldap
+
+ +
+
+ +

◆ ldl

+ +
+
+ + + + +
ldl
+
+ +
+
+ +

◆ lgssapi_krb5

+ +
+
+ + + + +
lgssapi_krb5
+
+ +
+
+ +

◆ libz

+ +
+
+ + + + +
libz
+
+ +
+
+ +

◆ lidn2

+ +
+
+ + + + +
lidn2
+
+ +
+
+ +

◆ lk5crypto

+ +
+
+ + + + +
lk5crypto
+
+ +
+
+ +

◆ lkrb5

+ +
+
+ + + + +
lkrb5
+
+ +
+
+ +

◆ llber

+ +
+
+ + + + +
llber
+
+ +
+
+ +

◆ lldap

+ +
+
+ + + + +
lldap
+
+ +
+
+ +

◆ lnghttp2

+ +
+
+ + + + +
lnghttp2
+
+ +
+
+ +

◆ lpsl

+ +
+
+ + + + +
lpsl
+
+ +
+
+ +

◆ lrtmp

+ +
+
+ + + + +
lrtmp
+
+ +
+
+ +

◆ lssh

+ +
+
+ + + + +
lssh
+
+ +
+
+ +

◆ lssl

+ +
+
+ + + + +
lssl
+
+ +
+
+ +

◆ nghttp2

+ +
+
+ + + + +
nghttp2
+
+ +
+
+ +

◆ NTLM

+ +
+
+ + + + +
NTLM
+
+ +
+
+ +

◆ NTLM_WB

+ +
+
+ + + + +
NTLM_WB
+
+ +
+
+ +

◆ PC_CURL_STATIC_LDFLAGS_OTHER

+ +
+
+ + + + +
lz PC_CURL_STATIC_LDFLAGS_OTHER
+
+ +
+
+ +

◆ PC_CURL_STATIC_LIBDIR

+ +
+
+ + + + +
relro PC_CURL_STATIC_LIBDIR
+
+ +
+
+ +

◆ PC_CURL_STATIC_LIBRARY_DIRS

+ +
+
+ + + + +
z PC_CURL_STATIC_LIBRARY_DIRS
+
+ +
+
+ +

◆ psl

+ +
+
+ + + + +
psl
+
+ +
+
+ +

◆ PSL

+ +
+
+ + + + +
PSL
+
+ +
+
+ +

◆ relro

+ +
+
+ + + + +
relro
+
+ +
+
+ +

◆ rtmp

+ +
+
+ + + + +
rtmp
+
+ +
+
+ +

◆ SPNEGO

+ +
+
+ + + + +
SPNEGO
+
+ +
+
+ +

◆ SRP

+ +
+
+ + + + +
TLS SRP
+
+ +
+
+ +

◆ ssh

+ +
+
+ + + + +
ssh
+
+ +
+
+ +

◆ ssl

+ +
+
+ + + + +
ssl
+
+ +
+
+ +

◆ UnixSockets

+ +
+
+ + + + +
UnixSockets
+
+ +
+
+ +

◆ Wl

+ +
+
+ + + + +
Wl
+
+ +
+
+ +

◆ z

+ +
+
+ + + + +
z
+
+ +
+
+
+ + + + diff --git a/help/html/CMakeFiles_2TargetDirectories_8txt.html b/help/html/CMakeFiles_2TargetDirectories_8txt.html new file mode 100644 index 0000000..422c7ef --- /dev/null +++ b/help/html/CMakeFiles_2TargetDirectories_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/CMakeFiles/TargetDirectories.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/CMakeFiles/TargetDirectories.txt File Reference
+
+
+
+ + + + diff --git a/help/html/CMakeLists_8txt.html b/help/html/CMakeLists_8txt.html new file mode 100644 index 0000000..f5949b1 --- /dev/null +++ b/help/html/CMakeLists_8txt.html @@ -0,0 +1,192 @@ + + + + + + + +CocoaTweet: CMakeLists.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
CMakeLists.txt File Reference
+
+
+ + + + + + +

+Functions

 cmake_minimum_required (VERSION 3.10) project(CocoaTweet CXX C) set(CMAKE_MODULE_PATH $
 
sort as relro elseif (WIN32 OR APPLE) endif() if(CMAKE_GENERATOR STREQUAL "Ninja") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CMAKE_CXX_FLAGS "$
 
+ + + + + + + + + +

+Variables

 O1
 
sort common
 
sort as needed
 
sort as z
 
+

Function Documentation

+ +

◆ cmake_minimum_required()

+ +
+
+ + + + + + + + +
cmake_minimum_required (VERSION 3. 10)
+
+ +
+
+ +

◆ elseif()

+ +
+
+ + + + + + + + +
sort as relro elseif (WIN32 OR APPLE)
+
+ +
+
+

Variable Documentation

+ +

◆ common

+ +
+
+ + + + +
sort common
+
+ +
+
+ +

◆ needed

+ +
+
+ + + + +
sort as needed
+
+ +
+
+ +

◆ O1

+ +
+
+ + + + +
O1
+
+ +
+
+ +

◆ z

+ +
+
+ + + + +
sort as z
+
+ +
+
+
+ + + + diff --git a/help/html/DartConfiguration_8tcl.html b/help/html/DartConfiguration_8tcl.html new file mode 100644 index 0000000..e40ddc7 --- /dev/null +++ b/help/html/DartConfiguration_8tcl.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: build/_deps/json-build/DartConfiguration.tcl File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
DartConfiguration.tcl File Reference
+
+
+
+ + + + diff --git a/help/html/Labels_8txt.html b/help/html/Labels_8txt.html new file mode 100644 index 0000000..eb99b99 --- /dev/null +++ b/help/html/Labels_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeFiles/json-populate.dir/Labels.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-subbuild/CMakeFiles/json-populate.dir/Labels.txt File Reference
+
+
+
+ + + + diff --git a/help/html/README_8md.html b/help/html/README_8md.html new file mode 100644 index 0000000..c6b9e53 --- /dev/null +++ b/help/html/README_8md.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: README.md File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/help/html/__deps_2json-subbuild_2CMakeCache_8txt.html b/help/html/__deps_2json-subbuild_2CMakeCache_8txt.html new file mode 100644 index 0000000..73d6630 --- /dev/null +++ b/help/html/__deps_2json-subbuild_2CMakeCache_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeCache.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-subbuild/CMakeCache.txt File Reference
+
+
+
+ + + + diff --git a/help/html/__deps_2json-subbuild_2CMakeFiles_2TargetDirectories_8txt.html b/help/html/__deps_2json-subbuild_2CMakeFiles_2TargetDirectories_8txt.html new file mode 100644 index 0000000..54bcb88 --- /dev/null +++ b/help/html/__deps_2json-subbuild_2CMakeFiles_2TargetDirectories_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeFiles/TargetDirectories.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-subbuild/CMakeFiles/TargetDirectories.txt File Reference
+
+
+
+ + + + diff --git a/help/html/annotated.html b/help/html/annotated.html new file mode 100644 index 0000000..49c62be --- /dev/null +++ b/help/html/annotated.html @@ -0,0 +1,120 @@ + + + + + + + +CocoaTweet: Class List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12345]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NCocoaTweet
 NAPI
 NDirectMessages
 CDirectMessageEntory point for statuses/*
 CNewClass for using statuses/update endpoint
 NFavorites
 CCreate
 CDestroy
 CFavorite
 NInterface
 CHttpBase
 CHttpGetClass for Send request with POST method
 CHttpPostClass for Send request with POST method
 NMedias
 CMediaEntory point for statuses/*
 CUploadEntry point for using media/upload endpoint
 NModel
 CMediaStoreData class for tweet object
 CTweetData class for tweet object
 NStatuses
 CDestroyClass for using status/destroy:id endpoint
 CRetweet
 CStatusEntory point for statuses/*
 COptions
 CUnretweet
 CUpdateClass for using statuses/update endpoint
 CUserTimelineClass for using statuses/user_timeline endpoint
 CAPITwitter API Entry Point
 CgroupInterface
 NException
 CAuthenticateException
 CException
 CRateLimitException
 CTweetDuplicateException
 CTweetNotFoundException
 CTweetTooLongException
 CUnsupportedMediaTypeException
 NOAuth
 CKey
 COAuth1
+
+
+ + + + diff --git a/help/html/api_8cc.html b/help/html/api_8cc.html new file mode 100644 index 0000000..7c7dbf6 --- /dev/null +++ b/help/html/api_8cc.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/api.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
api.cc File Reference
+
+
+
+Include dependency graph for api.cc:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +

+Namespaces

 CocoaTweet
 
 CocoaTweet::API
 
+
+ + + + diff --git a/help/html/api_8cc__incl.map b/help/html/api_8cc__incl.map new file mode 100644 index 0000000..1885733 --- /dev/null +++ b/help/html/api_8cc__incl.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/api_8cc__incl.md5 b/help/html/api_8cc__incl.md5 new file mode 100644 index 0000000..511b835 --- /dev/null +++ b/help/html/api_8cc__incl.md5 @@ -0,0 +1 @@ +651e8001b7a528376b21ce297c5fe3f1 \ No newline at end of file diff --git a/help/html/api_8cc__incl.png b/help/html/api_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec7bf0b50bacce36fcca15372e8f5432a284f44 GIT binary patch literal 135509 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 literal 0 HcmV?d00001 diff --git a/help/html/api_8h.html b/help/html/api_8h.html new file mode 100644 index 0000000..87b7850 --- /dev/null +++ b/help/html/api_8h.html @@ -0,0 +1,141 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/api.h File Reference + + + + + + + + + + +
+ +
+
api.h File Reference
+
+
+
+Include dependency graph for api.h:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  CocoaTweet::API::API
 Twitter API Entry Point. More...
 
+ + + + + +

+Namespaces

 CocoaTweet
 
 CocoaTweet::API
 
+
+ + + + diff --git a/help/html/api_8h__dep__incl.map b/help/html/api_8h__dep__incl.map new file mode 100644 index 0000000..d457012 --- /dev/null +++ b/help/html/api_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/api_8h__dep__incl.md5 b/help/html/api_8h__dep__incl.md5 new file mode 100644 index 0000000..8e3f629 --- /dev/null +++ b/help/html/api_8h__dep__incl.md5 @@ -0,0 +1 @@ +db0d7f15b0dddc6718c0a7d1c40082ac \ No newline at end of file diff --git a/help/html/api_8h__dep__incl.png b/help/html/api_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3a41bb8aa336d3c6032084aa14ccf68500b5c54c GIT binary patch literal 7573 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 M%Bjc}Nx%90KcwW1NB{r; literal 0 HcmV?d00001 diff --git a/help/html/api_8h__incl.map b/help/html/api_8h__incl.map new file mode 100644 index 0000000..8437a7f --- /dev/null +++ b/help/html/api_8h__incl.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/api_8h__incl.md5 b/help/html/api_8h__incl.md5 new file mode 100644 index 0000000..a7b0647 --- /dev/null +++ b/help/html/api_8h__incl.md5 @@ -0,0 +1 @@ +5746a1eefce0205b28b824de1120bc00 \ No newline at end of file diff --git a/help/html/api_8h__incl.png b/help/html/api_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a8374572dab8ff147e625a370103cc2b5e926c5a GIT binary patch literal 131835 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 sUDx{P<G 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 z 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 JU*whV{{kz0_@)2= literal 0 HcmV?d00001 diff --git a/help/html/api_8h_source.html b/help/html/api_8h_source.html new file mode 100644 index 0000000..6fa04e3 --- /dev/null +++ b/help/html/api_8h_source.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/api.h Source File + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
api.h
+
+
+Go to the documentation of this file.
1 #ifndef COCOATWEET_API_API_H_
+
2 #define COCOATWEET_API_API_H_
+
3 
+ + + + + +
9 
+
10 namespace CocoaTweet::API {
+
12 class API {
+
13 public:
+ +
17 
+
20  Statuses::Status status() const;
+
21 
+ +
25 
+
26  Medias::Media media() const;
+
27 
+ +
29 
+
30 private:
+
31  Statuses::Status status_;
+
32  Favorites::Favorite favorite_;
+
33  Medias::Media media_;
+
34  DirectMessages::DirectMessage directMessage_;
+
35  std::shared_ptr<CocoaTweet::OAuth::OAuth1> oauth_;
+
36 };
+
37 } // namespace CocoaTweet::API
+
38 
+
39 #endif
+
+ +
Favorites::Favorite favorite() const
Getter for Grouped by Favorites/*.
Definition: api.cc:16
+
Medias::Media media() const
Definition: api.cc:20
+
Statuses::Status status() const
Getter for Grouped by Statuses/*.
Definition: api.cc:12
+
DirectMessages::DirectMessage directMessage() const
Definition: api.cc:24
+
Definition: favorite.h:9
+ +
Entory point for statuses/*.
Definition: directMessage.h:13
+
API(CocoaTweet::OAuth::Key _key)
primary constructor
Definition: api.cc:4
+
Definition: api.cc:3
+
Twitter API Entry Point.
Definition: api.h:12
+
Definition: key.h:8
+ +
Entory point for statuses/*.
Definition: status.h:13
+ +
Entory point for statuses/*.
Definition: media.h:13
+ + + + + diff --git a/help/html/authenticateException_8h.html b/help/html/authenticateException_8h.html new file mode 100644 index 0000000..fd8bd5a --- /dev/null +++ b/help/html/authenticateException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/authenticateException.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
authenticateException.h File Reference
+
+
+
+Include dependency graph for authenticateException.h:
+
+
+ + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  CocoaTweet::Exception::AuthenticateException
 
+ + + + + +

+Namespaces

 CocoaTweet
 
 CocoaTweet::Exception
 
+
+ + + + diff --git a/help/html/authenticateException_8h__dep__incl.map b/help/html/authenticateException_8h__dep__incl.map new file mode 100644 index 0000000..1249369 --- /dev/null +++ b/help/html/authenticateException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/authenticateException_8h__dep__incl.md5 b/help/html/authenticateException_8h__dep__incl.md5 new file mode 100644 index 0000000..4c7208a --- /dev/null +++ b/help/html/authenticateException_8h__dep__incl.md5 @@ -0,0 +1 @@ +50bc3d51d76bb569fb9b876981474d43 \ No newline at end of file diff --git a/help/html/authenticateException_8h__dep__incl.png b/help/html/authenticateException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..467590ddb61e97d1c0be89b5854061b8b945691f GIT binary patch literal 6569 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 Yryz4GH-8!oK6` + + + + + diff --git a/help/html/authenticateException_8h__incl.md5 b/help/html/authenticateException_8h__incl.md5 new file mode 100644 index 0000000..7409392 --- /dev/null +++ b/help/html/authenticateException_8h__incl.md5 @@ -0,0 +1 @@ +ed52136599be2a94c5c36114056d532c \ No newline at end of file diff --git a/help/html/authenticateException_8h__incl.png b/help/html/authenticateException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..65b1c4fe1945569927e9824762b3525fffc2f74e GIT binary patch literal 10010 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 CMh4;l literal 0 HcmV?d00001 diff --git a/help/html/authenticateException_8h_source.html b/help/html/authenticateException_8h_source.html new file mode 100644 index 0000000..d3b507f --- /dev/null +++ b/help/html/authenticateException_8h_source.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/authenticateException.h Source File + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
authenticateException.h
+
+
+Go to the documentation of this file.
1 #ifndef COCOATWEET_EXCEPTION_AUTHENTICATEEXCEPTION_H_
+
2 #define COCOATWEET_EXCEPTION_AUTHENTICATEEXCEPTION_H_
+
3 
+ +
5 
+ + + +
9 };
+
10 } // namespace CocoaTweet::Exception
+
11 
+
12 #endif
+
+
Definition: authenticateException.h:7
+
Exception(const char *_msg)
Definition: exception.h:10
+
Definition: authenticateException.h:6
+
Definition: exception.h:8
+ + + + + diff --git a/help/html/bc_s.png b/help/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/help/html/bdwn.png b/help/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +CocoaTweet: build/_deps/json-src/CMakeLists.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-src/CMakeLists.txt File Reference
+
+
+
+ + + + diff --git a/help/html/build_2__deps_2json-src_2README_8md.html b/help/html/build_2__deps_2json-src_2README_8md.html new file mode 100644 index 0000000..aa6967d --- /dev/null +++ b/help/html/build_2__deps_2json-src_2README_8md.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/README.md File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-src/README.md File Reference
+
+
+
+ + + + diff --git a/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html new file mode 100644 index 0000000..1ed5cff --- /dev/null +++ b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html @@ -0,0 +1,4056 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json.hpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
json.hpp File Reference
+
+
+
#include <algorithm>
+#include <cassert>
+#include <ciso646>
+#include <cstddef>
+#include <functional>
+#include <initializer_list>
+#include <iosfwd>
+#include <iterator>
+#include <memory>
+#include <numeric>
+#include <string>
+#include <utility>
+#include <vector>
+#include <array>
+#include <forward_list>
+#include <map>
+#include <tuple>
+#include <type_traits>
+#include <unordered_map>
+#include <valarray>
+#include <exception>
+#include <stdexcept>
+#include <cstdlib>
+#include <limits>
+#include <cstdint>
+#include <cmath>
+#include <cstdio>
+#include <cstring>
+#include <istream>
+#include <clocale>
+#include <cctype>
+#include <ios>
+#include <ostream>
+
+Include dependency graph for json.hpp:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  nlohmann::detail::position_t
 struct to capture the start position of the current token More...
 
class  nlohmann::detail::exception
 general exception of the basic_json class More...
 
class  nlohmann::detail::parse_error
 exception indicating a parse error More...
 
class  nlohmann::detail::invalid_iterator
 exception indicating errors with iterators More...
 
class  nlohmann::detail::type_error
 exception indicating executing a member function with a wrong type More...
 
class  nlohmann::detail::out_of_range
 exception indicating access out of the defined range More...
 
class  nlohmann::detail::other_error
 exception indicating other library errors More...
 
struct  nlohmann::detail::index_sequence< Ints >
 
struct  nlohmann::detail::merge_and_renumber< Sequence1, Sequence2 >
 
struct  nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
 
struct  nlohmann::detail::make_index_sequence< N >
 
struct  nlohmann::detail::make_index_sequence< 0 >
 
struct  nlohmann::detail::make_index_sequence< 1 >
 
struct  nlohmann::detail::priority_tag< N >
 
struct  nlohmann::detail::priority_tag< 0 >
 
struct  nlohmann::detail::static_const< T >
 
struct  nlohmann::detail::make_void< Ts >
 
struct  nlohmann::detail::iterator_types< It, typename >
 
struct  nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
 
struct  nlohmann::detail::iterator_traits< T, typename >
 
struct  nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
 
struct  nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
 
struct  nlohmann::detail::nonesuch
 
struct  nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
 
struct  nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
 
struct  nlohmann::adl_serializer< typename, typename >
 default JSONSerializer template argument More...
 
class  nlohmann::basic_json
 a class to store JSON values More...
 
class  nlohmann::json_pointer< BasicJsonType >
 JSON Pointer. More...
 
struct  nlohmann::detail::is_basic_json< typename >
 
struct  nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
 
struct  nlohmann::detail::has_from_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
 
struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
 
struct  nlohmann::detail::has_to_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
 
struct  nlohmann::detail::is_iterator_traits< T, typename >
 
struct  nlohmann::detail::is_iterator_traits< iterator_traits< T > >
 
struct  nlohmann::detail::is_complete_type< T, typename >
 
struct  nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>
 
struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
 
struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >
 
struct  nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
 
struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
 
struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >
 
struct  nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
 
struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >
 
struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
 
struct  nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >
 
struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >
 
struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
 
struct  nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
 
struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
 
struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
 
struct  nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
 
struct  nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
 
struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
 
struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >
 
struct  nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
 
struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
 
struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
 
struct  nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >
 
struct  nlohmann::detail::conjunction<... >
 
struct  nlohmann::detail::conjunction< B1 >
 
struct  nlohmann::detail::conjunction< B1, Bn... >
 
struct  nlohmann::detail::is_constructible_tuple< T1, T2 >
 
struct  nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >
 
struct  nlohmann::detail::from_json_fn
 
class  nlohmann::detail::iteration_proxy_value< IteratorType >
 
class  nlohmann::detail::iteration_proxy< IteratorType >
 proxy class for the items() function More...
 
class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
struct  nlohmann::detail::external_constructor< value_t >
 
struct  nlohmann::detail::external_constructor< value_t::boolean >
 
struct  nlohmann::detail::external_constructor< value_t::string >
 
struct  nlohmann::detail::external_constructor< value_t::number_float >
 
struct  nlohmann::detail::external_constructor< value_t::number_unsigned >
 
struct  nlohmann::detail::external_constructor< value_t::number_integer >
 
struct  nlohmann::detail::external_constructor< value_t::array >
 
struct  nlohmann::detail::external_constructor< value_t::object >
 
struct  nlohmann::detail::to_json_fn
 
struct  nlohmann::adl_serializer< typename, typename >
 default JSONSerializer template argument More...
 
struct  nlohmann::detail::input_adapter_protocol
 abstract input adapter interface More...
 
class  nlohmann::detail::file_input_adapter
 
class  nlohmann::detail::input_stream_adapter
 
class  nlohmann::detail::input_buffer_adapter
 input adapter for buffer input More...
 
struct  nlohmann::detail::wide_string_input_helper< WideStringType, T >
 
struct  nlohmann::detail::wide_string_input_helper< WideStringType, 2 >
 
class  nlohmann::detail::wide_string_input_adapter< WideStringType >
 
class  nlohmann::detail::input_adapter
 
struct  nlohmann::json_sax< BasicJsonType >
 SAX interface. More...
 
class  nlohmann::detail::json_sax_dom_parser< BasicJsonType >
 SAX implementation to create a JSON value from SAX events. More...
 
class  nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
 
class  nlohmann::detail::json_sax_acceptor< BasicJsonType >
 
struct  nlohmann::detail::is_sax< SAX, BasicJsonType >
 
struct  nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
 
class  nlohmann::detail::binary_reader< BasicJsonType, SAX >
 deserialization of CBOR, MessagePack, and UBJSON values More...
 
class  nlohmann::detail::lexer< BasicJsonType >
 lexical analysis More...
 
class  nlohmann::detail::parser< BasicJsonType >
 syntax analysis More...
 
class  nlohmann::detail::primitive_iterator_t
 
struct  nlohmann::detail::internal_iterator< BasicJsonType >
 an iterator value More...
 
class  nlohmann::detail::iteration_proxy< IteratorType >
 proxy class for the items() function More...
 
class  nlohmann::detail::iteration_proxy_value< IteratorType >
 
class  nlohmann::detail::iter_impl< BasicJsonType >
 a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
 
class  nlohmann::detail::json_reverse_iterator< Base >
 a template for a reverse iterator class More...
 
class  nlohmann::json_pointer< BasicJsonType >
 JSON Pointer. More...
 
class  nlohmann::detail::json_ref< BasicJsonType >
 
struct  nlohmann::detail::output_adapter_protocol< CharType >
 abstract output adapter interface More...
 
class  nlohmann::detail::output_vector_adapter< CharType >
 output adapter for byte vectors More...
 
class  nlohmann::detail::output_stream_adapter< CharType >
 output adapter for output streams More...
 
class  nlohmann::detail::output_string_adapter< CharType, StringType >
 output adapter for basic_string More...
 
class  nlohmann::detail::output_adapter< CharType, StringType >
 
class  nlohmann::detail::binary_writer< BasicJsonType, CharType >
 serialization to CBOR and MessagePack values More...
 
struct  nlohmann::detail::dtoa_impl::diyfp
 
struct  nlohmann::detail::dtoa_impl::boundaries
 
struct  nlohmann::detail::dtoa_impl::cached_power
 
class  nlohmann::detail::serializer< BasicJsonType >
 
class  nlohmann::basic_json
 a class to store JSON values More...
 
struct  std::hash< nlohmann::json >
 hash value for JSON objects More...
 
struct  std::less<::nlohmann::detail::value_t >
 
+ + + + + + + + + + + + +

+Namespaces

 nlohmann
 namespace for Niels Lohmann
 
 nlohmann::detail
 detail namespace with internal helper functions
 
 std
 
 nlohmann::detail::dtoa_impl
 implements the Grisu2 algorithm for binary to decimal floating-point conversion.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define NLOHMANN_JSON_VERSION_MAJOR   3
 
#define NLOHMANN_JSON_VERSION_MINOR   7
 
#define NLOHMANN_JSON_VERSION_PATCH   3
 
#define JSON_HEDLEY_VERSION   11
 
#define JSON_HEDLEY_STRINGIFY_EX(x)   #x
 
#define JSON_HEDLEY_STRINGIFY(x)   JSON_HEDLEY_STRINGIFY_EX(x)
 
#define JSON_HEDLEY_CONCAT_EX(a, b)   a##b
 
#define JSON_HEDLEY_CONCAT(a, b)   JSON_HEDLEY_CONCAT_EX(a,b)
 
#define JSON_HEDLEY_VERSION_ENCODE(major, minor, revision)   (((major) * 1000000) + ((minor) * 1000) + (revision))
 
#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version)   ((version) / 1000000)
 
#define JSON_HEDLEY_VERSION_DECODE_MINOR(version)   (((version) % 1000000) / 1000)
 
#define JSON_HEDLEY_VERSION_DECODE_REVISION(version)   ((version) % 1000)
 
#define JSON_HEDLEY_GNUC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_MSVC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_INTEL_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_PGI_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_ARM_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_IBM_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TI_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_CRAY_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_IAR_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_TINYC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_DMC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_PELLES_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_GCC_VERSION_CHECK(major, minor, patch)   (0)
 
#define JSON_HEDLEY_HAS_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns, attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_BUILTIN(builtin)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_FEATURE(feature)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_EXTENSION(extension)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_HAS_WARNING(warning)   (0)
 
#define JSON_HEDLEY_GNUC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_GCC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)   x
 
#define JSON_HEDLEY_PRAGMA(value)
 
#define JSON_HEDLEY_DIAGNOSTIC_PUSH
 
#define JSON_HEDLEY_DIAGNOSTIC_POP
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
 
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
 
#define JSON_HEDLEY_DEPRECATED(since)
 
#define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
 
#define JSON_HEDLEY_UNAVAILABLE(available_since)
 
#define JSON_HEDLEY_WARN_UNUSED_RESULT
 
#define JSON_HEDLEY_SENTINEL(position)
 
#define JSON_HEDLEY_NO_RETURN
 
#define JSON_HEDLEY_NO_ESCAPE
 
#define JSON_HEDLEY_UNREACHABLE()
 
#define JSON_HEDLEY_UNREACHABLE_RETURN(value)   return value
 
#define JSON_HEDLEY_ASSUME(expr)   ((void) (expr))
 
#define JSON_HEDLEY_NON_NULL(...)
 
#define JSON_HEDLEY_PRINTF_FORMAT(string_idx, first_to_check)
 
#define JSON_HEDLEY_CONSTEXPR
 
#define JSON_HEDLEY_PREDICT(expr, expected, probability)   (((void) (expected)), !!(expr))
 
#define JSON_HEDLEY_PREDICT_TRUE(expr, probability)   (!!(expr))
 
#define JSON_HEDLEY_PREDICT_FALSE(expr, probability)   (!!(expr))
 
#define JSON_HEDLEY_LIKELY(expr)   (!!(expr))
 
#define JSON_HEDLEY_UNLIKELY(expr)   (!!(expr))
 
#define JSON_HEDLEY_UNPREDICTABLE(expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
 
#define JSON_HEDLEY_MALLOC
 
#define JSON_HEDLEY_PURE
 
#define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
 
#define JSON_HEDLEY_RESTRICT
 
#define JSON_HEDLEY_INLINE
 
#define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
 
#define JSON_HEDLEY_NEVER_INLINE
 
#define JSON_HEDLEY_PRIVATE
 
#define JSON_HEDLEY_PUBLIC
 
#define JSON_HEDLEY_IMPORT   extern
 
#define JSON_HEDLEY_NO_THROW
 
#define JSON_HEDLEY_FALL_THROUGH
 
#define JSON_HEDLEY_RETURNS_NON_NULL
 
#define JSON_HEDLEY_ARRAY_PARAM(name)
 
#define JSON_HEDLEY_IS_CONSTANT(expr)   (0)
 
#define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)   (expr)
 
#define JSON_HEDLEY_BEGIN_C_DECLS
 
#define JSON_HEDLEY_END_C_DECLS
 
#define JSON_HEDLEY_C_DECL
 
#define JSON_HEDLEY_STATIC_ASSERT(expr, message)
 
#define JSON_HEDLEY_CONST_CAST(T, expr)   ((T) (expr))
 
#define JSON_HEDLEY_REINTERPRET_CAST(T, expr)   (*((T*) &(expr)))
 
#define JSON_HEDLEY_STATIC_CAST(T, expr)   ((T) (expr))
 
#define JSON_HEDLEY_CPP_CAST(T, expr)   (expr)
 
#define JSON_HEDLEY_NULL   ((void*) 0)
 
#define JSON_HEDLEY_MESSAGE(msg)
 
#define JSON_HEDLEY_WARNING(msg)   JSON_HEDLEY_MESSAGE(msg)
 
#define JSON_HEDLEY_REQUIRE(expr)
 
#define JSON_HEDLEY_REQUIRE_MSG(expr, msg)
 
#define JSON_HEDLEY_FLAGS_CAST(T, expr)   JSON_HEDLEY_STATIC_CAST(T, expr)
 
#define JSON_HEDLEY_EMPTY_BASES
 
#define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
 
#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
 
#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature)   JSON_HEDLEY_HAS_FEATURE(feature)
 
#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
 
#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
 
#define JSON_HEDLEY_CLANG_HAS_WARNING(warning)   JSON_HEDLEY_HAS_WARNING(warning)
 
#define JSON_THROW(exception)   std::abort()
 
#define JSON_TRY   if(true)
 
#define JSON_CATCH(exception)   if(false)
 
#define JSON_INTERNAL_CATCH(exception)   if(false)
 
#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
 macro to briefly define a mapping between an enum and JSON More...
 
#define NLOHMANN_BASIC_JSON_TPL_DECLARATION
 
#define NLOHMANN_BASIC_JSON_TPL
 
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

template<bool B, typename T = void>
using nlohmann::detail::enable_if_t = typename std::enable_if< B, T >::type
 
template<typename T >
using nlohmann::detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 
template<typename... Ts>
using nlohmann::detail::index_sequence_for = make_index_sequence< sizeof...(Ts)>
 
template<typename ... Ts>
using nlohmann::detail::void_t = typename make_void< Ts... >::type
 
template<template< class... > class Op, class... Args>
using nlohmann::detail::is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
 
template<template< class... > class Op, class... Args>
using nlohmann::detail::detected_t = typename detector< nonesuch, void, Op, Args... >::type
 
template<class Default , template< class... > class Op, class... Args>
using nlohmann::detail::detected_or = detector< Default, void, Op, Args... >
 
template<class Default , template< class... > class Op, class... Args>
using nlohmann::detail::detected_or_t = typename detected_or< Default, Op, Args... >::type
 
template<class Expected , template< class... > class Op, class... Args>
using nlohmann::detail::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
 
template<class To , template< class... > class Op, class... Args>
using nlohmann::detail::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
 
using nlohmann::json = basic_json<>
 default JSON class More...
 
template<typename T >
using nlohmann::detail::mapped_type_t = typename T::mapped_type
 
template<typename T >
using nlohmann::detail::key_type_t = typename T::key_type
 
template<typename T >
using nlohmann::detail::value_type_t = typename T::value_type
 
template<typename T >
using nlohmann::detail::difference_type_t = typename T::difference_type
 
template<typename T >
using nlohmann::detail::pointer_t = typename T::pointer
 
template<typename T >
using nlohmann::detail::reference_t = typename T::reference
 
template<typename T >
using nlohmann::detail::iterator_category_t = typename T::iterator_category
 
template<typename T >
using nlohmann::detail::iterator_t = typename T::iterator
 
template<typename T , typename... Args>
using nlohmann::detail::to_json_function = decltype(T::to_json(std::declval< Args >()...))
 
template<typename T , typename... Args>
using nlohmann::detail::from_json_function = decltype(T::from_json(std::declval< Args >()...))
 
template<typename T , typename U >
using nlohmann::detail::get_template_function = decltype(std::declval< T >().template get< U >())
 
using nlohmann::detail::input_adapter_t = std::shared_ptr< input_adapter_protocol >
 a type to simplify interfaces More...
 
template<typename T >
using nlohmann::detail::null_function_t = decltype(std::declval< T & >().null())
 
template<typename T >
using nlohmann::detail::boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
 
template<typename T , typename Integer >
using nlohmann::detail::number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
 
template<typename T , typename Unsigned >
using nlohmann::detail::number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
 
template<typename T , typename Float , typename String >
using nlohmann::detail::number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
 
template<typename T , typename String >
using nlohmann::detail::string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
 
template<typename T >
using nlohmann::detail::start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
 
template<typename T , typename String >
using nlohmann::detail::key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
 
template<typename T >
using nlohmann::detail::end_object_function_t = decltype(std::declval< T & >().end_object())
 
template<typename T >
using nlohmann::detail::start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
 
template<typename T >
using nlohmann::detail::end_array_function_t = decltype(std::declval< T & >().end_array())
 
template<typename T , typename Exception >
using nlohmann::detail::parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
 
template<typename CharType >
using nlohmann::detail::output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
 a type to simplify interfaces More...
 
+ + + + + + + + + + +

+Enumerations

enum  nlohmann::detail::value_t : std::uint8_t {
+  nlohmann::detail::value_t::null, +nlohmann::detail::value_t::object, +nlohmann::detail::value_t::array, +nlohmann::detail::value_t::string, +
+  nlohmann::detail::value_t::boolean, +nlohmann::detail::value_t::number_integer, +nlohmann::detail::value_t::number_unsigned, +nlohmann::detail::value_t::number_float, +
+  nlohmann::detail::value_t::discarded, +nlohmann::detail::value_t::null, +nlohmann::detail::value_t::object, +nlohmann::detail::value_t::array, +
+  nlohmann::detail::value_t::string, +nlohmann::detail::value_t::boolean, +nlohmann::detail::value_t::number_integer, +nlohmann::detail::value_t::number_unsigned, +
+  nlohmann::detail::value_t::number_float, +nlohmann::detail::value_t::binary, +nlohmann::detail::value_t::discarded +
+ }
 the JSON type enumeration More...
 
enum  nlohmann::detail::input_format_t {
+  nlohmann::detail::input_format_t::json, +nlohmann::detail::input_format_t::cbor, +nlohmann::detail::input_format_t::msgpack, +nlohmann::detail::input_format_t::ubjson, +
+  nlohmann::detail::input_format_t::bson, +nlohmann::detail::input_format_t::json, +nlohmann::detail::input_format_t::cbor, +nlohmann::detail::input_format_t::msgpack, +
+  nlohmann::detail::input_format_t::ubjson, +nlohmann::detail::input_format_t::bson +
+ }
 the supported input formats More...
 
enum  nlohmann::detail::error_handler_t {
+  nlohmann::detail::error_handler_t::strict, +nlohmann::detail::error_handler_t::replace, +nlohmann::detail::error_handler_t::ignore, +nlohmann::detail::error_handler_t::strict, +
+  nlohmann::detail::error_handler_t::replace, +nlohmann::detail::error_handler_t::ignore +
+ }
 how to treat decoding errors More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool nlohmann::detail::operator< (const value_t lhs, const value_t rhs) noexcept
 comparison operator for JSON types More...
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename std::nullptr_t &n)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void nlohmann::detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
 
template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value and not std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleStringType &s)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
 
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, EnumType &e)
 
template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto nlohmann::detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
 
template<typename BasicJsonType >
void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
 
template<typename BasicJsonType , typename ConstructibleArrayType >
auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
 
template<typename BasicJsonType , typename ConstructibleArrayType >
void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
 
template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value and not is_basic_json< ConstructibleArrayType >::value, int > = 0>
auto nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
 
j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
 
j template nlohmann::detail::void ())
 
template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
 
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
void nlohmann::detail::from_json (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType , typename A1 , typename A2 >
void nlohmann::detail::from_json (const BasicJsonType &j, std::pair< A1, A2 > &p)
 
template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
void nlohmann::detail::from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
 
template<typename BasicJsonType , typename... Args>
void nlohmann::detail::from_json (const BasicJsonType &j, std::tuple< Args... > &t)
 
template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
void nlohmann::detail::from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
 
template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
void nlohmann::detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
 
template<typename string_type >
void nlohmann::detail::int_to_string (string_type &target, std::size_t value)
 
template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, T b) noexcept
 
template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleString &s)
 
template<typename BasicJsonType >
void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
 
template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, FloatType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
 
template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
 
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, EnumType e) noexcept
 
template<typename BasicJsonType >
void nlohmann::detail::to_json (BasicJsonType &j, const std::vector< bool > &e)
 
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value and not is_basic_json< CompatibleArrayType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
 
template<typename BasicJsonType >
void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
 
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value and not is_basic_json< CompatibleObjectType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
 
template<typename BasicJsonType >
void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
 
template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const T(&arr)[N])
 
template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
 
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, const T &b)
 
template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
void nlohmann::detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
 
template<typename Target , typename Source >
Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
 
template<typename FloatType >
boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
 
cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
 
int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
 
void nlohmann::detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
 
void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
 
void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
 
template<typename FloatType >
void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
 
JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::append_exponent (char *buf, int e)
 appends a decimal representation of e to buf More...
 
JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
 prettify v = buf * 10^decimal_exponent More...
 
template<typename FloatType >
JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars (char *first, const char *last, FloatType value)
 generates a decimal representation of the floating-point number value in [first, last). More...
 
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPL &j)
 user-defined to_string function for JSON values More...
 
template<>
void std::swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
 exchanges the values of two JSON objects More...
 
nlohmann::json operator""_json (const char *s, std::size_t n)
 user-defined string literal for JSON values More...
 
nlohmann::json::json_pointer operator""_json_pointer (const char *s, std::size_t n)
 user-defined string literal for JSON pointer More...
 
+ + + + + +

+Variables

constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
 
constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
 
+

Macro Definition Documentation

+ +

◆ INCLUDE_NLOHMANN_JSON_FWD_HPP_

+ +
+
+ + + + +
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_
+
+ +
+
+ +

◆ JSON_CATCH

+ +
+
+ + + + + + + + +
#define JSON_CATCH( exception)   if(false)
+
+ +
+
+ +

◆ JSON_HEDLEY_ALWAYS_INLINE

+ +
+
+ + + + +
#define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
+
+ +
+
+ +

◆ JSON_HEDLEY_ARM_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_ARM_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_ARRAY_PARAM

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_ARRAY_PARAM( name)
+
+ +
+
+ +

◆ JSON_HEDLEY_ASSUME

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_ASSUME( expr)   ((void) (expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_BEGIN_C_DECLS

+ +
+
+ + + + +
#define JSON_HEDLEY_BEGIN_C_DECLS
+
+ +
+
+ +

◆ JSON_HEDLEY_C_DECL

+ +
+
+ + + + +
#define JSON_HEDLEY_C_DECL
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_BUILTIN

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_BUILTIN( builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_EXTENSION

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_EXTENSION( extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_FEATURE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_FEATURE( feature)   JSON_HEDLEY_HAS_FEATURE(feature)
+
+ +
+
+ +

◆ JSON_HEDLEY_CLANG_HAS_WARNING

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_CLANG_HAS_WARNING( warning)   JSON_HEDLEY_HAS_WARNING(warning)
+
+ +
+
+ +

◆ JSON_HEDLEY_COMPCERT_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_COMPCERT_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_CONCAT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_CONCAT( a,
 
)   JSON_HEDLEY_CONCAT_EX(a,b)
+
+ +
+
+ +

◆ JSON_HEDLEY_CONCAT_EX

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_CONCAT_EX( a,
 
)   a##b
+
+ +
+
+ +

◆ JSON_HEDLEY_CONST

+ +
+
+ + + + +
#define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
+
+ +
+
+ +

◆ JSON_HEDLEY_CONST_CAST

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_CONST_CAST( T,
 expr 
)   ((T) (expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_CONSTEXPR

+ +
+
+ + + + +
#define JSON_HEDLEY_CONSTEXPR
+
+ +
+
+ +

◆ JSON_HEDLEY_CPP_CAST

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_CPP_CAST( T,
 expr 
)   (expr)
+
+ +
+
+ +

◆ JSON_HEDLEY_CRAY_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_CRAY_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_DEPRECATED

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_DEPRECATED( since)
+
+ +
+
+ +

◆ JSON_HEDLEY_DEPRECATED_FOR

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_DEPRECATED_FOR( since,
 replacement 
)
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_( x)   x
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_POP

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_POP
+
+ +
+
+ +

◆ JSON_HEDLEY_DIAGNOSTIC_PUSH

+ +
+
+ + + + +
#define JSON_HEDLEY_DIAGNOSTIC_PUSH
+
+ +
+
+ +

◆ JSON_HEDLEY_DMC_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_DMC_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_EMPTY_BASES

+ +
+
+ + + + +
#define JSON_HEDLEY_EMPTY_BASES
+
+ +
+
+ +

◆ JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_END_C_DECLS

+ +
+
+ + + + +
#define JSON_HEDLEY_END_C_DECLS
+
+ +
+
+ +

◆ JSON_HEDLEY_FALL_THROUGH

+ +
+
+ + + + +
#define JSON_HEDLEY_FALL_THROUGH
+
+ +
+
+ +

◆ JSON_HEDLEY_FLAGS_CAST

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_FLAGS_CAST( T,
 expr 
)   JSON_HEDLEY_STATIC_CAST(T, expr)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_BUILTIN

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_BUILTIN( builtin,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_EXTENSION

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_EXTENSION( extension,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_FEATURE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_FEATURE( feature,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_HAS_WARNING

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_HAS_WARNING( warning,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK( major,
 minor,
 patch 
)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GCC_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GCC_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_BUILTIN

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_BUILTIN( builtin,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE( attribute,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_EXTENSION

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_EXTENSION( extension,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_FEATURE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_FEATURE( feature,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_HAS_WARNING

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_HAS_WARNING( warning,
 major,
 minor,
 patch 
)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
+ +
+
+ +

◆ JSON_HEDLEY_GNUC_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_GNUC_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_ATTRIBUTE( attribute)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_BUILTIN

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_BUILTIN( builtin)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE( attribute)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS( ns,
 attribute 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE( attribute)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_EXTENSION

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_EXTENSION( extension)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_FEATURE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_FEATURE( feature)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_HAS_WARNING

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_HAS_WARNING( warning)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_IAR_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_IAR_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_IBM_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_IBM_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_IMPORT

+ +
+
+ + + + +
#define JSON_HEDLEY_IMPORT   extern
+
+ +
+
+ +

◆ JSON_HEDLEY_INLINE

+ +
+
+ + + + +
#define JSON_HEDLEY_INLINE
+
+ +
+
+ +

◆ JSON_HEDLEY_INTEL_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_INTEL_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_IS_CONSTANT

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_IS_CONSTANT( expr)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_LIKELY

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_LIKELY( expr)   (!!(expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_MALLOC

+ +
+
+ + + + +
#define JSON_HEDLEY_MALLOC
+
+ +
+
+ +

◆ JSON_HEDLEY_MESSAGE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_MESSAGE( msg)
+
+ +
+
+ +

◆ JSON_HEDLEY_MSVC_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_MSVC_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_NEVER_INLINE

+ +
+
+ + + + +
#define JSON_HEDLEY_NEVER_INLINE
+
+ +
+
+ +

◆ JSON_HEDLEY_NO_ESCAPE

+ +
+
+ + + + +
#define JSON_HEDLEY_NO_ESCAPE
+
+ +
+
+ +

◆ JSON_HEDLEY_NO_RETURN

+ +
+
+ + + + +
#define JSON_HEDLEY_NO_RETURN
+
+ +
+
+ +

◆ JSON_HEDLEY_NO_THROW

+ +
+
+ + + + +
#define JSON_HEDLEY_NO_THROW
+
+ +
+
+ +

◆ JSON_HEDLEY_NON_NULL

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_NON_NULL( ...)
+
+ +
+
+ +

◆ JSON_HEDLEY_NULL

+ +
+
+ + + + +
#define JSON_HEDLEY_NULL   ((void*) 0)
+
+ +
+
+ +

◆ JSON_HEDLEY_PELLES_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PELLES_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_PGI_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PGI_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_PRAGMA

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_PRAGMA( value)
+
+ +
+
+ +

◆ JSON_HEDLEY_PREDICT

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PREDICT( expr,
 expected,
 probability 
)   (((void) (expected)), !!(expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_PREDICT_FALSE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PREDICT_FALSE( expr,
 probability 
)   (!!(expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_PREDICT_TRUE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PREDICT_TRUE( expr,
 probability 
)   (!!(expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_PRINTF_FORMAT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_PRINTF_FORMAT( string_idx,
 first_to_check 
)
+
+ +
+
+ +

◆ JSON_HEDLEY_PRIVATE

+ +
+
+ + + + +
#define JSON_HEDLEY_PRIVATE
+
+ +
+
+ +

◆ JSON_HEDLEY_PUBLIC

+ +
+
+ + + + +
#define JSON_HEDLEY_PUBLIC
+
+ +
+
+ +

◆ JSON_HEDLEY_PURE

+ +
+
+ + + + +
#define JSON_HEDLEY_PURE
+
+ +
+
+ +

◆ JSON_HEDLEY_REINTERPRET_CAST

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_REINTERPRET_CAST( T,
 expr 
)   (*((T*) &(expr)))
+
+ +
+
+ +

◆ JSON_HEDLEY_REQUIRE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_REQUIRE( expr)
+
+ +
+
+ +

◆ JSON_HEDLEY_REQUIRE_CONSTEXPR

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_REQUIRE_CONSTEXPR( expr)   (expr)
+
+ +
+
+ +

◆ JSON_HEDLEY_REQUIRE_MSG

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_REQUIRE_MSG( expr,
 msg 
)
+
+ +
+
+ +

◆ JSON_HEDLEY_RESTRICT

+ +
+
+ + + + +
#define JSON_HEDLEY_RESTRICT
+
+ +
+
+ +

◆ JSON_HEDLEY_RETURNS_NON_NULL

+ +
+
+ + + + +
#define JSON_HEDLEY_RETURNS_NON_NULL
+
+ +
+
+ +

◆ JSON_HEDLEY_SENTINEL

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_SENTINEL( position)
+
+ +
+
+ +

◆ JSON_HEDLEY_STATIC_ASSERT

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_STATIC_ASSERT( expr,
 message 
)
+
+ +
+
+ +

◆ JSON_HEDLEY_STATIC_CAST

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_STATIC_CAST( T,
 expr 
)   ((T) (expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_STRINGIFY

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_STRINGIFY( x)   JSON_HEDLEY_STRINGIFY_EX(x)
+
+ +
+
+ +

◆ JSON_HEDLEY_STRINGIFY_EX

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_STRINGIFY_EX( x)   #x
+
+ +
+
+ +

◆ JSON_HEDLEY_SUNPRO_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_SUNPRO_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_TI_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_TI_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_TINYC_VERSION_CHECK

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_TINYC_VERSION_CHECK( major,
 minor,
 patch 
)   (0)
+
+ +
+
+ +

◆ JSON_HEDLEY_UNAVAILABLE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_UNAVAILABLE( available_since)
+
+ +
+
+ +

◆ JSON_HEDLEY_UNLIKELY

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_UNLIKELY( expr)   (!!(expr))
+
+ +
+
+ +

◆ JSON_HEDLEY_UNPREDICTABLE

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_UNPREDICTABLE( expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
+
+ +
+
+ +

◆ JSON_HEDLEY_UNREACHABLE

+ +
+
+ + + + + + + +
#define JSON_HEDLEY_UNREACHABLE()
+
+ +
+
+ +

◆ JSON_HEDLEY_UNREACHABLE_RETURN

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_UNREACHABLE_RETURN( value)   return value
+
+ +
+
+ +

◆ JSON_HEDLEY_VERSION

+ +
+
+ + + + +
#define JSON_HEDLEY_VERSION   11
+
+ +
+
+ +

◆ JSON_HEDLEY_VERSION_DECODE_MAJOR

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_VERSION_DECODE_MAJOR( version)   ((version) / 1000000)
+
+ +
+
+ +

◆ JSON_HEDLEY_VERSION_DECODE_MINOR

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_VERSION_DECODE_MINOR( version)   (((version) % 1000000) / 1000)
+
+ +
+
+ +

◆ JSON_HEDLEY_VERSION_DECODE_REVISION

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_VERSION_DECODE_REVISION( version)   ((version) % 1000)
+
+ +
+
+ +

◆ JSON_HEDLEY_VERSION_ENCODE

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define JSON_HEDLEY_VERSION_ENCODE( major,
 minor,
 revision 
)   (((major) * 1000000) + ((minor) * 1000) + (revision))
+
+ +
+
+ +

◆ JSON_HEDLEY_WARN_UNUSED_RESULT

+ +
+
+ + + + +
#define JSON_HEDLEY_WARN_UNUSED_RESULT
+
+ +
+
+ +

◆ JSON_HEDLEY_WARNING

+ +
+
+ + + + + + + + +
#define JSON_HEDLEY_WARNING( msg)   JSON_HEDLEY_MESSAGE(msg)
+
+ +
+
+ +

◆ JSON_INTERNAL_CATCH

+ +
+
+ + + + + + + + +
#define JSON_INTERNAL_CATCH( exception)   if(false)
+
+ +
+
+ +

◆ JSON_THROW

+ +
+
+ + + + + + + + +
#define JSON_THROW( exception)   std::abort()
+
+ +
+
+ +

◆ JSON_TRY

+ +
+
+ + + + +
#define JSON_TRY   if(true)
+
+ +
+
+ +

◆ NLOHMANN_BASIC_JSON_TPL

+ +
+
+ + + + +
#define NLOHMANN_BASIC_JSON_TPL
+
+Value:
basic_json<ObjectType, ArrayType, StringType, BooleanType, \
+
NumberIntegerType, NumberUnsignedType, NumberFloatType, \
+
AllocatorType, JSONSerializer>
+
+
+
+ +

◆ NLOHMANN_BASIC_JSON_TPL_DECLARATION

+ +
+
+ + + + +
#define NLOHMANN_BASIC_JSON_TPL_DECLARATION
+
+Value:
template<template<typename, typename, typename...> class ObjectType, \
+
template<typename, typename...> class ArrayType, \
+
class StringType, class BooleanType, class NumberIntegerType, \
+
class NumberUnsignedType, class NumberFloatType, \
+
template<typename> class AllocatorType, \
+
template<typename, typename = void> class JSONSerializer>
+
+
+
+ +

◆ NLOHMANN_JSON_SERIALIZE_ENUM

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define NLOHMANN_JSON_SERIALIZE_ENUM( ENUM_TYPE,
 ... 
)
+
+Value:
template<typename BasicJsonType> \
+
inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
+
{ \
+
static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
+
static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
+
auto it = std::find_if(std::begin(m), std::end(m), \
+
[e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
+
{ \
+
return ej_pair.first == e; \
+
}); \
+
j = ((it != std::end(m)) ? it : std::begin(m))->second; \
+
} \
+
template<typename BasicJsonType> \
+
inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
+
{ \
+
static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
+
static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
+
auto it = std::find_if(std::begin(m), std::end(m), \
+
[&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
+
{ \
+
return ej_pair.second == j; \
+
}); \
+
e = ((it != std::end(m)) ? it : std::begin(m))->first; \
+
}
+
+

macro to briefly define a mapping between an enum and JSON

+
Since
version 3.4.0
+ +
+
+ +

◆ NLOHMANN_JSON_VERSION_MAJOR

+ +
+
+ + + + +
#define NLOHMANN_JSON_VERSION_MAJOR   3
+
+ +
+
+ +

◆ NLOHMANN_JSON_VERSION_MINOR

+ +
+
+ + + + +
#define NLOHMANN_JSON_VERSION_MINOR   7
+
+ +
+
+ +

◆ NLOHMANN_JSON_VERSION_PATCH

+ +
+
+ + + + +
#define NLOHMANN_JSON_VERSION_PATCH   3
+
+ +
+
+

Function Documentation

+ +

◆ operator""_json()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
nlohmann::json operator""_json (const char * s,
std::size_t n 
)
+
+inline
+
+ +

user-defined string literal for JSON values

+

This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

+
Parameters
+ + + +
[in]sa string representation of a JSON object
[in]nthe length of string s
+
+
+
Returns
a JSON object
+
Since
version 1.0.0
+ +
+
+ +

◆ operator""_json_pointer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
nlohmann::json::json_pointer operator""_json_pointer (const char * s,
std::size_t n 
)
+
+inline
+
+ +

user-defined string literal for JSON pointer

+

This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

+
Parameters
+ + + +
[in]sa string representation of a JSON Pointer
[in]nthe length of string s
+
+
+
Returns
a JSON pointer object
+
Since
version 2.0.0
+ +
+
+
+
void from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
Definition: json.hpp:3652
+
void to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
Definition: json.hpp:4280
+ + + + diff --git a/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.map b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.map new file mode 100644 index 0000000..c2f88fe --- /dev/null +++ b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.map @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.md5 b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.md5 new file mode 100644 index 0000000..032a710 --- /dev/null +++ b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.md5 @@ -0,0 +1 @@ +0e5bef3d12b8e30ecb8040bafcf0e347 \ No newline at end of file diff --git a/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.png b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..51d75f959bb93a5e84d19cfd3361ab9178c09bc4 GIT binary patch literal 88844 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 literal 0 HcmV?d00001 diff --git a/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp_source.html b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp_source.html new file mode 100644 index 0000000..979b5dc --- /dev/null +++ b/help/html/build_2__deps_2json-src_2include_2nlohmann_2json_8hpp_source.html @@ -0,0 +1,17076 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json.hpp Source File + + + + + + + + + + +
+
+
json.hpp
+
+
+Go to the documentation of this file.
1 /*
+
2  __ _____ _____ _____
+
3  __| | __| | | | JSON for Modern C++
+
4 | | |__ | | | | | | version 3.7.3
+
5 |_____|_____|_____|_|___| https://github.com/nlohmann/json
+
6 
+
7 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
+
8 SPDX-License-Identifier: MIT
+
9 Copyright (c) 2013-2019 Niels Lohmann <http://nlohmann.me>.
+
10 
+
11 Permission is hereby granted, free of charge, to any person obtaining a copy
+
12 of this software and associated documentation files (the "Software"), to deal
+
13 in the Software without restriction, including without limitation the rights
+
14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
15 copies of the Software, and to permit persons to whom the Software is
+
16 furnished to do so, subject to the following conditions:
+
17 
+
18 The above copyright notice and this permission notice shall be included in all
+
19 copies or substantial portions of the Software.
+
20 
+
21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
22 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
23 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
24 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
25 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
26 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
27 SOFTWARE.
+
28 */
+
29 
+
30 #ifndef INCLUDE_NLOHMANN_JSON_HPP_
+
31 #define INCLUDE_NLOHMANN_JSON_HPP_
+
32 
+
33 #define NLOHMANN_JSON_VERSION_MAJOR 3
+
34 #define NLOHMANN_JSON_VERSION_MINOR 7
+
35 #define NLOHMANN_JSON_VERSION_PATCH 3
+
36 
+
37 #include <algorithm> // all_of, find, for_each
+
38 #include <cassert> // assert
+
39 #include <ciso646> // and, not, or
+
40 #include <cstddef> // nullptr_t, ptrdiff_t, size_t
+
41 #include <functional> // hash, less
+
42 #include <initializer_list> // initializer_list
+
43 #include <iosfwd> // istream, ostream
+
44 #include <iterator> // random_access_iterator_tag
+
45 #include <memory> // unique_ptr
+
46 #include <numeric> // accumulate
+
47 #include <string> // string, stoi, to_string
+
48 #include <utility> // declval, forward, move, pair, swap
+
49 #include <vector> // vector
+
50 
+
51 // #include <nlohmann/adl_serializer.hpp>
+
52 
+
53 
+
54 #include <utility>
+
55 
+
56 // #include <nlohmann/detail/conversions/from_json.hpp>
+
57 
+
58 
+
59 #include <algorithm> // transform
+
60 #include <array> // array
+
61 #include <ciso646> // and, not
+
62 #include <forward_list> // forward_list
+
63 #include <iterator> // inserter, front_inserter, end
+
64 #include <map> // map
+
65 #include <string> // string
+
66 #include <tuple> // tuple, make_tuple
+
67 #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
+
68 #include <unordered_map> // unordered_map
+
69 #include <utility> // pair, declval
+
70 #include <valarray> // valarray
+
71 
+
72 // #include <nlohmann/detail/exceptions.hpp>
+
73 
+
74 
+
75 #include <exception> // exception
+
76 #include <stdexcept> // runtime_error
+
77 #include <string> // to_string
+
78 
+
79 // #include <nlohmann/detail/input/position_t.hpp>
+
80 
+
81 
+
82 #include <cstddef> // size_t
+
83 
+
84 namespace nlohmann
+
85 {
+
86 namespace detail
+
87 {
+
89 struct position_t
+
90 {
+
92  std::size_t chars_read_total = 0;
+
94  std::size_t chars_read_current_line = 0;
+
96  std::size_t lines_read = 0;
+
97 
+
99  constexpr operator size_t() const
+
100  {
+
101  return chars_read_total;
+
102  }
+
103 };
+
104 
+
105 } // namespace detail
+
106 } // namespace nlohmann
+
107 
+
108 // #include <nlohmann/detail/macro_scope.hpp>
+
109 
+
110 
+
111 #include <utility> // pair
+
112 // #include <nlohmann/thirdparty/hedley/hedley.hpp>
+
113 /* Hedley - https://nemequ.github.io/hedley
+
114  * Created by Evan Nemerson <evan@nemerson.com>
+
115  *
+
116  * To the extent possible under law, the author(s) have dedicated all
+
117  * copyright and related and neighboring rights to this software to
+
118  * the public domain worldwide. This software is distributed without
+
119  * any warranty.
+
120  *
+
121  * For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+
122  * SPDX-License-Identifier: CC0-1.0
+
123  */
+
124 
+
125 #if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 11)
+
126 #if defined(JSON_HEDLEY_VERSION)
+
127  #undef JSON_HEDLEY_VERSION
+
128 #endif
+
129 #define JSON_HEDLEY_VERSION 11
+
130 
+
131 #if defined(JSON_HEDLEY_STRINGIFY_EX)
+
132  #undef JSON_HEDLEY_STRINGIFY_EX
+
133 #endif
+
134 #define JSON_HEDLEY_STRINGIFY_EX(x) #x
+
135 
+
136 #if defined(JSON_HEDLEY_STRINGIFY)
+
137  #undef JSON_HEDLEY_STRINGIFY
+
138 #endif
+
139 #define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x)
+
140 
+
141 #if defined(JSON_HEDLEY_CONCAT_EX)
+
142  #undef JSON_HEDLEY_CONCAT_EX
+
143 #endif
+
144 #define JSON_HEDLEY_CONCAT_EX(a,b) a##b
+
145 
+
146 #if defined(JSON_HEDLEY_CONCAT)
+
147  #undef JSON_HEDLEY_CONCAT
+
148 #endif
+
149 #define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b)
+
150 
+
151 #if defined(JSON_HEDLEY_VERSION_ENCODE)
+
152  #undef JSON_HEDLEY_VERSION_ENCODE
+
153 #endif
+
154 #define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision))
+
155 
+
156 #if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR)
+
157  #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
+
158 #endif
+
159 #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000)
+
160 
+
161 #if defined(JSON_HEDLEY_VERSION_DECODE_MINOR)
+
162  #undef JSON_HEDLEY_VERSION_DECODE_MINOR
+
163 #endif
+
164 #define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000)
+
165 
+
166 #if defined(JSON_HEDLEY_VERSION_DECODE_REVISION)
+
167  #undef JSON_HEDLEY_VERSION_DECODE_REVISION
+
168 #endif
+
169 #define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000)
+
170 
+
171 #if defined(JSON_HEDLEY_GNUC_VERSION)
+
172  #undef JSON_HEDLEY_GNUC_VERSION
+
173 #endif
+
174 #if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
+
175  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
+
176 #elif defined(__GNUC__)
+
177  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
+
178 #endif
+
179 
+
180 #if defined(JSON_HEDLEY_GNUC_VERSION_CHECK)
+
181  #undef JSON_HEDLEY_GNUC_VERSION_CHECK
+
182 #endif
+
183 #if defined(JSON_HEDLEY_GNUC_VERSION)
+
184  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
185 #else
+
186  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0)
+
187 #endif
+
188 
+
189 #if defined(JSON_HEDLEY_MSVC_VERSION)
+
190  #undef JSON_HEDLEY_MSVC_VERSION
+
191 #endif
+
192 #if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000)
+
193  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
+
194 #elif defined(_MSC_FULL_VER)
+
195  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
+
196 #elif defined(_MSC_VER)
+
197  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
+
198 #endif
+
199 
+
200 #if defined(JSON_HEDLEY_MSVC_VERSION_CHECK)
+
201  #undef JSON_HEDLEY_MSVC_VERSION_CHECK
+
202 #endif
+
203 #if !defined(_MSC_VER)
+
204  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0)
+
205 #elif defined(_MSC_VER) && (_MSC_VER >= 1400)
+
206  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
+
207 #elif defined(_MSC_VER) && (_MSC_VER >= 1200)
+
208  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
+
209 #else
+
210  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor)))
+
211 #endif
+
212 
+
213 #if defined(JSON_HEDLEY_INTEL_VERSION)
+
214  #undef JSON_HEDLEY_INTEL_VERSION
+
215 #endif
+
216 #if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE)
+
217  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE)
+
218 #elif defined(__INTEL_COMPILER)
+
219  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
+
220 #endif
+
221 
+
222 #if defined(JSON_HEDLEY_INTEL_VERSION_CHECK)
+
223  #undef JSON_HEDLEY_INTEL_VERSION_CHECK
+
224 #endif
+
225 #if defined(JSON_HEDLEY_INTEL_VERSION)
+
226  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
227 #else
+
228  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0)
+
229 #endif
+
230 
+
231 #if defined(JSON_HEDLEY_PGI_VERSION)
+
232  #undef JSON_HEDLEY_PGI_VERSION
+
233 #endif
+
234 #if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
+
235  #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
+
236 #endif
+
237 
+
238 #if defined(JSON_HEDLEY_PGI_VERSION_CHECK)
+
239  #undef JSON_HEDLEY_PGI_VERSION_CHECK
+
240 #endif
+
241 #if defined(JSON_HEDLEY_PGI_VERSION)
+
242  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
243 #else
+
244  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0)
+
245 #endif
+
246 
+
247 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
+
248  #undef JSON_HEDLEY_SUNPRO_VERSION
+
249 #endif
+
250 #if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
+
251  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
+
252 #elif defined(__SUNPRO_C)
+
253  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf)
+
254 #elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
+
255  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
+
256 #elif defined(__SUNPRO_CC)
+
257  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
+
258 #endif
+
259 
+
260 #if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK)
+
261  #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
+
262 #endif
+
263 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
+
264  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
265 #else
+
266  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)
+
267 #endif
+
268 
+
269 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
+
270  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
+
271 #endif
+
272 #if defined(__EMSCRIPTEN__)
+
273  #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__)
+
274 #endif
+
275 
+
276 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK)
+
277  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
+
278 #endif
+
279 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
+
280  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
281 #else
+
282  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0)
+
283 #endif
+
284 
+
285 #if defined(JSON_HEDLEY_ARM_VERSION)
+
286  #undef JSON_HEDLEY_ARM_VERSION
+
287 #endif
+
288 #if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
+
289  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
+
290 #elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
+
291  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
+
292 #endif
+
293 
+
294 #if defined(JSON_HEDLEY_ARM_VERSION_CHECK)
+
295  #undef JSON_HEDLEY_ARM_VERSION_CHECK
+
296 #endif
+
297 #if defined(JSON_HEDLEY_ARM_VERSION)
+
298  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
299 #else
+
300  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0)
+
301 #endif
+
302 
+
303 #if defined(JSON_HEDLEY_IBM_VERSION)
+
304  #undef JSON_HEDLEY_IBM_VERSION
+
305 #endif
+
306 #if defined(__ibmxl__)
+
307  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__)
+
308 #elif defined(__xlC__) && defined(__xlC_ver__)
+
309  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
+
310 #elif defined(__xlC__)
+
311  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
+
312 #endif
+
313 
+
314 #if defined(JSON_HEDLEY_IBM_VERSION_CHECK)
+
315  #undef JSON_HEDLEY_IBM_VERSION_CHECK
+
316 #endif
+
317 #if defined(JSON_HEDLEY_IBM_VERSION)
+
318  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
319 #else
+
320  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0)
+
321 #endif
+
322 
+
323 #if defined(JSON_HEDLEY_TI_VERSION)
+
324  #undef JSON_HEDLEY_TI_VERSION
+
325 #endif
+
326 #if defined(__TI_COMPILER_VERSION__)
+
327  #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+
328 #endif
+
329 
+
330 #if defined(JSON_HEDLEY_TI_VERSION_CHECK)
+
331  #undef JSON_HEDLEY_TI_VERSION_CHECK
+
332 #endif
+
333 #if defined(JSON_HEDLEY_TI_VERSION)
+
334  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
335 #else
+
336  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0)
+
337 #endif
+
338 
+
339 #if defined(JSON_HEDLEY_CRAY_VERSION)
+
340  #undef JSON_HEDLEY_CRAY_VERSION
+
341 #endif
+
342 #if defined(_CRAYC)
+
343  #if defined(_RELEASE_PATCHLEVEL)
+
344  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
+
345  #else
+
346  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
+
347  #endif
+
348 #endif
+
349 
+
350 #if defined(JSON_HEDLEY_CRAY_VERSION_CHECK)
+
351  #undef JSON_HEDLEY_CRAY_VERSION_CHECK
+
352 #endif
+
353 #if defined(JSON_HEDLEY_CRAY_VERSION)
+
354  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
355 #else
+
356  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0)
+
357 #endif
+
358 
+
359 #if defined(JSON_HEDLEY_IAR_VERSION)
+
360  #undef JSON_HEDLEY_IAR_VERSION
+
361 #endif
+
362 #if defined(__IAR_SYSTEMS_ICC__)
+
363  #if __VER__ > 1000
+
364  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000))
+
365  #else
+
366  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0)
+
367  #endif
+
368 #endif
+
369 
+
370 #if defined(JSON_HEDLEY_IAR_VERSION_CHECK)
+
371  #undef JSON_HEDLEY_IAR_VERSION_CHECK
+
372 #endif
+
373 #if defined(JSON_HEDLEY_IAR_VERSION)
+
374  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
375 #else
+
376  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0)
+
377 #endif
+
378 
+
379 #if defined(JSON_HEDLEY_TINYC_VERSION)
+
380  #undef JSON_HEDLEY_TINYC_VERSION
+
381 #endif
+
382 #if defined(__TINYC__)
+
383  #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
+
384 #endif
+
385 
+
386 #if defined(JSON_HEDLEY_TINYC_VERSION_CHECK)
+
387  #undef JSON_HEDLEY_TINYC_VERSION_CHECK
+
388 #endif
+
389 #if defined(JSON_HEDLEY_TINYC_VERSION)
+
390  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
391 #else
+
392  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0)
+
393 #endif
+
394 
+
395 #if defined(JSON_HEDLEY_DMC_VERSION)
+
396  #undef JSON_HEDLEY_DMC_VERSION
+
397 #endif
+
398 #if defined(__DMC__)
+
399  #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf)
+
400 #endif
+
401 
+
402 #if defined(JSON_HEDLEY_DMC_VERSION_CHECK)
+
403  #undef JSON_HEDLEY_DMC_VERSION_CHECK
+
404 #endif
+
405 #if defined(JSON_HEDLEY_DMC_VERSION)
+
406  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
407 #else
+
408  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0)
+
409 #endif
+
410 
+
411 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
+
412  #undef JSON_HEDLEY_COMPCERT_VERSION
+
413 #endif
+
414 #if defined(__COMPCERT_VERSION__)
+
415  #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100)
+
416 #endif
+
417 
+
418 #if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK)
+
419  #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
+
420 #endif
+
421 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
+
422  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
423 #else
+
424  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0)
+
425 #endif
+
426 
+
427 #if defined(JSON_HEDLEY_PELLES_VERSION)
+
428  #undef JSON_HEDLEY_PELLES_VERSION
+
429 #endif
+
430 #if defined(__POCC__)
+
431  #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
+
432 #endif
+
433 
+
434 #if defined(JSON_HEDLEY_PELLES_VERSION_CHECK)
+
435  #undef JSON_HEDLEY_PELLES_VERSION_CHECK
+
436 #endif
+
437 #if defined(JSON_HEDLEY_PELLES_VERSION)
+
438  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
439 #else
+
440  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0)
+
441 #endif
+
442 
+
443 #if defined(JSON_HEDLEY_GCC_VERSION)
+
444  #undef JSON_HEDLEY_GCC_VERSION
+
445 #endif
+
446 #if \
+
447  defined(JSON_HEDLEY_GNUC_VERSION) && \
+
448  !defined(__clang__) && \
+
449  !defined(JSON_HEDLEY_INTEL_VERSION) && \
+
450  !defined(JSON_HEDLEY_PGI_VERSION) && \
+
451  !defined(JSON_HEDLEY_ARM_VERSION) && \
+
452  !defined(JSON_HEDLEY_TI_VERSION) && \
+
453  !defined(__COMPCERT__)
+
454  #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION
+
455 #endif
+
456 
+
457 #if defined(JSON_HEDLEY_GCC_VERSION_CHECK)
+
458  #undef JSON_HEDLEY_GCC_VERSION_CHECK
+
459 #endif
+
460 #if defined(JSON_HEDLEY_GCC_VERSION)
+
461  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
+
462 #else
+
463  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0)
+
464 #endif
+
465 
+
466 #if defined(JSON_HEDLEY_HAS_ATTRIBUTE)
+
467  #undef JSON_HEDLEY_HAS_ATTRIBUTE
+
468 #endif
+
469 #if defined(__has_attribute)
+
470  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute)
+
471 #else
+
472  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0)
+
473 #endif
+
474 
+
475 #if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE)
+
476  #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
+
477 #endif
+
478 #if defined(__has_attribute)
+
479  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
+
480 #else
+
481  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
482 #endif
+
483 
+
484 #if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE)
+
485  #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
+
486 #endif
+
487 #if defined(__has_attribute)
+
488  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
+
489 #else
+
490  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
491 #endif
+
492 
+
493 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE)
+
494  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
+
495 #endif
+
496 #if \
+
497  defined(__has_cpp_attribute) && \
+
498  defined(__cplusplus) && \
+
499  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))
+
500  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute)
+
501 #else
+
502  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0)
+
503 #endif
+
504 
+
505 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS)
+
506  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
+
507 #endif
+
508 #if !defined(__cplusplus) || !defined(__has_cpp_attribute)
+
509  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
+
510 #elif \
+
511  !defined(JSON_HEDLEY_PGI_VERSION) && \
+
512  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \
+
513  (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0))
+
514  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute)
+
515 #else
+
516  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
+
517 #endif
+
518 
+
519 #if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE)
+
520  #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
+
521 #endif
+
522 #if defined(__has_cpp_attribute) && defined(__cplusplus)
+
523  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
+
524 #else
+
525  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
526 #endif
+
527 
+
528 #if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE)
+
529  #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
+
530 #endif
+
531 #if defined(__has_cpp_attribute) && defined(__cplusplus)
+
532  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
+
533 #else
+
534  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
535 #endif
+
536 
+
537 #if defined(JSON_HEDLEY_HAS_BUILTIN)
+
538  #undef JSON_HEDLEY_HAS_BUILTIN
+
539 #endif
+
540 #if defined(__has_builtin)
+
541  #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin)
+
542 #else
+
543  #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0)
+
544 #endif
+
545 
+
546 #if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN)
+
547  #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
+
548 #endif
+
549 #if defined(__has_builtin)
+
550  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
+
551 #else
+
552  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
553 #endif
+
554 
+
555 #if defined(JSON_HEDLEY_GCC_HAS_BUILTIN)
+
556  #undef JSON_HEDLEY_GCC_HAS_BUILTIN
+
557 #endif
+
558 #if defined(__has_builtin)
+
559  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
+
560 #else
+
561  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
562 #endif
+
563 
+
564 #if defined(JSON_HEDLEY_HAS_FEATURE)
+
565  #undef JSON_HEDLEY_HAS_FEATURE
+
566 #endif
+
567 #if defined(__has_feature)
+
568  #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature)
+
569 #else
+
570  #define JSON_HEDLEY_HAS_FEATURE(feature) (0)
+
571 #endif
+
572 
+
573 #if defined(JSON_HEDLEY_GNUC_HAS_FEATURE)
+
574  #undef JSON_HEDLEY_GNUC_HAS_FEATURE
+
575 #endif
+
576 #if defined(__has_feature)
+
577  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
+
578 #else
+
579  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
580 #endif
+
581 
+
582 #if defined(JSON_HEDLEY_GCC_HAS_FEATURE)
+
583  #undef JSON_HEDLEY_GCC_HAS_FEATURE
+
584 #endif
+
585 #if defined(__has_feature)
+
586  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
+
587 #else
+
588  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
589 #endif
+
590 
+
591 #if defined(JSON_HEDLEY_HAS_EXTENSION)
+
592  #undef JSON_HEDLEY_HAS_EXTENSION
+
593 #endif
+
594 #if defined(__has_extension)
+
595  #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension)
+
596 #else
+
597  #define JSON_HEDLEY_HAS_EXTENSION(extension) (0)
+
598 #endif
+
599 
+
600 #if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION)
+
601  #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
+
602 #endif
+
603 #if defined(__has_extension)
+
604  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
+
605 #else
+
606  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
607 #endif
+
608 
+
609 #if defined(JSON_HEDLEY_GCC_HAS_EXTENSION)
+
610  #undef JSON_HEDLEY_GCC_HAS_EXTENSION
+
611 #endif
+
612 #if defined(__has_extension)
+
613  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
+
614 #else
+
615  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
616 #endif
+
617 
+
618 #if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE)
+
619  #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
+
620 #endif
+
621 #if defined(__has_declspec_attribute)
+
622  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute)
+
623 #else
+
624  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0)
+
625 #endif
+
626 
+
627 #if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE)
+
628  #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
+
629 #endif
+
630 #if defined(__has_declspec_attribute)
+
631  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
+
632 #else
+
633  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
634 #endif
+
635 
+
636 #if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE)
+
637  #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
+
638 #endif
+
639 #if defined(__has_declspec_attribute)
+
640  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
+
641 #else
+
642  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
643 #endif
+
644 
+
645 #if defined(JSON_HEDLEY_HAS_WARNING)
+
646  #undef JSON_HEDLEY_HAS_WARNING
+
647 #endif
+
648 #if defined(__has_warning)
+
649  #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning)
+
650 #else
+
651  #define JSON_HEDLEY_HAS_WARNING(warning) (0)
+
652 #endif
+
653 
+
654 #if defined(JSON_HEDLEY_GNUC_HAS_WARNING)
+
655  #undef JSON_HEDLEY_GNUC_HAS_WARNING
+
656 #endif
+
657 #if defined(__has_warning)
+
658  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
+
659 #else
+
660  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+
661 #endif
+
662 
+
663 #if defined(JSON_HEDLEY_GCC_HAS_WARNING)
+
664  #undef JSON_HEDLEY_GCC_HAS_WARNING
+
665 #endif
+
666 #if defined(__has_warning)
+
667  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
+
668 #else
+
669  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
670 #endif
+
671 
+
672 /* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for
+
673  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
+
674 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
+
675  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
+
676 #endif
+
677 #if defined(__cplusplus) && JSON_HEDLEY_HAS_WARNING("-Wc++98-compat")
+
678 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
+
679  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
680  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
+
681  xpr \
+
682  JSON_HEDLEY_DIAGNOSTIC_POP
+
683 #else
+
684 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x
+
685 #endif
+
686 
+
687 #if \
+
688  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
+
689  defined(__clang__) || \
+
690  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
+
691  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
692  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
+
693  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
+
694  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
695  JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) || \
+
696  JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \
+
697  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \
+
698  JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \
+
699  (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR))
+
700  #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value)
+
701 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+
702  #define JSON_HEDLEY_PRAGMA(value) __pragma(value)
+
703 #else
+
704  #define JSON_HEDLEY_PRAGMA(value)
+
705 #endif
+
706 
+
707 #if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH)
+
708  #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
+
709 #endif
+
710 #if defined(JSON_HEDLEY_DIAGNOSTIC_POP)
+
711  #undef JSON_HEDLEY_DIAGNOSTIC_POP
+
712 #endif
+
713 #if defined(__clang__)
+
714  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
+
715  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
+
716 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
717  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
+
718  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
+
719 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
+
720  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
+
721  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
+
722 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+
723  #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push))
+
724  #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop))
+
725 #elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)
+
726  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push")
+
727  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop")
+
728 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,1,0)
+
729  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push")
+
730  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop")
+
731 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
+
732  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
+
733  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
+
734 #else
+
735  #define JSON_HEDLEY_DIAGNOSTIC_PUSH
+
736  #define JSON_HEDLEY_DIAGNOSTIC_POP
+
737 #endif
+
738 
+
739 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED)
+
740  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+
741 #endif
+
742 #if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations")
+
743  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
+
744 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
745  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)")
+
746 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
747  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
+
748 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
+
749  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+
750 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+
751  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996))
+
752 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
+
753  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718")
+
754 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus)
+
755  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
+
756 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus)
+
757  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
+
758 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
759  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215")
+
760 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
+
761  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)")
+
762 #else
+
763  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+
764 #endif
+
765 
+
766 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS)
+
767  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+
768 #endif
+
769 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+
770  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
+
771 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
772  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)")
+
773 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
774  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675")
+
775 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
+
776  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
+
777 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+
778  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068))
+
779 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
+
780  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
+
781 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
782  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161")
+
783 #else
+
784  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+
785 #endif
+
786 
+
787 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES)
+
788  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+
789 #endif
+
790 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes")
+
791  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
+
792 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
+
793  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+
794 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0)
+
795  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)")
+
796 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0)
+
797  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030))
+
798 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
799  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
+
800 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)
+
801  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)")
+
802 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
+
803  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173")
+
804 #else
+
805  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+
806 #endif
+
807 
+
808 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL)
+
809  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+
810 #endif
+
811 #if JSON_HEDLEY_HAS_WARNING("-Wcast-qual")
+
812  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
+
813 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
814  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)")
+
815 #elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)
+
816  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
+
817 #else
+
818  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+
819 #endif
+
820 
+
821 #if defined(JSON_HEDLEY_DEPRECATED)
+
822  #undef JSON_HEDLEY_DEPRECATED
+
823 #endif
+
824 #if defined(JSON_HEDLEY_DEPRECATED_FOR)
+
825  #undef JSON_HEDLEY_DEPRECATED_FOR
+
826 #endif
+
827 #if defined(__cplusplus) && (__cplusplus >= 201402L)
+
828  #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]])
+
829  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]])
+
830 #elif \
+
831  JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) || \
+
832  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
+
833  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
834  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
+
835  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
+
836  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+
837  JSON_HEDLEY_TI_VERSION_CHECK(8,3,0)
+
838  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since)))
+
839  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement)))
+
840 #elif \
+
841  JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \
+
842  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+
843  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
844  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
845  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
846  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__))
+
847  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__))
+
848 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)
+
849  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since))
+
850  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement))
+
851 #elif \
+
852  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+
853  JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0)
+
854  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated)
+
855  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated)
+
856 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
857  #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated")
+
858  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated")
+
859 #else
+
860  #define JSON_HEDLEY_DEPRECATED(since)
+
861  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
+
862 #endif
+
863 
+
864 #if defined(JSON_HEDLEY_UNAVAILABLE)
+
865  #undef JSON_HEDLEY_UNAVAILABLE
+
866 #endif
+
867 #if \
+
868  JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \
+
869  JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
+
870  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
871  #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since)))
+
872 #else
+
873  #define JSON_HEDLEY_UNAVAILABLE(available_since)
+
874 #endif
+
875 
+
876 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT)
+
877  #undef JSON_HEDLEY_WARN_UNUSED_RESULT
+
878 #endif
+
879 #if defined(__cplusplus) && (__cplusplus >= 201703L)
+
880  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
+
881 #elif \
+
882  JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \
+
883  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+
884  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
885  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
886  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+
887  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
+
888  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
889  #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
+
890 #elif defined(_Check_return_) /* SAL */
+
891  #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_
+
892 #else
+
893  #define JSON_HEDLEY_WARN_UNUSED_RESULT
+
894 #endif
+
895 
+
896 #if defined(JSON_HEDLEY_SENTINEL)
+
897  #undef JSON_HEDLEY_SENTINEL
+
898 #endif
+
899 #if \
+
900  JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \
+
901  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+
902  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
903  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0)
+
904  #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position)))
+
905 #else
+
906  #define JSON_HEDLEY_SENTINEL(position)
+
907 #endif
+
908 
+
909 #if defined(JSON_HEDLEY_NO_RETURN)
+
910  #undef JSON_HEDLEY_NO_RETURN
+
911 #endif
+
912 #if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
913  #define JSON_HEDLEY_NO_RETURN __noreturn
+
914 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
915  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
+
916 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+
917  #define JSON_HEDLEY_NO_RETURN _Noreturn
+
918 #elif defined(__cplusplus) && (__cplusplus >= 201103L)
+
919  #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
+
920 #elif \
+
921  JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \
+
922  JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \
+
923  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
924  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
925  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
926  JSON_HEDLEY_TI_VERSION_CHECK(18,0,0) || \
+
927  (JSON_HEDLEY_TI_VERSION_CHECK(17,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
928  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
+
929 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+
930  #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return")
+
931 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
+
932  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
+
933 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
+
934  #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;")
+
935 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
+
936  #define JSON_HEDLEY_NO_RETURN __attribute((noreturn))
+
937 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
+
938  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
+
939 #else
+
940  #define JSON_HEDLEY_NO_RETURN
+
941 #endif
+
942 
+
943 #if defined(JSON_HEDLEY_NO_ESCAPE)
+
944  #undef JSON_HEDLEY_NO_ESCAPE
+
945 #endif
+
946 #if JSON_HEDLEY_HAS_ATTRIBUTE(noescape)
+
947  #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__))
+
948 #else
+
949  #define JSON_HEDLEY_NO_ESCAPE
+
950 #endif
+
951 
+
952 #if defined(JSON_HEDLEY_UNREACHABLE)
+
953  #undef JSON_HEDLEY_UNREACHABLE
+
954 #endif
+
955 #if defined(JSON_HEDLEY_UNREACHABLE_RETURN)
+
956  #undef JSON_HEDLEY_UNREACHABLE_RETURN
+
957 #endif
+
958 #if \
+
959  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \
+
960  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
+
961  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
962  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)
+
963  #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable()
+
964 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
+
965  #define JSON_HEDLEY_UNREACHABLE() __assume(0)
+
966 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0)
+
967  #if defined(__cplusplus)
+
968  #define JSON_HEDLEY_UNREACHABLE() std::_nassert(0)
+
969  #else
+
970  #define JSON_HEDLEY_UNREACHABLE() _nassert(0)
+
971  #endif
+
972  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return value
+
973 #elif defined(EXIT_FAILURE)
+
974  #define JSON_HEDLEY_UNREACHABLE() abort()
+
975 #else
+
976  #define JSON_HEDLEY_UNREACHABLE()
+
977  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return value
+
978 #endif
+
979 #if !defined(JSON_HEDLEY_UNREACHABLE_RETURN)
+
980  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE()
+
981 #endif
+
982 
+
983 #if defined(JSON_HEDLEY_ASSUME)
+
984  #undef JSON_HEDLEY_ASSUME
+
985 #endif
+
986 #if \
+
987  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+
988  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
989  #define JSON_HEDLEY_ASSUME(expr) __assume(expr)
+
990 #elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume)
+
991  #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr)
+
992 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0)
+
993  #if defined(__cplusplus)
+
994  #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr)
+
995  #else
+
996  #define JSON_HEDLEY_ASSUME(expr) _nassert(expr)
+
997  #endif
+
998 #elif \
+
999  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && !defined(JSON_HEDLEY_ARM_VERSION)) || \
+
1000  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
+
1001  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1002  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)
+
1003  #define JSON_HEDLEY_ASSUME(expr) ((void) ((expr) ? 1 : (__builtin_unreachable(), 1)))
+
1004 #else
+
1005  #define JSON_HEDLEY_ASSUME(expr) ((void) (expr))
+
1006 #endif
+
1007 
+ +
1009 #if JSON_HEDLEY_HAS_WARNING("-Wpedantic")
+
1010  #pragma clang diagnostic ignored "-Wpedantic"
+
1011 #endif
+
1012 #if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus)
+
1013  #pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
+
1014 #endif
+
1015 #if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0)
+
1016  #if defined(__clang__)
+
1017  #pragma clang diagnostic ignored "-Wvariadic-macros"
+
1018  #elif defined(JSON_HEDLEY_GCC_VERSION)
+
1019  #pragma GCC diagnostic ignored "-Wvariadic-macros"
+
1020  #endif
+
1021 #endif
+
1022 #if defined(JSON_HEDLEY_NON_NULL)
+
1023  #undef JSON_HEDLEY_NON_NULL
+
1024 #endif
+
1025 #if \
+
1026  JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \
+
1027  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+
1028  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1029  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
+
1030  #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
+
1031 #else
+
1032  #define JSON_HEDLEY_NON_NULL(...)
+
1033 #endif
+ +
1035 
+
1036 #if defined(JSON_HEDLEY_PRINTF_FORMAT)
+
1037  #undef JSON_HEDLEY_PRINTF_FORMAT
+
1038 #endif
+
1039 #if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO)
+
1040  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check)))
+
1041 #elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO)
+
1042  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check)))
+
1043 #elif \
+
1044  JSON_HEDLEY_HAS_ATTRIBUTE(format) || \
+
1045  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+
1046  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1047  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
+
1048  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1049  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1050  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
1051  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check)))
+
1052 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0)
+
1053  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check))
+
1054 #else
+
1055  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
+
1056 #endif
+
1057 
+
1058 #if defined(JSON_HEDLEY_CONSTEXPR)
+
1059  #undef JSON_HEDLEY_CONSTEXPR
+
1060 #endif
+
1061 #if defined(__cplusplus)
+
1062  #if __cplusplus >= 201103L
+
1063  #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
+
1064  #endif
+
1065 #endif
+
1066 #if !defined(JSON_HEDLEY_CONSTEXPR)
+
1067  #define JSON_HEDLEY_CONSTEXPR
+
1068 #endif
+
1069 
+
1070 #if defined(JSON_HEDLEY_PREDICT)
+
1071  #undef JSON_HEDLEY_PREDICT
+
1072 #endif
+
1073 #if defined(JSON_HEDLEY_LIKELY)
+
1074  #undef JSON_HEDLEY_LIKELY
+
1075 #endif
+
1076 #if defined(JSON_HEDLEY_UNLIKELY)
+
1077  #undef JSON_HEDLEY_UNLIKELY
+
1078 #endif
+
1079 #if defined(JSON_HEDLEY_UNPREDICTABLE)
+
1080  #undef JSON_HEDLEY_UNPREDICTABLE
+
1081 #endif
+
1082 #if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable)
+
1083  #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable(!!(expr))
+
1084 #endif
+
1085 #if \
+
1086  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) || \
+
1087  JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0)
+
1088 # define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability(expr, value, probability)
+
1089 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1, probability)
+
1090 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0, probability)
+
1091 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
+
1092 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
+
1093 #if !defined(JSON_HEDLEY_BUILTIN_UNPREDICTABLE)
+
1094  #define JSON_HEDLEY_BUILTIN_UNPREDICTABLE(expr) __builtin_expect_with_probability(!!(expr), 1, 0.5)
+
1095 #endif
+
1096 #elif \
+
1097  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) || \
+
1098  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
+
1099  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1100  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
+
1101  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1102  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1103  JSON_HEDLEY_TI_VERSION_CHECK(6,1,0) || \
+
1104  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27)
+
1105 # define JSON_HEDLEY_PREDICT(expr, expected, probability) \
+
1106  (((probability) >= 0.9) ? __builtin_expect(!!(expr), (expected)) : (((void) (expected)), !!(expr)))
+
1107 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \
+
1108  (__extension__ ({ \
+
1109  JSON_HEDLEY_CONSTEXPR double hedley_probability_ = (probability); \
+
1110  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \
+
1111  }))
+
1112 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \
+
1113  (__extension__ ({ \
+
1114  JSON_HEDLEY_CONSTEXPR double hedley_probability_ = (probability); \
+
1115  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \
+
1116  }))
+
1117 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
+
1118 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
+
1119 #else
+
1120 # define JSON_HEDLEY_PREDICT(expr, expected, probability) (((void) (expected)), !!(expr))
+
1121 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr))
+
1122 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr))
+
1123 # define JSON_HEDLEY_LIKELY(expr) (!!(expr))
+
1124 # define JSON_HEDLEY_UNLIKELY(expr) (!!(expr))
+
1125 #endif
+
1126 #if !defined(JSON_HEDLEY_UNPREDICTABLE)
+
1127  #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5)
+
1128 #endif
+
1129 
+
1130 #if defined(JSON_HEDLEY_MALLOC)
+
1131  #undef JSON_HEDLEY_MALLOC
+
1132 #endif
+
1133 #if \
+
1134  JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \
+
1135  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+
1136  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1137  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1138  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1139  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
+
1140  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1141  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
1142  #define JSON_HEDLEY_MALLOC __attribute__((__malloc__))
+
1143 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+
1144  #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory")
+
1145 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(14, 0, 0)
+
1146  #define JSON_HEDLEY_MALLOC __declspec(restrict)
+
1147 #else
+
1148  #define JSON_HEDLEY_MALLOC
+
1149 #endif
+
1150 
+
1151 #if defined(JSON_HEDLEY_PURE)
+
1152  #undef JSON_HEDLEY_PURE
+
1153 #endif
+
1154 #if \
+
1155  JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \
+
1156  JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \
+
1157  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1158  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1159  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1160  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1161  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1162  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+
1163  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
1164  #define JSON_HEDLEY_PURE __attribute__((__pure__))
+
1165 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+
1166  #define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data")
+
1167 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
+
1168  #define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;")
+
1169 #else
+
1170  #define JSON_HEDLEY_PURE
+
1171 #endif
+
1172 
+
1173 #if defined(JSON_HEDLEY_CONST)
+
1174  #undef JSON_HEDLEY_CONST
+
1175 #endif
+
1176 #if \
+
1177  JSON_HEDLEY_HAS_ATTRIBUTE(const) || \
+
1178  JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \
+
1179  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1180  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1181  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1182  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1183  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1184  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+
1185  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
+
1186  #define JSON_HEDLEY_CONST __attribute__((__const__))
+
1187 #elif \
+
1188  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+
1189  #define JSON_HEDLEY_CONST _Pragma("no_side_effect")
+
1190 #else
+
1191  #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE
+
1192 #endif
+
1193 
+
1194 #if defined(JSON_HEDLEY_RESTRICT)
+
1195  #undef JSON_HEDLEY_RESTRICT
+
1196 #endif
+
1197 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus)
+
1198  #define JSON_HEDLEY_RESTRICT restrict
+
1199 #elif \
+
1200  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+
1201  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
+
1202  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1203  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1204  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1205  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+
1206  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1207  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \
+
1208  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
+
1209  defined(__clang__)
+
1210  #define JSON_HEDLEY_RESTRICT __restrict
+
1211 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus)
+
1212  #define JSON_HEDLEY_RESTRICT _Restrict
+
1213 #else
+
1214  #define JSON_HEDLEY_RESTRICT
+
1215 #endif
+
1216 
+
1217 #if defined(JSON_HEDLEY_INLINE)
+
1218  #undef JSON_HEDLEY_INLINE
+
1219 #endif
+
1220 #if \
+
1221  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
+
1222  (defined(__cplusplus) && (__cplusplus >= 199711L))
+
1223  #define JSON_HEDLEY_INLINE inline
+
1224 #elif \
+
1225  defined(JSON_HEDLEY_GCC_VERSION) || \
+
1226  JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0)
+
1227  #define JSON_HEDLEY_INLINE __inline__
+
1228 #elif \
+
1229  JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
+
1230  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1231  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
+
1232  #define JSON_HEDLEY_INLINE __inline
+
1233 #else
+
1234  #define JSON_HEDLEY_INLINE
+
1235 #endif
+
1236 
+
1237 #if defined(JSON_HEDLEY_ALWAYS_INLINE)
+
1238  #undef JSON_HEDLEY_ALWAYS_INLINE
+
1239 #endif
+
1240 #if \
+
1241  JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \
+
1242  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+
1243  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1244  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1245  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1246  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1247  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1248  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
1249  #define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
+
1250 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0)
+
1251  #define JSON_HEDLEY_ALWAYS_INLINE __forceinline
+
1252 #elif JSON_HEDLEY_TI_VERSION_CHECK(7,0,0) && defined(__cplusplus)
+
1253  #define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
+
1254 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
1255  #define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced")
+
1256 #else
+
1257  #define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE
+
1258 #endif
+
1259 
+
1260 #if defined(JSON_HEDLEY_NEVER_INLINE)
+
1261  #undef JSON_HEDLEY_NEVER_INLINE
+
1262 #endif
+
1263 #if \
+
1264  JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \
+
1265  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+
1266  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1267  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1268  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1269  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+
1270  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1271  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
1272  #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__))
+
1273 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
+
1274  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
+
1275 #elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0)
+
1276  #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline")
+
1277 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
+
1278  #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;")
+
1279 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
1280  #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never")
+
1281 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
+
1282  #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline))
+
1283 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
+
1284  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
+
1285 #else
+
1286  #define JSON_HEDLEY_NEVER_INLINE
+
1287 #endif
+
1288 
+
1289 #if defined(JSON_HEDLEY_PRIVATE)
+
1290  #undef JSON_HEDLEY_PRIVATE
+
1291 #endif
+
1292 #if defined(JSON_HEDLEY_PUBLIC)
+
1293  #undef JSON_HEDLEY_PUBLIC
+
1294 #endif
+
1295 #if defined(JSON_HEDLEY_IMPORT)
+
1296  #undef JSON_HEDLEY_IMPORT
+
1297 #endif
+
1298 #if defined(_WIN32) || defined(__CYGWIN__)
+
1299  #define JSON_HEDLEY_PRIVATE
+
1300  #define JSON_HEDLEY_PUBLIC __declspec(dllexport)
+
1301  #define JSON_HEDLEY_IMPORT __declspec(dllimport)
+
1302 #else
+
1303  #if \
+
1304  JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \
+
1305  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+
1306  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+
1307  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1308  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1309  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+
1310  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
+
1311  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_EABI__) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
+
1312  #define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden")))
+
1313  #define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default")))
+
1314  #else
+
1315  #define JSON_HEDLEY_PRIVATE
+
1316  #define JSON_HEDLEY_PUBLIC
+
1317  #endif
+
1318  #define JSON_HEDLEY_IMPORT extern
+
1319 #endif
+
1320 
+
1321 #if defined(JSON_HEDLEY_NO_THROW)
+
1322  #undef JSON_HEDLEY_NO_THROW
+
1323 #endif
+
1324 #if \
+
1325  JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \
+
1326  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+
1327  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
1328  #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__))
+
1329 #elif \
+
1330  JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \
+
1331  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
+
1332  #define JSON_HEDLEY_NO_THROW __declspec(nothrow)
+
1333 #else
+
1334  #define JSON_HEDLEY_NO_THROW
+
1335 #endif
+
1336 
+
1337 #if defined(JSON_HEDLEY_FALL_THROUGH)
+
1338  #undef JSON_HEDLEY_FALL_THROUGH
+
1339 #endif
+
1340 #if JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(fallthrough,7,0,0) && !defined(JSON_HEDLEY_PGI_VERSION)
+
1341  #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__))
+
1342 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough)
+
1343  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
+
1344 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough)
+
1345  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
+
1346 #elif defined(__fallthrough) /* SAL */
+
1347  #define JSON_HEDLEY_FALL_THROUGH __fallthrough
+
1348 #else
+
1349  #define JSON_HEDLEY_FALL_THROUGH
+
1350 #endif
+
1351 
+
1352 #if defined(JSON_HEDLEY_RETURNS_NON_NULL)
+
1353  #undef JSON_HEDLEY_RETURNS_NON_NULL
+
1354 #endif
+
1355 #if \
+
1356  JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \
+
1357  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0)
+
1358  #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__))
+
1359 #elif defined(_Ret_notnull_) /* SAL */
+
1360  #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_
+
1361 #else
+
1362  #define JSON_HEDLEY_RETURNS_NON_NULL
+
1363 #endif
+
1364 
+
1365 #if defined(JSON_HEDLEY_ARRAY_PARAM)
+
1366  #undef JSON_HEDLEY_ARRAY_PARAM
+
1367 #endif
+
1368 #if \
+
1369  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
+
1370  !defined(__STDC_NO_VLA__) && \
+
1371  !defined(__cplusplus) && \
+
1372  !defined(JSON_HEDLEY_PGI_VERSION) && \
+
1373  !defined(JSON_HEDLEY_TINYC_VERSION)
+
1374  #define JSON_HEDLEY_ARRAY_PARAM(name) (name)
+
1375 #else
+
1376  #define JSON_HEDLEY_ARRAY_PARAM(name)
+
1377 #endif
+
1378 
+
1379 #if defined(JSON_HEDLEY_IS_CONSTANT)
+
1380  #undef JSON_HEDLEY_IS_CONSTANT
+
1381 #endif
+
1382 #if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR)
+
1383  #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
+
1384 #endif
+
1385 /* JSON_HEDLEY_IS_CONSTEXPR_ is for
+
1386  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
+
1387 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
+
1388  #undef JSON_HEDLEY_IS_CONSTEXPR_
+
1389 #endif
+
1390 #if \
+
1391  JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
+
1392  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+
1393  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1394  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
+
1395  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+
1396  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+
1397  JSON_HEDLEY_TI_VERSION_CHECK(6,1,0) || \
+
1398  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
+
1399  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)
+
1400  #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr)
+
1401 #endif
+
1402 #if !defined(__cplusplus)
+
1403 # if \
+
1404  JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \
+
1405  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+
1406  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1407  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+
1408  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
+
1409  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
+
1410  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24)
+
1411 #if defined(__INTPTR_TYPE__)
+
1412  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*)
+
1413 #else
+
1414  #include <stdint.h>
+
1415  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*)
+
1416 #endif
+
1417 # elif \
+
1418  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && !defined(JSON_HEDLEY_SUNPRO_VERSION) && !defined(JSON_HEDLEY_PGI_VERSION)) || \
+
1419  JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) || \
+
1420  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
+
1421  JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
+
1422  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
+
1423  JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0)
+
1424 #if defined(__INTPTR_TYPE__)
+
1425  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0)
+
1426 #else
+
1427  #include <stdint.h>
+
1428  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0)
+
1429 #endif
+
1430 # elif \
+
1431  defined(JSON_HEDLEY_GCC_VERSION) || \
+
1432  defined(JSON_HEDLEY_INTEL_VERSION) || \
+
1433  defined(JSON_HEDLEY_TINYC_VERSION) || \
+
1434  defined(JSON_HEDLEY_TI_VERSION) || \
+
1435  defined(__clang__)
+
1436 # define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \
+
1437  sizeof(void) != \
+
1438  sizeof(*( \
+
1439  1 ? \
+
1440  ((void*) ((expr) * 0L) ) : \
+
1441 ((struct { char v[sizeof(void) * 2]; } *) 1) \
+
1442  ) \
+
1443  ) \
+
1444  )
+
1445 # endif
+
1446 #endif
+
1447 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
+
1448  #if !defined(JSON_HEDLEY_IS_CONSTANT)
+
1449  #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr)
+
1450  #endif
+
1451  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1))
+
1452 #else
+
1453  #if !defined(JSON_HEDLEY_IS_CONSTANT)
+
1454  #define JSON_HEDLEY_IS_CONSTANT(expr) (0)
+
1455  #endif
+
1456  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr)
+
1457 #endif
+
1458 
+
1459 #if defined(JSON_HEDLEY_BEGIN_C_DECLS)
+
1460  #undef JSON_HEDLEY_BEGIN_C_DECLS
+
1461 #endif
+
1462 #if defined(JSON_HEDLEY_END_C_DECLS)
+
1463  #undef JSON_HEDLEY_END_C_DECLS
+
1464 #endif
+
1465 #if defined(JSON_HEDLEY_C_DECL)
+
1466  #undef JSON_HEDLEY_C_DECL
+
1467 #endif
+
1468 #if defined(__cplusplus)
+
1469  #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" {
+
1470  #define JSON_HEDLEY_END_C_DECLS }
+
1471  #define JSON_HEDLEY_C_DECL extern "C"
+
1472 #else
+
1473  #define JSON_HEDLEY_BEGIN_C_DECLS
+
1474  #define JSON_HEDLEY_END_C_DECLS
+
1475  #define JSON_HEDLEY_C_DECL
+
1476 #endif
+
1477 
+
1478 #if defined(JSON_HEDLEY_STATIC_ASSERT)
+
1479  #undef JSON_HEDLEY_STATIC_ASSERT
+
1480 #endif
+
1481 #if \
+
1482  !defined(__cplusplus) && ( \
+
1483  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
+
1484  JSON_HEDLEY_HAS_FEATURE(c_static_assert) || \
+
1485  JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
+
1486  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+
1487  defined(_Static_assert) \
+
1488  )
+
1489 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
+
1490 #elif \
+
1491  (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
+
1492  JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \
+
1493  (defined(__cplusplus) && JSON_HEDLEY_TI_VERSION_CHECK(8,3,0))
+
1494 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
+
1495 #else
+
1496 # define JSON_HEDLEY_STATIC_ASSERT(expr, message)
+
1497 #endif
+
1498 
+
1499 #if defined(JSON_HEDLEY_CONST_CAST)
+
1500  #undef JSON_HEDLEY_CONST_CAST
+
1501 #endif
+
1502 #if defined(__cplusplus)
+
1503 # define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast<T>(expr))
+
1504 #elif \
+
1505  JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \
+
1506  JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \
+
1507  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
1508 # define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \
+
1509  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1510  JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \
+
1511  ((T) (expr)); \
+
1512  JSON_HEDLEY_DIAGNOSTIC_POP \
+
1513  }))
+
1514 #else
+
1515 # define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr))
+
1516 #endif
+
1517 
+
1518 #if defined(JSON_HEDLEY_REINTERPRET_CAST)
+
1519  #undef JSON_HEDLEY_REINTERPRET_CAST
+
1520 #endif
+
1521 #if defined(__cplusplus)
+
1522  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast<T>(expr))
+
1523 #else
+
1524  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (*((T*) &(expr)))
+
1525 #endif
+
1526 
+
1527 #if defined(JSON_HEDLEY_STATIC_CAST)
+
1528  #undef JSON_HEDLEY_STATIC_CAST
+
1529 #endif
+
1530 #if defined(__cplusplus)
+
1531  #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast<T>(expr))
+
1532 #else
+
1533  #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr))
+
1534 #endif
+
1535 
+
1536 #if defined(JSON_HEDLEY_CPP_CAST)
+
1537  #undef JSON_HEDLEY_CPP_CAST
+
1538 #endif
+
1539 #if defined(__cplusplus)
+
1540  #define JSON_HEDLEY_CPP_CAST(T, expr) static_cast<T>(expr)
+
1541 #else
+
1542  #define JSON_HEDLEY_CPP_CAST(T, expr) (expr)
+
1543 #endif
+
1544 
+
1545 #if defined(JSON_HEDLEY_NULL)
+
1546  #undef JSON_HEDLEY_NULL
+
1547 #endif
+
1548 #if defined(__cplusplus)
+
1549  #if __cplusplus >= 201103L
+
1550  #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
+
1551  #elif defined(NULL)
+
1552  #define JSON_HEDLEY_NULL NULL
+
1553  #else
+
1554  #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0)
+
1555  #endif
+
1556 #elif defined(NULL)
+
1557  #define JSON_HEDLEY_NULL NULL
+
1558 #else
+
1559  #define JSON_HEDLEY_NULL ((void*) 0)
+
1560 #endif
+
1561 
+
1562 #if defined(JSON_HEDLEY_MESSAGE)
+
1563  #undef JSON_HEDLEY_MESSAGE
+
1564 #endif
+
1565 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+
1566 # define JSON_HEDLEY_MESSAGE(msg) \
+
1567  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1568  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
+
1569  JSON_HEDLEY_PRAGMA(message msg) \
+
1570  JSON_HEDLEY_DIAGNOSTIC_POP
+
1571 #elif \
+
1572  JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \
+
1573  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+
1574 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg)
+
1575 #elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0)
+
1576 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg)
+
1577 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
+
1578 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
+
1579 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0)
+
1580 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
+
1581 #else
+
1582 # define JSON_HEDLEY_MESSAGE(msg)
+
1583 #endif
+
1584 
+
1585 #if defined(JSON_HEDLEY_WARNING)
+
1586  #undef JSON_HEDLEY_WARNING
+
1587 #endif
+
1588 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+
1589 # define JSON_HEDLEY_WARNING(msg) \
+
1590  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1591  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
+
1592  JSON_HEDLEY_PRAGMA(clang warning msg) \
+
1593  JSON_HEDLEY_DIAGNOSTIC_POP
+
1594 #elif \
+
1595  JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \
+
1596  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0)
+
1597 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg)
+
1598 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+
1599 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg))
+
1600 #else
+
1601 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg)
+
1602 #endif
+
1603 
+
1604 #if defined(JSON_HEDLEY_REQUIRE)
+
1605  #undef JSON_HEDLEY_REQUIRE
+
1606 #endif
+
1607 #if defined(JSON_HEDLEY_REQUIRE_MSG)
+
1608  #undef JSON_HEDLEY_REQUIRE_MSG
+
1609 #endif
+
1610 #if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if)
+
1611 # if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat")
+
1612 # define JSON_HEDLEY_REQUIRE(expr) \
+
1613  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1614  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
+
1615  __attribute__((diagnose_if(!(expr), #expr, "error"))) \
+
1616  JSON_HEDLEY_DIAGNOSTIC_POP
+
1617 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \
+
1618  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1619  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
+
1620  __attribute__((diagnose_if(!(expr), msg, "error"))) \
+
1621  JSON_HEDLEY_DIAGNOSTIC_POP
+
1622 # else
+
1623 # define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error")))
+
1624 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error")))
+
1625 # endif
+
1626 #else
+
1627 # define JSON_HEDLEY_REQUIRE(expr)
+
1628 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg)
+
1629 #endif
+
1630 
+
1631 #if defined(JSON_HEDLEY_FLAGS)
+
1632  #undef JSON_HEDLEY_FLAGS
+
1633 #endif
+
1634 #if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum)
+
1635  #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__))
+
1636 #endif
+
1637 
+
1638 #if defined(JSON_HEDLEY_FLAGS_CAST)
+
1639  #undef JSON_HEDLEY_FLAGS_CAST
+
1640 #endif
+
1641 #if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0)
+
1642 # define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \
+
1643  JSON_HEDLEY_DIAGNOSTIC_PUSH \
+
1644  _Pragma("warning(disable:188)") \
+
1645  ((T) (expr)); \
+
1646  JSON_HEDLEY_DIAGNOSTIC_POP \
+
1647  }))
+
1648 #else
+
1649 # define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr)
+
1650 #endif
+
1651 
+
1652 #if defined(JSON_HEDLEY_EMPTY_BASES)
+
1653  #undef JSON_HEDLEY_EMPTY_BASES
+
1654 #endif
+
1655 #if JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)
+
1656  #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases)
+
1657 #else
+
1658  #define JSON_HEDLEY_EMPTY_BASES
+
1659 #endif
+
1660 
+
1661 /* Remaining macros are deprecated. */
+
1662 
+
1663 #if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK)
+
1664  #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
+
1665 #endif
+
1666 #if defined(__clang__)
+
1667  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0)
+
1668 #else
+
1669  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+
1670 #endif
+
1671 
+
1672 #if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE)
+
1673  #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
+
1674 #endif
+
1675 #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
+
1676 
+
1677 #if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE)
+
1678  #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
+
1679 #endif
+
1680 #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
+
1681 
+
1682 #if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN)
+
1683  #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
+
1684 #endif
+
1685 #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin)
+
1686 
+
1687 #if defined(JSON_HEDLEY_CLANG_HAS_FEATURE)
+
1688  #undef JSON_HEDLEY_CLANG_HAS_FEATURE
+
1689 #endif
+
1690 #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature)
+
1691 
+
1692 #if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION)
+
1693  #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
+
1694 #endif
+
1695 #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension)
+
1696 
+
1697 #if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE)
+
1698  #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
+
1699 #endif
+
1700 #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
+
1701 
+
1702 #if defined(JSON_HEDLEY_CLANG_HAS_WARNING)
+
1703  #undef JSON_HEDLEY_CLANG_HAS_WARNING
+
1704 #endif
+
1705 #define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning)
+
1706 
+
1707 #endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */
+
1708 
+
1709 
+
1710 // This file contains all internal macro definitions
+
1711 // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them
+
1712 
+
1713 // exclude unsupported compilers
+
1714 #if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK)
+
1715  #if defined(__clang__)
+
1716  #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
+
1717  #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
+
1718  #endif
+
1719  #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
+
1720  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800
+
1721  #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
+
1722  #endif
+
1723  #endif
+
1724 #endif
+
1725 
+
1726 // C++ language standard detection
+
1727 #if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464
+
1728  #define JSON_HAS_CPP_17
+
1729  #define JSON_HAS_CPP_14
+
1730 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
+
1731  #define JSON_HAS_CPP_14
+
1732 #endif
+
1733 
+
1734 // disable float-equal warnings on GCC/clang
+
1735 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+
1736  #pragma GCC diagnostic push
+
1737  #pragma GCC diagnostic ignored "-Wfloat-equal"
+
1738 #endif
+
1739 
+
1740 // disable documentation warnings on clang
+
1741 #if defined(__clang__)
+
1742  #pragma GCC diagnostic push
+
1743  #pragma GCC diagnostic ignored "-Wdocumentation"
+
1744 #endif
+
1745 
+
1746 // allow to disable exceptions
+
1747 #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
+
1748  #define JSON_THROW(exception) throw exception
+
1749  #define JSON_TRY try
+
1750  #define JSON_CATCH(exception) catch(exception)
+
1751  #define JSON_INTERNAL_CATCH(exception) catch(exception)
+
1752 #else
+
1753  #include <cstdlib>
+
1754  #define JSON_THROW(exception) std::abort()
+
1755  #define JSON_TRY if(true)
+
1756  #define JSON_CATCH(exception) if(false)
+
1757  #define JSON_INTERNAL_CATCH(exception) if(false)
+
1758 #endif
+
1759 
+
1760 // override exception macros
+
1761 #if defined(JSON_THROW_USER)
+
1762  #undef JSON_THROW
+
1763  #define JSON_THROW JSON_THROW_USER
+
1764 #endif
+
1765 #if defined(JSON_TRY_USER)
+
1766  #undef JSON_TRY
+
1767  #define JSON_TRY JSON_TRY_USER
+
1768 #endif
+
1769 #if defined(JSON_CATCH_USER)
+
1770  #undef JSON_CATCH
+
1771  #define JSON_CATCH JSON_CATCH_USER
+
1772  #undef JSON_INTERNAL_CATCH
+
1773  #define JSON_INTERNAL_CATCH JSON_CATCH_USER
+
1774 #endif
+
1775 #if defined(JSON_INTERNAL_CATCH_USER)
+
1776  #undef JSON_INTERNAL_CATCH
+
1777  #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER
+
1778 #endif
+
1779 
+
1785 #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \
+
1786  template<typename BasicJsonType> \
+
1787  inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
+
1788  { \
+
1789  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
+
1790  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
+
1791  auto it = std::find_if(std::begin(m), std::end(m), \
+
1792  [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
+
1793  { \
+
1794  return ej_pair.first == e; \
+
1795  }); \
+
1796  j = ((it != std::end(m)) ? it : std::begin(m))->second; \
+
1797  } \
+
1798  template<typename BasicJsonType> \
+
1799  inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
+
1800  { \
+
1801  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
+
1802  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
+
1803  auto it = std::find_if(std::begin(m), std::end(m), \
+
1804  [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
+
1805  { \
+
1806  return ej_pair.second == j; \
+
1807  }); \
+
1808  e = ((it != std::end(m)) ? it : std::begin(m))->first; \
+
1809  }
+
1810 
+
1811 // Ugly macros to avoid uglier copy-paste when specializing basic_json. They
+
1812 // may be removed in the future once the class is split.
+
1813 
+
1814 #define NLOHMANN_BASIC_JSON_TPL_DECLARATION \
+
1815  template<template<typename, typename, typename...> class ObjectType, \
+
1816  template<typename, typename...> class ArrayType, \
+
1817  class StringType, class BooleanType, class NumberIntegerType, \
+
1818  class NumberUnsignedType, class NumberFloatType, \
+
1819  template<typename> class AllocatorType, \
+
1820  template<typename, typename = void> class JSONSerializer>
+
1821 
+
1822 #define NLOHMANN_BASIC_JSON_TPL \
+
1823  basic_json<ObjectType, ArrayType, StringType, BooleanType, \
+
1824  NumberIntegerType, NumberUnsignedType, NumberFloatType, \
+
1825  AllocatorType, JSONSerializer>
+
1826 
+
1827 
+
1828 namespace nlohmann
+
1829 {
+
1830 namespace detail
+
1831 {
+
1833 // exceptions //
+
1835 
+
1864 class exception : public std::exception
+
1865 {
+
1866  public:
+ +
1869  const char* what() const noexcept override
+
1870  {
+
1871  return m.what();
+
1872  }
+
1873 
+
1875  const int id;
+
1876 
+
1877  protected:
+ +
1879  exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
+
1880 
+
1881  static std::string name(const std::string& ename, int id_)
+
1882  {
+
1883  return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
+
1884  }
+
1885 
+
1886  private:
+
1888  std::runtime_error m;
+
1889 };
+
1890 
+
1935 class parse_error : public exception
+
1936 {
+
1937  public:
+
1947  static parse_error create(int id_, const position_t& pos, const std::string& what_arg)
+
1948  {
+
1949  std::string w = exception::name("parse_error", id_) + "parse error" +
+
1950  position_string(pos) + ": " + what_arg;
+
1951  return parse_error(id_, pos.chars_read_total, w.c_str());
+
1952  }
+
1953 
+
1954  static parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
+
1955  {
+
1956  std::string w = exception::name("parse_error", id_) + "parse error" +
+
1957  (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") +
+
1958  ": " + what_arg;
+
1959  return parse_error(id_, byte_, w.c_str());
+
1960  }
+
1961 
+
1971  const std::size_t byte;
+
1972 
+
1973  private:
+
1974  parse_error(int id_, std::size_t byte_, const char* what_arg)
+
1975  : exception(id_, what_arg), byte(byte_) {}
+
1976 
+
1977  static std::string position_string(const position_t& pos)
+
1978  {
+
1979  return " at line " + std::to_string(pos.lines_read + 1) +
+
1980  ", column " + std::to_string(pos.chars_read_current_line);
+
1981  }
+
1982 };
+
1983 
+ +
2022 {
+
2023  public:
+
2024  static invalid_iterator create(int id_, const std::string& what_arg)
+
2025  {
+
2026  std::string w = exception::name("invalid_iterator", id_) + what_arg;
+
2027  return invalid_iterator(id_, w.c_str());
+
2028  }
+
2029 
+
2030  private:
+ +
2032  invalid_iterator(int id_, const char* what_arg)
+
2033  : exception(id_, what_arg) {}
+
2034 };
+
2035 
+
2075 class type_error : public exception
+
2076 {
+
2077  public:
+
2078  static type_error create(int id_, const std::string& what_arg)
+
2079  {
+
2080  std::string w = exception::name("type_error", id_) + what_arg;
+
2081  return type_error(id_, w.c_str());
+
2082  }
+
2083 
+
2084  private:
+ +
2086  type_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
+
2087 };
+
2088 
+
2122 class out_of_range : public exception
+
2123 {
+
2124  public:
+
2125  static out_of_range create(int id_, const std::string& what_arg)
+
2126  {
+
2127  std::string w = exception::name("out_of_range", id_) + what_arg;
+
2128  return out_of_range(id_, w.c_str());
+
2129  }
+
2130 
+
2131  private:
+ +
2133  out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {}
+
2134 };
+
2135 
+
2160 class other_error : public exception
+
2161 {
+
2162  public:
+
2163  static other_error create(int id_, const std::string& what_arg)
+
2164  {
+
2165  std::string w = exception::name("other_error", id_) + what_arg;
+
2166  return other_error(id_, w.c_str());
+
2167  }
+
2168 
+
2169  private:
+ +
2171  other_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
+
2172 };
+
2173 } // namespace detail
+
2174 } // namespace nlohmann
+
2175 
+
2176 // #include <nlohmann/detail/macro_scope.hpp>
+
2177 
+
2178 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
2179 
+
2180 
+
2181 #include <ciso646> // not
+
2182 #include <cstddef> // size_t
+
2183 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
+
2184 
+
2185 namespace nlohmann
+
2186 {
+
2187 namespace detail
+
2188 {
+
2189 // alias templates to reduce boilerplate
+
2190 template<bool B, typename T = void>
+
2191 using enable_if_t = typename std::enable_if<B, T>::type;
+
2192 
+
2193 template<typename T>
+
2194 using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
+
2195 
+
2196 // implementation of C++14 index_sequence and affiliates
+
2197 // source: https://stackoverflow.com/a/32223343
+
2198 template<std::size_t... Ints>
+ +
2200 {
+ +
2202  using value_type = std::size_t;
+
2203  static constexpr std::size_t size() noexcept
+
2204  {
+
2205  return sizeof...(Ints);
+
2206  }
+
2207 };
+
2208 
+
2209 template<class Sequence1, class Sequence2>
+ +
2211 
+
2212 template<std::size_t... I1, std::size_t... I2>
+ +
2214  : index_sequence < I1..., (sizeof...(I1) + I2)... > {};
+
2215 
+
2216 template<std::size_t N>
+ +
2218  : merge_and_renumber < typename make_index_sequence < N / 2 >::type,
+
2219  typename make_index_sequence < N - N / 2 >::type > {};
+
2220 
+
2221 template<> struct make_index_sequence<0> : index_sequence<> {};
+
2222 template<> struct make_index_sequence<1> : index_sequence<0> {};
+
2223 
+
2224 template<typename... Ts>
+ +
2226 
+
2227 // dispatch utility (taken from ranges-v3)
+
2228 template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
+
2229 template<> struct priority_tag<0> {};
+
2230 
+
2231 // taken from ranges-v3
+
2232 template<typename T>
+ +
2234 {
+
2235  static constexpr T value{};
+
2236 };
+
2237 
+
2238 template<typename T>
+
2239 constexpr T static_const<T>::value;
+
2240 } // namespace detail
+
2241 } // namespace nlohmann
+
2242 
+
2243 // #include <nlohmann/detail/meta/type_traits.hpp>
+
2244 
+
2245 
+
2246 #include <ciso646> // not
+
2247 #include <limits> // numeric_limits
+
2248 #include <type_traits> // false_type, is_constructible, is_integral, is_same, true_type
+
2249 #include <utility> // declval
+
2250 
+
2251 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
+
2252 
+
2253 
+
2254 #include <iterator> // random_access_iterator_tag
+
2255 
+
2256 // #include <nlohmann/detail/meta/void_t.hpp>
+
2257 
+
2258 
+
2259 namespace nlohmann
+
2260 {
+
2261 namespace detail
+
2262 {
+
2263 template <typename ...Ts> struct make_void
+
2264 {
+
2265  using type = void;
+
2266 };
+
2267 template <typename ...Ts> using void_t = typename make_void<Ts...>::type;
+
2268 } // namespace detail
+
2269 } // namespace nlohmann
+
2270 
+
2271 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
2272 
+
2273 
+
2274 namespace nlohmann
+
2275 {
+
2276 namespace detail
+
2277 {
+
2278 template <typename It, typename = void>
+
2279 struct iterator_types {};
+
2280 
+
2281 template <typename It>
+ +
2283  It,
+
2284  void_t<typename It::difference_type, typename It::value_type, typename It::pointer,
+
2285  typename It::reference, typename It::iterator_category >>
+
2286 {
+
2287  using difference_type = typename It::difference_type;
+
2288  using value_type = typename It::value_type;
+
2289  using pointer = typename It::pointer;
+
2290  using reference = typename It::reference;
+
2291  using iterator_category = typename It::iterator_category;
+
2292 };
+
2293 
+
2294 // This is required as some compilers implement std::iterator_traits in a way that
+
2295 // doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341.
+
2296 template <typename T, typename = void>
+ +
2298 {
+
2299 };
+
2300 
+
2301 template <typename T>
+
2302 struct iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
+
2303  : iterator_types<T>
+
2304 {
+
2305 };
+
2306 
+
2307 template <typename T>
+ +
2309 {
+
2310  using iterator_category = std::random_access_iterator_tag;
+
2311  using value_type = T;
+
2312  using difference_type = ptrdiff_t;
+
2313  using pointer = T*;
+
2314  using reference = T&;
+
2315 };
+
2316 } // namespace detail
+
2317 } // namespace nlohmann
+
2318 
+
2319 // #include <nlohmann/detail/macro_scope.hpp>
+
2320 
+
2321 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
2322 
+
2323 // #include <nlohmann/detail/meta/detected.hpp>
+
2324 
+
2325 
+
2326 #include <type_traits>
+
2327 
+
2328 // #include <nlohmann/detail/meta/void_t.hpp>
+
2329 
+
2330 
+
2331 // http://en.cppreference.com/w/cpp/experimental/is_detected
+
2332 namespace nlohmann
+
2333 {
+
2334 namespace detail
+
2335 {
+
2336 struct nonesuch
+
2337 {
+
2338  nonesuch() = delete;
+
2339  ~nonesuch() = delete;
+
2340  nonesuch(nonesuch const&) = delete;
+
2341  nonesuch(nonesuch const&&) = delete;
+
2342  void operator=(nonesuch const&) = delete;
+
2343  void operator=(nonesuch&&) = delete;
+
2344 };
+
2345 
+
2346 template <class Default,
+
2347  class AlwaysVoid,
+
2348  template <class...> class Op,
+
2349  class... Args>
+
2350 struct detector
+
2351 {
+
2352  using value_t = std::false_type;
+
2353  using type = Default;
+
2354 };
+
2355 
+
2356 template <class Default, template <class...> class Op, class... Args>
+
2357 struct detector<Default, void_t<Op<Args...>>, Op, Args...>
+
2358 {
+
2359  using value_t = std::true_type;
+
2360  using type = Op<Args...>;
+
2361 };
+
2362 
+
2363 template <template <class...> class Op, class... Args>
+
2364 using is_detected = typename detector<nonesuch, void, Op, Args...>::value_t;
+
2365 
+
2366 template <template <class...> class Op, class... Args>
+
2367 using detected_t = typename detector<nonesuch, void, Op, Args...>::type;
+
2368 
+
2369 template <class Default, template <class...> class Op, class... Args>
+
2370 using detected_or = detector<Default, void, Op, Args...>;
+
2371 
+
2372 template <class Default, template <class...> class Op, class... Args>
+
2373 using detected_or_t = typename detected_or<Default, Op, Args...>::type;
+
2374 
+
2375 template <class Expected, template <class...> class Op, class... Args>
+
2376 using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>;
+
2377 
+
2378 template <class To, template <class...> class Op, class... Args>
+ +
2380  std::is_convertible<detected_t<Op, Args...>, To>;
+
2381 } // namespace detail
+
2382 } // namespace nlohmann
+
2383 
+
2384 // #include <nlohmann/json_fwd.hpp>
+
2385 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
+
2386 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
+
2387 
+
2388 #include <cstdint> // int64_t, uint64_t
+
2389 #include <map> // map
+
2390 #include <memory> // allocator
+
2391 #include <string> // string
+
2392 #include <vector> // vector
+
2393 
+
2399 namespace nlohmann
+
2400 {
+
2408 template<typename T = void, typename SFINAE = void>
+ +
2410 
+
2411 template<template<typename U, typename V, typename... Args> class ObjectType =
+
2412  std::map,
+
2413  template<typename U, typename... Args> class ArrayType = std::vector,
+
2414  class StringType = std::string, class BooleanType = bool,
+
2415  class NumberIntegerType = std::int64_t,
+
2416  class NumberUnsignedType = std::uint64_t,
+
2417  class NumberFloatType = double,
+
2418  template<typename U> class AllocatorType = std::allocator,
+
2419  template<typename T, typename SFINAE = void> class JSONSerializer =
+ + +
2422 
+
2434 template<typename BasicJsonType>
+ +
2436 
+ +
2446 } // namespace nlohmann
+
2447 
+
2448 #endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
+
2449 
+
2450 
+
2451 namespace nlohmann
+
2452 {
+
2461 namespace detail
+
2462 {
+
2464 // helpers //
+
2466 
+
2467 // Note to maintainers:
+
2468 //
+
2469 // Every trait in this file expects a non CV-qualified type.
+
2470 // The only exceptions are in the 'aliases for detected' section
+
2471 // (i.e. those of the form: decltype(T::member_function(std::declval<T>())))
+
2472 //
+
2473 // In this case, T has to be properly CV-qualified to constraint the function arguments
+
2474 // (e.g. to_json(BasicJsonType&, const T&))
+
2475 
+
2476 template<typename> struct is_basic_json : std::false_type {};
+
2477 
+ +
2479 struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
+
2480 
+
2482 // aliases for detected //
+
2484 
+
2485 template <typename T>
+
2486 using mapped_type_t = typename T::mapped_type;
+
2487 
+
2488 template <typename T>
+
2489 using key_type_t = typename T::key_type;
+
2490 
+
2491 template <typename T>
+
2492 using value_type_t = typename T::value_type;
+
2493 
+
2494 template <typename T>
+
2495 using difference_type_t = typename T::difference_type;
+
2496 
+
2497 template <typename T>
+
2498 using pointer_t = typename T::pointer;
+
2499 
+
2500 template <typename T>
+
2501 using reference_t = typename T::reference;
+
2502 
+
2503 template <typename T>
+
2504 using iterator_category_t = typename T::iterator_category;
+
2505 
+
2506 template <typename T>
+
2507 using iterator_t = typename T::iterator;
+
2508 
+
2509 template <typename T, typename... Args>
+
2510 using to_json_function = decltype(T::to_json(std::declval<Args>()...));
+
2511 
+
2512 template <typename T, typename... Args>
+
2513 using from_json_function = decltype(T::from_json(std::declval<Args>()...));
+
2514 
+
2515 template <typename T, typename U>
+
2516 using get_template_function = decltype(std::declval<T>().template get<U>());
+
2517 
+
2518 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
+
2519 template <typename BasicJsonType, typename T, typename = void>
+
2520 struct has_from_json : std::false_type {};
+
2521 
+
2522 template <typename BasicJsonType, typename T>
+
2523 struct has_from_json<BasicJsonType, T,
+
2524  enable_if_t<not is_basic_json<T>::value>>
+
2525 {
+
2526  using serializer = typename BasicJsonType::template json_serializer<T, void>;
+
2527 
+
2528  static constexpr bool value =
+ +
2530  const BasicJsonType&, T&>::value;
+
2531 };
+
2532 
+
2533 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
+
2534 // this overload is used for non-default-constructible user-defined-types
+
2535 template <typename BasicJsonType, typename T, typename = void>
+
2536 struct has_non_default_from_json : std::false_type {};
+
2537 
+
2538 template<typename BasicJsonType, typename T>
+
2539 struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>>
+
2540 {
+
2541  using serializer = typename BasicJsonType::template json_serializer<T, void>;
+
2542 
+
2543  static constexpr bool value =
+ +
2545  const BasicJsonType&>::value;
+
2546 };
+
2547 
+
2548 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
+
2549 // Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion.
+
2550 template <typename BasicJsonType, typename T, typename = void>
+
2551 struct has_to_json : std::false_type {};
+
2552 
+
2553 template <typename BasicJsonType, typename T>
+
2554 struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>>
+
2555 {
+
2556  using serializer = typename BasicJsonType::template json_serializer<T, void>;
+
2557 
+
2558  static constexpr bool value =
+ +
2560  T>::value;
+
2561 };
+
2562 
+
2563 
+
2565 // is_ functions //
+
2567 
+
2568 template <typename T, typename = void>
+
2569 struct is_iterator_traits : std::false_type {};
+
2570 
+
2571 template <typename T>
+ +
2573 {
+
2574  private:
+
2575  using traits = iterator_traits<T>;
+
2576 
+
2577  public:
+
2578  static constexpr auto value =
+ + + + + +
2584 };
+
2585 
+
2586 // source: https://stackoverflow.com/a/37193089/4116453
+
2587 
+
2588 template <typename T, typename = void>
+
2589 struct is_complete_type : std::false_type {};
+
2590 
+
2591 template <typename T>
+
2592 struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {};
+
2593 
+
2594 template <typename BasicJsonType, typename CompatibleObjectType,
+
2595  typename = void>
+
2596 struct is_compatible_object_type_impl : std::false_type {};
+
2597 
+
2598 template <typename BasicJsonType, typename CompatibleObjectType>
+ +
2600  BasicJsonType, CompatibleObjectType,
+
2601  enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
+
2602  is_detected<key_type_t, CompatibleObjectType>::value >>
+
2603 {
+
2604 
+
2605  using object_t = typename BasicJsonType::object_t;
+
2606 
+
2607  // macOS's is_constructible does not play well with nonesuch...
+
2608  static constexpr bool value =
+
2609  std::is_constructible<typename object_t::key_type,
+
2610  typename CompatibleObjectType::key_type>::value and
+
2611  std::is_constructible<typename object_t::mapped_type,
+
2612  typename CompatibleObjectType::mapped_type>::value;
+
2613 };
+
2614 
+
2615 template <typename BasicJsonType, typename CompatibleObjectType>
+ +
2617  : is_compatible_object_type_impl<BasicJsonType, CompatibleObjectType> {};
+
2618 
+
2619 template <typename BasicJsonType, typename ConstructibleObjectType,
+
2620  typename = void>
+
2621 struct is_constructible_object_type_impl : std::false_type {};
+
2622 
+
2623 template <typename BasicJsonType, typename ConstructibleObjectType>
+ +
2625  BasicJsonType, ConstructibleObjectType,
+
2626  enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
+
2627  is_detected<key_type_t, ConstructibleObjectType>::value >>
+
2628 {
+
2629  using object_t = typename BasicJsonType::object_t;
+
2630 
+
2631  static constexpr bool value =
+
2632  (std::is_default_constructible<ConstructibleObjectType>::value and
+
2633  (std::is_move_assignable<ConstructibleObjectType>::value or
+
2634  std::is_copy_assignable<ConstructibleObjectType>::value) and
+
2635  (std::is_constructible<typename ConstructibleObjectType::key_type,
+
2636  typename object_t::key_type>::value and
+
2637  std::is_same <
+
2638  typename object_t::mapped_type,
+
2639  typename ConstructibleObjectType::mapped_type >::value)) or
+
2640  (has_from_json<BasicJsonType,
+
2641  typename ConstructibleObjectType::mapped_type>::value or
+ +
2643  BasicJsonType,
+
2644  typename ConstructibleObjectType::mapped_type >::value);
+
2645 };
+
2646 
+
2647 template <typename BasicJsonType, typename ConstructibleObjectType>
+ +
2649  : is_constructible_object_type_impl<BasicJsonType,
+
2650  ConstructibleObjectType> {};
+
2651 
+
2652 template <typename BasicJsonType, typename CompatibleStringType,
+
2653  typename = void>
+
2654 struct is_compatible_string_type_impl : std::false_type {};
+
2655 
+
2656 template <typename BasicJsonType, typename CompatibleStringType>
+ +
2658  BasicJsonType, CompatibleStringType,
+
2659  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
+
2660  value_type_t, CompatibleStringType>::value >>
+
2661 {
+
2662  static constexpr auto value =
+
2663  std::is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value;
+
2664 };
+
2665 
+
2666 template <typename BasicJsonType, typename ConstructibleStringType>
+ +
2668  : is_compatible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
+
2669 
+
2670 template <typename BasicJsonType, typename ConstructibleStringType,
+
2671  typename = void>
+
2672 struct is_constructible_string_type_impl : std::false_type {};
+
2673 
+
2674 template <typename BasicJsonType, typename ConstructibleStringType>
+ +
2676  BasicJsonType, ConstructibleStringType,
+
2677  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
+
2678  value_type_t, ConstructibleStringType>::value >>
+
2679 {
+
2680  static constexpr auto value =
+
2681  std::is_constructible<ConstructibleStringType,
+
2682  typename BasicJsonType::string_t>::value;
+
2683 };
+
2684 
+
2685 template <typename BasicJsonType, typename ConstructibleStringType>
+ +
2687  : is_constructible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
+
2688 
+
2689 template <typename BasicJsonType, typename CompatibleArrayType, typename = void>
+
2690 struct is_compatible_array_type_impl : std::false_type {};
+
2691 
+
2692 template <typename BasicJsonType, typename CompatibleArrayType>
+ +
2694  BasicJsonType, CompatibleArrayType,
+
2695  enable_if_t<is_detected<value_type_t, CompatibleArrayType>::value and
+
2696  is_detected<iterator_t, CompatibleArrayType>::value and
+
2697 // This is needed because json_reverse_iterator has a ::iterator type...
+
2698 // Therefore it is detected as a CompatibleArrayType.
+
2699 // The real fix would be to have an Iterable concept.
+
2700  not is_iterator_traits<
+
2701  iterator_traits<CompatibleArrayType>>::value >>
+
2702 {
+
2703  static constexpr bool value =
+
2704  std::is_constructible<BasicJsonType,
+
2705  typename CompatibleArrayType::value_type>::value;
+
2706 };
+
2707 
+
2708 template <typename BasicJsonType, typename CompatibleArrayType>
+ +
2710  : is_compatible_array_type_impl<BasicJsonType, CompatibleArrayType> {};
+
2711 
+
2712 template <typename BasicJsonType, typename ConstructibleArrayType, typename = void>
+
2713 struct is_constructible_array_type_impl : std::false_type {};
+
2714 
+
2715 template <typename BasicJsonType, typename ConstructibleArrayType>
+ +
2717  BasicJsonType, ConstructibleArrayType,
+
2718  enable_if_t<std::is_same<ConstructibleArrayType,
+
2719  typename BasicJsonType::value_type>::value >>
+
2720  : std::true_type {};
+
2721 
+
2722 template <typename BasicJsonType, typename ConstructibleArrayType>
+ +
2724  BasicJsonType, ConstructibleArrayType,
+
2725  enable_if_t<not std::is_same<ConstructibleArrayType,
+
2726  typename BasicJsonType::value_type>::value and
+
2727  std::is_default_constructible<ConstructibleArrayType>::value and
+
2728 (std::is_move_assignable<ConstructibleArrayType>::value or
+
2729  std::is_copy_assignable<ConstructibleArrayType>::value) and
+
2730 is_detected<value_type_t, ConstructibleArrayType>::value and
+
2731 is_detected<iterator_t, ConstructibleArrayType>::value and
+ +
2733 detected_t<value_type_t, ConstructibleArrayType>>::value >>
+
2734 {
+
2735  static constexpr bool value =
+
2736  // This is needed because json_reverse_iterator has a ::iterator type,
+
2737  // furthermore, std::back_insert_iterator (and other iterators) have a
+
2738  // base class `iterator`... Therefore it is detected as a
+
2739  // ConstructibleArrayType. The real fix would be to have an Iterable
+
2740  // concept.
+ +
2742 
+
2743  (std::is_same<typename ConstructibleArrayType::value_type,
+
2744  typename BasicJsonType::array_t::value_type>::value or
+
2745  has_from_json<BasicJsonType,
+
2746  typename ConstructibleArrayType::value_type>::value or
+ +
2748  BasicJsonType, typename ConstructibleArrayType::value_type >::value);
+
2749 };
+
2750 
+
2751 template <typename BasicJsonType, typename ConstructibleArrayType>
+ +
2753  : is_constructible_array_type_impl<BasicJsonType, ConstructibleArrayType> {};
+
2754 
+
2755 template <typename RealIntegerType, typename CompatibleNumberIntegerType,
+
2756  typename = void>
+
2757 struct is_compatible_integer_type_impl : std::false_type {};
+
2758 
+
2759 template <typename RealIntegerType, typename CompatibleNumberIntegerType>
+ +
2761  RealIntegerType, CompatibleNumberIntegerType,
+
2762  enable_if_t<std::is_integral<RealIntegerType>::value and
+
2763  std::is_integral<CompatibleNumberIntegerType>::value and
+
2764  not std::is_same<bool, CompatibleNumberIntegerType>::value >>
+
2765 {
+
2766  // is there an assert somewhere on overflows?
+
2767  using RealLimits = std::numeric_limits<RealIntegerType>;
+
2768  using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
+
2769 
+
2770  static constexpr auto value =
+
2771  std::is_constructible<RealIntegerType,
+
2772  CompatibleNumberIntegerType>::value and
+
2773  CompatibleLimits::is_integer and
+
2774  RealLimits::is_signed == CompatibleLimits::is_signed;
+
2775 };
+
2776 
+
2777 template <typename RealIntegerType, typename CompatibleNumberIntegerType>
+ +
2779  : is_compatible_integer_type_impl<RealIntegerType,
+
2780  CompatibleNumberIntegerType> {};
+
2781 
+
2782 template <typename BasicJsonType, typename CompatibleType, typename = void>
+
2783 struct is_compatible_type_impl: std::false_type {};
+
2784 
+
2785 template <typename BasicJsonType, typename CompatibleType>
+ +
2787  BasicJsonType, CompatibleType,
+
2788  enable_if_t<is_complete_type<CompatibleType>::value >>
+
2789 {
+
2790  static constexpr bool value =
+ +
2792 };
+
2793 
+
2794 template <typename BasicJsonType, typename CompatibleType>
+ +
2796  : is_compatible_type_impl<BasicJsonType, CompatibleType> {};
+
2797 
+
2798 // https://en.cppreference.com/w/cpp/types/conjunction
+
2799 template<class...> struct conjunction : std::true_type { };
+
2800 template<class B1> struct conjunction<B1> : B1 { };
+
2801 template<class B1, class... Bn>
+
2802 struct conjunction<B1, Bn...>
+
2803 : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
+
2804 
+
2805 template <typename T1, typename T2>
+
2806 struct is_constructible_tuple : std::false_type {};
+
2807 
+
2808 template <typename T1, typename... Args>
+
2809 struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_constructible<T1, Args>...> {};
+
2810 } // namespace detail
+
2811 } // namespace nlohmann
+
2812 
+
2813 // #include <nlohmann/detail/value_t.hpp>
+
2814 
+
2815 
+
2816 #include <array> // array
+
2817 #include <ciso646> // and
+
2818 #include <cstddef> // size_t
+
2819 #include <cstdint> // uint8_t
+
2820 #include <string> // string
+
2821 
+
2822 namespace nlohmann
+
2823 {
+
2824 namespace detail
+
2825 {
+
2827 // JSON type enumeration //
+
2829 
+
2854 enum class value_t : std::uint8_t
+
2855 {
+
2856  null,
+
2857  object,
+
2858  array,
+
2859  string,
+
2860  boolean,
+
2861  number_integer,
+
2862  number_unsigned,
+
2863  number_float,
+
2864  discarded
+
2865 };
+
2866 
+
2877 inline bool operator<(const value_t lhs, const value_t rhs) noexcept
+
2878 {
+
2879  static constexpr std::array<std::uint8_t, 8> order = {{
+
2880  0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
+
2881  1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */
+
2882  }
+
2883  };
+
2884 
+
2885  const auto l_index = static_cast<std::size_t>(lhs);
+
2886  const auto r_index = static_cast<std::size_t>(rhs);
+
2887  return l_index < order.size() and r_index < order.size() and order[l_index] < order[r_index];
+
2888 }
+
2889 } // namespace detail
+
2890 } // namespace nlohmann
+
2891 
+
2892 
+
2893 namespace nlohmann
+
2894 {
+
2895 namespace detail
+
2896 {
+
2897 template<typename BasicJsonType>
+
2898 void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
+
2899 {
+
2900  if (JSON_HEDLEY_UNLIKELY(not j.is_null()))
+
2901  {
+
2902  JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name())));
+
2903  }
+
2904  n = nullptr;
+
2905 }
+
2906 
+
2907 // overloads for basic_json template parameters
+
2908 template<typename BasicJsonType, typename ArithmeticType,
+
2909  enable_if_t<std::is_arithmetic<ArithmeticType>::value and
+
2910  not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
+
2911  int> = 0>
+
2912 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
+
2913 {
+
2914  switch (static_cast<value_t>(j))
+
2915  {
+ +
2917  {
+
2918  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
+
2919  break;
+
2920  }
+ +
2922  {
+
2923  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
+
2924  break;
+
2925  }
+
2926  case value_t::number_float:
+
2927  {
+
2928  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
+
2929  break;
+
2930  }
+
2931 
+
2932  default:
+
2933  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
+
2934  }
+
2935 }
+
2936 
+
2937 template<typename BasicJsonType>
+
2938 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
+
2939 {
+
2940  if (JSON_HEDLEY_UNLIKELY(not j.is_boolean()))
+
2941  {
+
2942  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name())));
+
2943  }
+
2944  b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
+
2945 }
+
2946 
+
2947 template<typename BasicJsonType>
+
2948 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
+
2949 {
+
2950  if (JSON_HEDLEY_UNLIKELY(not j.is_string()))
+
2951  {
+
2952  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
+
2953  }
+
2954  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
+
2955 }
+
2956 
+
2957 template <
+
2958  typename BasicJsonType, typename ConstructibleStringType,
+
2959  enable_if_t <
+
2960  is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value and
+
2961  not std::is_same<typename BasicJsonType::string_t,
+
2962  ConstructibleStringType>::value,
+
2963  int > = 0 >
+
2964 void from_json(const BasicJsonType& j, ConstructibleStringType& s)
+
2965 {
+
2966  if (JSON_HEDLEY_UNLIKELY(not j.is_string()))
+
2967  {
+
2968  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
+
2969  }
+
2970 
+
2971  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
+
2972 }
+
2973 
+
2974 template<typename BasicJsonType>
+
2975 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
+
2976 {
+
2977  get_arithmetic_value(j, val);
+
2978 }
+
2979 
+
2980 template<typename BasicJsonType>
+
2981 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
+
2982 {
+
2983  get_arithmetic_value(j, val);
+
2984 }
+
2985 
+
2986 template<typename BasicJsonType>
+
2987 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
+
2988 {
+
2989  get_arithmetic_value(j, val);
+
2990 }
+
2991 
+
2992 template<typename BasicJsonType, typename EnumType,
+
2993  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
+
2994 void from_json(const BasicJsonType& j, EnumType& e)
+
2995 {
+
2996  typename std::underlying_type<EnumType>::type val;
+
2997  get_arithmetic_value(j, val);
+
2998  e = static_cast<EnumType>(val);
+
2999 }
+
3000 
+
3001 // forward_list doesn't have an insert method
+
3002 template<typename BasicJsonType, typename T, typename Allocator,
+
3003  enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
+
3004 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
+
3005 {
+
3006  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
+
3007  {
+
3008  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+
3009  }
+
3010  l.clear();
+
3011  std::transform(j.rbegin(), j.rend(),
+
3012  std::front_inserter(l), [](const BasicJsonType & i)
+
3013  {
+
3014  return i.template get<T>();
+
3015  });
+
3016 }
+
3017 
+
3018 // valarray doesn't have an insert method
+
3019 template<typename BasicJsonType, typename T,
+
3020  enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
+
3021 void from_json(const BasicJsonType& j, std::valarray<T>& l)
+
3022 {
+
3023  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
+
3024  {
+
3025  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+
3026  }
+
3027  l.resize(j.size());
+
3028  std::copy(j.begin(), j.end(), std::begin(l));
+
3029 }
+
3030 
+
3031 template <typename BasicJsonType, typename T, std::size_t N>
+
3032 auto from_json(const BasicJsonType& j, T (&arr)[N])
+
3033 -> decltype(j.template get<T>(), void())
+
3034 {
+
3035  for (std::size_t i = 0; i < N; ++i)
+
3036  {
+
3037  arr[i] = j.at(i).template get<T>();
+
3038  }
+
3039 }
+
3040 
+
3041 template<typename BasicJsonType>
+
3042 void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/)
+
3043 {
+
3044  arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
+
3045 }
+
3046 
+
3047 template <typename BasicJsonType, typename T, std::size_t N>
+
3048 auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& arr,
+
3049  priority_tag<2> /*unused*/)
+
3050 -> decltype(j.template get<T>(), void())
+
3051 {
+
3052  for (std::size_t i = 0; i < N; ++i)
+
3053  {
+
3054  arr[i] = j.at(i).template get<T>();
+
3055  }
+
3056 }
+
3057 
+
3058 template<typename BasicJsonType, typename ConstructibleArrayType>
+
3059 auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/)
+
3060 -> decltype(
+
3061  arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()),
+
3062  j.template get<typename ConstructibleArrayType::value_type>(),
+
3063  void())
+
3064 {
+
3065  using std::end;
+
3066 
+
3067  ConstructibleArrayType ret;
+
3068  ret.reserve(j.size());
+
3069  std::transform(j.begin(), j.end(),
+
3070  std::inserter(ret, end(ret)), [](const BasicJsonType & i)
+
3071  {
+
3072  // get<BasicJsonType>() returns *this, this won't call a from_json
+
3073  // method when value_type is BasicJsonType
+
3074  return i.template get<typename ConstructibleArrayType::value_type>();
+
3075  });
+
3076  arr = std::move(ret);
+
3077 }
+
3078 
+
3079 template <typename BasicJsonType, typename ConstructibleArrayType>
+
3080 void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr,
+
3081  priority_tag<0> /*unused*/)
+
3082 {
+
3083  using std::end;
+
3084 
+
3085  ConstructibleArrayType ret;
+
3086  std::transform(
+
3087  j.begin(), j.end(), std::inserter(ret, end(ret)),
+
3088  [](const BasicJsonType & i)
+
3089  {
+
3090  // get<BasicJsonType>() returns *this, this won't call a from_json
+
3091  // method when value_type is BasicJsonType
+
3092  return i.template get<typename ConstructibleArrayType::value_type>();
+
3093  });
+
3094  arr = std::move(ret);
+
3095 }
+
3096 
+
3097 template <typename BasicJsonType, typename ConstructibleArrayType,
+
3098  enable_if_t <
+
3099  is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value and
+
3100  not is_constructible_object_type<BasicJsonType, ConstructibleArrayType>::value and
+
3101  not is_constructible_string_type<BasicJsonType, ConstructibleArrayType>::value and
+
3102  not is_basic_json<ConstructibleArrayType>::value,
+
3103  int > = 0 >
+
3104 
+
3105 auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
+
3106 -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),
+
3107 j.template get<typename ConstructibleArrayType::value_type>(),
+
3108 void())
+
3109 {
+
3110  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
+
3111  {
+
3112  JSON_THROW(type_error::create(302, "type must be array, but is " +
+
3113  std::string(j.type_name())));
+
3114  }
+
3115 
+ +
3117 }
+
3118 
+
3119 template<typename BasicJsonType, typename ConstructibleObjectType,
+
3120  enable_if_t<is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value, int> = 0>
+
3121 void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
+
3122 {
+
3123  if (JSON_HEDLEY_UNLIKELY(not j.is_object()))
+
3124  {
+
3125  JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name())));
+
3126  }
+
3127 
+
3128  ConstructibleObjectType ret;
+
3129  auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
+
3130  using value_type = typename ConstructibleObjectType::value_type;
+
3131  std::transform(
+
3132  inner_object->begin(), inner_object->end(),
+
3133  std::inserter(ret, ret.begin()),
+
3134  [](typename BasicJsonType::object_t::value_type const & p)
+
3135  {
+
3136  return value_type(p.first, p.second.template get<typename ConstructibleObjectType::mapped_type>());
+
3137  });
+
3138  obj = std::move(ret);
+
3139 }
+
3140 
+
3141 // overload for arithmetic types, not chosen for basic_json template arguments
+
3142 // (BooleanType, etc..); note: Is it really necessary to provide explicit
+
3143 // overloads for boolean_t etc. in case of a custom BooleanType which is not
+
3144 // an arithmetic type?
+
3145 template<typename BasicJsonType, typename ArithmeticType,
+
3146  enable_if_t <
+
3147  std::is_arithmetic<ArithmeticType>::value and
+
3148  not std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value and
+
3149  not std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value and
+
3150  not std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value and
+
3151  not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
+
3152  int> = 0>
+
3153 void from_json(const BasicJsonType& j, ArithmeticType& val)
+
3154 {
+
3155  switch (static_cast<value_t>(j))
+
3156  {
+ +
3158  {
+
3159  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
+
3160  break;
+
3161  }
+ +
3163  {
+
3164  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
+
3165  break;
+
3166  }
+
3167  case value_t::number_float:
+
3168  {
+
3169  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
+
3170  break;
+
3171  }
+
3172  case value_t::boolean:
+
3173  {
+
3174  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
+
3175  break;
+
3176  }
+
3177 
+
3178  default:
+
3179  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
+
3180  }
+
3181 }
+
3182 
+
3183 template<typename BasicJsonType, typename A1, typename A2>
+
3184 void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
+
3185 {
+
3186  p = {j.at(0).template get<A1>(), j.at(1).template get<A2>()};
+
3187 }
+
3188 
+
3189 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
+
3190 void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...> /*unused*/)
+
3191 {
+
3192  t = std::make_tuple(j.at(Idx).template get<typename std::tuple_element<Idx, Tuple>::type>()...);
+
3193 }
+
3194 
+
3195 template<typename BasicJsonType, typename... Args>
+
3196 void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
+
3197 {
+ +
3199 }
+
3200 
+
3201 template <typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator,
+
3202  typename = enable_if_t<not std::is_constructible<
+
3203  typename BasicJsonType::string_t, Key>::value>>
+
3204 void from_json(const BasicJsonType& j, std::map<Key, Value, Compare, Allocator>& m)
+
3205 {
+
3206  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
+
3207  {
+
3208  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+
3209  }
+
3210  m.clear();
+
3211  for (const auto& p : j)
+
3212  {
+
3213  if (JSON_HEDLEY_UNLIKELY(not p.is_array()))
+
3214  {
+
3215  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
+
3216  }
+
3217  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
+
3218  }
+
3219 }
+
3220 
+
3221 template <typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator,
+
3222  typename = enable_if_t<not std::is_constructible<
+
3223  typename BasicJsonType::string_t, Key>::value>>
+
3224 void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
+
3225 {
+
3226  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
+
3227  {
+
3228  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
+
3229  }
+
3230  m.clear();
+
3231  for (const auto& p : j)
+
3232  {
+
3233  if (JSON_HEDLEY_UNLIKELY(not p.is_array()))
+
3234  {
+
3235  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
+
3236  }
+
3237  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
+
3238  }
+
3239 }
+
3240 
+ +
3242 {
+
3243  template<typename BasicJsonType, typename T>
+
3244  auto operator()(const BasicJsonType& j, T& val) const
+
3245  noexcept(noexcept(from_json(j, val)))
+
3246  -> decltype(from_json(j, val), void())
+
3247  {
+
3248  return from_json(j, val);
+
3249  }
+
3250 };
+
3251 } // namespace detail
+
3252 
+
3256 namespace
+
3257 {
+ +
3259 } // namespace
+
3260 } // namespace nlohmann
+
3261 
+
3262 // #include <nlohmann/detail/conversions/to_json.hpp>
+
3263 
+
3264 
+
3265 #include <algorithm> // copy
+
3266 #include <ciso646> // or, and, not
+
3267 #include <iterator> // begin, end
+
3268 #include <string> // string
+
3269 #include <tuple> // tuple, get
+
3270 #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
+
3271 #include <utility> // move, forward, declval, pair
+
3272 #include <valarray> // valarray
+
3273 #include <vector> // vector
+
3274 
+
3275 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
+
3276 
+
3277 
+
3278 #include <cstddef> // size_t
+
3279 #include <iterator> // input_iterator_tag
+
3280 #include <string> // string, to_string
+
3281 #include <tuple> // tuple_size, get, tuple_element
+
3282 
+
3283 // #include <nlohmann/detail/meta/type_traits.hpp>
+
3284 
+
3285 // #include <nlohmann/detail/value_t.hpp>
+
3286 
+
3287 
+
3288 namespace nlohmann
+
3289 {
+
3290 namespace detail
+
3291 {
+
3292 template<typename string_type>
+
3293 void int_to_string( string_type& target, std::size_t value )
+
3294 {
+
3295  target = std::to_string(value);
+
3296 }
+
3297 template <typename IteratorType> class iteration_proxy_value
+
3298 {
+
3299  public:
+
3300  using difference_type = std::ptrdiff_t;
+ +
3302  using pointer = value_type * ;
+
3303  using reference = value_type & ;
+
3304  using iterator_category = std::input_iterator_tag;
+
3305  using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
+
3306 
+
3307  private:
+
3309  IteratorType anchor;
+
3311  std::size_t array_index = 0;
+
3313  mutable std::size_t array_index_last = 0;
+
3315  mutable string_type array_index_str = "0";
+
3317  const string_type empty_str = "";
+
3318 
+
3319  public:
+
3320  explicit iteration_proxy_value(IteratorType it) noexcept : anchor(it) {}
+
3321 
+ +
3324  {
+
3325  return *this;
+
3326  }
+
3327 
+ +
3330  {
+
3331  ++anchor;
+
3332  ++array_index;
+
3333 
+
3334  return *this;
+
3335  }
+
3336 
+
3338  bool operator==(const iteration_proxy_value& o) const
+
3339  {
+
3340  return anchor == o.anchor;
+
3341  }
+
3342 
+
3344  bool operator!=(const iteration_proxy_value& o) const
+
3345  {
+
3346  return anchor != o.anchor;
+
3347  }
+
3348 
+
3350  const string_type& key() const
+
3351  {
+
3352  assert(anchor.m_object != nullptr);
+
3353 
+
3354  switch (anchor.m_object->type())
+
3355  {
+
3356  // use integer array index as key
+
3357  case value_t::array:
+
3358  {
+
3359  if (array_index != array_index_last)
+
3360  {
+
3361  int_to_string( array_index_str, array_index );
+
3362  array_index_last = array_index;
+
3363  }
+
3364  return array_index_str;
+
3365  }
+
3366 
+
3367  // use key from the object
+
3368  case value_t::object:
+
3369  return anchor.key();
+
3370 
+
3371  // use an empty key for all primitive types
+
3372  default:
+
3373  return empty_str;
+
3374  }
+
3375  }
+
3376 
+
3378  typename IteratorType::reference value() const
+
3379  {
+
3380  return anchor.value();
+
3381  }
+
3382 };
+
3383 
+
3385 template<typename IteratorType> class iteration_proxy
+
3386 {
+
3387  private:
+
3389  typename IteratorType::reference container;
+
3390 
+
3391  public:
+
3393  explicit iteration_proxy(typename IteratorType::reference cont) noexcept
+
3394  : container(cont) {}
+
3395 
+ +
3398  {
+
3399  return iteration_proxy_value<IteratorType>(container.begin());
+
3400  }
+
3401 
+ +
3404  {
+
3405  return iteration_proxy_value<IteratorType>(container.end());
+
3406  }
+
3407 };
+
3408 // Structured Bindings Support
+
3409 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
+
3410 // And see https://github.com/nlohmann/json/pull/1391
+
3411 template <std::size_t N, typename IteratorType, enable_if_t<N == 0, int> = 0>
+ +
3413 {
+
3414  return i.key();
+
3415 }
+
3416 // Structured Bindings Support
+
3417 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
+
3418 // And see https://github.com/nlohmann/json/pull/1391
+
3419 template <std::size_t N, typename IteratorType, enable_if_t<N == 1, int> = 0>
+
3420 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.value())
+
3421 {
+
3422  return i.value();
+
3423 }
+
3424 } // namespace detail
+
3425 } // namespace nlohmann
+
3426 
+
3427 // The Addition to the STD Namespace is required to add
+
3428 // Structured Bindings Support to the iteration_proxy_value class
+
3429 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
+
3430 // And see https://github.com/nlohmann/json/pull/1391
+
3431 namespace std
+
3432 {
+
3433 #if defined(__clang__)
+
3434  // Fix: https://github.com/nlohmann/json/issues/1401
+
3435  #pragma clang diagnostic push
+
3436  #pragma clang diagnostic ignored "-Wmismatched-tags"
+
3437 #endif
+
3438 template <typename IteratorType>
+
3439 class tuple_size<::nlohmann::detail::iteration_proxy_value<IteratorType>>
+
3440  : public std::integral_constant<std::size_t, 2> {};
+
3441 
+
3442 template <std::size_t N, typename IteratorType>
+
3443 class tuple_element<N, ::nlohmann::detail::iteration_proxy_value<IteratorType >>
+
3444 {
+
3445  public:
+
3446  using type = decltype(
+
3447  get<N>(std::declval <
+ +
3449 };
+
3450 #if defined(__clang__)
+
3451  #pragma clang diagnostic pop
+
3452 #endif
+
3453 } // namespace std
+
3454 
+
3455 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
3456 
+
3457 // #include <nlohmann/detail/meta/type_traits.hpp>
+
3458 
+
3459 // #include <nlohmann/detail/value_t.hpp>
+
3460 
+
3461 
+
3462 namespace nlohmann
+
3463 {
+
3464 namespace detail
+
3465 {
+
3467 // constructors //
+
3469 
+
3470 template<value_t> struct external_constructor;
+
3471 
+
3472 template<>
+ +
3474 {
+
3475  template<typename BasicJsonType>
+
3476  static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
+
3477  {
+
3478  j.m_type = value_t::boolean;
+
3479  j.m_value = b;
+
3480  j.assert_invariant();
+
3481  }
+
3482 };
+
3483 
+
3484 template<>
+ +
3486 {
+
3487  template<typename BasicJsonType>
+
3488  static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
+
3489  {
+
3490  j.m_type = value_t::string;
+
3491  j.m_value = s;
+
3492  j.assert_invariant();
+
3493  }
+
3494 
+
3495  template<typename BasicJsonType>
+
3496  static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
+
3497  {
+
3498  j.m_type = value_t::string;
+
3499  j.m_value = std::move(s);
+
3500  j.assert_invariant();
+
3501  }
+
3502 
+
3503  template<typename BasicJsonType, typename CompatibleStringType,
+ +
3505  int> = 0>
+
3506  static void construct(BasicJsonType& j, const CompatibleStringType& str)
+
3507  {
+
3508  j.m_type = value_t::string;
+
3509  j.m_value.string = j.template create<typename BasicJsonType::string_t>(str);
+
3510  j.assert_invariant();
+
3511  }
+
3512 };
+
3513 
+
3514 template<>
+ +
3516 {
+
3517  template<typename BasicJsonType>
+
3518  static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
+
3519  {
+
3520  j.m_type = value_t::number_float;
+
3521  j.m_value = val;
+
3522  j.assert_invariant();
+
3523  }
+
3524 };
+
3525 
+
3526 template<>
+ +
3528 {
+
3529  template<typename BasicJsonType>
+
3530  static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
+
3531  {
+
3532  j.m_type = value_t::number_unsigned;
+
3533  j.m_value = val;
+
3534  j.assert_invariant();
+
3535  }
+
3536 };
+
3537 
+
3538 template<>
+ +
3540 {
+
3541  template<typename BasicJsonType>
+
3542  static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
+
3543  {
+
3544  j.m_type = value_t::number_integer;
+
3545  j.m_value = val;
+
3546  j.assert_invariant();
+
3547  }
+
3548 };
+
3549 
+
3550 template<>
+ +
3552 {
+
3553  template<typename BasicJsonType>
+
3554  static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
+
3555  {
+
3556  j.m_type = value_t::array;
+
3557  j.m_value = arr;
+
3558  j.assert_invariant();
+
3559  }
+
3560 
+
3561  template<typename BasicJsonType>
+
3562  static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
+
3563  {
+
3564  j.m_type = value_t::array;
+
3565  j.m_value = std::move(arr);
+
3566  j.assert_invariant();
+
3567  }
+
3568 
+
3569  template<typename BasicJsonType, typename CompatibleArrayType,
+ +
3571  int> = 0>
+
3572  static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
+
3573  {
+
3574  using std::begin;
+
3575  using std::end;
+
3576  j.m_type = value_t::array;
+
3577  j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
+
3578  j.assert_invariant();
+
3579  }
+
3580 
+
3581  template<typename BasicJsonType>
+
3582  static void construct(BasicJsonType& j, const std::vector<bool>& arr)
+
3583  {
+
3584  j.m_type = value_t::array;
+
3585  j.m_value = value_t::array;
+
3586  j.m_value.array->reserve(arr.size());
+
3587  for (const bool x : arr)
+
3588  {
+
3589  j.m_value.array->push_back(x);
+
3590  }
+
3591  j.assert_invariant();
+
3592  }
+
3593 
+
3594  template<typename BasicJsonType, typename T,
+ +
3596  static void construct(BasicJsonType& j, const std::valarray<T>& arr)
+
3597  {
+
3598  j.m_type = value_t::array;
+
3599  j.m_value = value_t::array;
+
3600  j.m_value.array->resize(arr.size());
+
3601  if (arr.size() > 0)
+
3602  {
+
3603  std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
+
3604  }
+
3605  j.assert_invariant();
+
3606  }
+
3607 };
+
3608 
+
3609 template<>
+ +
3611 {
+
3612  template<typename BasicJsonType>
+
3613  static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
+
3614  {
+
3615  j.m_type = value_t::object;
+
3616  j.m_value = obj;
+
3617  j.assert_invariant();
+
3618  }
+
3619 
+
3620  template<typename BasicJsonType>
+
3621  static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
+
3622  {
+
3623  j.m_type = value_t::object;
+
3624  j.m_value = std::move(obj);
+
3625  j.assert_invariant();
+
3626  }
+
3627 
+
3628  template<typename BasicJsonType, typename CompatibleObjectType,
+ +
3630  static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
+
3631  {
+
3632  using std::begin;
+
3633  using std::end;
+
3634 
+
3635  j.m_type = value_t::object;
+
3636  j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
+
3637  j.assert_invariant();
+
3638  }
+
3639 };
+
3640 
+
3642 // to_json //
+
3644 
+
3645 template<typename BasicJsonType, typename T,
+
3646  enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
+
3647 void to_json(BasicJsonType& j, T b) noexcept
+
3648 {
+ +
3650 }
+
3651 
+
3652 template<typename BasicJsonType, typename CompatibleString,
+
3653  enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
+
3654 void to_json(BasicJsonType& j, const CompatibleString& s)
+
3655 {
+ +
3657 }
+
3658 
+
3659 template<typename BasicJsonType>
+
3660 void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
+
3661 {
+ +
3663 }
+
3664 
+
3665 template<typename BasicJsonType, typename FloatType,
+
3666  enable_if_t<std::is_floating_point<FloatType>::value, int> = 0>
+
3667 void to_json(BasicJsonType& j, FloatType val) noexcept
+
3668 {
+
3669  external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
+
3670 }
+
3671 
+
3672 template<typename BasicJsonType, typename CompatibleNumberUnsignedType,
+
3673  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value, int> = 0>
+
3674 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
+
3675 {
+
3676  external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
+
3677 }
+
3678 
+
3679 template<typename BasicJsonType, typename CompatibleNumberIntegerType,
+
3680  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value, int> = 0>
+
3681 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
+
3682 {
+
3683  external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
+
3684 }
+
3685 
+
3686 template<typename BasicJsonType, typename EnumType,
+
3687  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
+
3688 void to_json(BasicJsonType& j, EnumType e) noexcept
+
3689 {
+
3690  using underlying_type = typename std::underlying_type<EnumType>::type;
+
3691  external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
+
3692 }
+
3693 
+
3694 template<typename BasicJsonType>
+
3695 void to_json(BasicJsonType& j, const std::vector<bool>& e)
+
3696 {
+ +
3698 }
+
3699 
+
3700 template <typename BasicJsonType, typename CompatibleArrayType,
+
3701  enable_if_t<is_compatible_array_type<BasicJsonType,
+
3702  CompatibleArrayType>::value and
+
3703  not is_compatible_object_type<
+
3704  BasicJsonType, CompatibleArrayType>::value and
+
3705  not is_compatible_string_type<BasicJsonType, CompatibleArrayType>::value and
+
3706  not is_basic_json<CompatibleArrayType>::value,
+
3707  int> = 0>
+
3708 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
+
3709 {
+ +
3711 }
+
3712 
+
3713 template<typename BasicJsonType, typename T,
+
3714  enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
+
3715 void to_json(BasicJsonType& j, const std::valarray<T>& arr)
+
3716 {
+ +
3718 }
+
3719 
+
3720 template<typename BasicJsonType>
+
3721 void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
+
3722 {
+ +
3724 }
+
3725 
+
3726 template<typename BasicJsonType, typename CompatibleObjectType,
+
3727  enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value and not is_basic_json<CompatibleObjectType>::value, int> = 0>
+
3728 void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
+
3729 {
+ +
3731 }
+
3732 
+
3733 template<typename BasicJsonType>
+
3734 void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
+
3735 {
+ +
3737 }
+
3738 
+
3739 template <
+
3740  typename BasicJsonType, typename T, std::size_t N,
+
3741  enable_if_t<not std::is_constructible<typename BasicJsonType::string_t,
+
3742  const T(&)[N]>::value,
+
3743  int> = 0 >
+
3744 void to_json(BasicJsonType& j, const T(&arr)[N])
+
3745 {
+ +
3747 }
+
3748 
+
3749 template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible<BasicJsonType, T1>::value&& std::is_constructible<BasicJsonType, T2>::value, int > = 0 >
+
3750 void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
+
3751 {
+
3752  j = { p.first, p.second };
+
3753 }
+
3754 
+
3755 // for https://github.com/nlohmann/json/pull/1134
+
3756 template < typename BasicJsonType, typename T,
+
3757  enable_if_t<std::is_same<T, iteration_proxy_value<typename BasicJsonType::iterator>>::value, int> = 0>
+
3758 void to_json(BasicJsonType& j, const T& b)
+
3759 {
+
3760  j = { {b.key(), b.value()} };
+
3761 }
+
3762 
+
3763 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
+
3764 void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...> /*unused*/)
+
3765 {
+
3766  j = { std::get<Idx>(t)... };
+
3767 }
+
3768 
+
3769 template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value, int > = 0>
+
3770 void to_json(BasicJsonType& j, const T& t)
+
3771 {
+
3772  to_json_tuple_impl(j, t, make_index_sequence<std::tuple_size<T>::value> {});
+
3773 }
+
3774 
+ +
3776 {
+
3777  template<typename BasicJsonType, typename T>
+
3778  auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
+
3779  -> decltype(to_json(j, std::forward<T>(val)), void())
+
3780  {
+
3781  return to_json(j, std::forward<T>(val));
+
3782  }
+
3783 };
+
3784 } // namespace detail
+
3785 
+
3787 namespace
+
3788 {
+ +
3790 } // namespace
+
3791 } // namespace nlohmann
+
3792 
+
3793 
+
3794 namespace nlohmann
+
3795 {
+
3796 
+
3797 template<typename, typename>
+
3798 struct adl_serializer
+
3799 {
+
3809  template<typename BasicJsonType, typename ValueType>
+
3810  static auto from_json(BasicJsonType&& j, ValueType& val) noexcept(
+
3811  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
+
3812  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void())
+
3813  {
+
3814  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
+
3815  }
+
3816 
+
3826  template <typename BasicJsonType, typename ValueType>
+
3827  static auto to_json(BasicJsonType& j, ValueType&& val) noexcept(
+
3828  noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
+
3829  -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void())
+
3830  {
+
3831  ::nlohmann::to_json(j, std::forward<ValueType>(val));
+
3832  }
+
3833 };
+
3834 
+
3835 } // namespace nlohmann
+
3836 
+
3837 // #include <nlohmann/detail/conversions/from_json.hpp>
+
3838 
+
3839 // #include <nlohmann/detail/conversions/to_json.hpp>
+
3840 
+
3841 // #include <nlohmann/detail/exceptions.hpp>
+
3842 
+
3843 // #include <nlohmann/detail/input/binary_reader.hpp>
+
3844 
+
3845 
+
3846 #include <algorithm> // generate_n
+
3847 #include <array> // array
+
3848 #include <cassert> // assert
+
3849 #include <cmath> // ldexp
+
3850 #include <cstddef> // size_t
+
3851 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
+
3852 #include <cstdio> // snprintf
+
3853 #include <cstring> // memcpy
+
3854 #include <iterator> // back_inserter
+
3855 #include <limits> // numeric_limits
+
3856 #include <string> // char_traits, string
+
3857 #include <utility> // make_pair, move
+
3858 
+
3859 // #include <nlohmann/detail/exceptions.hpp>
+
3860 
+
3861 // #include <nlohmann/detail/input/input_adapters.hpp>
+
3862 
+
3863 
+
3864 #include <array> // array
+
3865 #include <cassert> // assert
+
3866 #include <cstddef> // size_t
+
3867 #include <cstdio> //FILE *
+
3868 #include <cstring> // strlen
+
3869 #include <istream> // istream
+
3870 #include <iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
+
3871 #include <memory> // shared_ptr, make_shared, addressof
+
3872 #include <numeric> // accumulate
+
3873 #include <string> // string, char_traits
+
3874 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
+
3875 #include <utility> // pair, declval
+
3876 
+
3877 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
+
3878 
+
3879 // #include <nlohmann/detail/macro_scope.hpp>
+
3880 
+
3881 
+
3882 namespace nlohmann
+
3883 {
+
3884 namespace detail
+
3885 {
+ +
3888 
+
3890 // input adapters //
+
3892 
+ +
3905 {
+
3907  virtual std::char_traits<char>::int_type get_character() = 0;
+
3908  virtual ~input_adapter_protocol() = default;
+
3909 };
+
3910 
+
3912 using input_adapter_t = std::shared_ptr<input_adapter_protocol>;
+
3913 
+ +
3919 {
+
3920  public:
+ +
3922  explicit file_input_adapter(std::FILE* f) noexcept
+
3923  : m_file(f)
+
3924  {}
+
3925 
+
3926  // make class move-only
+
3927  file_input_adapter(const file_input_adapter&) = delete;
+ + + +
3931  ~file_input_adapter() override = default;
+
3932 
+
3933  std::char_traits<char>::int_type get_character() noexcept override
+
3934  {
+
3935  return std::fgetc(m_file);
+
3936  }
+
3937 
+
3938  private:
+
3940  std::FILE* m_file;
+
3941 };
+
3942 
+
3943 
+ +
3954 {
+
3955  public:
+ +
3957  {
+
3958  // clear stream flags; we use underlying streambuf I/O, do not
+
3959  // maintain ifstream flags, except eof
+
3960  is.clear(is.rdstate() & std::ios::eofbit);
+
3961  }
+
3962 
+
3963  explicit input_stream_adapter(std::istream& i)
+
3964  : is(i), sb(*i.rdbuf())
+
3965  {}
+
3966 
+
3967  // delete because of pointer members
+
3968  input_stream_adapter(const input_stream_adapter&) = delete;
+ + + +
3972 
+
3973  // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
+
3974  // ensure that std::char_traits<char>::eof() and the character 0xFF do not
+
3975  // end up as the same value, eg. 0xFFFFFFFF.
+
3976  std::char_traits<char>::int_type get_character() override
+
3977  {
+
3978  auto res = sb.sbumpc();
+
3979  // set eof manually, as we don't use the istream interface.
+
3980  if (res == EOF)
+
3981  {
+
3982  is.clear(is.rdstate() | std::ios::eofbit);
+
3983  }
+
3984  return res;
+
3985  }
+
3986 
+
3987  private:
+
3989  std::istream& is;
+
3990  std::streambuf& sb;
+
3991 };
+
3992 
+ +
3995 {
+
3996  public:
+
3997  input_buffer_adapter(const char* b, const std::size_t l) noexcept
+
3998  : cursor(b), limit(b == nullptr ? nullptr : (b + l))
+
3999  {}
+
4000 
+
4001  // delete because of pointer members
+
4002  input_buffer_adapter(const input_buffer_adapter&) = delete;
+ + + +
4006  ~input_buffer_adapter() override = default;
+
4007 
+
4008  std::char_traits<char>::int_type get_character() noexcept override
+
4009  {
+
4010  if (JSON_HEDLEY_LIKELY(cursor < limit))
+
4011  {
+
4012  assert(cursor != nullptr and limit != nullptr);
+
4013  return std::char_traits<char>::to_int_type(*(cursor++));
+
4014  }
+
4015 
+
4016  return std::char_traits<char>::eof();
+
4017  }
+
4018 
+
4019  private:
+
4021  const char* cursor;
+
4023  const char* const limit;
+
4024 };
+
4025 
+
4026 template<typename WideStringType, size_t T>
+ +
4028 {
+
4029  // UTF-32
+
4030  static void fill_buffer(const WideStringType& str,
+
4031  size_t& current_wchar,
+
4032  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
+
4033  size_t& utf8_bytes_index,
+
4034  size_t& utf8_bytes_filled)
+
4035  {
+
4036  utf8_bytes_index = 0;
+
4037 
+
4038  if (current_wchar == str.size())
+
4039  {
+
4040  utf8_bytes[0] = std::char_traits<char>::eof();
+
4041  utf8_bytes_filled = 1;
+
4042  }
+
4043  else
+
4044  {
+
4045  // get the current character
+
4046  const auto wc = static_cast<unsigned int>(str[current_wchar++]);
+
4047 
+
4048  // UTF-32 to UTF-8 encoding
+
4049  if (wc < 0x80)
+
4050  {
+
4051  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
+
4052  utf8_bytes_filled = 1;
+
4053  }
+
4054  else if (wc <= 0x7FF)
+
4055  {
+
4056  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((wc >> 6u) & 0x1Fu));
+
4057  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
+
4058  utf8_bytes_filled = 2;
+
4059  }
+
4060  else if (wc <= 0xFFFF)
+
4061  {
+
4062  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((wc >> 12u) & 0x0Fu));
+
4063  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
+
4064  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
+
4065  utf8_bytes_filled = 3;
+
4066  }
+
4067  else if (wc <= 0x10FFFF)
+
4068  {
+
4069  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((wc >> 18u) & 0x07u));
+
4070  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 12u) & 0x3Fu));
+
4071  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
+
4072  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
+
4073  utf8_bytes_filled = 4;
+
4074  }
+
4075  else
+
4076  {
+
4077  // unknown character
+
4078  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
+
4079  utf8_bytes_filled = 1;
+
4080  }
+
4081  }
+
4082  }
+
4083 };
+
4084 
+
4085 template<typename WideStringType>
+
4086 struct wide_string_input_helper<WideStringType, 2>
+
4087 {
+
4088  // UTF-16
+
4089  static void fill_buffer(const WideStringType& str,
+
4090  size_t& current_wchar,
+
4091  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
+
4092  size_t& utf8_bytes_index,
+
4093  size_t& utf8_bytes_filled)
+
4094  {
+
4095  utf8_bytes_index = 0;
+
4096 
+
4097  if (current_wchar == str.size())
+
4098  {
+
4099  utf8_bytes[0] = std::char_traits<char>::eof();
+
4100  utf8_bytes_filled = 1;
+
4101  }
+
4102  else
+
4103  {
+
4104  // get the current character
+
4105  const auto wc = static_cast<unsigned int>(str[current_wchar++]);
+
4106 
+
4107  // UTF-16 to UTF-8 encoding
+
4108  if (wc < 0x80)
+
4109  {
+
4110  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
+
4111  utf8_bytes_filled = 1;
+
4112  }
+
4113  else if (wc <= 0x7FF)
+
4114  {
+
4115  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((wc >> 6u)));
+
4116  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
+
4117  utf8_bytes_filled = 2;
+
4118  }
+
4119  else if (0xD800 > wc or wc >= 0xE000)
+
4120  {
+
4121  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((wc >> 12u)));
+
4122  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
+
4123  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
+
4124  utf8_bytes_filled = 3;
+
4125  }
+
4126  else
+
4127  {
+
4128  if (current_wchar < str.size())
+
4129  {
+
4130  const auto wc2 = static_cast<unsigned int>(str[current_wchar++]);
+
4131  const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu));
+
4132  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | (charcode >> 18u));
+
4133  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu));
+
4134  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu));
+
4135  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (charcode & 0x3Fu));
+
4136  utf8_bytes_filled = 4;
+
4137  }
+
4138  else
+
4139  {
+
4140  // unknown character
+
4141  ++current_wchar;
+
4142  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
+
4143  utf8_bytes_filled = 1;
+
4144  }
+
4145  }
+
4146  }
+
4147  }
+
4148 };
+
4149 
+
4150 template<typename WideStringType>
+ +
4152 {
+
4153  public:
+
4154  explicit wide_string_input_adapter(const WideStringType& w) noexcept
+
4155  : str(w)
+
4156  {}
+
4157 
+
4158  std::char_traits<char>::int_type get_character() noexcept override
+
4159  {
+
4160  // check if buffer needs to be filled
+
4161  if (utf8_bytes_index == utf8_bytes_filled)
+
4162  {
+
4163  fill_buffer<sizeof(typename WideStringType::value_type)>();
+
4164 
+
4165  assert(utf8_bytes_filled > 0);
+
4166  assert(utf8_bytes_index == 0);
+
4167  }
+
4168 
+
4169  // use buffer
+
4170  assert(utf8_bytes_filled > 0);
+
4171  assert(utf8_bytes_index < utf8_bytes_filled);
+
4172  return utf8_bytes[utf8_bytes_index++];
+
4173  }
+
4174 
+
4175  private:
+
4176  template<size_t T>
+
4177  void fill_buffer()
+
4178  {
+
4179  wide_string_input_helper<WideStringType, T>::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled);
+
4180  }
+
4181 
+
4183  const WideStringType& str;
+
4184 
+
4186  std::size_t current_wchar = 0;
+
4187 
+
4189  std::array<std::char_traits<char>::int_type, 4> utf8_bytes = {{0, 0, 0, 0}};
+
4190 
+
4192  std::size_t utf8_bytes_index = 0;
+
4194  std::size_t utf8_bytes_filled = 0;
+
4195 };
+
4196 
+ +
4198 {
+
4199  public:
+
4200  // native support
+ +
4202  input_adapter(std::FILE* file)
+
4203  : ia(std::make_shared<file_input_adapter>(file)) {}
+
4205  input_adapter(std::istream& i)
+
4206  : ia(std::make_shared<input_stream_adapter>(i)) {}
+
4207 
+
4209  input_adapter(std::istream&& i)
+
4210  : ia(std::make_shared<input_stream_adapter>(i)) {}
+
4211 
+
4212  input_adapter(const std::wstring& ws)
+
4213  : ia(std::make_shared<wide_string_input_adapter<std::wstring>>(ws)) {}
+
4214 
+
4215  input_adapter(const std::u16string& ws)
+
4216  : ia(std::make_shared<wide_string_input_adapter<std::u16string>>(ws)) {}
+
4217 
+
4218  input_adapter(const std::u32string& ws)
+
4219  : ia(std::make_shared<wide_string_input_adapter<std::u32string>>(ws)) {}
+
4220 
+
4222  template<typename CharT,
+
4223  typename std::enable_if<
+
4224  std::is_pointer<CharT>::value and
+
4225  std::is_integral<typename std::remove_pointer<CharT>::type>::value and
+
4226  sizeof(typename std::remove_pointer<CharT>::type) == 1,
+
4227  int>::type = 0>
+
4228  input_adapter(CharT b, std::size_t l)
+
4229  : ia(std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(b), l)) {}
+
4230 
+
4231  // derived support
+
4232 
+
4234  template<typename CharT,
+
4235  typename std::enable_if<
+
4236  std::is_pointer<CharT>::value and
+
4237  std::is_integral<typename std::remove_pointer<CharT>::type>::value and
+
4238  sizeof(typename std::remove_pointer<CharT>::type) == 1,
+
4239  int>::type = 0>
+
4240  input_adapter(CharT b)
+
4241  : input_adapter(reinterpret_cast<const char*>(b),
+
4242  std::strlen(reinterpret_cast<const char*>(b))) {}
+
4243 
+
4245  template<class IteratorType,
+
4246  typename std::enable_if<
+
4247  std::is_same<typename iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
+
4248  int>::type = 0>
+
4249  input_adapter(IteratorType first, IteratorType last)
+
4250  {
+
4251 #ifndef NDEBUG
+
4252  // assertion to check that the iterator range is indeed contiguous,
+
4253  // see http://stackoverflow.com/a/35008842/266378 for more discussion
+
4254  const auto is_contiguous = std::accumulate(
+
4255  first, last, std::pair<bool, int>(true, 0),
+
4256  [&first](std::pair<bool, int> res, decltype(*first) val)
+
4257  {
+
4258  res.first &= (val == *(std::next(std::addressof(*first), res.second++)));
+
4259  return res;
+
4260  }).first;
+
4261  assert(is_contiguous);
+
4262 #endif
+
4263 
+
4264  // assertion to check that each element is 1 byte long
+
4265  static_assert(
+
4266  sizeof(typename iterator_traits<IteratorType>::value_type) == 1,
+
4267  "each element in the iterator range must have the size of 1 byte");
+
4268 
+
4269  const auto len = static_cast<size_t>(std::distance(first, last));
+
4270  if (JSON_HEDLEY_LIKELY(len > 0))
+
4271  {
+
4272  // there is at least one element: use the address of first
+
4273  ia = std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(&(*first)), len);
+
4274  }
+
4275  else
+
4276  {
+
4277  // the address of first cannot be used: use nullptr
+
4278  ia = std::make_shared<input_buffer_adapter>(nullptr, len);
+
4279  }
+
4280  }
+
4281 
+
4283  template<class T, std::size_t N>
+
4284  input_adapter(T (&array)[N])
+
4285  : input_adapter(std::begin(array), std::end(array)) {}
+
4286 
+
4288  template<class ContiguousContainer, typename
+
4289  std::enable_if<not std::is_pointer<ContiguousContainer>::value and
+
4290  std::is_base_of<std::random_access_iterator_tag, typename iterator_traits<decltype(std::begin(std::declval<ContiguousContainer const>()))>::iterator_category>::value,
+
4291  int>::type = 0>
+
4292  input_adapter(const ContiguousContainer& c)
+
4293  : input_adapter(std::begin(c), std::end(c)) {}
+
4294 
+
4295  operator input_adapter_t()
+
4296  {
+
4297  return ia;
+
4298  }
+
4299 
+
4300  private:
+
4302  input_adapter_t ia = nullptr;
+
4303 };
+
4304 } // namespace detail
+
4305 } // namespace nlohmann
+
4306 
+
4307 // #include <nlohmann/detail/input/json_sax.hpp>
+
4308 
+
4309 
+
4310 #include <cassert> // assert
+
4311 #include <cstddef>
+
4312 #include <string> // string
+
4313 #include <utility> // move
+
4314 #include <vector> // vector
+
4315 
+
4316 // #include <nlohmann/detail/exceptions.hpp>
+
4317 
+
4318 // #include <nlohmann/detail/macro_scope.hpp>
+
4319 
+
4320 
+
4321 namespace nlohmann
+
4322 {
+
4323 
+
4332 template<typename BasicJsonType>
+
4333 struct json_sax
+
4334 {
+
4336  using number_integer_t = typename BasicJsonType::number_integer_t;
+
4338  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
4340  using number_float_t = typename BasicJsonType::number_float_t;
+
4342  using string_t = typename BasicJsonType::string_t;
+
4343 
+
4348  virtual bool null() = 0;
+
4349 
+
4355  virtual bool boolean(bool val) = 0;
+
4356 
+
4362  virtual bool number_integer(number_integer_t val) = 0;
+
4363 
+
4369  virtual bool number_unsigned(number_unsigned_t val) = 0;
+
4370 
+
4377  virtual bool number_float(number_float_t val, const string_t& s) = 0;
+
4378 
+
4385  virtual bool string(string_t& val) = 0;
+
4386 
+
4393  virtual bool start_object(std::size_t elements) = 0;
+
4394 
+
4401  virtual bool key(string_t& val) = 0;
+
4402 
+
4407  virtual bool end_object() = 0;
+
4408 
+
4415  virtual bool start_array(std::size_t elements) = 0;
+
4416 
+
4421  virtual bool end_array() = 0;
+
4422 
+
4430  virtual bool parse_error(std::size_t position,
+
4431  const std::string& last_token,
+
4432  const detail::exception& ex) = 0;
+
4433 
+
4434  virtual ~json_sax() = default;
+
4435 };
+
4436 
+
4437 
+
4438 namespace detail
+
4439 {
+
4453 template<typename BasicJsonType>
+ +
4455 {
+
4456  public:
+
4457  using number_integer_t = typename BasicJsonType::number_integer_t;
+
4458  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
4459  using number_float_t = typename BasicJsonType::number_float_t;
+
4460  using string_t = typename BasicJsonType::string_t;
+
4461 
+
4467  explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true)
+
4468  : root(r), allow_exceptions(allow_exceptions_)
+
4469  {}
+
4470 
+
4471  // make class move-only
+
4472  json_sax_dom_parser(const json_sax_dom_parser&) = delete;
+ + + +
4476  ~json_sax_dom_parser() = default;
+
4477 
+
4478  bool null()
+
4479  {
+
4480  handle_value(nullptr);
+
4481  return true;
+
4482  }
+
4483 
+
4484  bool boolean(bool val)
+
4485  {
+
4486  handle_value(val);
+
4487  return true;
+
4488  }
+
4489 
+ +
4491  {
+
4492  handle_value(val);
+
4493  return true;
+
4494  }
+
4495 
+ +
4497  {
+
4498  handle_value(val);
+
4499  return true;
+
4500  }
+
4501 
+
4502  bool number_float(number_float_t val, const string_t& /*unused*/)
+
4503  {
+
4504  handle_value(val);
+
4505  return true;
+
4506  }
+
4507 
+
4508  bool string(string_t& val)
+
4509  {
+
4510  handle_value(val);
+
4511  return true;
+
4512  }
+
4513 
+
4514  bool start_object(std::size_t len)
+
4515  {
+
4516  ref_stack.push_back(handle_value(BasicJsonType::value_t::object));
+
4517 
+
4518  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
+
4519  {
+ +
4521  "excessive object size: " + std::to_string(len)));
+
4522  }
+
4523 
+
4524  return true;
+
4525  }
+
4526 
+
4527  bool key(string_t& val)
+
4528  {
+
4529  // add null at given key and store the reference for later
+
4530  object_element = &(ref_stack.back()->m_value.object->operator[](val));
+
4531  return true;
+
4532  }
+
4533 
+
4534  bool end_object()
+
4535  {
+
4536  ref_stack.pop_back();
+
4537  return true;
+
4538  }
+
4539 
+
4540  bool start_array(std::size_t len)
+
4541  {
+
4542  ref_stack.push_back(handle_value(BasicJsonType::value_t::array));
+
4543 
+
4544  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
+
4545  {
+ +
4547  "excessive array size: " + std::to_string(len)));
+
4548  }
+
4549 
+
4550  return true;
+
4551  }
+
4552 
+
4553  bool end_array()
+
4554  {
+
4555  ref_stack.pop_back();
+
4556  return true;
+
4557  }
+
4558 
+
4559  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
+
4560  const detail::exception& ex)
+
4561  {
+
4562  errored = true;
+
4563  if (allow_exceptions)
+
4564  {
+
4565  // determine the proper exception type from the id
+
4566  switch ((ex.id / 100) % 100)
+
4567  {
+
4568  case 1:
+
4569  JSON_THROW(*static_cast<const detail::parse_error*>(&ex));
+
4570  case 4:
+
4571  JSON_THROW(*static_cast<const detail::out_of_range*>(&ex));
+
4572  // LCOV_EXCL_START
+
4573  case 2:
+
4574  JSON_THROW(*static_cast<const detail::invalid_iterator*>(&ex));
+
4575  case 3:
+
4576  JSON_THROW(*static_cast<const detail::type_error*>(&ex));
+
4577  case 5:
+
4578  JSON_THROW(*static_cast<const detail::other_error*>(&ex));
+
4579  default:
+
4580  assert(false);
+
4581  // LCOV_EXCL_STOP
+
4582  }
+
4583  }
+
4584  return false;
+
4585  }
+
4586 
+
4587  constexpr bool is_errored() const
+
4588  {
+
4589  return errored;
+
4590  }
+
4591 
+
4592  private:
+
4599  template<typename Value>
+ +
4601  BasicJsonType* handle_value(Value&& v)
+
4602  {
+
4603  if (ref_stack.empty())
+
4604  {
+
4605  root = BasicJsonType(std::forward<Value>(v));
+
4606  return &root;
+
4607  }
+
4608 
+
4609  assert(ref_stack.back()->is_array() or ref_stack.back()->is_object());
+
4610 
+
4611  if (ref_stack.back()->is_array())
+
4612  {
+
4613  ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v));
+
4614  return &(ref_stack.back()->m_value.array->back());
+
4615  }
+
4616 
+
4617  assert(ref_stack.back()->is_object());
+
4618  assert(object_element);
+
4619  *object_element = BasicJsonType(std::forward<Value>(v));
+
4620  return object_element;
+
4621  }
+
4622 
+
4624  BasicJsonType& root;
+
4626  std::vector<BasicJsonType*> ref_stack {};
+
4628  BasicJsonType* object_element = nullptr;
+
4630  bool errored = false;
+
4632  const bool allow_exceptions = true;
+
4633 };
+
4634 
+
4635 template<typename BasicJsonType>
+ +
4637 {
+
4638  public:
+
4639  using number_integer_t = typename BasicJsonType::number_integer_t;
+
4640  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
4641  using number_float_t = typename BasicJsonType::number_float_t;
+
4642  using string_t = typename BasicJsonType::string_t;
+ + +
4645 
+ +
4647  const parser_callback_t cb,
+
4648  const bool allow_exceptions_ = true)
+
4649  : root(r), callback(cb), allow_exceptions(allow_exceptions_)
+
4650  {
+
4651  keep_stack.push_back(true);
+
4652  }
+
4653 
+
4654  // make class move-only
+ + + + +
4659  ~json_sax_dom_callback_parser() = default;
+
4660 
+
4661  bool null()
+
4662  {
+
4663  handle_value(nullptr);
+
4664  return true;
+
4665  }
+
4666 
+
4667  bool boolean(bool val)
+
4668  {
+
4669  handle_value(val);
+
4670  return true;
+
4671  }
+
4672 
+ +
4674  {
+
4675  handle_value(val);
+
4676  return true;
+
4677  }
+
4678 
+ +
4680  {
+
4681  handle_value(val);
+
4682  return true;
+
4683  }
+
4684 
+
4685  bool number_float(number_float_t val, const string_t& /*unused*/)
+
4686  {
+
4687  handle_value(val);
+
4688  return true;
+
4689  }
+
4690 
+
4691  bool string(string_t& val)
+
4692  {
+
4693  handle_value(val);
+
4694  return true;
+
4695  }
+
4696 
+
4697  bool start_object(std::size_t len)
+
4698  {
+
4699  // check callback for object start
+
4700  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::object_start, discarded);
+
4701  keep_stack.push_back(keep);
+
4702 
+
4703  auto val = handle_value(BasicJsonType::value_t::object, true);
+
4704  ref_stack.push_back(val.second);
+
4705 
+
4706  // check object limit
+
4707  if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
+
4708  {
+
4709  JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len)));
+
4710  }
+
4711 
+
4712  return true;
+
4713  }
+
4714 
+
4715  bool key(string_t& val)
+
4716  {
+
4717  BasicJsonType k = BasicJsonType(val);
+
4718 
+
4719  // check callback for key
+
4720  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::key, k);
+
4721  key_keep_stack.push_back(keep);
+
4722 
+
4723  // add discarded value at given key and store the reference for later
+
4724  if (keep and ref_stack.back())
+
4725  {
+
4726  object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded);
+
4727  }
+
4728 
+
4729  return true;
+
4730  }
+
4731 
+
4732  bool end_object()
+
4733  {
+
4734  if (ref_stack.back() and not callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back()))
+
4735  {
+
4736  // discard object
+
4737  *ref_stack.back() = discarded;
+
4738  }
+
4739 
+
4740  assert(not ref_stack.empty());
+
4741  assert(not keep_stack.empty());
+
4742  ref_stack.pop_back();
+
4743  keep_stack.pop_back();
+
4744 
+
4745  if (not ref_stack.empty() and ref_stack.back() and ref_stack.back()->is_object())
+
4746  {
+
4747  // remove discarded value
+
4748  for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it)
+
4749  {
+
4750  if (it->is_discarded())
+
4751  {
+
4752  ref_stack.back()->erase(it);
+
4753  break;
+
4754  }
+
4755  }
+
4756  }
+
4757 
+
4758  return true;
+
4759  }
+
4760 
+
4761  bool start_array(std::size_t len)
+
4762  {
+
4763  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::array_start, discarded);
+
4764  keep_stack.push_back(keep);
+
4765 
+
4766  auto val = handle_value(BasicJsonType::value_t::array, true);
+
4767  ref_stack.push_back(val.second);
+
4768 
+
4769  // check array limit
+
4770  if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
+
4771  {
+
4772  JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len)));
+
4773  }
+
4774 
+
4775  return true;
+
4776  }
+
4777 
+
4778  bool end_array()
+
4779  {
+
4780  bool keep = true;
+
4781 
+
4782  if (ref_stack.back())
+
4783  {
+
4784  keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back());
+
4785  if (not keep)
+
4786  {
+
4787  // discard array
+
4788  *ref_stack.back() = discarded;
+
4789  }
+
4790  }
+
4791 
+
4792  assert(not ref_stack.empty());
+
4793  assert(not keep_stack.empty());
+
4794  ref_stack.pop_back();
+
4795  keep_stack.pop_back();
+
4796 
+
4797  // remove discarded value
+
4798  if (not keep and not ref_stack.empty() and ref_stack.back()->is_array())
+
4799  {
+
4800  ref_stack.back()->m_value.array->pop_back();
+
4801  }
+
4802 
+
4803  return true;
+
4804  }
+
4805 
+
4806  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
+
4807  const detail::exception& ex)
+
4808  {
+
4809  errored = true;
+
4810  if (allow_exceptions)
+
4811  {
+
4812  // determine the proper exception type from the id
+
4813  switch ((ex.id / 100) % 100)
+
4814  {
+
4815  case 1:
+
4816  JSON_THROW(*static_cast<const detail::parse_error*>(&ex));
+
4817  case 4:
+
4818  JSON_THROW(*static_cast<const detail::out_of_range*>(&ex));
+
4819  // LCOV_EXCL_START
+
4820  case 2:
+
4821  JSON_THROW(*static_cast<const detail::invalid_iterator*>(&ex));
+
4822  case 3:
+
4823  JSON_THROW(*static_cast<const detail::type_error*>(&ex));
+
4824  case 5:
+
4825  JSON_THROW(*static_cast<const detail::other_error*>(&ex));
+
4826  default:
+
4827  assert(false);
+
4828  // LCOV_EXCL_STOP
+
4829  }
+
4830  }
+
4831  return false;
+
4832  }
+
4833 
+
4834  constexpr bool is_errored() const
+
4835  {
+
4836  return errored;
+
4837  }
+
4838 
+
4839  private:
+
4855  template<typename Value>
+
4856  std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool skip_callback = false)
+
4857  {
+
4858  assert(not keep_stack.empty());
+
4859 
+
4860  // do not handle this value if we know it would be added to a discarded
+
4861  // container
+
4862  if (not keep_stack.back())
+
4863  {
+
4864  return {false, nullptr};
+
4865  }
+
4866 
+
4867  // create value
+
4868  auto value = BasicJsonType(std::forward<Value>(v));
+
4869 
+
4870  // check callback
+
4871  const bool keep = skip_callback or callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value);
+
4872 
+
4873  // do not handle this value if we just learnt it shall be discarded
+
4874  if (not keep)
+
4875  {
+
4876  return {false, nullptr};
+
4877  }
+
4878 
+
4879  if (ref_stack.empty())
+
4880  {
+
4881  root = std::move(value);
+
4882  return {true, &root};
+
4883  }
+
4884 
+
4885  // skip this value if we already decided to skip the parent
+
4886  // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360)
+
4887  if (not ref_stack.back())
+
4888  {
+
4889  return {false, nullptr};
+
4890  }
+
4891 
+
4892  // we now only expect arrays and objects
+
4893  assert(ref_stack.back()->is_array() or ref_stack.back()->is_object());
+
4894 
+
4895  // array
+
4896  if (ref_stack.back()->is_array())
+
4897  {
+
4898  ref_stack.back()->m_value.array->push_back(std::move(value));
+
4899  return {true, &(ref_stack.back()->m_value.array->back())};
+
4900  }
+
4901 
+
4902  // object
+
4903  assert(ref_stack.back()->is_object());
+
4904  // check if we should store an element for the current key
+
4905  assert(not key_keep_stack.empty());
+
4906  const bool store_element = key_keep_stack.back();
+
4907  key_keep_stack.pop_back();
+
4908 
+
4909  if (not store_element)
+
4910  {
+
4911  return {false, nullptr};
+
4912  }
+
4913 
+
4914  assert(object_element);
+
4915  *object_element = std::move(value);
+
4916  return {true, object_element};
+
4917  }
+
4918 
+
4920  BasicJsonType& root;
+
4922  std::vector<BasicJsonType*> ref_stack {};
+
4924  std::vector<bool> keep_stack {};
+
4926  std::vector<bool> key_keep_stack {};
+
4928  BasicJsonType* object_element = nullptr;
+
4930  bool errored = false;
+
4932  const parser_callback_t callback = nullptr;
+
4934  const bool allow_exceptions = true;
+
4936  BasicJsonType discarded = BasicJsonType::value_t::discarded;
+
4937 };
+
4938 
+
4939 template<typename BasicJsonType>
+ +
4941 {
+
4942  public:
+
4943  using number_integer_t = typename BasicJsonType::number_integer_t;
+
4944  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
4945  using number_float_t = typename BasicJsonType::number_float_t;
+
4946  using string_t = typename BasicJsonType::string_t;
+
4947 
+
4948  bool null()
+
4949  {
+
4950  return true;
+
4951  }
+
4952 
+
4953  bool boolean(bool /*unused*/)
+
4954  {
+
4955  return true;
+
4956  }
+
4957 
+ +
4959  {
+
4960  return true;
+
4961  }
+
4962 
+ +
4964  {
+
4965  return true;
+
4966  }
+
4967 
+
4968  bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
+
4969  {
+
4970  return true;
+
4971  }
+
4972 
+
4973  bool string(string_t& /*unused*/)
+
4974  {
+
4975  return true;
+
4976  }
+
4977 
+
4978  bool start_object(std::size_t /*unused*/ = std::size_t(-1))
+
4979  {
+
4980  return true;
+
4981  }
+
4982 
+
4983  bool key(string_t& /*unused*/)
+
4984  {
+
4985  return true;
+
4986  }
+
4987 
+
4988  bool end_object()
+
4989  {
+
4990  return true;
+
4991  }
+
4992 
+
4993  bool start_array(std::size_t /*unused*/ = std::size_t(-1))
+
4994  {
+
4995  return true;
+
4996  }
+
4997 
+
4998  bool end_array()
+
4999  {
+
5000  return true;
+
5001  }
+
5002 
+
5003  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/)
+
5004  {
+
5005  return false;
+
5006  }
+
5007 };
+
5008 } // namespace detail
+
5009 
+
5010 } // namespace nlohmann
+
5011 
+
5012 // #include <nlohmann/detail/macro_scope.hpp>
+
5013 
+
5014 // #include <nlohmann/detail/meta/is_sax.hpp>
+
5015 
+
5016 
+
5017 #include <cstdint> // size_t
+
5018 #include <utility> // declval
+
5019 #include <string> // string
+
5020 
+
5021 // #include <nlohmann/detail/meta/detected.hpp>
+
5022 
+
5023 // #include <nlohmann/detail/meta/type_traits.hpp>
+
5024 
+
5025 
+
5026 namespace nlohmann
+
5027 {
+
5028 namespace detail
+
5029 {
+
5030 template <typename T>
+
5031 using null_function_t = decltype(std::declval<T&>().null());
+
5032 
+
5033 template <typename T>
+
5034 using boolean_function_t =
+
5035  decltype(std::declval<T&>().boolean(std::declval<bool>()));
+
5036 
+
5037 template <typename T, typename Integer>
+ +
5039  decltype(std::declval<T&>().number_integer(std::declval<Integer>()));
+
5040 
+
5041 template <typename T, typename Unsigned>
+ +
5043  decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()));
+
5044 
+
5045 template <typename T, typename Float, typename String>
+
5046 using number_float_function_t = decltype(std::declval<T&>().number_float(
+
5047  std::declval<Float>(), std::declval<const String&>()));
+
5048 
+
5049 template <typename T, typename String>
+
5050 using string_function_t =
+
5051  decltype(std::declval<T&>().string(std::declval<String&>()));
+
5052 
+
5053 template <typename T>
+ +
5055  decltype(std::declval<T&>().start_object(std::declval<std::size_t>()));
+
5056 
+
5057 template <typename T, typename String>
+
5058 using key_function_t =
+
5059  decltype(std::declval<T&>().key(std::declval<String&>()));
+
5060 
+
5061 template <typename T>
+
5062 using end_object_function_t = decltype(std::declval<T&>().end_object());
+
5063 
+
5064 template <typename T>
+
5065 using start_array_function_t =
+
5066  decltype(std::declval<T&>().start_array(std::declval<std::size_t>()));
+
5067 
+
5068 template <typename T>
+
5069 using end_array_function_t = decltype(std::declval<T&>().end_array());
+
5070 
+
5071 template <typename T, typename Exception>
+
5072 using parse_error_function_t = decltype(std::declval<T&>().parse_error(
+
5073  std::declval<std::size_t>(), std::declval<const std::string&>(),
+
5074  std::declval<const Exception&>()));
+
5075 
+
5076 template <typename SAX, typename BasicJsonType>
+
5077 struct is_sax
+
5078 {
+
5079  private:
+ +
5081  "BasicJsonType must be of type basic_json<...>");
+
5082 
+
5083  using number_integer_t = typename BasicJsonType::number_integer_t;
+
5084  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
5085  using number_float_t = typename BasicJsonType::number_float_t;
+
5086  using string_t = typename BasicJsonType::string_t;
+
5087  using exception_t = typename BasicJsonType::exception;
+
5088 
+
5089  public:
+
5090  static constexpr bool value =
+ + + +
5094  number_integer_t>::value &&
+ +
5096  number_unsigned_t>::value &&
+
5097  is_detected_exact<bool, number_float_function_t, SAX, number_float_t,
+
5098  string_t>::value &&
+ + + + + + + +
5106 };
+
5107 
+
5108 template <typename SAX, typename BasicJsonType>
+ +
5110 {
+
5111  private:
+ +
5113  "BasicJsonType must be of type basic_json<...>");
+
5114 
+
5115  using number_integer_t = typename BasicJsonType::number_integer_t;
+
5116  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
5117  using number_float_t = typename BasicJsonType::number_float_t;
+
5118  using string_t = typename BasicJsonType::string_t;
+
5119  using exception_t = typename BasicJsonType::exception;
+
5120 
+
5121  public:
+ +
5123  "Missing/invalid function: bool null()");
+ +
5125  "Missing/invalid function: bool boolean(bool)");
+ +
5127  "Missing/invalid function: bool boolean(bool)");
+
5128  static_assert(
+ +
5130  number_integer_t>::value,
+
5131  "Missing/invalid function: bool number_integer(number_integer_t)");
+
5132  static_assert(
+ +
5134  number_unsigned_t>::value,
+
5135  "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
+
5136  static_assert(is_detected_exact<bool, number_float_function_t, SAX,
+
5137  number_float_t, string_t>::value,
+
5138  "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
+
5139  static_assert(
+ +
5141  "Missing/invalid function: bool string(string_t&)");
+ +
5143  "Missing/invalid function: bool start_object(std::size_t)");
+ +
5145  "Missing/invalid function: bool key(string_t&)");
+ +
5147  "Missing/invalid function: bool end_object()");
+ +
5149  "Missing/invalid function: bool start_array(std::size_t)");
+ +
5151  "Missing/invalid function: bool end_array()");
+
5152  static_assert(
+ +
5154  "Missing/invalid function: bool parse_error(std::size_t, const "
+
5155  "std::string&, const exception&)");
+
5156 };
+
5157 } // namespace detail
+
5158 } // namespace nlohmann
+
5159 
+
5160 // #include <nlohmann/detail/value_t.hpp>
+
5161 
+
5162 
+
5163 namespace nlohmann
+
5164 {
+
5165 namespace detail
+
5166 {
+
5168 // binary reader //
+
5170 
+
5174 template<typename BasicJsonType, typename SAX = json_sax_dom_parser<BasicJsonType>>
+ +
5176 {
+
5177  using number_integer_t = typename BasicJsonType::number_integer_t;
+
5178  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
5179  using number_float_t = typename BasicJsonType::number_float_t;
+
5180  using string_t = typename BasicJsonType::string_t;
+
5181  using json_sax_t = SAX;
+
5182 
+
5183  public:
+
5189  explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter))
+
5190  {
+ +
5192  assert(ia);
+
5193  }
+
5194 
+
5195  // make class move-only
+
5196  binary_reader(const binary_reader&) = delete;
+
5197  binary_reader(binary_reader&&) = default;
+
5198  binary_reader& operator=(const binary_reader&) = delete;
+
5199  binary_reader& operator=(binary_reader&&) = default;
+
5200  ~binary_reader() = default;
+
5201 
+ +
5210  bool sax_parse(const input_format_t format,
+
5211  json_sax_t* sax_,
+
5212  const bool strict = true)
+
5213  {
+
5214  sax = sax_;
+
5215  bool result = false;
+
5216 
+
5217  switch (format)
+
5218  {
+
5219  case input_format_t::bson:
+
5220  result = parse_bson_internal();
+
5221  break;
+
5222 
+
5223  case input_format_t::cbor:
+
5224  result = parse_cbor_internal();
+
5225  break;
+
5226 
+ +
5228  result = parse_msgpack_internal();
+
5229  break;
+
5230 
+ +
5232  result = parse_ubjson_internal();
+
5233  break;
+
5234 
+
5235  default: // LCOV_EXCL_LINE
+
5236  assert(false); // LCOV_EXCL_LINE
+
5237  }
+
5238 
+
5239  // strict mode: next byte must be EOF
+
5240  if (result and strict)
+
5241  {
+
5242  if (format == input_format_t::ubjson)
+
5243  {
+
5244  get_ignore_noop();
+
5245  }
+
5246  else
+
5247  {
+
5248  get();
+
5249  }
+
5250 
+
5251  if (JSON_HEDLEY_UNLIKELY(current != std::char_traits<char>::eof()))
+
5252  {
+
5253  return sax->parse_error(chars_read, get_token_string(),
+
5254  parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value")));
+
5255  }
+
5256  }
+
5257 
+
5258  return result;
+
5259  }
+
5260 
+
5268  static constexpr bool little_endianess(int num = 1) noexcept
+
5269  {
+
5270  return *reinterpret_cast<char*>(&num) == 1;
+
5271  }
+
5272 
+
5273  private:
+
5275  // BSON //
+
5277 
+
5282  bool parse_bson_internal()
+
5283  {
+
5284  std::int32_t document_size;
+
5285  get_number<std::int32_t, true>(input_format_t::bson, document_size);
+
5286 
+
5287  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
+
5288  {
+
5289  return false;
+
5290  }
+
5291 
+
5292  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/false)))
+
5293  {
+
5294  return false;
+
5295  }
+
5296 
+
5297  return sax->end_object();
+
5298  }
+
5299 
+
5307  bool get_bson_cstr(string_t& result)
+
5308  {
+
5309  auto out = std::back_inserter(result);
+
5310  while (true)
+
5311  {
+
5312  get();
+
5313  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "cstring")))
+
5314  {
+
5315  return false;
+
5316  }
+
5317  if (current == 0x00)
+
5318  {
+
5319  return true;
+
5320  }
+
5321  *out++ = static_cast<char>(current);
+
5322  }
+
5323 
+
5324  return true;
+
5325  }
+
5326 
+
5338  template<typename NumberType>
+
5339  bool get_bson_string(const NumberType len, string_t& result)
+
5340  {
+
5341  if (JSON_HEDLEY_UNLIKELY(len < 1))
+
5342  {
+
5343  auto last_token = get_token_string();
+
5344  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string")));
+
5345  }
+
5346 
+
5347  return get_string(input_format_t::bson, len - static_cast<NumberType>(1), result) and get() != std::char_traits<char>::eof();
+
5348  }
+
5349 
+
5360  bool parse_bson_element_internal(const int element_type,
+
5361  const std::size_t element_type_parse_position)
+
5362  {
+
5363  switch (element_type)
+
5364  {
+
5365  case 0x01: // double
+
5366  {
+
5367  double number;
+
5368  return get_number<double, true>(input_format_t::bson, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
5369  }
+
5370 
+
5371  case 0x02: // string
+
5372  {
+
5373  std::int32_t len;
+
5374  string_t value;
+
5375  return get_number<std::int32_t, true>(input_format_t::bson, len) and get_bson_string(len, value) and sax->string(value);
+
5376  }
+
5377 
+
5378  case 0x03: // object
+
5379  {
+
5380  return parse_bson_internal();
+
5381  }
+
5382 
+
5383  case 0x04: // array
+
5384  {
+
5385  return parse_bson_array();
+
5386  }
+
5387 
+
5388  case 0x08: // boolean
+
5389  {
+
5390  return sax->boolean(get() != 0);
+
5391  }
+
5392 
+
5393  case 0x0A: // null
+
5394  {
+
5395  return sax->null();
+
5396  }
+
5397 
+
5398  case 0x10: // int32
+
5399  {
+
5400  std::int32_t value;
+
5401  return get_number<std::int32_t, true>(input_format_t::bson, value) and sax->number_integer(value);
+
5402  }
+
5403 
+
5404  case 0x12: // int64
+
5405  {
+
5406  std::int64_t value;
+
5407  return get_number<std::int64_t, true>(input_format_t::bson, value) and sax->number_integer(value);
+
5408  }
+
5409 
+
5410  default: // anything else not supported (yet)
+
5411  {
+
5412  std::array<char, 3> cr{{}};
+
5413  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(element_type));
+
5414  return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data())));
+
5415  }
+
5416  }
+
5417  }
+
5418 
+
5431  bool parse_bson_element_list(const bool is_array)
+
5432  {
+
5433  string_t key;
+
5434  while (int element_type = get())
+
5435  {
+
5436  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list")))
+
5437  {
+
5438  return false;
+
5439  }
+
5440 
+
5441  const std::size_t element_type_parse_position = chars_read;
+
5442  if (JSON_HEDLEY_UNLIKELY(not get_bson_cstr(key)))
+
5443  {
+
5444  return false;
+
5445  }
+
5446 
+
5447  if (not is_array and not sax->key(key))
+
5448  {
+
5449  return false;
+
5450  }
+
5451 
+
5452  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_internal(element_type, element_type_parse_position)))
+
5453  {
+
5454  return false;
+
5455  }
+
5456 
+
5457  // get_bson_cstr only appends
+
5458  key.clear();
+
5459  }
+
5460 
+
5461  return true;
+
5462  }
+
5463 
+
5468  bool parse_bson_array()
+
5469  {
+
5470  std::int32_t document_size;
+
5471  get_number<std::int32_t, true>(input_format_t::bson, document_size);
+
5472 
+
5473  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
+
5474  {
+
5475  return false;
+
5476  }
+
5477 
+
5478  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/true)))
+
5479  {
+
5480  return false;
+
5481  }
+
5482 
+
5483  return sax->end_array();
+
5484  }
+
5485 
+
5487  // CBOR //
+
5489 
+
5497  bool parse_cbor_internal(const bool get_char = true)
+
5498  {
+
5499  switch (get_char ? get() : current)
+
5500  {
+
5501  // EOF
+
5502  case std::char_traits<char>::eof():
+
5503  return unexpect_eof(input_format_t::cbor, "value");
+
5504 
+
5505  // Integer 0x00..0x17 (0..23)
+
5506  case 0x00:
+
5507  case 0x01:
+
5508  case 0x02:
+
5509  case 0x03:
+
5510  case 0x04:
+
5511  case 0x05:
+
5512  case 0x06:
+
5513  case 0x07:
+
5514  case 0x08:
+
5515  case 0x09:
+
5516  case 0x0A:
+
5517  case 0x0B:
+
5518  case 0x0C:
+
5519  case 0x0D:
+
5520  case 0x0E:
+
5521  case 0x0F:
+
5522  case 0x10:
+
5523  case 0x11:
+
5524  case 0x12:
+
5525  case 0x13:
+
5526  case 0x14:
+
5527  case 0x15:
+
5528  case 0x16:
+
5529  case 0x17:
+
5530  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
+
5531 
+
5532  case 0x18: // Unsigned integer (one-byte uint8_t follows)
+
5533  {
+
5534  std::uint8_t number;
+
5535  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
+
5536  }
+
5537 
+
5538  case 0x19: // Unsigned integer (two-byte uint16_t follows)
+
5539  {
+
5540  std::uint16_t number;
+
5541  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
+
5542  }
+
5543 
+
5544  case 0x1A: // Unsigned integer (four-byte uint32_t follows)
+
5545  {
+
5546  std::uint32_t number;
+
5547  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
+
5548  }
+
5549 
+
5550  case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
+
5551  {
+
5552  std::uint64_t number;
+
5553  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
+
5554  }
+
5555 
+
5556  // Negative integer -1-0x00..-1-0x17 (-1..-24)
+
5557  case 0x20:
+
5558  case 0x21:
+
5559  case 0x22:
+
5560  case 0x23:
+
5561  case 0x24:
+
5562  case 0x25:
+
5563  case 0x26:
+
5564  case 0x27:
+
5565  case 0x28:
+
5566  case 0x29:
+
5567  case 0x2A:
+
5568  case 0x2B:
+
5569  case 0x2C:
+
5570  case 0x2D:
+
5571  case 0x2E:
+
5572  case 0x2F:
+
5573  case 0x30:
+
5574  case 0x31:
+
5575  case 0x32:
+
5576  case 0x33:
+
5577  case 0x34:
+
5578  case 0x35:
+
5579  case 0x36:
+
5580  case 0x37:
+
5581  return sax->number_integer(static_cast<std::int8_t>(0x20 - 1 - current));
+
5582 
+
5583  case 0x38: // Negative integer (one-byte uint8_t follows)
+
5584  {
+
5585  std::uint8_t number;
+
5586  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
+
5587  }
+
5588 
+
5589  case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
+
5590  {
+
5591  std::uint16_t number;
+
5592  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
+
5593  }
+
5594 
+
5595  case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
+
5596  {
+
5597  std::uint32_t number;
+
5598  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
+
5599  }
+
5600 
+
5601  case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
+
5602  {
+
5603  std::uint64_t number;
+
5604  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1)
+
5605  - static_cast<number_integer_t>(number));
+
5606  }
+
5607 
+
5608  // UTF-8 string (0x00..0x17 bytes follow)
+
5609  case 0x60:
+
5610  case 0x61:
+
5611  case 0x62:
+
5612  case 0x63:
+
5613  case 0x64:
+
5614  case 0x65:
+
5615  case 0x66:
+
5616  case 0x67:
+
5617  case 0x68:
+
5618  case 0x69:
+
5619  case 0x6A:
+
5620  case 0x6B:
+
5621  case 0x6C:
+
5622  case 0x6D:
+
5623  case 0x6E:
+
5624  case 0x6F:
+
5625  case 0x70:
+
5626  case 0x71:
+
5627  case 0x72:
+
5628  case 0x73:
+
5629  case 0x74:
+
5630  case 0x75:
+
5631  case 0x76:
+
5632  case 0x77:
+
5633  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
+
5634  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
+
5635  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
+
5636  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
+
5637  case 0x7F: // UTF-8 string (indefinite length)
+
5638  {
+
5639  string_t s;
+
5640  return get_cbor_string(s) and sax->string(s);
+
5641  }
+
5642 
+
5643  // array (0x00..0x17 data items follow)
+
5644  case 0x80:
+
5645  case 0x81:
+
5646  case 0x82:
+
5647  case 0x83:
+
5648  case 0x84:
+
5649  case 0x85:
+
5650  case 0x86:
+
5651  case 0x87:
+
5652  case 0x88:
+
5653  case 0x89:
+
5654  case 0x8A:
+
5655  case 0x8B:
+
5656  case 0x8C:
+
5657  case 0x8D:
+
5658  case 0x8E:
+
5659  case 0x8F:
+
5660  case 0x90:
+
5661  case 0x91:
+
5662  case 0x92:
+
5663  case 0x93:
+
5664  case 0x94:
+
5665  case 0x95:
+
5666  case 0x96:
+
5667  case 0x97:
+
5668  return get_cbor_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu));
+
5669 
+
5670  case 0x98: // array (one-byte uint8_t for n follows)
+
5671  {
+
5672  std::uint8_t len;
+
5673  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
+
5674  }
+
5675 
+
5676  case 0x99: // array (two-byte uint16_t for n follow)
+
5677  {
+
5678  std::uint16_t len;
+
5679  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
+
5680  }
+
5681 
+
5682  case 0x9A: // array (four-byte uint32_t for n follow)
+
5683  {
+
5684  std::uint32_t len;
+
5685  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
+
5686  }
+
5687 
+
5688  case 0x9B: // array (eight-byte uint64_t for n follow)
+
5689  {
+
5690  std::uint64_t len;
+
5691  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
+
5692  }
+
5693 
+
5694  case 0x9F: // array (indefinite length)
+
5695  return get_cbor_array(std::size_t(-1));
+
5696 
+
5697  // map (0x00..0x17 pairs of data items follow)
+
5698  case 0xA0:
+
5699  case 0xA1:
+
5700  case 0xA2:
+
5701  case 0xA3:
+
5702  case 0xA4:
+
5703  case 0xA5:
+
5704  case 0xA6:
+
5705  case 0xA7:
+
5706  case 0xA8:
+
5707  case 0xA9:
+
5708  case 0xAA:
+
5709  case 0xAB:
+
5710  case 0xAC:
+
5711  case 0xAD:
+
5712  case 0xAE:
+
5713  case 0xAF:
+
5714  case 0xB0:
+
5715  case 0xB1:
+
5716  case 0xB2:
+
5717  case 0xB3:
+
5718  case 0xB4:
+
5719  case 0xB5:
+
5720  case 0xB6:
+
5721  case 0xB7:
+
5722  return get_cbor_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu));
+
5723 
+
5724  case 0xB8: // map (one-byte uint8_t for n follows)
+
5725  {
+
5726  std::uint8_t len;
+
5727  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
+
5728  }
+
5729 
+
5730  case 0xB9: // map (two-byte uint16_t for n follow)
+
5731  {
+
5732  std::uint16_t len;
+
5733  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
+
5734  }
+
5735 
+
5736  case 0xBA: // map (four-byte uint32_t for n follow)
+
5737  {
+
5738  std::uint32_t len;
+
5739  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
+
5740  }
+
5741 
+
5742  case 0xBB: // map (eight-byte uint64_t for n follow)
+
5743  {
+
5744  std::uint64_t len;
+
5745  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
+
5746  }
+
5747 
+
5748  case 0xBF: // map (indefinite length)
+
5749  return get_cbor_object(std::size_t(-1));
+
5750 
+
5751  case 0xF4: // false
+
5752  return sax->boolean(false);
+
5753 
+
5754  case 0xF5: // true
+
5755  return sax->boolean(true);
+
5756 
+
5757  case 0xF6: // null
+
5758  return sax->null();
+
5759 
+
5760  case 0xF9: // Half-Precision Float (two-byte IEEE 754)
+
5761  {
+
5762  const int byte1_raw = get();
+
5763  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number")))
+
5764  {
+
5765  return false;
+
5766  }
+
5767  const int byte2_raw = get();
+
5768  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number")))
+
5769  {
+
5770  return false;
+
5771  }
+
5772 
+
5773  const auto byte1 = static_cast<unsigned char>(byte1_raw);
+
5774  const auto byte2 = static_cast<unsigned char>(byte2_raw);
+
5775 
+
5776  // code from RFC 7049, Appendix D, Figure 3:
+
5777  // As half-precision floating-point numbers were only added
+
5778  // to IEEE 754 in 2008, today's programming platforms often
+
5779  // still only have limited support for them. It is very
+
5780  // easy to include at least decoding support for them even
+
5781  // without such support. An example of a small decoder for
+
5782  // half-precision floating-point numbers in the C language
+
5783  // is shown in Fig. 3.
+
5784  const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);
+
5785  const double val = [&half]
+
5786  {
+
5787  const int exp = (half >> 10u) & 0x1Fu;
+
5788  const unsigned int mant = half & 0x3FFu;
+
5789  assert(0 <= exp and exp <= 32);
+
5790  assert(mant <= 1024);
+
5791  switch (exp)
+
5792  {
+
5793  case 0:
+
5794  return std::ldexp(mant, -24);
+
5795  case 31:
+
5796  return (mant == 0)
+
5797  ? std::numeric_limits<double>::infinity()
+
5798  : std::numeric_limits<double>::quiet_NaN();
+
5799  default:
+
5800  return std::ldexp(mant + 1024, exp - 25);
+
5801  }
+
5802  }();
+
5803  return sax->number_float((half & 0x8000u) != 0
+
5804  ? static_cast<number_float_t>(-val)
+
5805  : static_cast<number_float_t>(val), "");
+
5806  }
+
5807 
+
5808  case 0xFA: // Single-Precision Float (four-byte IEEE 754)
+
5809  {
+
5810  float number;
+
5811  return get_number(input_format_t::cbor, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
5812  }
+
5813 
+
5814  case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
+
5815  {
+
5816  double number;
+
5817  return get_number(input_format_t::cbor, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
5818  }
+
5819 
+
5820  default: // anything else (0xFF is handled inside the other types)
+
5821  {
+
5822  auto last_token = get_token_string();
+
5823  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value")));
+
5824  }
+
5825  }
+
5826  }
+
5827 
+
5839  bool get_cbor_string(string_t& result)
+
5840  {
+
5841  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "string")))
+
5842  {
+
5843  return false;
+
5844  }
+
5845 
+
5846  switch (current)
+
5847  {
+
5848  // UTF-8 string (0x00..0x17 bytes follow)
+
5849  case 0x60:
+
5850  case 0x61:
+
5851  case 0x62:
+
5852  case 0x63:
+
5853  case 0x64:
+
5854  case 0x65:
+
5855  case 0x66:
+
5856  case 0x67:
+
5857  case 0x68:
+
5858  case 0x69:
+
5859  case 0x6A:
+
5860  case 0x6B:
+
5861  case 0x6C:
+
5862  case 0x6D:
+
5863  case 0x6E:
+
5864  case 0x6F:
+
5865  case 0x70:
+
5866  case 0x71:
+
5867  case 0x72:
+
5868  case 0x73:
+
5869  case 0x74:
+
5870  case 0x75:
+
5871  case 0x76:
+
5872  case 0x77:
+
5873  {
+
5874  return get_string(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
+
5875  }
+
5876 
+
5877  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
+
5878  {
+
5879  std::uint8_t len;
+
5880  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
+
5881  }
+
5882 
+
5883  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
+
5884  {
+
5885  std::uint16_t len;
+
5886  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
+
5887  }
+
5888 
+
5889  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
+
5890  {
+
5891  std::uint32_t len;
+
5892  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
+
5893  }
+
5894 
+
5895  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
+
5896  {
+
5897  std::uint64_t len;
+
5898  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
+
5899  }
+
5900 
+
5901  case 0x7F: // UTF-8 string (indefinite length)
+
5902  {
+
5903  while (get() != 0xFF)
+
5904  {
+
5905  string_t chunk;
+
5906  if (not get_cbor_string(chunk))
+
5907  {
+
5908  return false;
+
5909  }
+
5910  result.append(chunk);
+
5911  }
+
5912  return true;
+
5913  }
+
5914 
+
5915  default:
+
5916  {
+
5917  auto last_token = get_token_string();
+
5918  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string")));
+
5919  }
+
5920  }
+
5921  }
+
5922 
+
5928  bool get_cbor_array(const std::size_t len)
+
5929  {
+
5930  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len)))
+
5931  {
+
5932  return false;
+
5933  }
+
5934 
+
5935  if (len != std::size_t(-1))
+
5936  {
+
5937  for (std::size_t i = 0; i < len; ++i)
+
5938  {
+
5939  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
+
5940  {
+
5941  return false;
+
5942  }
+
5943  }
+
5944  }
+
5945  else
+
5946  {
+
5947  while (get() != 0xFF)
+
5948  {
+
5949  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal(false)))
+
5950  {
+
5951  return false;
+
5952  }
+
5953  }
+
5954  }
+
5955 
+
5956  return sax->end_array();
+
5957  }
+
5958 
+
5964  bool get_cbor_object(const std::size_t len)
+
5965  {
+
5966  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len)))
+
5967  {
+
5968  return false;
+
5969  }
+
5970 
+
5971  string_t key;
+
5972  if (len != std::size_t(-1))
+
5973  {
+
5974  for (std::size_t i = 0; i < len; ++i)
+
5975  {
+
5976  get();
+
5977  if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key)))
+
5978  {
+
5979  return false;
+
5980  }
+
5981 
+
5982  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
+
5983  {
+
5984  return false;
+
5985  }
+
5986  key.clear();
+
5987  }
+
5988  }
+
5989  else
+
5990  {
+
5991  while (get() != 0xFF)
+
5992  {
+
5993  if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key)))
+
5994  {
+
5995  return false;
+
5996  }
+
5997 
+
5998  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
+
5999  {
+
6000  return false;
+
6001  }
+
6002  key.clear();
+
6003  }
+
6004  }
+
6005 
+
6006  return sax->end_object();
+
6007  }
+
6008 
+
6010  // MsgPack //
+
6012 
+
6016  bool parse_msgpack_internal()
+
6017  {
+
6018  switch (get())
+
6019  {
+
6020  // EOF
+
6021  case std::char_traits<char>::eof():
+
6022  return unexpect_eof(input_format_t::msgpack, "value");
+
6023 
+
6024  // positive fixint
+
6025  case 0x00:
+
6026  case 0x01:
+
6027  case 0x02:
+
6028  case 0x03:
+
6029  case 0x04:
+
6030  case 0x05:
+
6031  case 0x06:
+
6032  case 0x07:
+
6033  case 0x08:
+
6034  case 0x09:
+
6035  case 0x0A:
+
6036  case 0x0B:
+
6037  case 0x0C:
+
6038  case 0x0D:
+
6039  case 0x0E:
+
6040  case 0x0F:
+
6041  case 0x10:
+
6042  case 0x11:
+
6043  case 0x12:
+
6044  case 0x13:
+
6045  case 0x14:
+
6046  case 0x15:
+
6047  case 0x16:
+
6048  case 0x17:
+
6049  case 0x18:
+
6050  case 0x19:
+
6051  case 0x1A:
+
6052  case 0x1B:
+
6053  case 0x1C:
+
6054  case 0x1D:
+
6055  case 0x1E:
+
6056  case 0x1F:
+
6057  case 0x20:
+
6058  case 0x21:
+
6059  case 0x22:
+
6060  case 0x23:
+
6061  case 0x24:
+
6062  case 0x25:
+
6063  case 0x26:
+
6064  case 0x27:
+
6065  case 0x28:
+
6066  case 0x29:
+
6067  case 0x2A:
+
6068  case 0x2B:
+
6069  case 0x2C:
+
6070  case 0x2D:
+
6071  case 0x2E:
+
6072  case 0x2F:
+
6073  case 0x30:
+
6074  case 0x31:
+
6075  case 0x32:
+
6076  case 0x33:
+
6077  case 0x34:
+
6078  case 0x35:
+
6079  case 0x36:
+
6080  case 0x37:
+
6081  case 0x38:
+
6082  case 0x39:
+
6083  case 0x3A:
+
6084  case 0x3B:
+
6085  case 0x3C:
+
6086  case 0x3D:
+
6087  case 0x3E:
+
6088  case 0x3F:
+
6089  case 0x40:
+
6090  case 0x41:
+
6091  case 0x42:
+
6092  case 0x43:
+
6093  case 0x44:
+
6094  case 0x45:
+
6095  case 0x46:
+
6096  case 0x47:
+
6097  case 0x48:
+
6098  case 0x49:
+
6099  case 0x4A:
+
6100  case 0x4B:
+
6101  case 0x4C:
+
6102  case 0x4D:
+
6103  case 0x4E:
+
6104  case 0x4F:
+
6105  case 0x50:
+
6106  case 0x51:
+
6107  case 0x52:
+
6108  case 0x53:
+
6109  case 0x54:
+
6110  case 0x55:
+
6111  case 0x56:
+
6112  case 0x57:
+
6113  case 0x58:
+
6114  case 0x59:
+
6115  case 0x5A:
+
6116  case 0x5B:
+
6117  case 0x5C:
+
6118  case 0x5D:
+
6119  case 0x5E:
+
6120  case 0x5F:
+
6121  case 0x60:
+
6122  case 0x61:
+
6123  case 0x62:
+
6124  case 0x63:
+
6125  case 0x64:
+
6126  case 0x65:
+
6127  case 0x66:
+
6128  case 0x67:
+
6129  case 0x68:
+
6130  case 0x69:
+
6131  case 0x6A:
+
6132  case 0x6B:
+
6133  case 0x6C:
+
6134  case 0x6D:
+
6135  case 0x6E:
+
6136  case 0x6F:
+
6137  case 0x70:
+
6138  case 0x71:
+
6139  case 0x72:
+
6140  case 0x73:
+
6141  case 0x74:
+
6142  case 0x75:
+
6143  case 0x76:
+
6144  case 0x77:
+
6145  case 0x78:
+
6146  case 0x79:
+
6147  case 0x7A:
+
6148  case 0x7B:
+
6149  case 0x7C:
+
6150  case 0x7D:
+
6151  case 0x7E:
+
6152  case 0x7F:
+
6153  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
+
6154 
+
6155  // fixmap
+
6156  case 0x80:
+
6157  case 0x81:
+
6158  case 0x82:
+
6159  case 0x83:
+
6160  case 0x84:
+
6161  case 0x85:
+
6162  case 0x86:
+
6163  case 0x87:
+
6164  case 0x88:
+
6165  case 0x89:
+
6166  case 0x8A:
+
6167  case 0x8B:
+
6168  case 0x8C:
+
6169  case 0x8D:
+
6170  case 0x8E:
+
6171  case 0x8F:
+
6172  return get_msgpack_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
+
6173 
+
6174  // fixarray
+
6175  case 0x90:
+
6176  case 0x91:
+
6177  case 0x92:
+
6178  case 0x93:
+
6179  case 0x94:
+
6180  case 0x95:
+
6181  case 0x96:
+
6182  case 0x97:
+
6183  case 0x98:
+
6184  case 0x99:
+
6185  case 0x9A:
+
6186  case 0x9B:
+
6187  case 0x9C:
+
6188  case 0x9D:
+
6189  case 0x9E:
+
6190  case 0x9F:
+
6191  return get_msgpack_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
+
6192 
+
6193  // fixstr
+
6194  case 0xA0:
+
6195  case 0xA1:
+
6196  case 0xA2:
+
6197  case 0xA3:
+
6198  case 0xA4:
+
6199  case 0xA5:
+
6200  case 0xA6:
+
6201  case 0xA7:
+
6202  case 0xA8:
+
6203  case 0xA9:
+
6204  case 0xAA:
+
6205  case 0xAB:
+
6206  case 0xAC:
+
6207  case 0xAD:
+
6208  case 0xAE:
+
6209  case 0xAF:
+
6210  case 0xB0:
+
6211  case 0xB1:
+
6212  case 0xB2:
+
6213  case 0xB3:
+
6214  case 0xB4:
+
6215  case 0xB5:
+
6216  case 0xB6:
+
6217  case 0xB7:
+
6218  case 0xB8:
+
6219  case 0xB9:
+
6220  case 0xBA:
+
6221  case 0xBB:
+
6222  case 0xBC:
+
6223  case 0xBD:
+
6224  case 0xBE:
+
6225  case 0xBF:
+
6226  case 0xD9: // str 8
+
6227  case 0xDA: // str 16
+
6228  case 0xDB: // str 32
+
6229  {
+
6230  string_t s;
+
6231  return get_msgpack_string(s) and sax->string(s);
+
6232  }
+
6233 
+
6234  case 0xC0: // nil
+
6235  return sax->null();
+
6236 
+
6237  case 0xC2: // false
+
6238  return sax->boolean(false);
+
6239 
+
6240  case 0xC3: // true
+
6241  return sax->boolean(true);
+
6242 
+
6243  case 0xCA: // float 32
+
6244  {
+
6245  float number;
+
6246  return get_number(input_format_t::msgpack, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
6247  }
+
6248 
+
6249  case 0xCB: // float 64
+
6250  {
+
6251  double number;
+
6252  return get_number(input_format_t::msgpack, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
6253  }
+
6254 
+
6255  case 0xCC: // uint 8
+
6256  {
+
6257  std::uint8_t number;
+
6258  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
+
6259  }
+
6260 
+
6261  case 0xCD: // uint 16
+
6262  {
+
6263  std::uint16_t number;
+
6264  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
+
6265  }
+
6266 
+
6267  case 0xCE: // uint 32
+
6268  {
+
6269  std::uint32_t number;
+
6270  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
+
6271  }
+
6272 
+
6273  case 0xCF: // uint 64
+
6274  {
+
6275  std::uint64_t number;
+
6276  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
+
6277  }
+
6278 
+
6279  case 0xD0: // int 8
+
6280  {
+
6281  std::int8_t number;
+
6282  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
+
6283  }
+
6284 
+
6285  case 0xD1: // int 16
+
6286  {
+
6287  std::int16_t number;
+
6288  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
+
6289  }
+
6290 
+
6291  case 0xD2: // int 32
+
6292  {
+
6293  std::int32_t number;
+
6294  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
+
6295  }
+
6296 
+
6297  case 0xD3: // int 64
+
6298  {
+
6299  std::int64_t number;
+
6300  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
+
6301  }
+
6302 
+
6303  case 0xDC: // array 16
+
6304  {
+
6305  std::uint16_t len;
+
6306  return get_number(input_format_t::msgpack, len) and get_msgpack_array(static_cast<std::size_t>(len));
+
6307  }
+
6308 
+
6309  case 0xDD: // array 32
+
6310  {
+
6311  std::uint32_t len;
+
6312  return get_number(input_format_t::msgpack, len) and get_msgpack_array(static_cast<std::size_t>(len));
+
6313  }
+
6314 
+
6315  case 0xDE: // map 16
+
6316  {
+
6317  std::uint16_t len;
+
6318  return get_number(input_format_t::msgpack, len) and get_msgpack_object(static_cast<std::size_t>(len));
+
6319  }
+
6320 
+
6321  case 0xDF: // map 32
+
6322  {
+
6323  std::uint32_t len;
+
6324  return get_number(input_format_t::msgpack, len) and get_msgpack_object(static_cast<std::size_t>(len));
+
6325  }
+
6326 
+
6327  // negative fixint
+
6328  case 0xE0:
+
6329  case 0xE1:
+
6330  case 0xE2:
+
6331  case 0xE3:
+
6332  case 0xE4:
+
6333  case 0xE5:
+
6334  case 0xE6:
+
6335  case 0xE7:
+
6336  case 0xE8:
+
6337  case 0xE9:
+
6338  case 0xEA:
+
6339  case 0xEB:
+
6340  case 0xEC:
+
6341  case 0xED:
+
6342  case 0xEE:
+
6343  case 0xEF:
+
6344  case 0xF0:
+
6345  case 0xF1:
+
6346  case 0xF2:
+
6347  case 0xF3:
+
6348  case 0xF4:
+
6349  case 0xF5:
+
6350  case 0xF6:
+
6351  case 0xF7:
+
6352  case 0xF8:
+
6353  case 0xF9:
+
6354  case 0xFA:
+
6355  case 0xFB:
+
6356  case 0xFC:
+
6357  case 0xFD:
+
6358  case 0xFE:
+
6359  case 0xFF:
+
6360  return sax->number_integer(static_cast<std::int8_t>(current));
+
6361 
+
6362  default: // anything else
+
6363  {
+
6364  auto last_token = get_token_string();
+
6365  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value")));
+
6366  }
+
6367  }
+
6368  }
+
6369 
+
6380  bool get_msgpack_string(string_t& result)
+
6381  {
+
6382  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::msgpack, "string")))
+
6383  {
+
6384  return false;
+
6385  }
+
6386 
+
6387  switch (current)
+
6388  {
+
6389  // fixstr
+
6390  case 0xA0:
+
6391  case 0xA1:
+
6392  case 0xA2:
+
6393  case 0xA3:
+
6394  case 0xA4:
+
6395  case 0xA5:
+
6396  case 0xA6:
+
6397  case 0xA7:
+
6398  case 0xA8:
+
6399  case 0xA9:
+
6400  case 0xAA:
+
6401  case 0xAB:
+
6402  case 0xAC:
+
6403  case 0xAD:
+
6404  case 0xAE:
+
6405  case 0xAF:
+
6406  case 0xB0:
+
6407  case 0xB1:
+
6408  case 0xB2:
+
6409  case 0xB3:
+
6410  case 0xB4:
+
6411  case 0xB5:
+
6412  case 0xB6:
+
6413  case 0xB7:
+
6414  case 0xB8:
+
6415  case 0xB9:
+
6416  case 0xBA:
+
6417  case 0xBB:
+
6418  case 0xBC:
+
6419  case 0xBD:
+
6420  case 0xBE:
+
6421  case 0xBF:
+
6422  {
+
6423  return get_string(input_format_t::msgpack, static_cast<unsigned int>(current) & 0x1Fu, result);
+
6424  }
+
6425 
+
6426  case 0xD9: // str 8
+
6427  {
+
6428  std::uint8_t len;
+
6429  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
+
6430  }
+
6431 
+
6432  case 0xDA: // str 16
+
6433  {
+
6434  std::uint16_t len;
+
6435  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
+
6436  }
+
6437 
+
6438  case 0xDB: // str 32
+
6439  {
+
6440  std::uint32_t len;
+
6441  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
+
6442  }
+
6443 
+
6444  default:
+
6445  {
+
6446  auto last_token = get_token_string();
+
6447  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string")));
+
6448  }
+
6449  }
+
6450  }
+
6451 
+
6456  bool get_msgpack_array(const std::size_t len)
+
6457  {
+
6458  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len)))
+
6459  {
+
6460  return false;
+
6461  }
+
6462 
+
6463  for (std::size_t i = 0; i < len; ++i)
+
6464  {
+
6465  if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal()))
+
6466  {
+
6467  return false;
+
6468  }
+
6469  }
+
6470 
+
6471  return sax->end_array();
+
6472  }
+
6473 
+
6478  bool get_msgpack_object(const std::size_t len)
+
6479  {
+
6480  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len)))
+
6481  {
+
6482  return false;
+
6483  }
+
6484 
+
6485  string_t key;
+
6486  for (std::size_t i = 0; i < len; ++i)
+
6487  {
+
6488  get();
+
6489  if (JSON_HEDLEY_UNLIKELY(not get_msgpack_string(key) or not sax->key(key)))
+
6490  {
+
6491  return false;
+
6492  }
+
6493 
+
6494  if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal()))
+
6495  {
+
6496  return false;
+
6497  }
+
6498  key.clear();
+
6499  }
+
6500 
+
6501  return sax->end_object();
+
6502  }
+
6503 
+
6505  // UBJSON //
+
6507 
+
6515  bool parse_ubjson_internal(const bool get_char = true)
+
6516  {
+
6517  return get_ubjson_value(get_char ? get_ignore_noop() : current);
+
6518  }
+
6519 
+
6534  bool get_ubjson_string(string_t& result, const bool get_char = true)
+
6535  {
+
6536  if (get_char)
+
6537  {
+
6538  get(); // TODO(niels): may we ignore N here?
+
6539  }
+
6540 
+
6541  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value")))
+
6542  {
+
6543  return false;
+
6544  }
+
6545 
+
6546  switch (current)
+
6547  {
+
6548  case 'U':
+
6549  {
+
6550  std::uint8_t len;
+
6551  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
+
6552  }
+
6553 
+
6554  case 'i':
+
6555  {
+
6556  std::int8_t len;
+
6557  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
+
6558  }
+
6559 
+
6560  case 'I':
+
6561  {
+
6562  std::int16_t len;
+
6563  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
+
6564  }
+
6565 
+
6566  case 'l':
+
6567  {
+
6568  std::int32_t len;
+
6569  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
+
6570  }
+
6571 
+
6572  case 'L':
+
6573  {
+
6574  std::int64_t len;
+
6575  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
+
6576  }
+
6577 
+
6578  default:
+
6579  auto last_token = get_token_string();
+
6580  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string")));
+
6581  }
+
6582  }
+
6583 
+
6588  bool get_ubjson_size_value(std::size_t& result)
+
6589  {
+
6590  switch (get_ignore_noop())
+
6591  {
+
6592  case 'U':
+
6593  {
+
6594  std::uint8_t number;
+
6595  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
+
6596  {
+
6597  return false;
+
6598  }
+
6599  result = static_cast<std::size_t>(number);
+
6600  return true;
+
6601  }
+
6602 
+
6603  case 'i':
+
6604  {
+
6605  std::int8_t number;
+
6606  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
+
6607  {
+
6608  return false;
+
6609  }
+
6610  result = static_cast<std::size_t>(number);
+
6611  return true;
+
6612  }
+
6613 
+
6614  case 'I':
+
6615  {
+
6616  std::int16_t number;
+
6617  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
+
6618  {
+
6619  return false;
+
6620  }
+
6621  result = static_cast<std::size_t>(number);
+
6622  return true;
+
6623  }
+
6624 
+
6625  case 'l':
+
6626  {
+
6627  std::int32_t number;
+
6628  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
+
6629  {
+
6630  return false;
+
6631  }
+
6632  result = static_cast<std::size_t>(number);
+
6633  return true;
+
6634  }
+
6635 
+
6636  case 'L':
+
6637  {
+
6638  std::int64_t number;
+
6639  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
+
6640  {
+
6641  return false;
+
6642  }
+
6643  result = static_cast<std::size_t>(number);
+
6644  return true;
+
6645  }
+
6646 
+
6647  default:
+
6648  {
+
6649  auto last_token = get_token_string();
+
6650  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size")));
+
6651  }
+
6652  }
+
6653  }
+
6654 
+
6665  bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
+
6666  {
+
6667  result.first = string_t::npos; // size
+
6668  result.second = 0; // type
+
6669 
+
6670  get_ignore_noop();
+
6671 
+
6672  if (current == '$')
+
6673  {
+
6674  result.second = get(); // must not ignore 'N', because 'N' maybe the type
+
6675  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "type")))
+
6676  {
+
6677  return false;
+
6678  }
+
6679 
+
6680  get_ignore_noop();
+
6681  if (JSON_HEDLEY_UNLIKELY(current != '#'))
+
6682  {
+
6683  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value")))
+
6684  {
+
6685  return false;
+
6686  }
+
6687  auto last_token = get_token_string();
+
6688  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size")));
+
6689  }
+
6690 
+
6691  return get_ubjson_size_value(result.first);
+
6692  }
+
6693 
+
6694  if (current == '#')
+
6695  {
+
6696  return get_ubjson_size_value(result.first);
+
6697  }
+
6698 
+
6699  return true;
+
6700  }
+
6701 
+
6706  bool get_ubjson_value(const int prefix)
+
6707  {
+
6708  switch (prefix)
+
6709  {
+
6710  case std::char_traits<char>::eof(): // EOF
+
6711  return unexpect_eof(input_format_t::ubjson, "value");
+
6712 
+
6713  case 'T': // true
+
6714  return sax->boolean(true);
+
6715  case 'F': // false
+
6716  return sax->boolean(false);
+
6717 
+
6718  case 'Z': // null
+
6719  return sax->null();
+
6720 
+
6721  case 'U':
+
6722  {
+
6723  std::uint8_t number;
+
6724  return get_number(input_format_t::ubjson, number) and sax->number_unsigned(number);
+
6725  }
+
6726 
+
6727  case 'i':
+
6728  {
+
6729  std::int8_t number;
+
6730  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
+
6731  }
+
6732 
+
6733  case 'I':
+
6734  {
+
6735  std::int16_t number;
+
6736  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
+
6737  }
+
6738 
+
6739  case 'l':
+
6740  {
+
6741  std::int32_t number;
+
6742  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
+
6743  }
+
6744 
+
6745  case 'L':
+
6746  {
+
6747  std::int64_t number;
+
6748  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
+
6749  }
+
6750 
+
6751  case 'd':
+
6752  {
+
6753  float number;
+
6754  return get_number(input_format_t::ubjson, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
6755  }
+
6756 
+
6757  case 'D':
+
6758  {
+
6759  double number;
+
6760  return get_number(input_format_t::ubjson, number) and sax->number_float(static_cast<number_float_t>(number), "");
+
6761  }
+
6762 
+
6763  case 'C': // char
+
6764  {
+
6765  get();
+
6766  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "char")))
+
6767  {
+
6768  return false;
+
6769  }
+
6770  if (JSON_HEDLEY_UNLIKELY(current > 127))
+
6771  {
+
6772  auto last_token = get_token_string();
+
6773  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char")));
+
6774  }
+
6775  string_t s(1, static_cast<char>(current));
+
6776  return sax->string(s);
+
6777  }
+
6778 
+
6779  case 'S': // string
+
6780  {
+
6781  string_t s;
+
6782  return get_ubjson_string(s) and sax->string(s);
+
6783  }
+
6784 
+
6785  case '[': // array
+
6786  return get_ubjson_array();
+
6787 
+
6788  case '{': // object
+
6789  return get_ubjson_object();
+
6790 
+
6791  default: // anything else
+
6792  {
+
6793  auto last_token = get_token_string();
+
6794  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value")));
+
6795  }
+
6796  }
+
6797  }
+
6798 
+
6802  bool get_ubjson_array()
+
6803  {
+
6804  std::pair<std::size_t, int> size_and_type;
+
6805  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type)))
+
6806  {
+
6807  return false;
+
6808  }
+
6809 
+
6810  if (size_and_type.first != string_t::npos)
+
6811  {
+
6812  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(size_and_type.first)))
+
6813  {
+
6814  return false;
+
6815  }
+
6816 
+
6817  if (size_and_type.second != 0)
+
6818  {
+
6819  if (size_and_type.second != 'N')
+
6820  {
+
6821  for (std::size_t i = 0; i < size_and_type.first; ++i)
+
6822  {
+
6823  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second)))
+
6824  {
+
6825  return false;
+
6826  }
+
6827  }
+
6828  }
+
6829  }
+
6830  else
+
6831  {
+
6832  for (std::size_t i = 0; i < size_and_type.first; ++i)
+
6833  {
+
6834  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
+
6835  {
+
6836  return false;
+
6837  }
+
6838  }
+
6839  }
+
6840  }
+
6841  else
+
6842  {
+
6843  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
+
6844  {
+
6845  return false;
+
6846  }
+
6847 
+
6848  while (current != ']')
+
6849  {
+
6850  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal(false)))
+
6851  {
+
6852  return false;
+
6853  }
+
6854  get_ignore_noop();
+
6855  }
+
6856  }
+
6857 
+
6858  return sax->end_array();
+
6859  }
+
6860 
+
6864  bool get_ubjson_object()
+
6865  {
+
6866  std::pair<std::size_t, int> size_and_type;
+
6867  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type)))
+
6868  {
+
6869  return false;
+
6870  }
+
6871 
+
6872  string_t key;
+
6873  if (size_and_type.first != string_t::npos)
+
6874  {
+
6875  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(size_and_type.first)))
+
6876  {
+
6877  return false;
+
6878  }
+
6879 
+
6880  if (size_and_type.second != 0)
+
6881  {
+
6882  for (std::size_t i = 0; i < size_and_type.first; ++i)
+
6883  {
+
6884  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key)))
+
6885  {
+
6886  return false;
+
6887  }
+
6888  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second)))
+
6889  {
+
6890  return false;
+
6891  }
+
6892  key.clear();
+
6893  }
+
6894  }
+
6895  else
+
6896  {
+
6897  for (std::size_t i = 0; i < size_and_type.first; ++i)
+
6898  {
+
6899  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key)))
+
6900  {
+
6901  return false;
+
6902  }
+
6903  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
+
6904  {
+
6905  return false;
+
6906  }
+
6907  key.clear();
+
6908  }
+
6909  }
+
6910  }
+
6911  else
+
6912  {
+
6913  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
+
6914  {
+
6915  return false;
+
6916  }
+
6917 
+
6918  while (current != '}')
+
6919  {
+
6920  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key, false) or not sax->key(key)))
+
6921  {
+
6922  return false;
+
6923  }
+
6924  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
+
6925  {
+
6926  return false;
+
6927  }
+
6928  get_ignore_noop();
+
6929  key.clear();
+
6930  }
+
6931  }
+
6932 
+
6933  return sax->end_object();
+
6934  }
+
6935 
+
6937  // Utility functions //
+
6939 
+
6949  int get()
+
6950  {
+
6951  ++chars_read;
+
6952  return current = ia->get_character();
+
6953  }
+
6954 
+
6958  int get_ignore_noop()
+
6959  {
+
6960  do
+
6961  {
+
6962  get();
+
6963  }
+
6964  while (current == 'N');
+
6965 
+
6966  return current;
+
6967  }
+
6968 
+
6969  /*
+
6970  @brief read a number from the input
+
6971 
+
6972  @tparam NumberType the type of the number
+
6973  @param[in] format the current format (for diagnostics)
+
6974  @param[out] result number of type @a NumberType
+
6975 
+
6976  @return whether conversion completed
+
6977 
+
6978  @note This function needs to respect the system's endianess, because
+
6979  bytes in CBOR, MessagePack, and UBJSON are stored in network order
+
6980  (big endian) and therefore need reordering on little endian systems.
+
6981  */
+
6982  template<typename NumberType, bool InputIsLittleEndian = false>
+
6983  bool get_number(const input_format_t format, NumberType& result)
+
6984  {
+
6985  // step 1: read input into array with system's byte order
+
6986  std::array<std::uint8_t, sizeof(NumberType)> vec;
+
6987  for (std::size_t i = 0; i < sizeof(NumberType); ++i)
+
6988  {
+
6989  get();
+
6990  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "number")))
+
6991  {
+
6992  return false;
+
6993  }
+
6994 
+
6995  // reverse byte order prior to conversion if necessary
+
6996  if (is_little_endian != InputIsLittleEndian)
+
6997  {
+
6998  vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current);
+
6999  }
+
7000  else
+
7001  {
+
7002  vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE
+
7003  }
+
7004  }
+
7005 
+
7006  // step 2: convert array into number of type T and return
+
7007  std::memcpy(&result, vec.data(), sizeof(NumberType));
+
7008  return true;
+
7009  }
+
7010 
+
7025  template<typename NumberType>
+
7026  bool get_string(const input_format_t format,
+
7027  const NumberType len,
+
7028  string_t& result)
+
7029  {
+
7030  bool success = true;
+
7031  std::generate_n(std::back_inserter(result), len, [this, &success, &format]()
+
7032  {
+
7033  get();
+
7034  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "string")))
+
7035  {
+
7036  success = false;
+
7037  }
+
7038  return static_cast<char>(current);
+
7039  });
+
7040  return success;
+
7041  }
+
7042 
+ +
7049  bool unexpect_eof(const input_format_t format, const char* context) const
+
7050  {
+
7051  if (JSON_HEDLEY_UNLIKELY(current == std::char_traits<char>::eof()))
+
7052  {
+
7053  return sax->parse_error(chars_read, "<end of file>",
+
7054  parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context)));
+
7055  }
+
7056  return true;
+
7057  }
+
7058 
+
7062  std::string get_token_string() const
+
7063  {
+
7064  std::array<char, 3> cr{{}};
+
7065  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(current));
+
7066  return std::string{cr.data()};
+
7067  }
+
7068 
+
7075  std::string exception_message(const input_format_t format,
+
7076  const std::string& detail,
+
7077  const std::string& context) const
+
7078  {
+
7079  std::string error_msg = "syntax error while parsing ";
+
7080 
+
7081  switch (format)
+
7082  {
+
7083  case input_format_t::cbor:
+
7084  error_msg += "CBOR";
+
7085  break;
+
7086 
+ +
7088  error_msg += "MessagePack";
+
7089  break;
+
7090 
+ +
7092  error_msg += "UBJSON";
+
7093  break;
+
7094 
+
7095  case input_format_t::bson:
+
7096  error_msg += "BSON";
+
7097  break;
+
7098 
+
7099  default: // LCOV_EXCL_LINE
+
7100  assert(false); // LCOV_EXCL_LINE
+
7101  }
+
7102 
+
7103  return error_msg + " " + context + ": " + detail;
+
7104  }
+
7105 
+
7106  private:
+
7108  input_adapter_t ia = nullptr;
+
7109 
+
7111  int current = std::char_traits<char>::eof();
+
7112 
+
7114  std::size_t chars_read = 0;
+
7115 
+
7117  const bool is_little_endian = little_endianess();
+
7118 
+
7120  json_sax_t* sax = nullptr;
+
7121 };
+
7122 } // namespace detail
+
7123 } // namespace nlohmann
+
7124 
+
7125 // #include <nlohmann/detail/input/input_adapters.hpp>
+
7126 
+
7127 // #include <nlohmann/detail/input/lexer.hpp>
+
7128 
+
7129 
+
7130 #include <array> // array
+
7131 #include <clocale> // localeconv
+
7132 #include <cstddef> // size_t
+
7133 #include <cstdio> // snprintf
+
7134 #include <cstdlib> // strtof, strtod, strtold, strtoll, strtoull
+
7135 #include <initializer_list> // initializer_list
+
7136 #include <string> // char_traits, string
+
7137 #include <utility> // move
+
7138 #include <vector> // vector
+
7139 
+
7140 // #include <nlohmann/detail/input/input_adapters.hpp>
+
7141 
+
7142 // #include <nlohmann/detail/input/position_t.hpp>
+
7143 
+
7144 // #include <nlohmann/detail/macro_scope.hpp>
+
7145 
+
7146 
+
7147 namespace nlohmann
+
7148 {
+
7149 namespace detail
+
7150 {
+
7152 // lexer //
+
7154 
+
7160 template<typename BasicJsonType>
+
7161 class lexer
+
7162 {
+
7163  using number_integer_t = typename BasicJsonType::number_integer_t;
+
7164  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
7165  using number_float_t = typename BasicJsonType::number_float_t;
+
7166  using string_t = typename BasicJsonType::string_t;
+
7167 
+
7168  public:
+
7170  enum class token_type
+
7171  {
+
7172  uninitialized,
+
7173  literal_true,
+
7174  literal_false,
+
7175  literal_null,
+
7176  value_string,
+
7177  value_unsigned,
+
7178  value_integer,
+
7179  value_float,
+
7180  begin_array,
+
7181  begin_object,
+
7182  end_array,
+
7183  end_object,
+
7184  name_separator,
+
7185  value_separator,
+
7186  parse_error,
+
7187  end_of_input,
+ +
7189  };
+
7190 
+ + +
7194  static const char* token_type_name(const token_type t) noexcept
+
7195  {
+
7196  switch (t)
+
7197  {
+ +
7199  return "<uninitialized>";
+ +
7201  return "true literal";
+ +
7203  return "false literal";
+ +
7205  return "null literal";
+ +
7207  return "string literal";
+ + + +
7211  return "number literal";
+ +
7213  return "'['";
+ +
7215  return "'{'";
+
7216  case token_type::end_array:
+
7217  return "']'";
+ +
7219  return "'}'";
+ +
7221  return "':'";
+ +
7223  return "','";
+ +
7225  return "<parse error>";
+ +
7227  return "end of input";
+ +
7229  return "'[', '{', or a literal";
+
7230  // LCOV_EXCL_START
+
7231  default: // catch non-enum values
+
7232  return "unknown token";
+
7233  // LCOV_EXCL_STOP
+
7234  }
+
7235  }
+
7236 
+
7237  explicit lexer(detail::input_adapter_t&& adapter)
+
7238  : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {}
+
7239 
+
7240  // delete because of pointer members
+
7241  lexer(const lexer&) = delete;
+
7242  lexer(lexer&&) = delete;
+
7243  lexer& operator=(lexer&) = delete;
+
7244  lexer& operator=(lexer&&) = delete;
+
7245  ~lexer() = default;
+
7246 
+
7247  private:
+
7249  // locales
+
7251 
+ +
7254  static char get_decimal_point() noexcept
+
7255  {
+
7256  const auto loc = localeconv();
+
7257  assert(loc != nullptr);
+
7258  return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
+
7259  }
+
7260 
+
7262  // scan functions
+
7264 
+
7280  int get_codepoint()
+
7281  {
+
7282  // this function only makes sense after reading `\u`
+
7283  assert(current == 'u');
+
7284  int codepoint = 0;
+
7285 
+
7286  const auto factors = { 12u, 8u, 4u, 0u };
+
7287  for (const auto factor : factors)
+
7288  {
+
7289  get();
+
7290 
+
7291  if (current >= '0' and current <= '9')
+
7292  {
+
7293  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x30u) << factor);
+
7294  }
+
7295  else if (current >= 'A' and current <= 'F')
+
7296  {
+
7297  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x37u) << factor);
+
7298  }
+
7299  else if (current >= 'a' and current <= 'f')
+
7300  {
+
7301  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x57u) << factor);
+
7302  }
+
7303  else
+
7304  {
+
7305  return -1;
+
7306  }
+
7307  }
+
7308 
+
7309  assert(0x0000 <= codepoint and codepoint <= 0xFFFF);
+
7310  return codepoint;
+
7311  }
+
7312 
+
7328  bool next_byte_in_range(std::initializer_list<int> ranges)
+
7329  {
+
7330  assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6);
+
7331  add(current);
+
7332 
+
7333  for (auto range = ranges.begin(); range != ranges.end(); ++range)
+
7334  {
+
7335  get();
+
7336  if (JSON_HEDLEY_LIKELY(*range <= current and current <= *(++range)))
+
7337  {
+
7338  add(current);
+
7339  }
+
7340  else
+
7341  {
+
7342  error_message = "invalid string: ill-formed UTF-8 byte";
+
7343  return false;
+
7344  }
+
7345  }
+
7346 
+
7347  return true;
+
7348  }
+
7349 
+
7365  token_type scan_string()
+
7366  {
+
7367  // reset token_buffer (ignore opening quote)
+
7368  reset();
+
7369 
+
7370  // we entered the function by reading an open quote
+
7371  assert(current == '\"');
+
7372 
+
7373  while (true)
+
7374  {
+
7375  // get next character
+
7376  switch (get())
+
7377  {
+
7378  // end of file while parsing string
+
7379  case std::char_traits<char>::eof():
+
7380  {
+
7381  error_message = "invalid string: missing closing quote";
+
7382  return token_type::parse_error;
+
7383  }
+
7384 
+
7385  // closing quote
+
7386  case '\"':
+
7387  {
+
7388  return token_type::value_string;
+
7389  }
+
7390 
+
7391  // escapes
+
7392  case '\\':
+
7393  {
+
7394  switch (get())
+
7395  {
+
7396  // quotation mark
+
7397  case '\"':
+
7398  add('\"');
+
7399  break;
+
7400  // reverse solidus
+
7401  case '\\':
+
7402  add('\\');
+
7403  break;
+
7404  // solidus
+
7405  case '/':
+
7406  add('/');
+
7407  break;
+
7408  // backspace
+
7409  case 'b':
+
7410  add('\b');
+
7411  break;
+
7412  // form feed
+
7413  case 'f':
+
7414  add('\f');
+
7415  break;
+
7416  // line feed
+
7417  case 'n':
+
7418  add('\n');
+
7419  break;
+
7420  // carriage return
+
7421  case 'r':
+
7422  add('\r');
+
7423  break;
+
7424  // tab
+
7425  case 't':
+
7426  add('\t');
+
7427  break;
+
7428 
+
7429  // unicode escapes
+
7430  case 'u':
+
7431  {
+
7432  const int codepoint1 = get_codepoint();
+
7433  int codepoint = codepoint1; // start with codepoint1
+
7434 
+
7435  if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1))
+
7436  {
+
7437  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
+
7438  return token_type::parse_error;
+
7439  }
+
7440 
+
7441  // check if code point is a high surrogate
+
7442  if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF)
+
7443  {
+
7444  // expect next \uxxxx entry
+
7445  if (JSON_HEDLEY_LIKELY(get() == '\\' and get() == 'u'))
+
7446  {
+
7447  const int codepoint2 = get_codepoint();
+
7448 
+
7449  if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1))
+
7450  {
+
7451  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
+
7452  return token_type::parse_error;
+
7453  }
+
7454 
+
7455  // check if codepoint2 is a low surrogate
+
7456  if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF))
+
7457  {
+
7458  // overwrite codepoint
+
7459  codepoint = static_cast<int>(
+
7460  // high surrogate occupies the most significant 22 bits
+
7461  (static_cast<unsigned int>(codepoint1) << 10u)
+
7462  // low surrogate occupies the least significant 15 bits
+
7463  + static_cast<unsigned int>(codepoint2)
+
7464  // there is still the 0xD800, 0xDC00 and 0x10000 noise
+
7465  // in the result so we have to subtract with:
+
7466  // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
+
7467  - 0x35FDC00u);
+
7468  }
+
7469  else
+
7470  {
+
7471  error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
+
7472  return token_type::parse_error;
+
7473  }
+
7474  }
+
7475  else
+
7476  {
+
7477  error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
+
7478  return token_type::parse_error;
+
7479  }
+
7480  }
+
7481  else
+
7482  {
+
7483  if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF))
+
7484  {
+
7485  error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
+
7486  return token_type::parse_error;
+
7487  }
+
7488  }
+
7489 
+
7490  // result of the above calculation yields a proper codepoint
+
7491  assert(0x00 <= codepoint and codepoint <= 0x10FFFF);
+
7492 
+
7493  // translate codepoint into bytes
+
7494  if (codepoint < 0x80)
+
7495  {
+
7496  // 1-byte characters: 0xxxxxxx (ASCII)
+
7497  add(codepoint);
+
7498  }
+
7499  else if (codepoint <= 0x7FF)
+
7500  {
+
7501  // 2-byte characters: 110xxxxx 10xxxxxx
+
7502  add(static_cast<int>(0xC0u | (static_cast<unsigned int>(codepoint) >> 6u)));
+
7503  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
+
7504  }
+
7505  else if (codepoint <= 0xFFFF)
+
7506  {
+
7507  // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
+
7508  add(static_cast<int>(0xE0u | (static_cast<unsigned int>(codepoint) >> 12u)));
+
7509  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
+
7510  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
+
7511  }
+
7512  else
+
7513  {
+
7514  // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+
7515  add(static_cast<int>(0xF0u | (static_cast<unsigned int>(codepoint) >> 18u)));
+
7516  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 12u) & 0x3Fu)));
+
7517  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
+
7518  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
+
7519  }
+
7520 
+
7521  break;
+
7522  }
+
7523 
+
7524  // other characters after escape
+
7525  default:
+
7526  error_message = "invalid string: forbidden character after backslash";
+
7527  return token_type::parse_error;
+
7528  }
+
7529 
+
7530  break;
+
7531  }
+
7532 
+
7533  // invalid control characters
+
7534  case 0x00:
+
7535  {
+
7536  error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000";
+
7537  return token_type::parse_error;
+
7538  }
+
7539 
+
7540  case 0x01:
+
7541  {
+
7542  error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001";
+
7543  return token_type::parse_error;
+
7544  }
+
7545 
+
7546  case 0x02:
+
7547  {
+
7548  error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002";
+
7549  return token_type::parse_error;
+
7550  }
+
7551 
+
7552  case 0x03:
+
7553  {
+
7554  error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003";
+
7555  return token_type::parse_error;
+
7556  }
+
7557 
+
7558  case 0x04:
+
7559  {
+
7560  error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004";
+
7561  return token_type::parse_error;
+
7562  }
+
7563 
+
7564  case 0x05:
+
7565  {
+
7566  error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005";
+
7567  return token_type::parse_error;
+
7568  }
+
7569 
+
7570  case 0x06:
+
7571  {
+
7572  error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006";
+
7573  return token_type::parse_error;
+
7574  }
+
7575 
+
7576  case 0x07:
+
7577  {
+
7578  error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007";
+
7579  return token_type::parse_error;
+
7580  }
+
7581 
+
7582  case 0x08:
+
7583  {
+
7584  error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b";
+
7585  return token_type::parse_error;
+
7586  }
+
7587 
+
7588  case 0x09:
+
7589  {
+
7590  error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t";
+
7591  return token_type::parse_error;
+
7592  }
+
7593 
+
7594  case 0x0A:
+
7595  {
+
7596  error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n";
+
7597  return token_type::parse_error;
+
7598  }
+
7599 
+
7600  case 0x0B:
+
7601  {
+
7602  error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B";
+
7603  return token_type::parse_error;
+
7604  }
+
7605 
+
7606  case 0x0C:
+
7607  {
+
7608  error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f";
+
7609  return token_type::parse_error;
+
7610  }
+
7611 
+
7612  case 0x0D:
+
7613  {
+
7614  error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r";
+
7615  return token_type::parse_error;
+
7616  }
+
7617 
+
7618  case 0x0E:
+
7619  {
+
7620  error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E";
+
7621  return token_type::parse_error;
+
7622  }
+
7623 
+
7624  case 0x0F:
+
7625  {
+
7626  error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F";
+
7627  return token_type::parse_error;
+
7628  }
+
7629 
+
7630  case 0x10:
+
7631  {
+
7632  error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010";
+
7633  return token_type::parse_error;
+
7634  }
+
7635 
+
7636  case 0x11:
+
7637  {
+
7638  error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011";
+
7639  return token_type::parse_error;
+
7640  }
+
7641 
+
7642  case 0x12:
+
7643  {
+
7644  error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012";
+
7645  return token_type::parse_error;
+
7646  }
+
7647 
+
7648  case 0x13:
+
7649  {
+
7650  error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013";
+
7651  return token_type::parse_error;
+
7652  }
+
7653 
+
7654  case 0x14:
+
7655  {
+
7656  error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014";
+
7657  return token_type::parse_error;
+
7658  }
+
7659 
+
7660  case 0x15:
+
7661  {
+
7662  error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015";
+
7663  return token_type::parse_error;
+
7664  }
+
7665 
+
7666  case 0x16:
+
7667  {
+
7668  error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016";
+
7669  return token_type::parse_error;
+
7670  }
+
7671 
+
7672  case 0x17:
+
7673  {
+
7674  error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017";
+
7675  return token_type::parse_error;
+
7676  }
+
7677 
+
7678  case 0x18:
+
7679  {
+
7680  error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018";
+
7681  return token_type::parse_error;
+
7682  }
+
7683 
+
7684  case 0x19:
+
7685  {
+
7686  error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019";
+
7687  return token_type::parse_error;
+
7688  }
+
7689 
+
7690  case 0x1A:
+
7691  {
+
7692  error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A";
+
7693  return token_type::parse_error;
+
7694  }
+
7695 
+
7696  case 0x1B:
+
7697  {
+
7698  error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B";
+
7699  return token_type::parse_error;
+
7700  }
+
7701 
+
7702  case 0x1C:
+
7703  {
+
7704  error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C";
+
7705  return token_type::parse_error;
+
7706  }
+
7707 
+
7708  case 0x1D:
+
7709  {
+
7710  error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D";
+
7711  return token_type::parse_error;
+
7712  }
+
7713 
+
7714  case 0x1E:
+
7715  {
+
7716  error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E";
+
7717  return token_type::parse_error;
+
7718  }
+
7719 
+
7720  case 0x1F:
+
7721  {
+
7722  error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F";
+
7723  return token_type::parse_error;
+
7724  }
+
7725 
+
7726  // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
+
7727  case 0x20:
+
7728  case 0x21:
+
7729  case 0x23:
+
7730  case 0x24:
+
7731  case 0x25:
+
7732  case 0x26:
+
7733  case 0x27:
+
7734  case 0x28:
+
7735  case 0x29:
+
7736  case 0x2A:
+
7737  case 0x2B:
+
7738  case 0x2C:
+
7739  case 0x2D:
+
7740  case 0x2E:
+
7741  case 0x2F:
+
7742  case 0x30:
+
7743  case 0x31:
+
7744  case 0x32:
+
7745  case 0x33:
+
7746  case 0x34:
+
7747  case 0x35:
+
7748  case 0x36:
+
7749  case 0x37:
+
7750  case 0x38:
+
7751  case 0x39:
+
7752  case 0x3A:
+
7753  case 0x3B:
+
7754  case 0x3C:
+
7755  case 0x3D:
+
7756  case 0x3E:
+
7757  case 0x3F:
+
7758  case 0x40:
+
7759  case 0x41:
+
7760  case 0x42:
+
7761  case 0x43:
+
7762  case 0x44:
+
7763  case 0x45:
+
7764  case 0x46:
+
7765  case 0x47:
+
7766  case 0x48:
+
7767  case 0x49:
+
7768  case 0x4A:
+
7769  case 0x4B:
+
7770  case 0x4C:
+
7771  case 0x4D:
+
7772  case 0x4E:
+
7773  case 0x4F:
+
7774  case 0x50:
+
7775  case 0x51:
+
7776  case 0x52:
+
7777  case 0x53:
+
7778  case 0x54:
+
7779  case 0x55:
+
7780  case 0x56:
+
7781  case 0x57:
+
7782  case 0x58:
+
7783  case 0x59:
+
7784  case 0x5A:
+
7785  case 0x5B:
+
7786  case 0x5D:
+
7787  case 0x5E:
+
7788  case 0x5F:
+
7789  case 0x60:
+
7790  case 0x61:
+
7791  case 0x62:
+
7792  case 0x63:
+
7793  case 0x64:
+
7794  case 0x65:
+
7795  case 0x66:
+
7796  case 0x67:
+
7797  case 0x68:
+
7798  case 0x69:
+
7799  case 0x6A:
+
7800  case 0x6B:
+
7801  case 0x6C:
+
7802  case 0x6D:
+
7803  case 0x6E:
+
7804  case 0x6F:
+
7805  case 0x70:
+
7806  case 0x71:
+
7807  case 0x72:
+
7808  case 0x73:
+
7809  case 0x74:
+
7810  case 0x75:
+
7811  case 0x76:
+
7812  case 0x77:
+
7813  case 0x78:
+
7814  case 0x79:
+
7815  case 0x7A:
+
7816  case 0x7B:
+
7817  case 0x7C:
+
7818  case 0x7D:
+
7819  case 0x7E:
+
7820  case 0x7F:
+
7821  {
+
7822  add(current);
+
7823  break;
+
7824  }
+
7825 
+
7826  // U+0080..U+07FF: bytes C2..DF 80..BF
+
7827  case 0xC2:
+
7828  case 0xC3:
+
7829  case 0xC4:
+
7830  case 0xC5:
+
7831  case 0xC6:
+
7832  case 0xC7:
+
7833  case 0xC8:
+
7834  case 0xC9:
+
7835  case 0xCA:
+
7836  case 0xCB:
+
7837  case 0xCC:
+
7838  case 0xCD:
+
7839  case 0xCE:
+
7840  case 0xCF:
+
7841  case 0xD0:
+
7842  case 0xD1:
+
7843  case 0xD2:
+
7844  case 0xD3:
+
7845  case 0xD4:
+
7846  case 0xD5:
+
7847  case 0xD6:
+
7848  case 0xD7:
+
7849  case 0xD8:
+
7850  case 0xD9:
+
7851  case 0xDA:
+
7852  case 0xDB:
+
7853  case 0xDC:
+
7854  case 0xDD:
+
7855  case 0xDE:
+
7856  case 0xDF:
+
7857  {
+
7858  if (JSON_HEDLEY_UNLIKELY(not next_byte_in_range({0x80, 0xBF})))
+
7859  {
+
7860  return token_type::parse_error;
+
7861  }
+
7862  break;
+
7863  }
+
7864 
+
7865  // U+0800..U+0FFF: bytes E0 A0..BF 80..BF
+
7866  case 0xE0:
+
7867  {
+
7868  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF}))))
+
7869  {
+
7870  return token_type::parse_error;
+
7871  }
+
7872  break;
+
7873  }
+
7874 
+
7875  // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
+
7876  // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
+
7877  case 0xE1:
+
7878  case 0xE2:
+
7879  case 0xE3:
+
7880  case 0xE4:
+
7881  case 0xE5:
+
7882  case 0xE6:
+
7883  case 0xE7:
+
7884  case 0xE8:
+
7885  case 0xE9:
+
7886  case 0xEA:
+
7887  case 0xEB:
+
7888  case 0xEC:
+
7889  case 0xEE:
+
7890  case 0xEF:
+
7891  {
+
7892  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF}))))
+
7893  {
+
7894  return token_type::parse_error;
+
7895  }
+
7896  break;
+
7897  }
+
7898 
+
7899  // U+D000..U+D7FF: bytes ED 80..9F 80..BF
+
7900  case 0xED:
+
7901  {
+
7902  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF}))))
+
7903  {
+
7904  return token_type::parse_error;
+
7905  }
+
7906  break;
+
7907  }
+
7908 
+
7909  // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
+
7910  case 0xF0:
+
7911  {
+
7912  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
+
7913  {
+
7914  return token_type::parse_error;
+
7915  }
+
7916  break;
+
7917  }
+
7918 
+
7919  // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
+
7920  case 0xF1:
+
7921  case 0xF2:
+
7922  case 0xF3:
+
7923  {
+
7924  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
+
7925  {
+
7926  return token_type::parse_error;
+
7927  }
+
7928  break;
+
7929  }
+
7930 
+
7931  // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
+
7932  case 0xF4:
+
7933  {
+
7934  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF}))))
+
7935  {
+
7936  return token_type::parse_error;
+
7937  }
+
7938  break;
+
7939  }
+
7940 
+
7941  // remaining bytes (80..C1 and F5..FF) are ill-formed
+
7942  default:
+
7943  {
+
7944  error_message = "invalid string: ill-formed UTF-8 byte";
+
7945  return token_type::parse_error;
+
7946  }
+
7947  }
+
7948  }
+
7949  }
+
7950 
+ +
7952  static void strtof(float& f, const char* str, char** endptr) noexcept
+
7953  {
+
7954  f = std::strtof(str, endptr);
+
7955  }
+
7956 
+ +
7958  static void strtof(double& f, const char* str, char** endptr) noexcept
+
7959  {
+
7960  f = std::strtod(str, endptr);
+
7961  }
+
7962 
+ +
7964  static void strtof(long double& f, const char* str, char** endptr) noexcept
+
7965  {
+
7966  f = std::strtold(str, endptr);
+
7967  }
+
7968 
+
8009  token_type scan_number() // lgtm [cpp/use-of-goto]
+
8010  {
+
8011  // reset token_buffer to store the number's bytes
+
8012  reset();
+
8013 
+
8014  // the type of the parsed number; initially set to unsigned; will be
+
8015  // changed if minus sign, decimal point or exponent is read
+
8016  token_type number_type = token_type::value_unsigned;
+
8017 
+
8018  // state (init): we just found out we need to scan a number
+
8019  switch (current)
+
8020  {
+
8021  case '-':
+
8022  {
+
8023  add(current);
+
8024  goto scan_number_minus;
+
8025  }
+
8026 
+
8027  case '0':
+
8028  {
+
8029  add(current);
+
8030  goto scan_number_zero;
+
8031  }
+
8032 
+
8033  case '1':
+
8034  case '2':
+
8035  case '3':
+
8036  case '4':
+
8037  case '5':
+
8038  case '6':
+
8039  case '7':
+
8040  case '8':
+
8041  case '9':
+
8042  {
+
8043  add(current);
+
8044  goto scan_number_any1;
+
8045  }
+
8046 
+
8047  // all other characters are rejected outside scan_number()
+
8048  default: // LCOV_EXCL_LINE
+
8049  assert(false); // LCOV_EXCL_LINE
+
8050  }
+
8051 
+
8052 scan_number_minus:
+
8053  // state: we just parsed a leading minus sign
+
8054  number_type = token_type::value_integer;
+
8055  switch (get())
+
8056  {
+
8057  case '0':
+
8058  {
+
8059  add(current);
+
8060  goto scan_number_zero;
+
8061  }
+
8062 
+
8063  case '1':
+
8064  case '2':
+
8065  case '3':
+
8066  case '4':
+
8067  case '5':
+
8068  case '6':
+
8069  case '7':
+
8070  case '8':
+
8071  case '9':
+
8072  {
+
8073  add(current);
+
8074  goto scan_number_any1;
+
8075  }
+
8076 
+
8077  default:
+
8078  {
+
8079  error_message = "invalid number; expected digit after '-'";
+
8080  return token_type::parse_error;
+
8081  }
+
8082  }
+
8083 
+
8084 scan_number_zero:
+
8085  // state: we just parse a zero (maybe with a leading minus sign)
+
8086  switch (get())
+
8087  {
+
8088  case '.':
+
8089  {
+
8090  add(decimal_point_char);
+
8091  goto scan_number_decimal1;
+
8092  }
+
8093 
+
8094  case 'e':
+
8095  case 'E':
+
8096  {
+
8097  add(current);
+
8098  goto scan_number_exponent;
+
8099  }
+
8100 
+
8101  default:
+
8102  goto scan_number_done;
+
8103  }
+
8104 
+
8105 scan_number_any1:
+
8106  // state: we just parsed a number 0-9 (maybe with a leading minus sign)
+
8107  switch (get())
+
8108  {
+
8109  case '0':
+
8110  case '1':
+
8111  case '2':
+
8112  case '3':
+
8113  case '4':
+
8114  case '5':
+
8115  case '6':
+
8116  case '7':
+
8117  case '8':
+
8118  case '9':
+
8119  {
+
8120  add(current);
+
8121  goto scan_number_any1;
+
8122  }
+
8123 
+
8124  case '.':
+
8125  {
+
8126  add(decimal_point_char);
+
8127  goto scan_number_decimal1;
+
8128  }
+
8129 
+
8130  case 'e':
+
8131  case 'E':
+
8132  {
+
8133  add(current);
+
8134  goto scan_number_exponent;
+
8135  }
+
8136 
+
8137  default:
+
8138  goto scan_number_done;
+
8139  }
+
8140 
+
8141 scan_number_decimal1:
+
8142  // state: we just parsed a decimal point
+
8143  number_type = token_type::value_float;
+
8144  switch (get())
+
8145  {
+
8146  case '0':
+
8147  case '1':
+
8148  case '2':
+
8149  case '3':
+
8150  case '4':
+
8151  case '5':
+
8152  case '6':
+
8153  case '7':
+
8154  case '8':
+
8155  case '9':
+
8156  {
+
8157  add(current);
+
8158  goto scan_number_decimal2;
+
8159  }
+
8160 
+
8161  default:
+
8162  {
+
8163  error_message = "invalid number; expected digit after '.'";
+
8164  return token_type::parse_error;
+
8165  }
+
8166  }
+
8167 
+
8168 scan_number_decimal2:
+
8169  // we just parsed at least one number after a decimal point
+
8170  switch (get())
+
8171  {
+
8172  case '0':
+
8173  case '1':
+
8174  case '2':
+
8175  case '3':
+
8176  case '4':
+
8177  case '5':
+
8178  case '6':
+
8179  case '7':
+
8180  case '8':
+
8181  case '9':
+
8182  {
+
8183  add(current);
+
8184  goto scan_number_decimal2;
+
8185  }
+
8186 
+
8187  case 'e':
+
8188  case 'E':
+
8189  {
+
8190  add(current);
+
8191  goto scan_number_exponent;
+
8192  }
+
8193 
+
8194  default:
+
8195  goto scan_number_done;
+
8196  }
+
8197 
+
8198 scan_number_exponent:
+
8199  // we just parsed an exponent
+
8200  number_type = token_type::value_float;
+
8201  switch (get())
+
8202  {
+
8203  case '+':
+
8204  case '-':
+
8205  {
+
8206  add(current);
+
8207  goto scan_number_sign;
+
8208  }
+
8209 
+
8210  case '0':
+
8211  case '1':
+
8212  case '2':
+
8213  case '3':
+
8214  case '4':
+
8215  case '5':
+
8216  case '6':
+
8217  case '7':
+
8218  case '8':
+
8219  case '9':
+
8220  {
+
8221  add(current);
+
8222  goto scan_number_any2;
+
8223  }
+
8224 
+
8225  default:
+
8226  {
+
8227  error_message =
+
8228  "invalid number; expected '+', '-', or digit after exponent";
+
8229  return token_type::parse_error;
+
8230  }
+
8231  }
+
8232 
+
8233 scan_number_sign:
+
8234  // we just parsed an exponent sign
+
8235  switch (get())
+
8236  {
+
8237  case '0':
+
8238  case '1':
+
8239  case '2':
+
8240  case '3':
+
8241  case '4':
+
8242  case '5':
+
8243  case '6':
+
8244  case '7':
+
8245  case '8':
+
8246  case '9':
+
8247  {
+
8248  add(current);
+
8249  goto scan_number_any2;
+
8250  }
+
8251 
+
8252  default:
+
8253  {
+
8254  error_message = "invalid number; expected digit after exponent sign";
+
8255  return token_type::parse_error;
+
8256  }
+
8257  }
+
8258 
+
8259 scan_number_any2:
+
8260  // we just parsed a number after the exponent or exponent sign
+
8261  switch (get())
+
8262  {
+
8263  case '0':
+
8264  case '1':
+
8265  case '2':
+
8266  case '3':
+
8267  case '4':
+
8268  case '5':
+
8269  case '6':
+
8270  case '7':
+
8271  case '8':
+
8272  case '9':
+
8273  {
+
8274  add(current);
+
8275  goto scan_number_any2;
+
8276  }
+
8277 
+
8278  default:
+
8279  goto scan_number_done;
+
8280  }
+
8281 
+
8282 scan_number_done:
+
8283  // unget the character after the number (we only read it to know that
+
8284  // we are done scanning a number)
+
8285  unget();
+
8286 
+
8287  char* endptr = nullptr;
+
8288  errno = 0;
+
8289 
+
8290  // try to parse integers first and fall back to floats
+
8291  if (number_type == token_type::value_unsigned)
+
8292  {
+
8293  const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
+
8294 
+
8295  // we checked the number format before
+
8296  assert(endptr == token_buffer.data() + token_buffer.size());
+
8297 
+
8298  if (errno == 0)
+
8299  {
+
8300  value_unsigned = static_cast<number_unsigned_t>(x);
+
8301  if (value_unsigned == x)
+
8302  {
+
8303  return token_type::value_unsigned;
+
8304  }
+
8305  }
+
8306  }
+
8307  else if (number_type == token_type::value_integer)
+
8308  {
+
8309  const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
+
8310 
+
8311  // we checked the number format before
+
8312  assert(endptr == token_buffer.data() + token_buffer.size());
+
8313 
+
8314  if (errno == 0)
+
8315  {
+
8316  value_integer = static_cast<number_integer_t>(x);
+
8317  if (value_integer == x)
+
8318  {
+
8319  return token_type::value_integer;
+
8320  }
+
8321  }
+
8322  }
+
8323 
+
8324  // this code is reached if we parse a floating-point number or if an
+
8325  // integer conversion above failed
+
8326  strtof(value_float, token_buffer.data(), &endptr);
+
8327 
+
8328  // we checked the number format before
+
8329  assert(endptr == token_buffer.data() + token_buffer.size());
+
8330 
+
8331  return token_type::value_float;
+
8332  }
+
8333 
+ +
8340  token_type scan_literal(const char* literal_text, const std::size_t length,
+
8341  token_type return_type)
+
8342  {
+
8343  assert(current == literal_text[0]);
+
8344  for (std::size_t i = 1; i < length; ++i)
+
8345  {
+
8346  if (JSON_HEDLEY_UNLIKELY(get() != literal_text[i]))
+
8347  {
+
8348  error_message = "invalid literal";
+
8349  return token_type::parse_error;
+
8350  }
+
8351  }
+
8352  return return_type;
+
8353  }
+
8354 
+
8356  // input management
+
8358 
+
8360  void reset() noexcept
+
8361  {
+
8362  token_buffer.clear();
+
8363  token_string.clear();
+
8364  token_string.push_back(std::char_traits<char>::to_char_type(current));
+
8365  }
+
8366 
+
8367  /*
+
8368  @brief get next character from the input
+
8369 
+
8370  This function provides the interface to the used input adapter. It does
+
8371  not throw in case the input reached EOF, but returns a
+
8372  `std::char_traits<char>::eof()` in that case. Stores the scanned characters
+
8373  for use in error messages.
+
8374 
+
8375  @return character read from the input
+
8376  */
+
8377  std::char_traits<char>::int_type get()
+
8378  {
+
8379  ++position.chars_read_total;
+
8380  ++position.chars_read_current_line;
+
8381 
+
8382  if (next_unget)
+
8383  {
+
8384  // just reset the next_unget variable and work with current
+
8385  next_unget = false;
+
8386  }
+
8387  else
+
8388  {
+
8389  current = ia->get_character();
+
8390  }
+
8391 
+
8392  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char>::eof()))
+
8393  {
+
8394  token_string.push_back(std::char_traits<char>::to_char_type(current));
+
8395  }
+
8396 
+
8397  if (current == '\n')
+
8398  {
+
8399  ++position.lines_read;
+
8400  position.chars_read_current_line = 0;
+
8401  }
+
8402 
+
8403  return current;
+
8404  }
+
8405 
+
8414  void unget()
+
8415  {
+
8416  next_unget = true;
+
8417 
+
8418  --position.chars_read_total;
+
8419 
+
8420  // in case we "unget" a newline, we have to also decrement the lines_read
+
8421  if (position.chars_read_current_line == 0)
+
8422  {
+
8423  if (position.lines_read > 0)
+
8424  {
+
8425  --position.lines_read;
+
8426  }
+
8427  }
+
8428  else
+
8429  {
+
8430  --position.chars_read_current_line;
+
8431  }
+
8432 
+
8433  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char>::eof()))
+
8434  {
+
8435  assert(not token_string.empty());
+
8436  token_string.pop_back();
+
8437  }
+
8438  }
+
8439 
+
8441  void add(int c)
+
8442  {
+
8443  token_buffer.push_back(std::char_traits<char>::to_char_type(c));
+
8444  }
+
8445 
+
8446  public:
+
8448  // value getters
+
8450 
+
8452  constexpr number_integer_t get_number_integer() const noexcept
+
8453  {
+
8454  return value_integer;
+
8455  }
+
8456 
+
8458  constexpr number_unsigned_t get_number_unsigned() const noexcept
+
8459  {
+
8460  return value_unsigned;
+
8461  }
+
8462 
+
8464  constexpr number_float_t get_number_float() const noexcept
+
8465  {
+
8466  return value_float;
+
8467  }
+
8468 
+
8470  string_t& get_string()
+
8471  {
+
8472  return token_buffer;
+
8473  }
+
8474 
+
8476  // diagnostics
+
8478 
+
8480  constexpr position_t get_position() const noexcept
+
8481  {
+
8482  return position;
+
8483  }
+
8484 
+
8488  std::string get_token_string() const
+
8489  {
+
8490  // escape control characters
+
8491  std::string result;
+
8492  for (const auto c : token_string)
+
8493  {
+
8494  if ('\x00' <= c and c <= '\x1F')
+
8495  {
+
8496  // escape control characters
+
8497  std::array<char, 9> cs{{}};
+
8498  (std::snprintf)(cs.data(), cs.size(), "<U+%.4X>", static_cast<unsigned char>(c));
+
8499  result += cs.data();
+
8500  }
+
8501  else
+
8502  {
+
8503  // add character as is
+
8504  result.push_back(c);
+
8505  }
+
8506  }
+
8507 
+
8508  return result;
+
8509  }
+
8510 
+ +
8513  constexpr const char* get_error_message() const noexcept
+
8514  {
+
8515  return error_message;
+
8516  }
+
8517 
+
8519  // actual scanner
+
8521 
+
8526  bool skip_bom()
+
8527  {
+
8528  if (get() == 0xEF)
+
8529  {
+
8530  // check if we completely parse the BOM
+
8531  return get() == 0xBB and get() == 0xBF;
+
8532  }
+
8533 
+
8534  // the first character is not the beginning of the BOM; unget it to
+
8535  // process is later
+
8536  unget();
+
8537  return true;
+
8538  }
+
8539 
+ +
8541  {
+
8542  // initially, skip the BOM
+
8543  if (position.chars_read_total == 0 and not skip_bom())
+
8544  {
+
8545  error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given";
+
8546  return token_type::parse_error;
+
8547  }
+
8548 
+
8549  // read next character and ignore whitespace
+
8550  do
+
8551  {
+
8552  get();
+
8553  }
+
8554  while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
+
8555 
+
8556  switch (current)
+
8557  {
+
8558  // structural characters
+
8559  case '[':
+
8560  return token_type::begin_array;
+
8561  case ']':
+
8562  return token_type::end_array;
+
8563  case '{':
+
8564  return token_type::begin_object;
+
8565  case '}':
+
8566  return token_type::end_object;
+
8567  case ':':
+
8568  return token_type::name_separator;
+
8569  case ',':
+
8570  return token_type::value_separator;
+
8571 
+
8572  // literals
+
8573  case 't':
+
8574  return scan_literal("true", 4, token_type::literal_true);
+
8575  case 'f':
+
8576  return scan_literal("false", 5, token_type::literal_false);
+
8577  case 'n':
+
8578  return scan_literal("null", 4, token_type::literal_null);
+
8579 
+
8580  // string
+
8581  case '\"':
+
8582  return scan_string();
+
8583 
+
8584  // number
+
8585  case '-':
+
8586  case '0':
+
8587  case '1':
+
8588  case '2':
+
8589  case '3':
+
8590  case '4':
+
8591  case '5':
+
8592  case '6':
+
8593  case '7':
+
8594  case '8':
+
8595  case '9':
+
8596  return scan_number();
+
8597 
+
8598  // end of input (the null byte is needed when parsing from
+
8599  // string literals)
+
8600  case '\0':
+
8601  case std::char_traits<char>::eof():
+
8602  return token_type::end_of_input;
+
8603 
+
8604  // error
+
8605  default:
+
8606  error_message = "invalid literal";
+
8607  return token_type::parse_error;
+
8608  }
+
8609  }
+
8610 
+
8611  private:
+
8613  detail::input_adapter_t ia = nullptr;
+
8614 
+
8616  std::char_traits<char>::int_type current = std::char_traits<char>::eof();
+
8617 
+
8619  bool next_unget = false;
+
8620 
+
8622  position_t position {};
+
8623 
+
8625  std::vector<char> token_string {};
+
8626 
+
8628  string_t token_buffer {};
+
8629 
+
8631  const char* error_message = "";
+
8632 
+
8633  // number values
+
8634  number_integer_t value_integer = 0;
+
8635  number_unsigned_t value_unsigned = 0;
+
8636  number_float_t value_float = 0;
+
8637 
+
8639  const char decimal_point_char = '.';
+
8640 };
+
8641 } // namespace detail
+
8642 } // namespace nlohmann
+
8643 
+
8644 // #include <nlohmann/detail/input/parser.hpp>
+
8645 
+
8646 
+
8647 #include <cassert> // assert
+
8648 #include <cmath> // isfinite
+
8649 #include <cstdint> // uint8_t
+
8650 #include <functional> // function
+
8651 #include <string> // string
+
8652 #include <utility> // move
+
8653 #include <vector> // vector
+
8654 
+
8655 // #include <nlohmann/detail/exceptions.hpp>
+
8656 
+
8657 // #include <nlohmann/detail/input/input_adapters.hpp>
+
8658 
+
8659 // #include <nlohmann/detail/input/json_sax.hpp>
+
8660 
+
8661 // #include <nlohmann/detail/input/lexer.hpp>
+
8662 
+
8663 // #include <nlohmann/detail/macro_scope.hpp>
+
8664 
+
8665 // #include <nlohmann/detail/meta/is_sax.hpp>
+
8666 
+
8667 // #include <nlohmann/detail/value_t.hpp>
+
8668 
+
8669 
+
8670 namespace nlohmann
+
8671 {
+
8672 namespace detail
+
8673 {
+
8675 // parser //
+
8677 
+
8683 template<typename BasicJsonType>
+
8684 class parser
+
8685 {
+
8686  using number_integer_t = typename BasicJsonType::number_integer_t;
+
8687  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
8688  using number_float_t = typename BasicJsonType::number_float_t;
+
8689  using string_t = typename BasicJsonType::string_t;
+
8690  using lexer_t = lexer<BasicJsonType>;
+
8691  using token_type = typename lexer_t::token_type;
+
8692 
+
8693  public:
+
8694  enum class parse_event_t : uint8_t
+
8695  {
+
8697  object_start,
+
8699  object_end,
+
8701  array_start,
+
8703  array_end,
+
8705  key,
+
8707  value
+
8708  };
+
8709 
+
8710  using parser_callback_t =
+
8711  std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
+
8712 
+
8714  explicit parser(detail::input_adapter_t&& adapter,
+
8715  const parser_callback_t cb = nullptr,
+
8716  const bool allow_exceptions_ = true)
+
8717  : callback(cb), m_lexer(std::move(adapter)), allow_exceptions(allow_exceptions_)
+
8718  {
+
8719  // read first token
+
8720  get_token();
+
8721  }
+
8722 
+
8733  void parse(const bool strict, BasicJsonType& result)
+
8734  {
+
8735  if (callback)
+
8736  {
+
8737  json_sax_dom_callback_parser<BasicJsonType> sdp(result, callback, allow_exceptions);
+
8738  sax_parse_internal(&sdp);
+
8739  result.assert_invariant();
+
8740 
+
8741  // in strict mode, input must be completely read
+
8742  if (strict and (get_token() != token_type::end_of_input))
+
8743  {
+
8744  sdp.parse_error(m_lexer.get_position(),
+
8745  m_lexer.get_token_string(),
+
8746  parse_error::create(101, m_lexer.get_position(),
+
8747  exception_message(token_type::end_of_input, "value")));
+
8748  }
+
8749 
+
8750  // in case of an error, return discarded value
+
8751  if (sdp.is_errored())
+
8752  {
+
8753  result = value_t::discarded;
+
8754  return;
+
8755  }
+
8756 
+
8757  // set top-level value to null if it was discarded by the callback
+
8758  // function
+
8759  if (result.is_discarded())
+
8760  {
+
8761  result = nullptr;
+
8762  }
+
8763  }
+
8764  else
+
8765  {
+
8766  json_sax_dom_parser<BasicJsonType> sdp(result, allow_exceptions);
+
8767  sax_parse_internal(&sdp);
+
8768  result.assert_invariant();
+
8769 
+
8770  // in strict mode, input must be completely read
+
8771  if (strict and (get_token() != token_type::end_of_input))
+
8772  {
+
8773  sdp.parse_error(m_lexer.get_position(),
+
8774  m_lexer.get_token_string(),
+
8775  parse_error::create(101, m_lexer.get_position(),
+
8776  exception_message(token_type::end_of_input, "value")));
+
8777  }
+
8778 
+
8779  // in case of an error, return discarded value
+
8780  if (sdp.is_errored())
+
8781  {
+
8782  result = value_t::discarded;
+
8783  return;
+
8784  }
+
8785  }
+
8786  }
+
8787 
+
8794  bool accept(const bool strict = true)
+
8795  {
+
8796  json_sax_acceptor<BasicJsonType> sax_acceptor;
+
8797  return sax_parse(&sax_acceptor, strict);
+
8798  }
+
8799 
+
8800  template <typename SAX>
+ +
8802  bool sax_parse(SAX* sax, const bool strict = true)
+
8803  {
+ +
8805  const bool result = sax_parse_internal(sax);
+
8806 
+
8807  // strict mode: next byte must be EOF
+
8808  if (result and strict and (get_token() != token_type::end_of_input))
+
8809  {
+
8810  return sax->parse_error(m_lexer.get_position(),
+
8811  m_lexer.get_token_string(),
+
8812  parse_error::create(101, m_lexer.get_position(),
+
8813  exception_message(token_type::end_of_input, "value")));
+
8814  }
+
8815 
+
8816  return result;
+
8817  }
+
8818 
+
8819  private:
+
8820  template <typename SAX>
+ +
8822  bool sax_parse_internal(SAX* sax)
+
8823  {
+
8824  // stack to remember the hierarchy of structured values we are parsing
+
8825  // true = array; false = object
+
8826  std::vector<bool> states;
+
8827  // value to avoid a goto (see comment where set to true)
+
8828  bool skip_to_state_evaluation = false;
+
8829 
+
8830  while (true)
+
8831  {
+
8832  if (not skip_to_state_evaluation)
+
8833  {
+
8834  // invariant: get_token() was called before each iteration
+
8835  switch (last_token)
+
8836  {
+
8837  case token_type::begin_object:
+
8838  {
+
8839  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
+
8840  {
+
8841  return false;
+
8842  }
+
8843 
+
8844  // closing } -> we are done
+
8845  if (get_token() == token_type::end_object)
+
8846  {
+
8847  if (JSON_HEDLEY_UNLIKELY(not sax->end_object()))
+
8848  {
+
8849  return false;
+
8850  }
+
8851  break;
+
8852  }
+
8853 
+
8854  // parse key
+
8855  if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string))
+
8856  {
+
8857  return sax->parse_error(m_lexer.get_position(),
+
8858  m_lexer.get_token_string(),
+
8859  parse_error::create(101, m_lexer.get_position(),
+
8860  exception_message(token_type::value_string, "object key")));
+
8861  }
+
8862  if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string())))
+
8863  {
+
8864  return false;
+
8865  }
+
8866 
+
8867  // parse separator (:)
+
8868  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
+
8869  {
+
8870  return sax->parse_error(m_lexer.get_position(),
+
8871  m_lexer.get_token_string(),
+
8872  parse_error::create(101, m_lexer.get_position(),
+
8873  exception_message(token_type::name_separator, "object separator")));
+
8874  }
+
8875 
+
8876  // remember we are now inside an object
+
8877  states.push_back(false);
+
8878 
+
8879  // parse values
+
8880  get_token();
+
8881  continue;
+
8882  }
+
8883 
+
8884  case token_type::begin_array:
+
8885  {
+
8886  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
+
8887  {
+
8888  return false;
+
8889  }
+
8890 
+
8891  // closing ] -> we are done
+
8892  if (get_token() == token_type::end_array)
+
8893  {
+
8894  if (JSON_HEDLEY_UNLIKELY(not sax->end_array()))
+
8895  {
+
8896  return false;
+
8897  }
+
8898  break;
+
8899  }
+
8900 
+
8901  // remember we are now inside an array
+
8902  states.push_back(true);
+
8903 
+
8904  // parse values (no need to call get_token)
+
8905  continue;
+
8906  }
+
8907 
+
8908  case token_type::value_float:
+
8909  {
+
8910  const auto res = m_lexer.get_number_float();
+
8911 
+
8912  if (JSON_HEDLEY_UNLIKELY(not std::isfinite(res)))
+
8913  {
+
8914  return sax->parse_error(m_lexer.get_position(),
+
8915  m_lexer.get_token_string(),
+
8916  out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'"));
+
8917  }
+
8918 
+
8919  if (JSON_HEDLEY_UNLIKELY(not sax->number_float(res, m_lexer.get_string())))
+
8920  {
+
8921  return false;
+
8922  }
+
8923 
+
8924  break;
+
8925  }
+
8926 
+
8927  case token_type::literal_false:
+
8928  {
+
8929  if (JSON_HEDLEY_UNLIKELY(not sax->boolean(false)))
+
8930  {
+
8931  return false;
+
8932  }
+
8933  break;
+
8934  }
+
8935 
+
8936  case token_type::literal_null:
+
8937  {
+
8938  if (JSON_HEDLEY_UNLIKELY(not sax->null()))
+
8939  {
+
8940  return false;
+
8941  }
+
8942  break;
+
8943  }
+
8944 
+
8945  case token_type::literal_true:
+
8946  {
+
8947  if (JSON_HEDLEY_UNLIKELY(not sax->boolean(true)))
+
8948  {
+
8949  return false;
+
8950  }
+
8951  break;
+
8952  }
+
8953 
+
8954  case token_type::value_integer:
+
8955  {
+
8956  if (JSON_HEDLEY_UNLIKELY(not sax->number_integer(m_lexer.get_number_integer())))
+
8957  {
+
8958  return false;
+
8959  }
+
8960  break;
+
8961  }
+
8962 
+
8963  case token_type::value_string:
+
8964  {
+
8965  if (JSON_HEDLEY_UNLIKELY(not sax->string(m_lexer.get_string())))
+
8966  {
+
8967  return false;
+
8968  }
+
8969  break;
+
8970  }
+
8971 
+
8972  case token_type::value_unsigned:
+
8973  {
+
8974  if (JSON_HEDLEY_UNLIKELY(not sax->number_unsigned(m_lexer.get_number_unsigned())))
+
8975  {
+
8976  return false;
+
8977  }
+
8978  break;
+
8979  }
+
8980 
+
8981  case token_type::parse_error:
+
8982  {
+
8983  // using "uninitialized" to avoid "expected" message
+
8984  return sax->parse_error(m_lexer.get_position(),
+
8985  m_lexer.get_token_string(),
+
8986  parse_error::create(101, m_lexer.get_position(),
+
8987  exception_message(token_type::uninitialized, "value")));
+
8988  }
+
8989 
+
8990  default: // the last token was unexpected
+
8991  {
+
8992  return sax->parse_error(m_lexer.get_position(),
+
8993  m_lexer.get_token_string(),
+
8994  parse_error::create(101, m_lexer.get_position(),
+
8995  exception_message(token_type::literal_or_value, "value")));
+
8996  }
+
8997  }
+
8998  }
+
8999  else
+
9000  {
+
9001  skip_to_state_evaluation = false;
+
9002  }
+
9003 
+
9004  // we reached this line after we successfully parsed a value
+
9005  if (states.empty())
+
9006  {
+
9007  // empty stack: we reached the end of the hierarchy: done
+
9008  return true;
+
9009  }
+
9010 
+
9011  if (states.back()) // array
+
9012  {
+
9013  // comma -> next value
+
9014  if (get_token() == token_type::value_separator)
+
9015  {
+
9016  // parse a new value
+
9017  get_token();
+
9018  continue;
+
9019  }
+
9020 
+
9021  // closing ]
+
9022  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array))
+
9023  {
+
9024  if (JSON_HEDLEY_UNLIKELY(not sax->end_array()))
+
9025  {
+
9026  return false;
+
9027  }
+
9028 
+
9029  // We are done with this array. Before we can parse a
+
9030  // new value, we need to evaluate the new state first.
+
9031  // By setting skip_to_state_evaluation to false, we
+
9032  // are effectively jumping to the beginning of this if.
+
9033  assert(not states.empty());
+
9034  states.pop_back();
+
9035  skip_to_state_evaluation = true;
+
9036  continue;
+
9037  }
+
9038 
+
9039  return sax->parse_error(m_lexer.get_position(),
+
9040  m_lexer.get_token_string(),
+
9041  parse_error::create(101, m_lexer.get_position(),
+
9042  exception_message(token_type::end_array, "array")));
+
9043  }
+
9044  else // object
+
9045  {
+
9046  // comma -> next value
+
9047  if (get_token() == token_type::value_separator)
+
9048  {
+
9049  // parse key
+
9050  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string))
+
9051  {
+
9052  return sax->parse_error(m_lexer.get_position(),
+
9053  m_lexer.get_token_string(),
+
9054  parse_error::create(101, m_lexer.get_position(),
+
9055  exception_message(token_type::value_string, "object key")));
+
9056  }
+
9057 
+
9058  if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string())))
+
9059  {
+
9060  return false;
+
9061  }
+
9062 
+
9063  // parse separator (:)
+
9064  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
+
9065  {
+
9066  return sax->parse_error(m_lexer.get_position(),
+
9067  m_lexer.get_token_string(),
+
9068  parse_error::create(101, m_lexer.get_position(),
+
9069  exception_message(token_type::name_separator, "object separator")));
+
9070  }
+
9071 
+
9072  // parse values
+
9073  get_token();
+
9074  continue;
+
9075  }
+
9076 
+
9077  // closing }
+
9078  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object))
+
9079  {
+
9080  if (JSON_HEDLEY_UNLIKELY(not sax->end_object()))
+
9081  {
+
9082  return false;
+
9083  }
+
9084 
+
9085  // We are done with this object. Before we can parse a
+
9086  // new value, we need to evaluate the new state first.
+
9087  // By setting skip_to_state_evaluation to false, we
+
9088  // are effectively jumping to the beginning of this if.
+
9089  assert(not states.empty());
+
9090  states.pop_back();
+
9091  skip_to_state_evaluation = true;
+
9092  continue;
+
9093  }
+
9094 
+
9095  return sax->parse_error(m_lexer.get_position(),
+
9096  m_lexer.get_token_string(),
+
9097  parse_error::create(101, m_lexer.get_position(),
+
9098  exception_message(token_type::end_object, "object")));
+
9099  }
+
9100  }
+
9101  }
+
9102 
+
9104  token_type get_token()
+
9105  {
+
9106  return last_token = m_lexer.scan();
+
9107  }
+
9108 
+
9109  std::string exception_message(const token_type expected, const std::string& context)
+
9110  {
+
9111  std::string error_msg = "syntax error ";
+
9112 
+
9113  if (not context.empty())
+
9114  {
+
9115  error_msg += "while parsing " + context + " ";
+
9116  }
+
9117 
+
9118  error_msg += "- ";
+
9119 
+
9120  if (last_token == token_type::parse_error)
+
9121  {
+
9122  error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
+
9123  m_lexer.get_token_string() + "'";
+
9124  }
+
9125  else
+
9126  {
+
9127  error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
+
9128  }
+
9129 
+
9130  if (expected != token_type::uninitialized)
+
9131  {
+
9132  error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
+
9133  }
+
9134 
+
9135  return error_msg;
+
9136  }
+
9137 
+
9138  private:
+
9140  const parser_callback_t callback = nullptr;
+
9142  token_type last_token = token_type::uninitialized;
+
9144  lexer_t m_lexer;
+
9146  const bool allow_exceptions = true;
+
9147 };
+
9148 } // namespace detail
+
9149 } // namespace nlohmann
+
9150 
+
9151 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
+
9152 
+
9153 
+
9154 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
+
9155 
+
9156 
+
9157 #include <cstddef> // ptrdiff_t
+
9158 #include <limits> // numeric_limits
+
9159 
+
9160 namespace nlohmann
+
9161 {
+
9162 namespace detail
+
9163 {
+
9164 /*
+
9165 @brief an iterator for primitive JSON types
+
9166 
+
9167 This class models an iterator for primitive JSON types (boolean, number,
+
9168 string). It's only purpose is to allow the iterator/const_iterator classes
+
9169 to "iterate" over primitive values. Internally, the iterator is modeled by
+
9170 a `difference_type` variable. Value begin_value (`0`) models the begin,
+
9171 end_value (`1`) models past the end.
+
9172 */
+ +
9174 {
+
9175  private:
+
9176  using difference_type = std::ptrdiff_t;
+
9177  static constexpr difference_type begin_value = 0;
+
9178  static constexpr difference_type end_value = begin_value + 1;
+
9179 
+
9181  difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
+
9182 
+
9183  public:
+
9184  constexpr difference_type get_value() const noexcept
+
9185  {
+
9186  return m_it;
+
9187  }
+
9188 
+
9190  void set_begin() noexcept
+
9191  {
+
9192  m_it = begin_value;
+
9193  }
+
9194 
+
9196  void set_end() noexcept
+
9197  {
+
9198  m_it = end_value;
+
9199  }
+
9200 
+
9202  constexpr bool is_begin() const noexcept
+
9203  {
+
9204  return m_it == begin_value;
+
9205  }
+
9206 
+
9208  constexpr bool is_end() const noexcept
+
9209  {
+
9210  return m_it == end_value;
+
9211  }
+
9212 
+
9213  friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+
9214  {
+
9215  return lhs.m_it == rhs.m_it;
+
9216  }
+
9217 
+
9218  friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+
9219  {
+
9220  return lhs.m_it < rhs.m_it;
+
9221  }
+
9222 
+
9223  primitive_iterator_t operator+(difference_type n) noexcept
+
9224  {
+
9225  auto result = *this;
+
9226  result += n;
+
9227  return result;
+
9228  }
+
9229 
+
9230  friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
+
9231  {
+
9232  return lhs.m_it - rhs.m_it;
+
9233  }
+
9234 
+ +
9236  {
+
9237  ++m_it;
+
9238  return *this;
+
9239  }
+
9240 
+
9241  primitive_iterator_t const operator++(int) noexcept
+
9242  {
+
9243  auto result = *this;
+
9244  ++m_it;
+
9245  return result;
+
9246  }
+
9247 
+ +
9249  {
+
9250  --m_it;
+
9251  return *this;
+
9252  }
+
9253 
+
9254  primitive_iterator_t const operator--(int) noexcept
+
9255  {
+
9256  auto result = *this;
+
9257  --m_it;
+
9258  return result;
+
9259  }
+
9260 
+
9261  primitive_iterator_t& operator+=(difference_type n) noexcept
+
9262  {
+
9263  m_it += n;
+
9264  return *this;
+
9265  }
+
9266 
+
9267  primitive_iterator_t& operator-=(difference_type n) noexcept
+
9268  {
+
9269  m_it -= n;
+
9270  return *this;
+
9271  }
+
9272 };
+
9273 } // namespace detail
+
9274 } // namespace nlohmann
+
9275 
+
9276 
+
9277 namespace nlohmann
+
9278 {
+
9279 namespace detail
+
9280 {
+
9287 template<typename BasicJsonType> struct internal_iterator
+
9288 {
+
9290  typename BasicJsonType::object_t::iterator object_iterator {};
+
9292  typename BasicJsonType::array_t::iterator array_iterator {};
+ +
9295 };
+
9296 } // namespace detail
+
9297 } // namespace nlohmann
+
9298 
+
9299 // #include <nlohmann/detail/iterators/iter_impl.hpp>
+
9300 
+
9301 
+
9302 #include <ciso646> // not
+
9303 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
+
9304 #include <type_traits> // conditional, is_const, remove_const
+
9305 
+
9306 // #include <nlohmann/detail/exceptions.hpp>
+
9307 
+
9308 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
+
9309 
+
9310 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
+
9311 
+
9312 // #include <nlohmann/detail/macro_scope.hpp>
+
9313 
+
9314 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
9315 
+
9316 // #include <nlohmann/detail/meta/type_traits.hpp>
+
9317 
+
9318 // #include <nlohmann/detail/value_t.hpp>
+
9319 
+
9320 
+
9321 namespace nlohmann
+
9322 {
+
9323 namespace detail
+
9324 {
+
9325 // forward declare, to be able to friend it later on
+
9326 template<typename IteratorType> class iteration_proxy;
+
9327 template<typename IteratorType> class iteration_proxy_value;
+
9328 
+
9345 template<typename BasicJsonType>
+ +
9347 {
+
9349  friend iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
+
9350  friend BasicJsonType;
+ + +
9353 
+
9354  using object_t = typename BasicJsonType::object_t;
+
9355  using array_t = typename BasicJsonType::array_t;
+
9356  // make sure BasicJsonType is basic_json or const basic_json
+
9357  static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
+
9358  "iter_impl only accepts (const) basic_json");
+
9359 
+
9360  public:
+
9361 
+
9367  using iterator_category = std::bidirectional_iterator_tag;
+
9368 
+
9370  using value_type = typename BasicJsonType::value_type;
+
9372  using difference_type = typename BasicJsonType::difference_type;
+
9374  using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
+
9375  typename BasicJsonType::const_pointer,
+
9376  typename BasicJsonType::pointer>::type;
+
9378  using reference =
+
9379  typename std::conditional<std::is_const<BasicJsonType>::value,
+
9380  typename BasicJsonType::const_reference,
+
9381  typename BasicJsonType::reference>::type;
+
9382 
+
9384  iter_impl() = default;
+
9385 
+
9392  explicit iter_impl(pointer object) noexcept : m_object(object)
+
9393  {
+
9394  assert(m_object != nullptr);
+
9395 
+
9396  switch (m_object->m_type)
+
9397  {
+
9398  case value_t::object:
+
9399  {
+
9400  m_it.object_iterator = typename object_t::iterator();
+
9401  break;
+
9402  }
+
9403 
+
9404  case value_t::array:
+
9405  {
+
9406  m_it.array_iterator = typename array_t::iterator();
+
9407  break;
+
9408  }
+
9409 
+
9410  default:
+
9411  {
+ +
9413  break;
+
9414  }
+
9415  }
+
9416  }
+
9417 
+ +
9435  : m_object(other.m_object), m_it(other.m_it)
+
9436  {}
+
9437 
+ +
9445  {
+
9446  m_object = other.m_object;
+
9447  m_it = other.m_it;
+
9448  return *this;
+
9449  }
+
9450 
+
9456  iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
+
9457  : m_object(other.m_object), m_it(other.m_it)
+
9458  {}
+
9459 
+
9466  iter_impl& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
+
9467  {
+
9468  m_object = other.m_object;
+
9469  m_it = other.m_it;
+
9470  return *this;
+
9471  }
+
9472 
+
9473  private:
+
9478  void set_begin() noexcept
+
9479  {
+
9480  assert(m_object != nullptr);
+
9481 
+
9482  switch (m_object->m_type)
+
9483  {
+
9484  case value_t::object:
+
9485  {
+
9486  m_it.object_iterator = m_object->m_value.object->begin();
+
9487  break;
+
9488  }
+
9489 
+
9490  case value_t::array:
+
9491  {
+
9492  m_it.array_iterator = m_object->m_value.array->begin();
+
9493  break;
+
9494  }
+
9495 
+
9496  case value_t::null:
+
9497  {
+
9498  // set to end so begin()==end() is true: null is empty
+
9499  m_it.primitive_iterator.set_end();
+
9500  break;
+
9501  }
+
9502 
+
9503  default:
+
9504  {
+ +
9506  break;
+
9507  }
+
9508  }
+
9509  }
+
9510 
+
9515  void set_end() noexcept
+
9516  {
+
9517  assert(m_object != nullptr);
+
9518 
+
9519  switch (m_object->m_type)
+
9520  {
+
9521  case value_t::object:
+
9522  {
+
9523  m_it.object_iterator = m_object->m_value.object->end();
+
9524  break;
+
9525  }
+
9526 
+
9527  case value_t::array:
+
9528  {
+
9529  m_it.array_iterator = m_object->m_value.array->end();
+
9530  break;
+
9531  }
+
9532 
+
9533  default:
+
9534  {
+
9535  m_it.primitive_iterator.set_end();
+
9536  break;
+
9537  }
+
9538  }
+
9539  }
+
9540 
+
9541  public:
+ +
9547  {
+
9548  assert(m_object != nullptr);
+
9549 
+
9550  switch (m_object->m_type)
+
9551  {
+
9552  case value_t::object:
+
9553  {
+
9554  assert(m_it.object_iterator != m_object->m_value.object->end());
+
9555  return m_it.object_iterator->second;
+
9556  }
+
9557 
+
9558  case value_t::array:
+
9559  {
+
9560  assert(m_it.array_iterator != m_object->m_value.array->end());
+
9561  return *m_it.array_iterator;
+
9562  }
+
9563 
+
9564  case value_t::null:
+
9565  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
9566 
+
9567  default:
+
9568  {
+ +
9570  {
+
9571  return *m_object;
+
9572  }
+
9573 
+
9574  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
9575  }
+
9576  }
+
9577  }
+
9578 
+ +
9584  {
+
9585  assert(m_object != nullptr);
+
9586 
+
9587  switch (m_object->m_type)
+
9588  {
+
9589  case value_t::object:
+
9590  {
+
9591  assert(m_it.object_iterator != m_object->m_value.object->end());
+
9592  return &(m_it.object_iterator->second);
+
9593  }
+
9594 
+
9595  case value_t::array:
+
9596  {
+
9597  assert(m_it.array_iterator != m_object->m_value.array->end());
+
9598  return &*m_it.array_iterator;
+
9599  }
+
9600 
+
9601  default:
+
9602  {
+ +
9604  {
+
9605  return m_object;
+
9606  }
+
9607 
+
9608  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
9609  }
+
9610  }
+
9611  }
+
9612 
+ +
9618  {
+
9619  auto result = *this;
+
9620  ++(*this);
+
9621  return result;
+
9622  }
+
9623 
+ +
9629  {
+
9630  assert(m_object != nullptr);
+
9631 
+
9632  switch (m_object->m_type)
+
9633  {
+
9634  case value_t::object:
+
9635  {
+
9636  std::advance(m_it.object_iterator, 1);
+
9637  break;
+
9638  }
+
9639 
+
9640  case value_t::array:
+
9641  {
+
9642  std::advance(m_it.array_iterator, 1);
+
9643  break;
+
9644  }
+
9645 
+
9646  default:
+
9647  {
+
9648  ++m_it.primitive_iterator;
+
9649  break;
+
9650  }
+
9651  }
+
9652 
+
9653  return *this;
+
9654  }
+
9655 
+ +
9661  {
+
9662  auto result = *this;
+
9663  --(*this);
+
9664  return result;
+
9665  }
+
9666 
+ +
9672  {
+
9673  assert(m_object != nullptr);
+
9674 
+
9675  switch (m_object->m_type)
+
9676  {
+
9677  case value_t::object:
+
9678  {
+
9679  std::advance(m_it.object_iterator, -1);
+
9680  break;
+
9681  }
+
9682 
+
9683  case value_t::array:
+
9684  {
+
9685  std::advance(m_it.array_iterator, -1);
+
9686  break;
+
9687  }
+
9688 
+
9689  default:
+
9690  {
+
9691  --m_it.primitive_iterator;
+
9692  break;
+
9693  }
+
9694  }
+
9695 
+
9696  return *this;
+
9697  }
+
9698 
+
9703  bool operator==(const iter_impl& other) const
+
9704  {
+
9705  // if objects are not the same, the comparison is undefined
+
9706  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
+
9707  {
+
9708  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
+
9709  }
+
9710 
+
9711  assert(m_object != nullptr);
+
9712 
+
9713  switch (m_object->m_type)
+
9714  {
+
9715  case value_t::object:
+
9716  return (m_it.object_iterator == other.m_it.object_iterator);
+
9717 
+
9718  case value_t::array:
+
9719  return (m_it.array_iterator == other.m_it.array_iterator);
+
9720 
+
9721  default:
+
9722  return (m_it.primitive_iterator == other.m_it.primitive_iterator);
+
9723  }
+
9724  }
+
9725 
+
9730  bool operator!=(const iter_impl& other) const
+
9731  {
+
9732  return not operator==(other);
+
9733  }
+
9734 
+
9739  bool operator<(const iter_impl& other) const
+
9740  {
+
9741  // if objects are not the same, the comparison is undefined
+
9742  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
+
9743  {
+
9744  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
+
9745  }
+
9746 
+
9747  assert(m_object != nullptr);
+
9748 
+
9749  switch (m_object->m_type)
+
9750  {
+
9751  case value_t::object:
+
9752  JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));
+
9753 
+
9754  case value_t::array:
+
9755  return (m_it.array_iterator < other.m_it.array_iterator);
+
9756 
+
9757  default:
+
9758  return (m_it.primitive_iterator < other.m_it.primitive_iterator);
+
9759  }
+
9760  }
+
9761 
+
9766  bool operator<=(const iter_impl& other) const
+
9767  {
+
9768  return not other.operator < (*this);
+
9769  }
+
9770 
+
9775  bool operator>(const iter_impl& other) const
+
9776  {
+
9777  return not operator<=(other);
+
9778  }
+
9779 
+
9784  bool operator>=(const iter_impl& other) const
+
9785  {
+
9786  return not operator<(other);
+
9787  }
+
9788 
+ +
9794  {
+
9795  assert(m_object != nullptr);
+
9796 
+
9797  switch (m_object->m_type)
+
9798  {
+
9799  case value_t::object:
+
9800  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
+
9801 
+
9802  case value_t::array:
+
9803  {
+
9804  std::advance(m_it.array_iterator, i);
+
9805  break;
+
9806  }
+
9807 
+
9808  default:
+
9809  {
+
9810  m_it.primitive_iterator += i;
+
9811  break;
+
9812  }
+
9813  }
+
9814 
+
9815  return *this;
+
9816  }
+
9817 
+ +
9823  {
+
9824  return operator+=(-i);
+
9825  }
+
9826 
+ +
9832  {
+
9833  auto result = *this;
+
9834  result += i;
+
9835  return result;
+
9836  }
+
9837 
+ +
9843  {
+
9844  auto result = it;
+
9845  result += i;
+
9846  return result;
+
9847  }
+
9848 
+ +
9854  {
+
9855  auto result = *this;
+
9856  result -= i;
+
9857  return result;
+
9858  }
+
9859 
+ +
9865  {
+
9866  assert(m_object != nullptr);
+
9867 
+
9868  switch (m_object->m_type)
+
9869  {
+
9870  case value_t::object:
+
9871  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
+
9872 
+
9873  case value_t::array:
+
9874  return m_it.array_iterator - other.m_it.array_iterator;
+
9875 
+
9876  default:
+
9877  return m_it.primitive_iterator - other.m_it.primitive_iterator;
+
9878  }
+
9879  }
+
9880 
+ +
9886  {
+
9887  assert(m_object != nullptr);
+
9888 
+
9889  switch (m_object->m_type)
+
9890  {
+
9891  case value_t::object:
+
9892  JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
+
9893 
+
9894  case value_t::array:
+
9895  return *std::next(m_it.array_iterator, n);
+
9896 
+
9897  case value_t::null:
+
9898  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
9899 
+
9900  default:
+
9901  {
+ +
9903  {
+
9904  return *m_object;
+
9905  }
+
9906 
+
9907  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
+
9908  }
+
9909  }
+
9910  }
+
9911 
+
9916  const typename object_t::key_type& key() const
+
9917  {
+
9918  assert(m_object != nullptr);
+
9919 
+
9920  if (JSON_HEDLEY_LIKELY(m_object->is_object()))
+
9921  {
+
9922  return m_it.object_iterator->first;
+
9923  }
+
9924 
+
9925  JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators"));
+
9926  }
+
9927 
+ +
9933  {
+
9934  return operator*();
+
9935  }
+
9936 
+
9937  private:
+
9939  pointer m_object = nullptr;
+ +
9942 };
+
9943 } // namespace detail
+
9944 } // namespace nlohmann
+
9945 
+
9946 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
+
9947 
+
9948 // #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
+
9949 
+
9950 
+
9951 #include <cstddef> // ptrdiff_t
+
9952 #include <iterator> // reverse_iterator
+
9953 #include <utility> // declval
+
9954 
+
9955 namespace nlohmann
+
9956 {
+
9957 namespace detail
+
9958 {
+
9960 // reverse_iterator //
+
9962 
+
9981 template<typename Base>
+
9982 class json_reverse_iterator : public std::reverse_iterator<Base>
+
9983 {
+
9984  public:
+
9985  using difference_type = std::ptrdiff_t;
+
9987  using base_iterator = std::reverse_iterator<Base>;
+
9989  using reference = typename Base::reference;
+
9990 
+
9992  explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
+
9993  : base_iterator(it) {}
+
9994 
+
9996  explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {}
+
9997 
+ +
10000  {
+
10001  return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
+
10002  }
+
10003 
+ +
10006  {
+
10007  return static_cast<json_reverse_iterator&>(base_iterator::operator++());
+
10008  }
+
10009 
+ +
10012  {
+
10013  return static_cast<json_reverse_iterator>(base_iterator::operator--(1));
+
10014  }
+
10015 
+ +
10018  {
+
10019  return static_cast<json_reverse_iterator&>(base_iterator::operator--());
+
10020  }
+
10021 
+ +
10024  {
+
10025  return static_cast<json_reverse_iterator&>(base_iterator::operator+=(i));
+
10026  }
+
10027 
+ +
10030  {
+
10031  return static_cast<json_reverse_iterator>(base_iterator::operator+(i));
+
10032  }
+
10033 
+ +
10036  {
+
10037  return static_cast<json_reverse_iterator>(base_iterator::operator-(i));
+
10038  }
+
10039 
+ +
10042  {
+
10043  return base_iterator(*this) - base_iterator(other);
+
10044  }
+
10045 
+ +
10048  {
+
10049  return *(this->operator+(n));
+
10050  }
+
10051 
+
10053  auto key() const -> decltype(std::declval<Base>().key())
+
10054  {
+
10055  auto it = --this->base();
+
10056  return it.key();
+
10057  }
+
10058 
+ +
10061  {
+
10062  auto it = --this->base();
+
10063  return it.operator * ();
+
10064  }
+
10065 };
+
10066 } // namespace detail
+
10067 } // namespace nlohmann
+
10068 
+
10069 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
+
10070 
+
10071 // #include <nlohmann/detail/json_pointer.hpp>
+
10072 
+
10073 
+
10074 #include <algorithm> // all_of
+
10075 #include <cassert> // assert
+
10076 #include <cctype> // isdigit
+
10077 #include <numeric> // accumulate
+
10078 #include <string> // string
+
10079 #include <utility> // move
+
10080 #include <vector> // vector
+
10081 
+
10082 // #include <nlohmann/detail/exceptions.hpp>
+
10083 
+
10084 // #include <nlohmann/detail/macro_scope.hpp>
+
10085 
+
10086 // #include <nlohmann/detail/value_t.hpp>
+
10087 
+
10088 
+
10089 namespace nlohmann
+
10090 {
+
10091 template<typename BasicJsonType>
+
10092 class json_pointer
+
10093 {
+
10094  // allow basic_json to access private members
+ +
10096  friend class basic_json;
+
10097 
+
10098  public:
+
10120  explicit json_pointer(const std::string& s = "")
+
10121  : reference_tokens(split(s))
+
10122  {}
+
10123 
+
10138  std::string to_string() const
+
10139  {
+
10140  return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
+
10141  std::string{},
+
10142  [](const std::string & a, const std::string & b)
+
10143  {
+
10144  return a + "/" + escape(b);
+
10145  });
+
10146  }
+
10147 
+
10149  operator std::string() const
+
10150  {
+
10151  return to_string();
+
10152  }
+
10153 
+ +
10171  {
+
10172  reference_tokens.insert(reference_tokens.end(),
+
10173  ptr.reference_tokens.begin(),
+
10174  ptr.reference_tokens.end());
+
10175  return *this;
+
10176  }
+
10177 
+
10194  json_pointer& operator/=(std::string token)
+
10195  {
+
10196  push_back(std::move(token));
+
10197  return *this;
+
10198  }
+
10199 
+
10216  json_pointer& operator/=(std::size_t array_index)
+
10217  {
+
10218  return *this /= std::to_string(array_index);
+
10219  }
+
10220 
+ +
10237  const json_pointer& rhs)
+
10238  {
+
10239  return json_pointer(lhs) /= rhs;
+
10240  }
+
10241 
+
10257  friend json_pointer operator/(const json_pointer& ptr, std::string token)
+
10258  {
+
10259  return json_pointer(ptr) /= std::move(token);
+
10260  }
+
10261 
+
10277  friend json_pointer operator/(const json_pointer& ptr, std::size_t array_index)
+
10278  {
+
10279  return json_pointer(ptr) /= array_index;
+
10280  }
+
10281 
+ +
10296  {
+
10297  if (empty())
+
10298  {
+
10299  return *this;
+
10300  }
+
10301 
+
10302  json_pointer res = *this;
+
10303  res.pop_back();
+
10304  return res;
+
10305  }
+
10306 
+
10320  void pop_back()
+
10321  {
+
10322  if (JSON_HEDLEY_UNLIKELY(empty()))
+
10323  {
+
10324  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
+
10325  }
+
10326 
+
10327  reference_tokens.pop_back();
+
10328  }
+
10329 
+
10344  const std::string& back() const
+
10345  {
+
10346  if (JSON_HEDLEY_UNLIKELY(empty()))
+
10347  {
+
10348  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
+
10349  }
+
10350 
+
10351  return reference_tokens.back();
+
10352  }
+
10353 
+
10366  void push_back(const std::string& token)
+
10367  {
+
10368  reference_tokens.push_back(token);
+
10369  }
+
10370 
+
10372  void push_back(std::string&& token)
+
10373  {
+
10374  reference_tokens.push_back(std::move(token));
+
10375  }
+
10376 
+
10391  bool empty() const noexcept
+
10392  {
+
10393  return reference_tokens.empty();
+
10394  }
+
10395 
+
10396  private:
+
10404  static int array_index(const std::string& s)
+
10405  {
+
10406  std::size_t processed_chars = 0;
+
10407  const int res = std::stoi(s, &processed_chars);
+
10408 
+
10409  // check if the string was completely read
+
10410  if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
+
10411  {
+
10412  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
+
10413  }
+
10414 
+
10415  return res;
+
10416  }
+
10417 
+
10418  json_pointer top() const
+
10419  {
+
10420  if (JSON_HEDLEY_UNLIKELY(empty()))
+
10421  {
+
10422  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
+
10423  }
+
10424 
+
10425  json_pointer result = *this;
+
10426  result.reference_tokens = {reference_tokens[0]};
+
10427  return result;
+
10428  }
+
10429 
+
10438  BasicJsonType& get_and_create(BasicJsonType& j) const
+
10439  {
+
10440  using size_type = typename BasicJsonType::size_type;
+
10441  auto result = &j;
+
10442 
+
10443  // in case no reference tokens exist, return a reference to the JSON value
+
10444  // j which will be overwritten by a primitive value
+
10445  for (const auto& reference_token : reference_tokens)
+
10446  {
+
10447  switch (result->type())
+
10448  {
+
10449  case detail::value_t::null:
+
10450  {
+
10451  if (reference_token == "0")
+
10452  {
+
10453  // start a new array if reference token is 0
+
10454  result = &result->operator[](0);
+
10455  }
+
10456  else
+
10457  {
+
10458  // start a new object otherwise
+
10459  result = &result->operator[](reference_token);
+
10460  }
+
10461  break;
+
10462  }
+
10463 
+ +
10465  {
+
10466  // create an entry in the object
+
10467  result = &result->operator[](reference_token);
+
10468  break;
+
10469  }
+
10470 
+ +
10472  {
+
10473  // create an entry in the array
+
10474  JSON_TRY
+
10475  {
+
10476  result = &result->operator[](static_cast<size_type>(array_index(reference_token)));
+
10477  }
+
10478  JSON_CATCH(std::invalid_argument&)
+
10479  {
+
10480  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10481  }
+
10482  break;
+
10483  }
+
10484 
+
10485  /*
+
10486  The following code is only reached if there exists a reference
+
10487  token _and_ the current value is primitive. In this case, we have
+
10488  an error situation, because primitive values may only occur as
+
10489  single value; that is, with an empty list of reference tokens.
+
10490  */
+
10491  default:
+
10492  JSON_THROW(detail::type_error::create(313, "invalid value to unflatten"));
+
10493  }
+
10494  }
+
10495 
+
10496  return *result;
+
10497  }
+
10498 
+
10518  BasicJsonType& get_unchecked(BasicJsonType* ptr) const
+
10519  {
+
10520  using size_type = typename BasicJsonType::size_type;
+
10521  for (const auto& reference_token : reference_tokens)
+
10522  {
+
10523  // convert null values to arrays or objects before continuing
+
10524  if (ptr->is_null())
+
10525  {
+
10526  // check if reference token is a number
+
10527  const bool nums =
+
10528  std::all_of(reference_token.begin(), reference_token.end(),
+
10529  [](const unsigned char x)
+
10530  {
+
10531  return std::isdigit(x);
+
10532  });
+
10533 
+
10534  // change value to array for numbers or "-" or to object otherwise
+
10535  *ptr = (nums or reference_token == "-")
+ + +
10538  }
+
10539 
+
10540  switch (ptr->type())
+
10541  {
+ +
10543  {
+
10544  // use unchecked object access
+
10545  ptr = &ptr->operator[](reference_token);
+
10546  break;
+
10547  }
+
10548 
+ +
10550  {
+
10551  // error condition (cf. RFC 6901, Sect. 4)
+
10552  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+
10553  {
+ +
10555  "array index '" + reference_token +
+
10556  "' must not begin with '0'"));
+
10557  }
+
10558 
+
10559  if (reference_token == "-")
+
10560  {
+
10561  // explicitly treat "-" as index beyond the end
+
10562  ptr = &ptr->operator[](ptr->m_value.array->size());
+
10563  }
+
10564  else
+
10565  {
+
10566  // convert array index to number; unchecked access
+
10567  JSON_TRY
+
10568  {
+
10569  ptr = &ptr->operator[](
+
10570  static_cast<size_type>(array_index(reference_token)));
+
10571  }
+
10572  JSON_CATCH(std::invalid_argument&)
+
10573  {
+
10574  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10575  }
+
10576  }
+
10577  break;
+
10578  }
+
10579 
+
10580  default:
+
10581  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+
10582  }
+
10583  }
+
10584 
+
10585  return *ptr;
+
10586  }
+
10587 
+
10594  BasicJsonType& get_checked(BasicJsonType* ptr) const
+
10595  {
+
10596  using size_type = typename BasicJsonType::size_type;
+
10597  for (const auto& reference_token : reference_tokens)
+
10598  {
+
10599  switch (ptr->type())
+
10600  {
+ +
10602  {
+
10603  // note: at performs range check
+
10604  ptr = &ptr->at(reference_token);
+
10605  break;
+
10606  }
+
10607 
+ +
10609  {
+
10610  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
+
10611  {
+
10612  // "-" always fails the range check
+ +
10614  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+
10615  ") is out of range"));
+
10616  }
+
10617 
+
10618  // error condition (cf. RFC 6901, Sect. 4)
+
10619  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+
10620  {
+ +
10622  "array index '" + reference_token +
+
10623  "' must not begin with '0'"));
+
10624  }
+
10625 
+
10626  // note: at performs range check
+
10627  JSON_TRY
+
10628  {
+
10629  ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
+
10630  }
+
10631  JSON_CATCH(std::invalid_argument&)
+
10632  {
+
10633  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10634  }
+
10635  break;
+
10636  }
+
10637 
+
10638  default:
+
10639  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+
10640  }
+
10641  }
+
10642 
+
10643  return *ptr;
+
10644  }
+
10645 
+
10659  const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
+
10660  {
+
10661  using size_type = typename BasicJsonType::size_type;
+
10662  for (const auto& reference_token : reference_tokens)
+
10663  {
+
10664  switch (ptr->type())
+
10665  {
+ +
10667  {
+
10668  // use unchecked object access
+
10669  ptr = &ptr->operator[](reference_token);
+
10670  break;
+
10671  }
+
10672 
+ +
10674  {
+
10675  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
+
10676  {
+
10677  // "-" cannot be used for const access
+ +
10679  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+
10680  ") is out of range"));
+
10681  }
+
10682 
+
10683  // error condition (cf. RFC 6901, Sect. 4)
+
10684  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+
10685  {
+ +
10687  "array index '" + reference_token +
+
10688  "' must not begin with '0'"));
+
10689  }
+
10690 
+
10691  // use unchecked array access
+
10692  JSON_TRY
+
10693  {
+
10694  ptr = &ptr->operator[](
+
10695  static_cast<size_type>(array_index(reference_token)));
+
10696  }
+
10697  JSON_CATCH(std::invalid_argument&)
+
10698  {
+
10699  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10700  }
+
10701  break;
+
10702  }
+
10703 
+
10704  default:
+
10705  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+
10706  }
+
10707  }
+
10708 
+
10709  return *ptr;
+
10710  }
+
10711 
+
10718  const BasicJsonType& get_checked(const BasicJsonType* ptr) const
+
10719  {
+
10720  using size_type = typename BasicJsonType::size_type;
+
10721  for (const auto& reference_token : reference_tokens)
+
10722  {
+
10723  switch (ptr->type())
+
10724  {
+ +
10726  {
+
10727  // note: at performs range check
+
10728  ptr = &ptr->at(reference_token);
+
10729  break;
+
10730  }
+
10731 
+ +
10733  {
+
10734  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
+
10735  {
+
10736  // "-" always fails the range check
+ +
10738  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
+
10739  ") is out of range"));
+
10740  }
+
10741 
+
10742  // error condition (cf. RFC 6901, Sect. 4)
+
10743  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+
10744  {
+ +
10746  "array index '" + reference_token +
+
10747  "' must not begin with '0'"));
+
10748  }
+
10749 
+
10750  // note: at performs range check
+
10751  JSON_TRY
+
10752  {
+
10753  ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
+
10754  }
+
10755  JSON_CATCH(std::invalid_argument&)
+
10756  {
+
10757  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10758  }
+
10759  break;
+
10760  }
+
10761 
+
10762  default:
+
10763  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
+
10764  }
+
10765  }
+
10766 
+
10767  return *ptr;
+
10768  }
+
10769 
+
10774  bool contains(const BasicJsonType* ptr) const
+
10775  {
+
10776  using size_type = typename BasicJsonType::size_type;
+
10777  for (const auto& reference_token : reference_tokens)
+
10778  {
+
10779  switch (ptr->type())
+
10780  {
+ +
10782  {
+
10783  if (not ptr->contains(reference_token))
+
10784  {
+
10785  // we did not find the key in the object
+
10786  return false;
+
10787  }
+
10788 
+
10789  ptr = &ptr->operator[](reference_token);
+
10790  break;
+
10791  }
+
10792 
+ +
10794  {
+
10795  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
+
10796  {
+
10797  // "-" always fails the range check
+
10798  return false;
+
10799  }
+
10800 
+
10801  // error condition (cf. RFC 6901, Sect. 4)
+
10802  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
+
10803  {
+ +
10805  "array index '" + reference_token +
+
10806  "' must not begin with '0'"));
+
10807  }
+
10808 
+
10809  JSON_TRY
+
10810  {
+
10811  const auto idx = static_cast<size_type>(array_index(reference_token));
+
10812  if (idx >= ptr->size())
+
10813  {
+
10814  // index out of range
+
10815  return false;
+
10816  }
+
10817 
+
10818  ptr = &ptr->operator[](idx);
+
10819  break;
+
10820  }
+
10821  JSON_CATCH(std::invalid_argument&)
+
10822  {
+
10823  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
+
10824  }
+
10825  break;
+
10826  }
+
10827 
+
10828  default:
+
10829  {
+
10830  // we do not expect primitive values if there is still a
+
10831  // reference token to process
+
10832  return false;
+
10833  }
+
10834  }
+
10835  }
+
10836 
+
10837  // no reference token left means we found a primitive value
+
10838  return true;
+
10839  }
+
10840 
+
10850  static std::vector<std::string> split(const std::string& reference_string)
+
10851  {
+
10852  std::vector<std::string> result;
+
10853 
+
10854  // special case: empty reference string -> no reference tokens
+
10855  if (reference_string.empty())
+
10856  {
+
10857  return result;
+
10858  }
+
10859 
+
10860  // check if nonempty reference string begins with slash
+
10861  if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/'))
+
10862  {
+ +
10864  "JSON pointer must be empty or begin with '/' - was: '" +
+
10865  reference_string + "'"));
+
10866  }
+
10867 
+
10868  // extract the reference tokens:
+
10869  // - slash: position of the last read slash (or end of string)
+
10870  // - start: position after the previous slash
+
10871  for (
+
10872  // search for the first slash after the first character
+
10873  std::size_t slash = reference_string.find_first_of('/', 1),
+
10874  // set the beginning of the first reference token
+
10875  start = 1;
+
10876  // we can stop if start == 0 (if slash == std::string::npos)
+
10877  start != 0;
+
10878  // set the beginning of the next reference token
+
10879  // (will eventually be 0 if slash == std::string::npos)
+
10880  start = (slash == std::string::npos) ? 0 : slash + 1,
+
10881  // find next slash
+
10882  slash = reference_string.find_first_of('/', start))
+
10883  {
+
10884  // use the text between the beginning of the reference token
+
10885  // (start) and the last slash (slash).
+
10886  auto reference_token = reference_string.substr(start, slash - start);
+
10887 
+
10888  // check reference tokens are properly escaped
+
10889  for (std::size_t pos = reference_token.find_first_of('~');
+
10890  pos != std::string::npos;
+
10891  pos = reference_token.find_first_of('~', pos + 1))
+
10892  {
+
10893  assert(reference_token[pos] == '~');
+
10894 
+
10895  // ~ must be followed by 0 or 1
+
10896  if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 or
+
10897  (reference_token[pos + 1] != '0' and
+
10898  reference_token[pos + 1] != '1')))
+
10899  {
+
10900  JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'"));
+
10901  }
+
10902  }
+
10903 
+
10904  // finally, store the reference token
+
10905  unescape(reference_token);
+
10906  result.push_back(reference_token);
+
10907  }
+
10908 
+
10909  return result;
+
10910  }
+
10911 
+
10925  static void replace_substring(std::string& s, const std::string& f,
+
10926  const std::string& t)
+
10927  {
+
10928  assert(not f.empty());
+
10929  for (auto pos = s.find(f); // find first occurrence of f
+
10930  pos != std::string::npos; // make sure f was found
+
10931  s.replace(pos, f.size(), t), // replace with t, and
+
10932  pos = s.find(f, pos + t.size())) // find next occurrence of f
+
10933  {}
+
10934  }
+
10935 
+
10937  static std::string escape(std::string s)
+
10938  {
+
10939  replace_substring(s, "~", "~0");
+
10940  replace_substring(s, "/", "~1");
+
10941  return s;
+
10942  }
+
10943 
+
10945  static void unescape(std::string& s)
+
10946  {
+
10947  replace_substring(s, "~1", "/");
+
10948  replace_substring(s, "~0", "~");
+
10949  }
+
10950 
+
10958  static void flatten(const std::string& reference_string,
+
10959  const BasicJsonType& value,
+
10960  BasicJsonType& result)
+
10961  {
+
10962  switch (value.type())
+
10963  {
+ +
10965  {
+
10966  if (value.m_value.array->empty())
+
10967  {
+
10968  // flatten empty array as null
+
10969  result[reference_string] = nullptr;
+
10970  }
+
10971  else
+
10972  {
+
10973  // iterate array and use index as reference string
+
10974  for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
+
10975  {
+
10976  flatten(reference_string + "/" + std::to_string(i),
+
10977  value.m_value.array->operator[](i), result);
+
10978  }
+
10979  }
+
10980  break;
+
10981  }
+
10982 
+ +
10984  {
+
10985  if (value.m_value.object->empty())
+
10986  {
+
10987  // flatten empty object as null
+
10988  result[reference_string] = nullptr;
+
10989  }
+
10990  else
+
10991  {
+
10992  // iterate object and use keys as reference string
+
10993  for (const auto& element : *value.m_value.object)
+
10994  {
+
10995  flatten(reference_string + "/" + escape(element.first), element.second, result);
+
10996  }
+
10997  }
+
10998  break;
+
10999  }
+
11000 
+
11001  default:
+
11002  {
+
11003  // add primitive value with its reference string
+
11004  result[reference_string] = value;
+
11005  break;
+
11006  }
+
11007  }
+
11008  }
+
11009 
+
11020  static BasicJsonType
+
11021  unflatten(const BasicJsonType& value)
+
11022  {
+
11023  if (JSON_HEDLEY_UNLIKELY(not value.is_object()))
+
11024  {
+
11025  JSON_THROW(detail::type_error::create(314, "only objects can be unflattened"));
+
11026  }
+
11027 
+
11028  BasicJsonType result;
+
11029 
+
11030  // iterate the JSON object values
+
11031  for (const auto& element : *value.m_value.object)
+
11032  {
+
11033  if (JSON_HEDLEY_UNLIKELY(not element.second.is_primitive()))
+
11034  {
+
11035  JSON_THROW(detail::type_error::create(315, "values in object must be primitive"));
+
11036  }
+
11037 
+
11038  // assign value to reference pointed to by JSON pointer; Note that if
+
11039  // the JSON pointer is "" (i.e., points to the whole value), function
+
11040  // get_and_create returns a reference to result itself. An assignment
+
11041  // will then create a primitive value.
+
11042  json_pointer(element.first).get_and_create(result) = element.second;
+
11043  }
+
11044 
+
11045  return result;
+
11046  }
+
11047 
+
11059  friend bool operator==(json_pointer const& lhs,
+
11060  json_pointer const& rhs) noexcept
+
11061  {
+
11062  return lhs.reference_tokens == rhs.reference_tokens;
+
11063  }
+
11064 
+
11076  friend bool operator!=(json_pointer const& lhs,
+
11077  json_pointer const& rhs) noexcept
+
11078  {
+
11079  return not (lhs == rhs);
+
11080  }
+
11081 
+
11083  std::vector<std::string> reference_tokens;
+
11084 };
+
11085 } // namespace nlohmann
+
11086 
+
11087 // #include <nlohmann/detail/json_ref.hpp>
+
11088 
+
11089 
+
11090 #include <initializer_list>
+
11091 #include <utility>
+
11092 
+
11093 // #include <nlohmann/detail/meta/type_traits.hpp>
+
11094 
+
11095 
+
11096 namespace nlohmann
+
11097 {
+
11098 namespace detail
+
11099 {
+
11100 template<typename BasicJsonType>
+ +
11102 {
+
11103  public:
+
11104  using value_type = BasicJsonType;
+
11105 
+ +
11107  : owned_value(std::move(value)), value_ref(&owned_value), is_rvalue(true)
+
11108  {}
+
11109 
+
11110  json_ref(const value_type& value)
+
11111  : value_ref(const_cast<value_type*>(&value)), is_rvalue(false)
+
11112  {}
+
11113 
+
11114  json_ref(std::initializer_list<json_ref> init)
+
11115  : owned_value(init), value_ref(&owned_value), is_rvalue(true)
+
11116  {}
+
11117 
+
11118  template <
+
11119  class... Args,
+
11120  enable_if_t<std::is_constructible<value_type, Args...>::value, int> = 0 >
+
11121  json_ref(Args && ... args)
+
11122  : owned_value(std::forward<Args>(args)...), value_ref(&owned_value),
+
11123  is_rvalue(true) {}
+
11124 
+
11125  // class should be movable only
+
11126  json_ref(json_ref&&) = default;
+
11127  json_ref(const json_ref&) = delete;
+
11128  json_ref& operator=(const json_ref&) = delete;
+
11129  json_ref& operator=(json_ref&&) = delete;
+
11130  ~json_ref() = default;
+
11131 
+ +
11133  {
+
11134  if (is_rvalue)
+
11135  {
+
11136  return std::move(*value_ref);
+
11137  }
+
11138  return *value_ref;
+
11139  }
+
11140 
+
11141  value_type const& operator*() const
+
11142  {
+
11143  return *static_cast<value_type const*>(value_ref);
+
11144  }
+
11145 
+
11146  value_type const* operator->() const
+
11147  {
+
11148  return static_cast<value_type const*>(value_ref);
+
11149  }
+
11150 
+
11151  private:
+
11152  mutable value_type owned_value = nullptr;
+
11153  value_type* value_ref = nullptr;
+
11154  const bool is_rvalue;
+
11155 };
+
11156 } // namespace detail
+
11157 } // namespace nlohmann
+
11158 
+
11159 // #include <nlohmann/detail/macro_scope.hpp>
+
11160 
+
11161 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
11162 
+
11163 // #include <nlohmann/detail/meta/type_traits.hpp>
+
11164 
+
11165 // #include <nlohmann/detail/output/binary_writer.hpp>
+
11166 
+
11167 
+
11168 #include <algorithm> // reverse
+
11169 #include <array> // array
+
11170 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
+
11171 #include <cstring> // memcpy
+
11172 #include <limits> // numeric_limits
+
11173 #include <string> // string
+
11174 
+
11175 // #include <nlohmann/detail/input/binary_reader.hpp>
+
11176 
+
11177 // #include <nlohmann/detail/macro_scope.hpp>
+
11178 
+
11179 // #include <nlohmann/detail/output/output_adapters.hpp>
+
11180 
+
11181 
+
11182 #include <algorithm> // copy
+
11183 #include <cstddef> // size_t
+
11184 #include <ios> // streamsize
+
11185 #include <iterator> // back_inserter
+
11186 #include <memory> // shared_ptr, make_shared
+
11187 #include <ostream> // basic_ostream
+
11188 #include <string> // basic_string
+
11189 #include <vector> // vector
+
11190 // #include <nlohmann/detail/macro_scope.hpp>
+
11191 
+
11192 
+
11193 namespace nlohmann
+
11194 {
+
11195 namespace detail
+
11196 {
+
11198 template<typename CharType> struct output_adapter_protocol
+
11199 {
+
11200  virtual void write_character(CharType c) = 0;
+
11201  virtual void write_characters(const CharType* s, std::size_t length) = 0;
+
11202  virtual ~output_adapter_protocol() = default;
+
11203 };
+
11204 
+
11206 template<typename CharType>
+
11207 using output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>>;
+
11208 
+
11210 template<typename CharType>
+ +
11212 {
+
11213  public:
+
11214  explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
+
11215  : v(vec)
+
11216  {}
+
11217 
+
11218  void write_character(CharType c) override
+
11219  {
+
11220  v.push_back(c);
+
11221  }
+
11222 
+ +
11224  void write_characters(const CharType* s, std::size_t length) override
+
11225  {
+
11226  std::copy(s, s + length, std::back_inserter(v));
+
11227  }
+
11228 
+
11229  private:
+
11230  std::vector<CharType>& v;
+
11231 };
+
11232 
+
11234 template<typename CharType>
+ +
11236 {
+
11237  public:
+
11238  explicit output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
+
11239  : stream(s)
+
11240  {}
+
11241 
+
11242  void write_character(CharType c) override
+
11243  {
+
11244  stream.put(c);
+
11245  }
+
11246 
+ +
11248  void write_characters(const CharType* s, std::size_t length) override
+
11249  {
+
11250  stream.write(s, static_cast<std::streamsize>(length));
+
11251  }
+
11252 
+
11253  private:
+
11254  std::basic_ostream<CharType>& stream;
+
11255 };
+
11256 
+
11258 template<typename CharType, typename StringType = std::basic_string<CharType>>
+ +
11260 {
+
11261  public:
+
11262  explicit output_string_adapter(StringType& s) noexcept
+
11263  : str(s)
+
11264  {}
+
11265 
+
11266  void write_character(CharType c) override
+
11267  {
+
11268  str.push_back(c);
+
11269  }
+
11270 
+ +
11272  void write_characters(const CharType* s, std::size_t length) override
+
11273  {
+
11274  str.append(s, length);
+
11275  }
+
11276 
+
11277  private:
+
11278  StringType& str;
+
11279 };
+
11280 
+
11281 template<typename CharType, typename StringType = std::basic_string<CharType>>
+ +
11283 {
+
11284  public:
+
11285  output_adapter(std::vector<CharType>& vec)
+
11286  : oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {}
+
11287 
+
11288  output_adapter(std::basic_ostream<CharType>& s)
+
11289  : oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
+
11290 
+
11291  output_adapter(StringType& s)
+
11292  : oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {}
+
11293 
+ +
11295  {
+
11296  return oa;
+
11297  }
+
11298 
+
11299  private:
+
11300  output_adapter_t<CharType> oa = nullptr;
+
11301 };
+
11302 } // namespace detail
+
11303 } // namespace nlohmann
+
11304 
+
11305 
+
11306 namespace nlohmann
+
11307 {
+
11308 namespace detail
+
11309 {
+
11311 // binary writer //
+
11313 
+
11317 template<typename BasicJsonType, typename CharType>
+ +
11319 {
+
11320  using string_t = typename BasicJsonType::string_t;
+
11321 
+
11322  public:
+
11328  explicit binary_writer(output_adapter_t<CharType> adapter) : oa(adapter)
+
11329  {
+
11330  assert(oa);
+
11331  }
+
11332 
+
11337  void write_bson(const BasicJsonType& j)
+
11338  {
+
11339  switch (j.type())
+
11340  {
+
11341  case value_t::object:
+
11342  {
+
11343  write_bson_object(*j.m_value.object);
+
11344  break;
+
11345  }
+
11346 
+
11347  default:
+
11348  {
+
11349  JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name())));
+
11350  }
+
11351  }
+
11352  }
+
11353 
+
11357  void write_cbor(const BasicJsonType& j)
+
11358  {
+
11359  switch (j.type())
+
11360  {
+
11361  case value_t::null:
+
11362  {
+
11363  oa->write_character(to_char_type(0xF6));
+
11364  break;
+
11365  }
+
11366 
+
11367  case value_t::boolean:
+
11368  {
+
11369  oa->write_character(j.m_value.boolean
+
11370  ? to_char_type(0xF5)
+
11371  : to_char_type(0xF4));
+
11372  break;
+
11373  }
+
11374 
+ +
11376  {
+
11377  if (j.m_value.number_integer >= 0)
+
11378  {
+
11379  // CBOR does not differentiate between positive signed
+
11380  // integers and unsigned integers. Therefore, we used the
+
11381  // code from the value_t::number_unsigned case here.
+
11382  if (j.m_value.number_integer <= 0x17)
+
11383  {
+
11384  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11385  }
+
11386  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
+
11387  {
+
11388  oa->write_character(to_char_type(0x18));
+
11389  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11390  }
+
11391  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint16_t>::max)())
+
11392  {
+
11393  oa->write_character(to_char_type(0x19));
+
11394  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
+
11395  }
+
11396  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint32_t>::max)())
+
11397  {
+
11398  oa->write_character(to_char_type(0x1A));
+
11399  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
+
11400  }
+
11401  else
+
11402  {
+
11403  oa->write_character(to_char_type(0x1B));
+
11404  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
+
11405  }
+
11406  }
+
11407  else
+
11408  {
+
11409  // The conversions below encode the sign in the first
+
11410  // byte, and the value is converted to a positive number.
+
11411  const auto positive_number = -1 - j.m_value.number_integer;
+
11412  if (j.m_value.number_integer >= -24)
+
11413  {
+
11414  write_number(static_cast<std::uint8_t>(0x20 + positive_number));
+
11415  }
+
11416  else if (positive_number <= (std::numeric_limits<std::uint8_t>::max)())
+
11417  {
+
11418  oa->write_character(to_char_type(0x38));
+
11419  write_number(static_cast<std::uint8_t>(positive_number));
+
11420  }
+
11421  else if (positive_number <= (std::numeric_limits<std::uint16_t>::max)())
+
11422  {
+
11423  oa->write_character(to_char_type(0x39));
+
11424  write_number(static_cast<std::uint16_t>(positive_number));
+
11425  }
+
11426  else if (positive_number <= (std::numeric_limits<std::uint32_t>::max)())
+
11427  {
+
11428  oa->write_character(to_char_type(0x3A));
+
11429  write_number(static_cast<std::uint32_t>(positive_number));
+
11430  }
+
11431  else
+
11432  {
+
11433  oa->write_character(to_char_type(0x3B));
+
11434  write_number(static_cast<std::uint64_t>(positive_number));
+
11435  }
+
11436  }
+
11437  break;
+
11438  }
+
11439 
+ +
11441  {
+
11442  if (j.m_value.number_unsigned <= 0x17)
+
11443  {
+
11444  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
+
11445  }
+
11446  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
+
11447  {
+
11448  oa->write_character(to_char_type(0x18));
+
11449  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
+
11450  }
+
11451  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
+
11452  {
+
11453  oa->write_character(to_char_type(0x19));
+
11454  write_number(static_cast<std::uint16_t>(j.m_value.number_unsigned));
+
11455  }
+
11456  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
+
11457  {
+
11458  oa->write_character(to_char_type(0x1A));
+
11459  write_number(static_cast<std::uint32_t>(j.m_value.number_unsigned));
+
11460  }
+
11461  else
+
11462  {
+
11463  oa->write_character(to_char_type(0x1B));
+
11464  write_number(static_cast<std::uint64_t>(j.m_value.number_unsigned));
+
11465  }
+
11466  break;
+
11467  }
+
11468 
+
11469  case value_t::number_float:
+
11470  {
+
11471  oa->write_character(get_cbor_float_prefix(j.m_value.number_float));
+
11472  write_number(j.m_value.number_float);
+
11473  break;
+
11474  }
+
11475 
+
11476  case value_t::string:
+
11477  {
+
11478  // step 1: write control byte and the string length
+
11479  const auto N = j.m_value.string->size();
+
11480  if (N <= 0x17)
+
11481  {
+
11482  write_number(static_cast<std::uint8_t>(0x60 + N));
+
11483  }
+
11484  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
+
11485  {
+
11486  oa->write_character(to_char_type(0x78));
+
11487  write_number(static_cast<std::uint8_t>(N));
+
11488  }
+
11489  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11490  {
+
11491  oa->write_character(to_char_type(0x79));
+
11492  write_number(static_cast<std::uint16_t>(N));
+
11493  }
+
11494  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11495  {
+
11496  oa->write_character(to_char_type(0x7A));
+
11497  write_number(static_cast<std::uint32_t>(N));
+
11498  }
+
11499  // LCOV_EXCL_START
+
11500  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
+
11501  {
+
11502  oa->write_character(to_char_type(0x7B));
+
11503  write_number(static_cast<std::uint64_t>(N));
+
11504  }
+
11505  // LCOV_EXCL_STOP
+
11506 
+
11507  // step 2: write the string
+
11508  oa->write_characters(
+
11509  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+
11510  j.m_value.string->size());
+
11511  break;
+
11512  }
+
11513 
+
11514  case value_t::array:
+
11515  {
+
11516  // step 1: write control byte and the array size
+
11517  const auto N = j.m_value.array->size();
+
11518  if (N <= 0x17)
+
11519  {
+
11520  write_number(static_cast<std::uint8_t>(0x80 + N));
+
11521  }
+
11522  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
+
11523  {
+
11524  oa->write_character(to_char_type(0x98));
+
11525  write_number(static_cast<std::uint8_t>(N));
+
11526  }
+
11527  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11528  {
+
11529  oa->write_character(to_char_type(0x99));
+
11530  write_number(static_cast<std::uint16_t>(N));
+
11531  }
+
11532  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11533  {
+
11534  oa->write_character(to_char_type(0x9A));
+
11535  write_number(static_cast<std::uint32_t>(N));
+
11536  }
+
11537  // LCOV_EXCL_START
+
11538  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
+
11539  {
+
11540  oa->write_character(to_char_type(0x9B));
+
11541  write_number(static_cast<std::uint64_t>(N));
+
11542  }
+
11543  // LCOV_EXCL_STOP
+
11544 
+
11545  // step 2: write each element
+
11546  for (const auto& el : *j.m_value.array)
+
11547  {
+
11548  write_cbor(el);
+
11549  }
+
11550  break;
+
11551  }
+
11552 
+
11553  case value_t::object:
+
11554  {
+
11555  // step 1: write control byte and the object size
+
11556  const auto N = j.m_value.object->size();
+
11557  if (N <= 0x17)
+
11558  {
+
11559  write_number(static_cast<std::uint8_t>(0xA0 + N));
+
11560  }
+
11561  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
+
11562  {
+
11563  oa->write_character(to_char_type(0xB8));
+
11564  write_number(static_cast<std::uint8_t>(N));
+
11565  }
+
11566  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11567  {
+
11568  oa->write_character(to_char_type(0xB9));
+
11569  write_number(static_cast<std::uint16_t>(N));
+
11570  }
+
11571  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11572  {
+
11573  oa->write_character(to_char_type(0xBA));
+
11574  write_number(static_cast<std::uint32_t>(N));
+
11575  }
+
11576  // LCOV_EXCL_START
+
11577  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
+
11578  {
+
11579  oa->write_character(to_char_type(0xBB));
+
11580  write_number(static_cast<std::uint64_t>(N));
+
11581  }
+
11582  // LCOV_EXCL_STOP
+
11583 
+
11584  // step 2: write each element
+
11585  for (const auto& el : *j.m_value.object)
+
11586  {
+
11587  write_cbor(el.first);
+
11588  write_cbor(el.second);
+
11589  }
+
11590  break;
+
11591  }
+
11592 
+
11593  default:
+
11594  break;
+
11595  }
+
11596  }
+
11597 
+
11601  void write_msgpack(const BasicJsonType& j)
+
11602  {
+
11603  switch (j.type())
+
11604  {
+
11605  case value_t::null: // nil
+
11606  {
+
11607  oa->write_character(to_char_type(0xC0));
+
11608  break;
+
11609  }
+
11610 
+
11611  case value_t::boolean: // true and false
+
11612  {
+
11613  oa->write_character(j.m_value.boolean
+
11614  ? to_char_type(0xC3)
+
11615  : to_char_type(0xC2));
+
11616  break;
+
11617  }
+
11618 
+ +
11620  {
+
11621  if (j.m_value.number_integer >= 0)
+
11622  {
+
11623  // MessagePack does not differentiate between positive
+
11624  // signed integers and unsigned integers. Therefore, we used
+
11625  // the code from the value_t::number_unsigned case here.
+
11626  if (j.m_value.number_unsigned < 128)
+
11627  {
+
11628  // positive fixnum
+
11629  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11630  }
+
11631  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
+
11632  {
+
11633  // uint 8
+
11634  oa->write_character(to_char_type(0xCC));
+
11635  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11636  }
+
11637  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
+
11638  {
+
11639  // uint 16
+
11640  oa->write_character(to_char_type(0xCD));
+
11641  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
+
11642  }
+
11643  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
+
11644  {
+
11645  // uint 32
+
11646  oa->write_character(to_char_type(0xCE));
+
11647  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
+
11648  }
+
11649  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
+
11650  {
+
11651  // uint 64
+
11652  oa->write_character(to_char_type(0xCF));
+
11653  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
+
11654  }
+
11655  }
+
11656  else
+
11657  {
+
11658  if (j.m_value.number_integer >= -32)
+
11659  {
+
11660  // negative fixnum
+
11661  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
+
11662  }
+
11663  else if (j.m_value.number_integer >= (std::numeric_limits<std::int8_t>::min)() and
+
11664  j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
+
11665  {
+
11666  // int 8
+
11667  oa->write_character(to_char_type(0xD0));
+
11668  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
+
11669  }
+
11670  else if (j.m_value.number_integer >= (std::numeric_limits<std::int16_t>::min)() and
+
11671  j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
+
11672  {
+
11673  // int 16
+
11674  oa->write_character(to_char_type(0xD1));
+
11675  write_number(static_cast<std::int16_t>(j.m_value.number_integer));
+
11676  }
+
11677  else if (j.m_value.number_integer >= (std::numeric_limits<std::int32_t>::min)() and
+
11678  j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
+
11679  {
+
11680  // int 32
+
11681  oa->write_character(to_char_type(0xD2));
+
11682  write_number(static_cast<std::int32_t>(j.m_value.number_integer));
+
11683  }
+
11684  else if (j.m_value.number_integer >= (std::numeric_limits<std::int64_t>::min)() and
+
11685  j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
+
11686  {
+
11687  // int 64
+
11688  oa->write_character(to_char_type(0xD3));
+
11689  write_number(static_cast<std::int64_t>(j.m_value.number_integer));
+
11690  }
+
11691  }
+
11692  break;
+
11693  }
+
11694 
+ +
11696  {
+
11697  if (j.m_value.number_unsigned < 128)
+
11698  {
+
11699  // positive fixnum
+
11700  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11701  }
+
11702  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
+
11703  {
+
11704  // uint 8
+
11705  oa->write_character(to_char_type(0xCC));
+
11706  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
+
11707  }
+
11708  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
+
11709  {
+
11710  // uint 16
+
11711  oa->write_character(to_char_type(0xCD));
+
11712  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
+
11713  }
+
11714  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
+
11715  {
+
11716  // uint 32
+
11717  oa->write_character(to_char_type(0xCE));
+
11718  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
+
11719  }
+
11720  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
+
11721  {
+
11722  // uint 64
+
11723  oa->write_character(to_char_type(0xCF));
+
11724  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
+
11725  }
+
11726  break;
+
11727  }
+
11728 
+
11729  case value_t::number_float:
+
11730  {
+
11731  oa->write_character(get_msgpack_float_prefix(j.m_value.number_float));
+
11732  write_number(j.m_value.number_float);
+
11733  break;
+
11734  }
+
11735 
+
11736  case value_t::string:
+
11737  {
+
11738  // step 1: write control byte and the string length
+
11739  const auto N = j.m_value.string->size();
+
11740  if (N <= 31)
+
11741  {
+
11742  // fixstr
+
11743  write_number(static_cast<std::uint8_t>(0xA0 | N));
+
11744  }
+
11745  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
+
11746  {
+
11747  // str 8
+
11748  oa->write_character(to_char_type(0xD9));
+
11749  write_number(static_cast<std::uint8_t>(N));
+
11750  }
+
11751  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11752  {
+
11753  // str 16
+
11754  oa->write_character(to_char_type(0xDA));
+
11755  write_number(static_cast<std::uint16_t>(N));
+
11756  }
+
11757  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11758  {
+
11759  // str 32
+
11760  oa->write_character(to_char_type(0xDB));
+
11761  write_number(static_cast<std::uint32_t>(N));
+
11762  }
+
11763 
+
11764  // step 2: write the string
+
11765  oa->write_characters(
+
11766  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+
11767  j.m_value.string->size());
+
11768  break;
+
11769  }
+
11770 
+
11771  case value_t::array:
+
11772  {
+
11773  // step 1: write control byte and the array size
+
11774  const auto N = j.m_value.array->size();
+
11775  if (N <= 15)
+
11776  {
+
11777  // fixarray
+
11778  write_number(static_cast<std::uint8_t>(0x90 | N));
+
11779  }
+
11780  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11781  {
+
11782  // array 16
+
11783  oa->write_character(to_char_type(0xDC));
+
11784  write_number(static_cast<std::uint16_t>(N));
+
11785  }
+
11786  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11787  {
+
11788  // array 32
+
11789  oa->write_character(to_char_type(0xDD));
+
11790  write_number(static_cast<std::uint32_t>(N));
+
11791  }
+
11792 
+
11793  // step 2: write each element
+
11794  for (const auto& el : *j.m_value.array)
+
11795  {
+
11796  write_msgpack(el);
+
11797  }
+
11798  break;
+
11799  }
+
11800 
+
11801  case value_t::object:
+
11802  {
+
11803  // step 1: write control byte and the object size
+
11804  const auto N = j.m_value.object->size();
+
11805  if (N <= 15)
+
11806  {
+
11807  // fixmap
+
11808  write_number(static_cast<std::uint8_t>(0x80 | (N & 0xF)));
+
11809  }
+
11810  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
+
11811  {
+
11812  // map 16
+
11813  oa->write_character(to_char_type(0xDE));
+
11814  write_number(static_cast<std::uint16_t>(N));
+
11815  }
+
11816  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
+
11817  {
+
11818  // map 32
+
11819  oa->write_character(to_char_type(0xDF));
+
11820  write_number(static_cast<std::uint32_t>(N));
+
11821  }
+
11822 
+
11823  // step 2: write each element
+
11824  for (const auto& el : *j.m_value.object)
+
11825  {
+
11826  write_msgpack(el.first);
+
11827  write_msgpack(el.second);
+
11828  }
+
11829  break;
+
11830  }
+
11831 
+
11832  default:
+
11833  break;
+
11834  }
+
11835  }
+
11836 
+
11843  void write_ubjson(const BasicJsonType& j, const bool use_count,
+
11844  const bool use_type, const bool add_prefix = true)
+
11845  {
+
11846  switch (j.type())
+
11847  {
+
11848  case value_t::null:
+
11849  {
+
11850  if (add_prefix)
+
11851  {
+
11852  oa->write_character(to_char_type('Z'));
+
11853  }
+
11854  break;
+
11855  }
+
11856 
+
11857  case value_t::boolean:
+
11858  {
+
11859  if (add_prefix)
+
11860  {
+
11861  oa->write_character(j.m_value.boolean
+
11862  ? to_char_type('T')
+
11863  : to_char_type('F'));
+
11864  }
+
11865  break;
+
11866  }
+
11867 
+ +
11869  {
+
11870  write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
+
11871  break;
+
11872  }
+
11873 
+ +
11875  {
+
11876  write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
+
11877  break;
+
11878  }
+
11879 
+
11880  case value_t::number_float:
+
11881  {
+
11882  write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
+
11883  break;
+
11884  }
+
11885 
+
11886  case value_t::string:
+
11887  {
+
11888  if (add_prefix)
+
11889  {
+
11890  oa->write_character(to_char_type('S'));
+
11891  }
+
11892  write_number_with_ubjson_prefix(j.m_value.string->size(), true);
+
11893  oa->write_characters(
+
11894  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
+
11895  j.m_value.string->size());
+
11896  break;
+
11897  }
+
11898 
+
11899  case value_t::array:
+
11900  {
+
11901  if (add_prefix)
+
11902  {
+
11903  oa->write_character(to_char_type('['));
+
11904  }
+
11905 
+
11906  bool prefix_required = true;
+
11907  if (use_type and not j.m_value.array->empty())
+
11908  {
+
11909  assert(use_count);
+
11910  const CharType first_prefix = ubjson_prefix(j.front());
+
11911  const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
+
11912  [this, first_prefix](const BasicJsonType & v)
+
11913  {
+
11914  return ubjson_prefix(v) == first_prefix;
+
11915  });
+
11916 
+
11917  if (same_prefix)
+
11918  {
+
11919  prefix_required = false;
+
11920  oa->write_character(to_char_type('$'));
+
11921  oa->write_character(first_prefix);
+
11922  }
+
11923  }
+
11924 
+
11925  if (use_count)
+
11926  {
+
11927  oa->write_character(to_char_type('#'));
+
11928  write_number_with_ubjson_prefix(j.m_value.array->size(), true);
+
11929  }
+
11930 
+
11931  for (const auto& el : *j.m_value.array)
+
11932  {
+
11933  write_ubjson(el, use_count, use_type, prefix_required);
+
11934  }
+
11935 
+
11936  if (not use_count)
+
11937  {
+
11938  oa->write_character(to_char_type(']'));
+
11939  }
+
11940 
+
11941  break;
+
11942  }
+
11943 
+
11944  case value_t::object:
+
11945  {
+
11946  if (add_prefix)
+
11947  {
+
11948  oa->write_character(to_char_type('{'));
+
11949  }
+
11950 
+
11951  bool prefix_required = true;
+
11952  if (use_type and not j.m_value.object->empty())
+
11953  {
+
11954  assert(use_count);
+
11955  const CharType first_prefix = ubjson_prefix(j.front());
+
11956  const bool same_prefix = std::all_of(j.begin(), j.end(),
+
11957  [this, first_prefix](const BasicJsonType & v)
+
11958  {
+
11959  return ubjson_prefix(v) == first_prefix;
+
11960  });
+
11961 
+
11962  if (same_prefix)
+
11963  {
+
11964  prefix_required = false;
+
11965  oa->write_character(to_char_type('$'));
+
11966  oa->write_character(first_prefix);
+
11967  }
+
11968  }
+
11969 
+
11970  if (use_count)
+
11971  {
+
11972  oa->write_character(to_char_type('#'));
+
11973  write_number_with_ubjson_prefix(j.m_value.object->size(), true);
+
11974  }
+
11975 
+
11976  for (const auto& el : *j.m_value.object)
+
11977  {
+
11978  write_number_with_ubjson_prefix(el.first.size(), true);
+
11979  oa->write_characters(
+
11980  reinterpret_cast<const CharType*>(el.first.c_str()),
+
11981  el.first.size());
+
11982  write_ubjson(el.second, use_count, use_type, prefix_required);
+
11983  }
+
11984 
+
11985  if (not use_count)
+
11986  {
+
11987  oa->write_character(to_char_type('}'));
+
11988  }
+
11989 
+
11990  break;
+
11991  }
+
11992 
+
11993  default:
+
11994  break;
+
11995  }
+
11996  }
+
11997 
+
11998  private:
+
12000  // BSON //
+
12002 
+
12007  static std::size_t calc_bson_entry_header_size(const string_t& name)
+
12008  {
+
12009  const auto it = name.find(static_cast<typename string_t::value_type>(0));
+
12010  if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos))
+
12011  {
+ +
12013  "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")"));
+
12014  }
+
12015 
+
12016  return /*id*/ 1ul + name.size() + /*zero-terminator*/1u;
+
12017  }
+
12018 
+
12022  void write_bson_entry_header(const string_t& name,
+
12023  const std::uint8_t element_type)
+
12024  {
+
12025  oa->write_character(to_char_type(element_type)); // boolean
+
12026  oa->write_characters(
+
12027  reinterpret_cast<const CharType*>(name.c_str()),
+
12028  name.size() + 1u);
+
12029  }
+
12030 
+
12034  void write_bson_boolean(const string_t& name,
+
12035  const bool value)
+
12036  {
+
12037  write_bson_entry_header(name, 0x08);
+
12038  oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00));
+
12039  }
+
12040 
+
12044  void write_bson_double(const string_t& name,
+
12045  const double value)
+
12046  {
+
12047  write_bson_entry_header(name, 0x01);
+
12048  write_number<double, true>(value);
+
12049  }
+
12050 
+
12054  static std::size_t calc_bson_string_size(const string_t& value)
+
12055  {
+
12056  return sizeof(std::int32_t) + value.size() + 1ul;
+
12057  }
+
12058 
+
12062  void write_bson_string(const string_t& name,
+
12063  const string_t& value)
+
12064  {
+
12065  write_bson_entry_header(name, 0x02);
+
12066 
+
12067  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size() + 1ul));
+
12068  oa->write_characters(
+
12069  reinterpret_cast<const CharType*>(value.c_str()),
+
12070  value.size() + 1);
+
12071  }
+
12072 
+
12076  void write_bson_null(const string_t& name)
+
12077  {
+
12078  write_bson_entry_header(name, 0x0A);
+
12079  }
+
12080 
+
12084  static std::size_t calc_bson_integer_size(const std::int64_t value)
+
12085  {
+
12086  return (std::numeric_limits<std::int32_t>::min)() <= value and value <= (std::numeric_limits<std::int32_t>::max)()
+
12087  ? sizeof(std::int32_t)
+
12088  : sizeof(std::int64_t);
+
12089  }
+
12090 
+
12094  void write_bson_integer(const string_t& name,
+
12095  const std::int64_t value)
+
12096  {
+
12097  if ((std::numeric_limits<std::int32_t>::min)() <= value and value <= (std::numeric_limits<std::int32_t>::max)())
+
12098  {
+
12099  write_bson_entry_header(name, 0x10); // int32
+
12100  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
+
12101  }
+
12102  else
+
12103  {
+
12104  write_bson_entry_header(name, 0x12); // int64
+
12105  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
+
12106  }
+
12107  }
+
12108 
+
12112  static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
+
12113  {
+
12114  return (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
+
12115  ? sizeof(std::int32_t)
+
12116  : sizeof(std::int64_t);
+
12117  }
+
12118 
+
12122  void write_bson_unsigned(const string_t& name,
+
12123  const std::uint64_t value)
+
12124  {
+
12125  if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
+
12126  {
+
12127  write_bson_entry_header(name, 0x10 /* int32 */);
+
12128  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
+
12129  }
+
12130  else if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
+
12131  {
+
12132  write_bson_entry_header(name, 0x12 /* int64 */);
+
12133  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
+
12134  }
+
12135  else
+
12136  {
+
12137  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(value) + " cannot be represented by BSON as it does not fit int64"));
+
12138  }
+
12139  }
+
12140 
+
12144  void write_bson_object_entry(const string_t& name,
+
12145  const typename BasicJsonType::object_t& value)
+
12146  {
+
12147  write_bson_entry_header(name, 0x03); // object
+
12148  write_bson_object(value);
+
12149  }
+
12150 
+
12154  static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value)
+
12155  {
+
12156  std::size_t array_index = 0ul;
+
12157 
+
12158  const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), 0ul, [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el)
+
12159  {
+
12160  return result + calc_bson_element_size(std::to_string(array_index++), el);
+
12161  });
+
12162 
+
12163  return sizeof(std::int32_t) + embedded_document_size + 1ul;
+
12164  }
+
12165 
+
12169  void write_bson_array(const string_t& name,
+
12170  const typename BasicJsonType::array_t& value)
+
12171  {
+
12172  write_bson_entry_header(name, 0x04); // array
+
12173  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_array_size(value)));
+
12174 
+
12175  std::size_t array_index = 0ul;
+
12176 
+
12177  for (const auto& el : value)
+
12178  {
+
12179  write_bson_element(std::to_string(array_index++), el);
+
12180  }
+
12181 
+
12182  oa->write_character(to_char_type(0x00));
+
12183  }
+
12184 
+
12189  static std::size_t calc_bson_element_size(const string_t& name,
+
12190  const BasicJsonType& j)
+
12191  {
+
12192  const auto header_size = calc_bson_entry_header_size(name);
+
12193  switch (j.type())
+
12194  {
+
12195  case value_t::object:
+
12196  return header_size + calc_bson_object_size(*j.m_value.object);
+
12197 
+
12198  case value_t::array:
+
12199  return header_size + calc_bson_array_size(*j.m_value.array);
+
12200 
+
12201  case value_t::boolean:
+
12202  return header_size + 1ul;
+
12203 
+
12204  case value_t::number_float:
+
12205  return header_size + 8ul;
+
12206 
+ +
12208  return header_size + calc_bson_integer_size(j.m_value.number_integer);
+
12209 
+ +
12211  return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned);
+
12212 
+
12213  case value_t::string:
+
12214  return header_size + calc_bson_string_size(*j.m_value.string);
+
12215 
+
12216  case value_t::null:
+
12217  return header_size + 0ul;
+
12218 
+
12219  // LCOV_EXCL_START
+
12220  default:
+
12221  assert(false);
+
12222  return 0ul;
+
12223  // LCOV_EXCL_STOP
+
12224  }
+
12225  }
+
12226 
+
12234  void write_bson_element(const string_t& name,
+
12235  const BasicJsonType& j)
+
12236  {
+
12237  switch (j.type())
+
12238  {
+
12239  case value_t::object:
+
12240  return write_bson_object_entry(name, *j.m_value.object);
+
12241 
+
12242  case value_t::array:
+
12243  return write_bson_array(name, *j.m_value.array);
+
12244 
+
12245  case value_t::boolean:
+
12246  return write_bson_boolean(name, j.m_value.boolean);
+
12247 
+
12248  case value_t::number_float:
+
12249  return write_bson_double(name, j.m_value.number_float);
+
12250 
+ +
12252  return write_bson_integer(name, j.m_value.number_integer);
+
12253 
+ +
12255  return write_bson_unsigned(name, j.m_value.number_unsigned);
+
12256 
+
12257  case value_t::string:
+
12258  return write_bson_string(name, *j.m_value.string);
+
12259 
+
12260  case value_t::null:
+
12261  return write_bson_null(name);
+
12262 
+
12263  // LCOV_EXCL_START
+
12264  default:
+
12265  assert(false);
+
12266  return;
+
12267  // LCOV_EXCL_STOP
+
12268  }
+
12269  }
+
12270 
+
12277  static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value)
+
12278  {
+
12279  std::size_t document_size = std::accumulate(value.begin(), value.end(), 0ul,
+
12280  [](size_t result, const typename BasicJsonType::object_t::value_type & el)
+
12281  {
+
12282  return result += calc_bson_element_size(el.first, el.second);
+
12283  });
+
12284 
+
12285  return sizeof(std::int32_t) + document_size + 1ul;
+
12286  }
+
12287 
+
12292  void write_bson_object(const typename BasicJsonType::object_t& value)
+
12293  {
+
12294  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_object_size(value)));
+
12295 
+
12296  for (const auto& el : value)
+
12297  {
+
12298  write_bson_element(el.first, el.second);
+
12299  }
+
12300 
+
12301  oa->write_character(to_char_type(0x00));
+
12302  }
+
12303 
+
12305  // CBOR //
+
12307 
+
12308  static constexpr CharType get_cbor_float_prefix(float /*unused*/)
+
12309  {
+
12310  return to_char_type(0xFA); // Single-Precision Float
+
12311  }
+
12312 
+
12313  static constexpr CharType get_cbor_float_prefix(double /*unused*/)
+
12314  {
+
12315  return to_char_type(0xFB); // Double-Precision Float
+
12316  }
+
12317 
+
12319  // MsgPack //
+
12321 
+
12322  static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
+
12323  {
+
12324  return to_char_type(0xCA); // float 32
+
12325  }
+
12326 
+
12327  static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
+
12328  {
+
12329  return to_char_type(0xCB); // float 64
+
12330  }
+
12331 
+
12333  // UBJSON //
+
12335 
+
12336  // UBJSON: write number (floating point)
+
12337  template<typename NumberType, typename std::enable_if<
+
12338  std::is_floating_point<NumberType>::value, int>::type = 0>
+
12339  void write_number_with_ubjson_prefix(const NumberType n,
+
12340  const bool add_prefix)
+
12341  {
+
12342  if (add_prefix)
+
12343  {
+
12344  oa->write_character(get_ubjson_float_prefix(n));
+
12345  }
+
12346  write_number(n);
+
12347  }
+
12348 
+
12349  // UBJSON: write number (unsigned integer)
+
12350  template<typename NumberType, typename std::enable_if<
+
12351  std::is_unsigned<NumberType>::value, int>::type = 0>
+
12352  void write_number_with_ubjson_prefix(const NumberType n,
+
12353  const bool add_prefix)
+
12354  {
+
12355  if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
+
12356  {
+
12357  if (add_prefix)
+
12358  {
+
12359  oa->write_character(to_char_type('i')); // int8
+
12360  }
+
12361  write_number(static_cast<std::uint8_t>(n));
+
12362  }
+
12363  else if (n <= (std::numeric_limits<std::uint8_t>::max)())
+
12364  {
+
12365  if (add_prefix)
+
12366  {
+
12367  oa->write_character(to_char_type('U')); // uint8
+
12368  }
+
12369  write_number(static_cast<std::uint8_t>(n));
+
12370  }
+
12371  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
+
12372  {
+
12373  if (add_prefix)
+
12374  {
+
12375  oa->write_character(to_char_type('I')); // int16
+
12376  }
+
12377  write_number(static_cast<std::int16_t>(n));
+
12378  }
+
12379  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
+
12380  {
+
12381  if (add_prefix)
+
12382  {
+
12383  oa->write_character(to_char_type('l')); // int32
+
12384  }
+
12385  write_number(static_cast<std::int32_t>(n));
+
12386  }
+
12387  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
+
12388  {
+
12389  if (add_prefix)
+
12390  {
+
12391  oa->write_character(to_char_type('L')); // int64
+
12392  }
+
12393  write_number(static_cast<std::int64_t>(n));
+
12394  }
+
12395  else
+
12396  {
+
12397  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(n) + " cannot be represented by UBJSON as it does not fit int64"));
+
12398  }
+
12399  }
+
12400 
+
12401  // UBJSON: write number (signed integer)
+
12402  template<typename NumberType, typename std::enable_if<
+
12403  std::is_signed<NumberType>::value and
+
12404  not std::is_floating_point<NumberType>::value, int>::type = 0>
+
12405  void write_number_with_ubjson_prefix(const NumberType n,
+
12406  const bool add_prefix)
+
12407  {
+
12408  if ((std::numeric_limits<std::int8_t>::min)() <= n and n <= (std::numeric_limits<std::int8_t>::max)())
+
12409  {
+
12410  if (add_prefix)
+
12411  {
+
12412  oa->write_character(to_char_type('i')); // int8
+
12413  }
+
12414  write_number(static_cast<std::int8_t>(n));
+
12415  }
+
12416  else if (static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::min)()) <= n and n <= static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::max)()))
+
12417  {
+
12418  if (add_prefix)
+
12419  {
+
12420  oa->write_character(to_char_type('U')); // uint8
+
12421  }
+
12422  write_number(static_cast<std::uint8_t>(n));
+
12423  }
+
12424  else if ((std::numeric_limits<std::int16_t>::min)() <= n and n <= (std::numeric_limits<std::int16_t>::max)())
+
12425  {
+
12426  if (add_prefix)
+
12427  {
+
12428  oa->write_character(to_char_type('I')); // int16
+
12429  }
+
12430  write_number(static_cast<std::int16_t>(n));
+
12431  }
+
12432  else if ((std::numeric_limits<std::int32_t>::min)() <= n and n <= (std::numeric_limits<std::int32_t>::max)())
+
12433  {
+
12434  if (add_prefix)
+
12435  {
+
12436  oa->write_character(to_char_type('l')); // int32
+
12437  }
+
12438  write_number(static_cast<std::int32_t>(n));
+
12439  }
+
12440  else if ((std::numeric_limits<std::int64_t>::min)() <= n and n <= (std::numeric_limits<std::int64_t>::max)())
+
12441  {
+
12442  if (add_prefix)
+
12443  {
+
12444  oa->write_character(to_char_type('L')); // int64
+
12445  }
+
12446  write_number(static_cast<std::int64_t>(n));
+
12447  }
+
12448  // LCOV_EXCL_START
+
12449  else
+
12450  {
+
12451  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(n) + " cannot be represented by UBJSON as it does not fit int64"));
+
12452  }
+
12453  // LCOV_EXCL_STOP
+
12454  }
+
12455 
+
12465  CharType ubjson_prefix(const BasicJsonType& j) const noexcept
+
12466  {
+
12467  switch (j.type())
+
12468  {
+
12469  case value_t::null:
+
12470  return 'Z';
+
12471 
+
12472  case value_t::boolean:
+
12473  return j.m_value.boolean ? 'T' : 'F';
+
12474 
+ +
12476  {
+
12477  if ((std::numeric_limits<std::int8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
+
12478  {
+
12479  return 'i';
+
12480  }
+
12481  if ((std::numeric_limits<std::uint8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
+
12482  {
+
12483  return 'U';
+
12484  }
+
12485  if ((std::numeric_limits<std::int16_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
+
12486  {
+
12487  return 'I';
+
12488  }
+
12489  if ((std::numeric_limits<std::int32_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
+
12490  {
+
12491  return 'l';
+
12492  }
+
12493  // no check and assume int64_t (see note above)
+
12494  return 'L';
+
12495  }
+
12496 
+ +
12498  {
+
12499  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
+
12500  {
+
12501  return 'i';
+
12502  }
+
12503  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::uint8_t>::max)()))
+
12504  {
+
12505  return 'U';
+
12506  }
+
12507  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
+
12508  {
+
12509  return 'I';
+
12510  }
+
12511  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
+
12512  {
+
12513  return 'l';
+
12514  }
+
12515  // no check and assume int64_t (see note above)
+
12516  return 'L';
+
12517  }
+
12518 
+
12519  case value_t::number_float:
+
12520  return get_ubjson_float_prefix(j.m_value.number_float);
+
12521 
+
12522  case value_t::string:
+
12523  return 'S';
+
12524 
+
12525  case value_t::array:
+
12526  return '[';
+
12527 
+
12528  case value_t::object:
+
12529  return '{';
+
12530 
+
12531  default: // discarded values
+
12532  return 'N';
+
12533  }
+
12534  }
+
12535 
+
12536  static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
+
12537  {
+
12538  return 'd'; // float 32
+
12539  }
+
12540 
+
12541  static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
+
12542  {
+
12543  return 'D'; // float 64
+
12544  }
+
12545 
+
12547  // Utility functions //
+
12549 
+
12550  /*
+
12551  @brief write a number to output input
+
12552  @param[in] n number of type @a NumberType
+
12553  @tparam NumberType the type of the number
+
12554  @tparam OutputIsLittleEndian Set to true if output data is
+
12555  required to be little endian
+
12556 
+
12557  @note This function needs to respect the system's endianess, because bytes
+
12558  in CBOR, MessagePack, and UBJSON are stored in network order (big
+
12559  endian) and therefore need reordering on little endian systems.
+
12560  */
+
12561  template<typename NumberType, bool OutputIsLittleEndian = false>
+
12562  void write_number(const NumberType n)
+
12563  {
+
12564  // step 1: write number to array of length NumberType
+
12565  std::array<CharType, sizeof(NumberType)> vec;
+
12566  std::memcpy(vec.data(), &n, sizeof(NumberType));
+
12567 
+
12568  // step 2: write array to output (with possible reordering)
+
12569  if (is_little_endian != OutputIsLittleEndian)
+
12570  {
+
12571  // reverse byte order prior to conversion if necessary
+
12572  std::reverse(vec.begin(), vec.end());
+
12573  }
+
12574 
+
12575  oa->write_characters(vec.data(), sizeof(NumberType));
+
12576  }
+
12577 
+
12578  public:
+
12579  // The following to_char_type functions are implement the conversion
+
12580  // between uint8_t and CharType. In case CharType is not unsigned,
+
12581  // such a conversion is required to allow values greater than 128.
+
12582  // See <https://github.com/nlohmann/json/issues/1286> for a discussion.
+
12583  template < typename C = CharType,
+
12584  enable_if_t < std::is_signed<C>::value and std::is_signed<char>::value > * = nullptr >
+
12585  static constexpr CharType to_char_type(std::uint8_t x) noexcept
+
12586  {
+
12587  return *reinterpret_cast<char*>(&x);
+
12588  }
+
12589 
+
12590  template < typename C = CharType,
+
12591  enable_if_t < std::is_signed<C>::value and std::is_unsigned<char>::value > * = nullptr >
+
12592  static CharType to_char_type(std::uint8_t x) noexcept
+
12593  {
+
12594  static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t");
+
12595  static_assert(std::is_pod<CharType>::value, "CharType must be POD");
+
12596  CharType result;
+
12597  std::memcpy(&result, &x, sizeof(x));
+
12598  return result;
+
12599  }
+
12600 
+
12601  template<typename C = CharType,
+ +
12603  static constexpr CharType to_char_type(std::uint8_t x) noexcept
+
12604  {
+
12605  return x;
+
12606  }
+
12607 
+
12608  template < typename InputCharType, typename C = CharType,
+
12609  enable_if_t <
+
12610  std::is_signed<C>::value and
+
12611  std::is_signed<char>::value and
+
12612  std::is_same<char, typename std::remove_cv<InputCharType>::type>::value
+
12613  > * = nullptr >
+
12614  static constexpr CharType to_char_type(InputCharType x) noexcept
+
12615  {
+
12616  return x;
+
12617  }
+
12618 
+
12619  private:
+
12621  const bool is_little_endian = binary_reader<BasicJsonType>::little_endianess();
+
12622 
+
12624  output_adapter_t<CharType> oa = nullptr;
+
12625 };
+
12626 } // namespace detail
+
12627 } // namespace nlohmann
+
12628 
+
12629 // #include <nlohmann/detail/output/output_adapters.hpp>
+
12630 
+
12631 // #include <nlohmann/detail/output/serializer.hpp>
+
12632 
+
12633 
+
12634 #include <algorithm> // reverse, remove, fill, find, none_of
+
12635 #include <array> // array
+
12636 #include <cassert> // assert
+
12637 #include <ciso646> // and, or
+
12638 #include <clocale> // localeconv, lconv
+
12639 #include <cmath> // labs, isfinite, isnan, signbit
+
12640 #include <cstddef> // size_t, ptrdiff_t
+
12641 #include <cstdint> // uint8_t
+
12642 #include <cstdio> // snprintf
+
12643 #include <limits> // numeric_limits
+
12644 #include <string> // string
+
12645 #include <type_traits> // is_same
+
12646 #include <utility> // move
+
12647 
+
12648 // #include <nlohmann/detail/conversions/to_chars.hpp>
+
12649 
+
12650 
+
12651 #include <array> // array
+
12652 #include <cassert> // assert
+
12653 #include <ciso646> // or, and, not
+
12654 #include <cmath> // signbit, isfinite
+
12655 #include <cstdint> // intN_t, uintN_t
+
12656 #include <cstring> // memcpy, memmove
+
12657 #include <limits> // numeric_limits
+
12658 #include <type_traits> // conditional
+
12659 // #include <nlohmann/detail/macro_scope.hpp>
+
12660 
+
12661 
+
12662 namespace nlohmann
+
12663 {
+
12664 namespace detail
+
12665 {
+
12666 
+
12686 namespace dtoa_impl
+
12687 {
+
12688 
+
12689 template <typename Target, typename Source>
+
12690 Target reinterpret_bits(const Source source)
+
12691 {
+
12692  static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
+
12693 
+
12694  Target target;
+
12695  std::memcpy(&target, &source, sizeof(Source));
+
12696  return target;
+
12697 }
+
12698 
+
12699 struct diyfp // f * 2^e
+
12700 {
+
12701  static constexpr int kPrecision = 64; // = q
+
12702 
+
12703  std::uint64_t f = 0;
+
12704  int e = 0;
+
12705 
+
12706  constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
+
12707 
+
12712  static diyfp sub(const diyfp& x, const diyfp& y) noexcept
+
12713  {
+
12714  assert(x.e == y.e);
+
12715  assert(x.f >= y.f);
+
12716 
+
12717  return {x.f - y.f, x.e};
+
12718  }
+
12719 
+
12724  static diyfp mul(const diyfp& x, const diyfp& y) noexcept
+
12725  {
+
12726  static_assert(kPrecision == 64, "internal error");
+
12727 
+
12728  // Computes:
+
12729  // f = round((x.f * y.f) / 2^q)
+
12730  // e = x.e + y.e + q
+
12731 
+
12732  // Emulate the 64-bit * 64-bit multiplication:
+
12733  //
+
12734  // p = u * v
+
12735  // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
+
12736  // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi )
+
12737  // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 )
+
12738  // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 )
+
12739  // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3)
+
12740  // = (p0_lo ) + 2^32 (Q ) + 2^64 (H )
+
12741  // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H )
+
12742  //
+
12743  // (Since Q might be larger than 2^32 - 1)
+
12744  //
+
12745  // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
+
12746  //
+
12747  // (Q_hi + H does not overflow a 64-bit int)
+
12748  //
+
12749  // = p_lo + 2^64 p_hi
+
12750 
+
12751  const std::uint64_t u_lo = x.f & 0xFFFFFFFFu;
+
12752  const std::uint64_t u_hi = x.f >> 32u;
+
12753  const std::uint64_t v_lo = y.f & 0xFFFFFFFFu;
+
12754  const std::uint64_t v_hi = y.f >> 32u;
+
12755 
+
12756  const std::uint64_t p0 = u_lo * v_lo;
+
12757  const std::uint64_t p1 = u_lo * v_hi;
+
12758  const std::uint64_t p2 = u_hi * v_lo;
+
12759  const std::uint64_t p3 = u_hi * v_hi;
+
12760 
+
12761  const std::uint64_t p0_hi = p0 >> 32u;
+
12762  const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu;
+
12763  const std::uint64_t p1_hi = p1 >> 32u;
+
12764  const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu;
+
12765  const std::uint64_t p2_hi = p2 >> 32u;
+
12766 
+
12767  std::uint64_t Q = p0_hi + p1_lo + p2_lo;
+
12768 
+
12769  // The full product might now be computed as
+
12770  //
+
12771  // p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
+
12772  // p_lo = p0_lo + (Q << 32)
+
12773  //
+
12774  // But in this particular case here, the full p_lo is not required.
+
12775  // Effectively we only need to add the highest bit in p_lo to p_hi (and
+
12776  // Q_hi + 1 does not overflow).
+
12777 
+
12778  Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up
+
12779 
+
12780  const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u);
+
12781 
+
12782  return {h, x.e + y.e + 64};
+
12783  }
+
12784 
+
12789  static diyfp normalize(diyfp x) noexcept
+
12790  {
+
12791  assert(x.f != 0);
+
12792 
+
12793  while ((x.f >> 63u) == 0)
+
12794  {
+
12795  x.f <<= 1u;
+
12796  x.e--;
+
12797  }
+
12798 
+
12799  return x;
+
12800  }
+
12801 
+
12806  static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
+
12807  {
+
12808  const int delta = x.e - target_exponent;
+
12809 
+
12810  assert(delta >= 0);
+
12811  assert(((x.f << delta) >> delta) == x.f);
+
12812 
+
12813  return {x.f << delta, target_exponent};
+
12814  }
+
12815 };
+
12816 
+ +
12818 {
+ + + +
12822 };
+
12823 
+
12830 template <typename FloatType>
+ +
12832 {
+
12833  assert(std::isfinite(value));
+
12834  assert(value > 0);
+
12835 
+
12836  // Convert the IEEE representation into a diyfp.
+
12837  //
+
12838  // If v is denormal:
+
12839  // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1))
+
12840  // If v is normalized:
+
12841  // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
+
12842 
+
12843  static_assert(std::numeric_limits<FloatType>::is_iec559,
+
12844  "internal error: dtoa_short requires an IEEE-754 floating-point implementation");
+
12845 
+
12846  constexpr int kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
+
12847  constexpr int kBias = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
+
12848  constexpr int kMinExp = 1 - kBias;
+
12849  constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1)
+
12850 
+
12851  using bits_type = typename std::conditional<kPrecision == 24, std::uint32_t, std::uint64_t >::type;
+
12852 
+
12853  const std::uint64_t bits = reinterpret_bits<bits_type>(value);
+
12854  const std::uint64_t E = bits >> (kPrecision - 1);
+
12855  const std::uint64_t F = bits & (kHiddenBit - 1);
+
12856 
+
12857  const bool is_denormal = E == 0;
+
12858  const diyfp v = is_denormal
+
12859  ? diyfp(F, kMinExp)
+
12860  : diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
+
12861 
+
12862  // Compute the boundaries m- and m+ of the floating-point value
+
12863  // v = f * 2^e.
+
12864  //
+
12865  // Determine v- and v+, the floating-point predecessor and successor if v,
+
12866  // respectively.
+
12867  //
+
12868  // v- = v - 2^e if f != 2^(p-1) or e == e_min (A)
+
12869  // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B)
+
12870  //
+
12871  // v+ = v + 2^e
+
12872  //
+
12873  // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
+
12874  // between m- and m+ round to v, regardless of how the input rounding
+
12875  // algorithm breaks ties.
+
12876  //
+
12877  // ---+-------------+-------------+-------------+-------------+--- (A)
+
12878  // v- m- v m+ v+
+
12879  //
+
12880  // -----------------+------+------+-------------+-------------+--- (B)
+
12881  // v- m- v m+ v+
+
12882 
+
12883  const bool lower_boundary_is_closer = F == 0 and E > 1;
+
12884  const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
+
12885  const diyfp m_minus = lower_boundary_is_closer
+
12886  ? diyfp(4 * v.f - 1, v.e - 2) // (B)
+
12887  : diyfp(2 * v.f - 1, v.e - 1); // (A)
+
12888 
+
12889  // Determine the normalized w+ = m+.
+
12890  const diyfp w_plus = diyfp::normalize(m_plus);
+
12891 
+
12892  // Determine w- = m- such that e_(w-) = e_(w+).
+
12893  const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
+
12894 
+
12895  return {diyfp::normalize(v), w_minus, w_plus};
+
12896 }
+
12897 
+
12898 // Given normalized diyfp w, Grisu needs to find a (normalized) cached
+
12899 // power-of-ten c, such that the exponent of the product c * w = f * 2^e lies
+
12900 // within a certain range [alpha, gamma] (Definition 3.2 from [1])
+
12901 //
+
12902 // alpha <= e = e_c + e_w + q <= gamma
+
12903 //
+
12904 // or
+
12905 //
+
12906 // f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q
+
12907 // <= f_c * f_w * 2^gamma
+
12908 //
+
12909 // Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies
+
12910 //
+
12911 // 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma
+
12912 //
+
12913 // or
+
12914 //
+
12915 // 2^(q - 2 + alpha) <= c * w < 2^(q + gamma)
+
12916 //
+
12917 // The choice of (alpha,gamma) determines the size of the table and the form of
+
12918 // the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well
+
12919 // in practice:
+
12920 //
+
12921 // The idea is to cut the number c * w = f * 2^e into two parts, which can be
+
12922 // processed independently: An integral part p1, and a fractional part p2:
+
12923 //
+
12924 // f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e
+
12925 // = (f div 2^-e) + (f mod 2^-e) * 2^e
+
12926 // = p1 + p2 * 2^e
+
12927 //
+
12928 // The conversion of p1 into decimal form requires a series of divisions and
+
12929 // modulos by (a power of) 10. These operations are faster for 32-bit than for
+
12930 // 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be
+
12931 // achieved by choosing
+
12932 //
+
12933 // -e >= 32 or e <= -32 := gamma
+
12934 //
+
12935 // In order to convert the fractional part
+
12936 //
+
12937 // p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ...
+
12938 //
+
12939 // into decimal form, the fraction is repeatedly multiplied by 10 and the digits
+
12940 // d[-i] are extracted in order:
+
12941 //
+
12942 // (10 * p2) div 2^-e = d[-1]
+
12943 // (10 * p2) mod 2^-e = d[-2] / 10^1 + ...
+
12944 //
+
12945 // The multiplication by 10 must not overflow. It is sufficient to choose
+
12946 //
+
12947 // 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64.
+
12948 //
+
12949 // Since p2 = f mod 2^-e < 2^-e,
+
12950 //
+
12951 // -e <= 60 or e >= -60 := alpha
+
12952 
+
12953 constexpr int kAlpha = -60;
+
12954 constexpr int kGamma = -32;
+
12955 
+
12956 struct cached_power // c = f * 2^e ~= 10^k
+
12957 {
+
12958  std::uint64_t f;
+
12959  int e;
+
12960  int k;
+
12961 };
+
12962 
+ +
12971 {
+
12972  // Now
+
12973  //
+
12974  // alpha <= e_c + e + q <= gamma (1)
+
12975  // ==> f_c * 2^alpha <= c * 2^e * 2^q
+
12976  //
+
12977  // and since the c's are normalized, 2^(q-1) <= f_c,
+
12978  //
+
12979  // ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
+
12980  // ==> 2^(alpha - e - 1) <= c
+
12981  //
+
12982  // If c were an exact power of ten, i.e. c = 10^k, one may determine k as
+
12983  //
+
12984  // k = ceil( log_10( 2^(alpha - e - 1) ) )
+
12985  // = ceil( (alpha - e - 1) * log_10(2) )
+
12986  //
+
12987  // From the paper:
+
12988  // "In theory the result of the procedure could be wrong since c is rounded,
+
12989  // and the computation itself is approximated [...]. In practice, however,
+
12990  // this simple function is sufficient."
+
12991  //
+
12992  // For IEEE double precision floating-point numbers converted into
+
12993  // normalized diyfp's w = f * 2^e, with q = 64,
+
12994  //
+
12995  // e >= -1022 (min IEEE exponent)
+
12996  // -52 (p - 1)
+
12997  // -52 (p - 1, possibly normalize denormal IEEE numbers)
+
12998  // -11 (normalize the diyfp)
+
12999  // = -1137
+
13000  //
+
13001  // and
+
13002  //
+
13003  // e <= +1023 (max IEEE exponent)
+
13004  // -52 (p - 1)
+
13005  // -11 (normalize the diyfp)
+
13006  // = 960
+
13007  //
+
13008  // This binary exponent range [-1137,960] results in a decimal exponent
+
13009  // range [-307,324]. One does not need to store a cached power for each
+
13010  // k in this range. For each such k it suffices to find a cached power
+
13011  // such that the exponent of the product lies in [alpha,gamma].
+
13012  // This implies that the difference of the decimal exponents of adjacent
+
13013  // table entries must be less than or equal to
+
13014  //
+
13015  // floor( (gamma - alpha) * log_10(2) ) = 8.
+
13016  //
+
13017  // (A smaller distance gamma-alpha would require a larger table.)
+
13018 
+
13019  // NB:
+
13020  // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
+
13021 
+
13022  constexpr int kCachedPowersMinDecExp = -300;
+
13023  constexpr int kCachedPowersDecStep = 8;
+
13024 
+
13025  static constexpr std::array<cached_power, 79> kCachedPowers =
+
13026  {
+
13027  {
+
13028  { 0xAB70FE17C79AC6CA, -1060, -300 },
+
13029  { 0xFF77B1FCBEBCDC4F, -1034, -292 },
+
13030  { 0xBE5691EF416BD60C, -1007, -284 },
+
13031  { 0x8DD01FAD907FFC3C, -980, -276 },
+
13032  { 0xD3515C2831559A83, -954, -268 },
+
13033  { 0x9D71AC8FADA6C9B5, -927, -260 },
+
13034  { 0xEA9C227723EE8BCB, -901, -252 },
+
13035  { 0xAECC49914078536D, -874, -244 },
+
13036  { 0x823C12795DB6CE57, -847, -236 },
+
13037  { 0xC21094364DFB5637, -821, -228 },
+
13038  { 0x9096EA6F3848984F, -794, -220 },
+
13039  { 0xD77485CB25823AC7, -768, -212 },
+
13040  { 0xA086CFCD97BF97F4, -741, -204 },
+
13041  { 0xEF340A98172AACE5, -715, -196 },
+
13042  { 0xB23867FB2A35B28E, -688, -188 },
+
13043  { 0x84C8D4DFD2C63F3B, -661, -180 },
+
13044  { 0xC5DD44271AD3CDBA, -635, -172 },
+
13045  { 0x936B9FCEBB25C996, -608, -164 },
+
13046  { 0xDBAC6C247D62A584, -582, -156 },
+
13047  { 0xA3AB66580D5FDAF6, -555, -148 },
+
13048  { 0xF3E2F893DEC3F126, -529, -140 },
+
13049  { 0xB5B5ADA8AAFF80B8, -502, -132 },
+
13050  { 0x87625F056C7C4A8B, -475, -124 },
+
13051  { 0xC9BCFF6034C13053, -449, -116 },
+
13052  { 0x964E858C91BA2655, -422, -108 },
+
13053  { 0xDFF9772470297EBD, -396, -100 },
+
13054  { 0xA6DFBD9FB8E5B88F, -369, -92 },
+
13055  { 0xF8A95FCF88747D94, -343, -84 },
+
13056  { 0xB94470938FA89BCF, -316, -76 },
+
13057  { 0x8A08F0F8BF0F156B, -289, -68 },
+
13058  { 0xCDB02555653131B6, -263, -60 },
+
13059  { 0x993FE2C6D07B7FAC, -236, -52 },
+
13060  { 0xE45C10C42A2B3B06, -210, -44 },
+
13061  { 0xAA242499697392D3, -183, -36 },
+
13062  { 0xFD87B5F28300CA0E, -157, -28 },
+
13063  { 0xBCE5086492111AEB, -130, -20 },
+
13064  { 0x8CBCCC096F5088CC, -103, -12 },
+
13065  { 0xD1B71758E219652C, -77, -4 },
+
13066  { 0x9C40000000000000, -50, 4 },
+
13067  { 0xE8D4A51000000000, -24, 12 },
+
13068  { 0xAD78EBC5AC620000, 3, 20 },
+
13069  { 0x813F3978F8940984, 30, 28 },
+
13070  { 0xC097CE7BC90715B3, 56, 36 },
+
13071  { 0x8F7E32CE7BEA5C70, 83, 44 },
+
13072  { 0xD5D238A4ABE98068, 109, 52 },
+
13073  { 0x9F4F2726179A2245, 136, 60 },
+
13074  { 0xED63A231D4C4FB27, 162, 68 },
+
13075  { 0xB0DE65388CC8ADA8, 189, 76 },
+
13076  { 0x83C7088E1AAB65DB, 216, 84 },
+
13077  { 0xC45D1DF942711D9A, 242, 92 },
+
13078  { 0x924D692CA61BE758, 269, 100 },
+
13079  { 0xDA01EE641A708DEA, 295, 108 },
+
13080  { 0xA26DA3999AEF774A, 322, 116 },
+
13081  { 0xF209787BB47D6B85, 348, 124 },
+
13082  { 0xB454E4A179DD1877, 375, 132 },
+
13083  { 0x865B86925B9BC5C2, 402, 140 },
+
13084  { 0xC83553C5C8965D3D, 428, 148 },
+
13085  { 0x952AB45CFA97A0B3, 455, 156 },
+
13086  { 0xDE469FBD99A05FE3, 481, 164 },
+
13087  { 0xA59BC234DB398C25, 508, 172 },
+
13088  { 0xF6C69A72A3989F5C, 534, 180 },
+
13089  { 0xB7DCBF5354E9BECE, 561, 188 },
+
13090  { 0x88FCF317F22241E2, 588, 196 },
+
13091  { 0xCC20CE9BD35C78A5, 614, 204 },
+
13092  { 0x98165AF37B2153DF, 641, 212 },
+
13093  { 0xE2A0B5DC971F303A, 667, 220 },
+
13094  { 0xA8D9D1535CE3B396, 694, 228 },
+
13095  { 0xFB9B7CD9A4A7443C, 720, 236 },
+
13096  { 0xBB764C4CA7A44410, 747, 244 },
+
13097  { 0x8BAB8EEFB6409C1A, 774, 252 },
+
13098  { 0xD01FEF10A657842C, 800, 260 },
+
13099  { 0x9B10A4E5E9913129, 827, 268 },
+
13100  { 0xE7109BFBA19C0C9D, 853, 276 },
+
13101  { 0xAC2820D9623BF429, 880, 284 },
+
13102  { 0x80444B5E7AA7CF85, 907, 292 },
+
13103  { 0xBF21E44003ACDD2D, 933, 300 },
+
13104  { 0x8E679C2F5E44FF8F, 960, 308 },
+
13105  { 0xD433179D9C8CB841, 986, 316 },
+
13106  { 0x9E19DB92B4E31BA9, 1013, 324 },
+
13107  }
+
13108  };
+
13109 
+
13110  // This computation gives exactly the same results for k as
+
13111  // k = ceil((kAlpha - e - 1) * 0.30102999566398114)
+
13112  // for |e| <= 1500, but doesn't require floating-point operations.
+
13113  // NB: log_10(2) ~= 78913 / 2^18
+
13114  assert(e >= -1500);
+
13115  assert(e <= 1500);
+
13116  const int f = kAlpha - e - 1;
+
13117  const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0);
+
13118 
+
13119  const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
+
13120  assert(index >= 0);
+
13121  assert(static_cast<std::size_t>(index) < kCachedPowers.size());
+
13122 
+
13123  const cached_power cached = kCachedPowers[static_cast<std::size_t>(index)];
+
13124  assert(kAlpha <= cached.e + e + 64);
+
13125  assert(kGamma >= cached.e + e + 64);
+
13126 
+
13127  return cached;
+
13128 }
+
13129 
+
13134 inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
+
13135 {
+
13136  // LCOV_EXCL_START
+
13137  if (n >= 1000000000)
+
13138  {
+
13139  pow10 = 1000000000;
+
13140  return 10;
+
13141  }
+
13142  // LCOV_EXCL_STOP
+
13143  else if (n >= 100000000)
+
13144  {
+
13145  pow10 = 100000000;
+
13146  return 9;
+
13147  }
+
13148  else if (n >= 10000000)
+
13149  {
+
13150  pow10 = 10000000;
+
13151  return 8;
+
13152  }
+
13153  else if (n >= 1000000)
+
13154  {
+
13155  pow10 = 1000000;
+
13156  return 7;
+
13157  }
+
13158  else if (n >= 100000)
+
13159  {
+
13160  pow10 = 100000;
+
13161  return 6;
+
13162  }
+
13163  else if (n >= 10000)
+
13164  {
+
13165  pow10 = 10000;
+
13166  return 5;
+
13167  }
+
13168  else if (n >= 1000)
+
13169  {
+
13170  pow10 = 1000;
+
13171  return 4;
+
13172  }
+
13173  else if (n >= 100)
+
13174  {
+
13175  pow10 = 100;
+
13176  return 3;
+
13177  }
+
13178  else if (n >= 10)
+
13179  {
+
13180  pow10 = 10;
+
13181  return 2;
+
13182  }
+
13183  else
+
13184  {
+
13185  pow10 = 1;
+
13186  return 1;
+
13187  }
+
13188 }
+
13189 
+
13190 inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta,
+
13191  std::uint64_t rest, std::uint64_t ten_k)
+
13192 {
+
13193  assert(len >= 1);
+
13194  assert(dist <= delta);
+
13195  assert(rest <= delta);
+
13196  assert(ten_k > 0);
+
13197 
+
13198  // <--------------------------- delta ---->
+
13199  // <---- dist --------->
+
13200  // --------------[------------------+-------------------]--------------
+
13201  // M- w M+
+
13202  //
+
13203  // ten_k
+
13204  // <------>
+
13205  // <---- rest ---->
+
13206  // --------------[------------------+----+--------------]--------------
+
13207  // w V
+
13208  // = buf * 10^k
+
13209  //
+
13210  // ten_k represents a unit-in-the-last-place in the decimal representation
+
13211  // stored in buf.
+
13212  // Decrement buf by ten_k while this takes buf closer to w.
+
13213 
+
13214  // The tests are written in this order to avoid overflow in unsigned
+
13215  // integer arithmetic.
+
13216 
+
13217  while (rest < dist
+
13218  and delta - rest >= ten_k
+
13219  and (rest + ten_k < dist or dist - rest > rest + ten_k - dist))
+
13220  {
+
13221  assert(buf[len - 1] != '0');
+
13222  buf[len - 1]--;
+
13223  rest += ten_k;
+
13224  }
+
13225 }
+
13226 
+
13231 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
+
13232  diyfp M_minus, diyfp w, diyfp M_plus)
+
13233 {
+
13234  static_assert(kAlpha >= -60, "internal error");
+
13235  static_assert(kGamma <= -32, "internal error");
+
13236 
+
13237  // Generates the digits (and the exponent) of a decimal floating-point
+
13238  // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
+
13239  // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
+
13240  //
+
13241  // <--------------------------- delta ---->
+
13242  // <---- dist --------->
+
13243  // --------------[------------------+-------------------]--------------
+
13244  // M- w M+
+
13245  //
+
13246  // Grisu2 generates the digits of M+ from left to right and stops as soon as
+
13247  // V is in [M-,M+].
+
13248 
+
13249  assert(M_plus.e >= kAlpha);
+
13250  assert(M_plus.e <= kGamma);
+
13251 
+
13252  std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
+
13253  std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e)
+
13254 
+
13255  // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
+
13256  //
+
13257  // M+ = f * 2^e
+
13258  // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
+
13259  // = ((p1 ) * 2^-e + (p2 )) * 2^e
+
13260  // = p1 + p2 * 2^e
+
13261 
+
13262  const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e);
+
13263 
+
13264  auto p1 = static_cast<std::uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
+
13265  std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e
+
13266 
+
13267  // 1)
+
13268  //
+
13269  // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
+
13270 
+
13271  assert(p1 > 0);
+
13272 
+
13273  std::uint32_t pow10;
+
13274  const int k = find_largest_pow10(p1, pow10);
+
13275 
+
13276  // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
+
13277  //
+
13278  // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
+
13279  // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1))
+
13280  //
+
13281  // M+ = p1 + p2 * 2^e
+
13282  // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e
+
13283  // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
+
13284  // = d[k-1] * 10^(k-1) + ( rest) * 2^e
+
13285  //
+
13286  // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
+
13287  //
+
13288  // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
+
13289  //
+
13290  // but stop as soon as
+
13291  //
+
13292  // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
+
13293 
+
13294  int n = k;
+
13295  while (n > 0)
+
13296  {
+
13297  // Invariants:
+
13298  // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k)
+
13299  // pow10 = 10^(n-1) <= p1 < 10^n
+
13300  //
+
13301  const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1)
+
13302  const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1)
+
13303  //
+
13304  // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
+
13305  // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
+
13306  //
+
13307  assert(d <= 9);
+
13308  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
+
13309  //
+
13310  // M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
+
13311  //
+
13312  p1 = r;
+
13313  n--;
+
13314  //
+
13315  // M+ = buffer * 10^n + (p1 + p2 * 2^e)
+
13316  // pow10 = 10^n
+
13317  //
+
13318 
+
13319  // Now check if enough digits have been generated.
+
13320  // Compute
+
13321  //
+
13322  // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
+
13323  //
+
13324  // Note:
+
13325  // Since rest and delta share the same exponent e, it suffices to
+
13326  // compare the significands.
+
13327  const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2;
+
13328  if (rest <= delta)
+
13329  {
+
13330  // V = buffer * 10^n, with M- <= V <= M+.
+
13331 
+
13332  decimal_exponent += n;
+
13333 
+
13334  // We may now just stop. But instead look if the buffer could be
+
13335  // decremented to bring V closer to w.
+
13336  //
+
13337  // pow10 = 10^n is now 1 ulp in the decimal representation V.
+
13338  // The rounding procedure works with diyfp's with an implicit
+
13339  // exponent of e.
+
13340  //
+
13341  // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
+
13342  //
+
13343  const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e;
+
13344  grisu2_round(buffer, length, dist, delta, rest, ten_n);
+
13345 
+
13346  return;
+
13347  }
+
13348 
+
13349  pow10 /= 10;
+
13350  //
+
13351  // pow10 = 10^(n-1) <= p1 < 10^n
+
13352  // Invariants restored.
+
13353  }
+
13354 
+
13355  // 2)
+
13356  //
+
13357  // The digits of the integral part have been generated:
+
13358  //
+
13359  // M+ = d[k-1]...d[1]d[0] + p2 * 2^e
+
13360  // = buffer + p2 * 2^e
+
13361  //
+
13362  // Now generate the digits of the fractional part p2 * 2^e.
+
13363  //
+
13364  // Note:
+
13365  // No decimal point is generated: the exponent is adjusted instead.
+
13366  //
+
13367  // p2 actually represents the fraction
+
13368  //
+
13369  // p2 * 2^e
+
13370  // = p2 / 2^-e
+
13371  // = d[-1] / 10^1 + d[-2] / 10^2 + ...
+
13372  //
+
13373  // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
+
13374  //
+
13375  // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
+
13376  // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
+
13377  //
+
13378  // using
+
13379  //
+
13380  // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
+
13381  // = ( d) * 2^-e + ( r)
+
13382  //
+
13383  // or
+
13384  // 10^m * p2 * 2^e = d + r * 2^e
+
13385  //
+
13386  // i.e.
+
13387  //
+
13388  // M+ = buffer + p2 * 2^e
+
13389  // = buffer + 10^-m * (d + r * 2^e)
+
13390  // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
+
13391  //
+
13392  // and stop as soon as 10^-m * r * 2^e <= delta * 2^e
+
13393 
+
13394  assert(p2 > delta);
+
13395 
+
13396  int m = 0;
+
13397  for (;;)
+
13398  {
+
13399  // Invariant:
+
13400  // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
+
13401  // = buffer * 10^-m + 10^-m * (p2 ) * 2^e
+
13402  // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e
+
13403  // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
+
13404  //
+
13405  assert(p2 <= (std::numeric_limits<std::uint64_t>::max)() / 10);
+
13406  p2 *= 10;
+
13407  const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e
+
13408  const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
+
13409  //
+
13410  // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
+
13411  // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
+
13412  // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
+
13413  //
+
13414  assert(d <= 9);
+
13415  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
+
13416  //
+
13417  // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
+
13418  //
+
13419  p2 = r;
+
13420  m++;
+
13421  //
+
13422  // M+ = buffer * 10^-m + 10^-m * p2 * 2^e
+
13423  // Invariant restored.
+
13424 
+
13425  // Check if enough digits have been generated.
+
13426  //
+
13427  // 10^-m * p2 * 2^e <= delta * 2^e
+
13428  // p2 * 2^e <= 10^m * delta * 2^e
+
13429  // p2 <= 10^m * delta
+
13430  delta *= 10;
+
13431  dist *= 10;
+
13432  if (p2 <= delta)
+
13433  {
+
13434  break;
+
13435  }
+
13436  }
+
13437 
+
13438  // V = buffer * 10^-m, with M- <= V <= M+.
+
13439 
+
13440  decimal_exponent -= m;
+
13441 
+
13442  // 1 ulp in the decimal representation is now 10^-m.
+
13443  // Since delta and dist are now scaled by 10^m, we need to do the
+
13444  // same with ulp in order to keep the units in sync.
+
13445  //
+
13446  // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
+
13447  //
+
13448  const std::uint64_t ten_m = one.f;
+
13449  grisu2_round(buffer, length, dist, delta, p2, ten_m);
+
13450 
+
13451  // By construction this algorithm generates the shortest possible decimal
+
13452  // number (Loitsch, Theorem 6.2) which rounds back to w.
+
13453  // For an input number of precision p, at least
+
13454  //
+
13455  // N = 1 + ceil(p * log_10(2))
+
13456  //
+
13457  // decimal digits are sufficient to identify all binary floating-point
+
13458  // numbers (Matula, "In-and-Out conversions").
+
13459  // This implies that the algorithm does not produce more than N decimal
+
13460  // digits.
+
13461  //
+
13462  // N = 17 for p = 53 (IEEE double precision)
+
13463  // N = 9 for p = 24 (IEEE single precision)
+
13464 }
+
13465 
+ +
13472 inline void grisu2(char* buf, int& len, int& decimal_exponent,
+
13473  diyfp m_minus, diyfp v, diyfp m_plus)
+
13474 {
+
13475  assert(m_plus.e == m_minus.e);
+
13476  assert(m_plus.e == v.e);
+
13477 
+
13478  // --------(-----------------------+-----------------------)-------- (A)
+
13479  // m- v m+
+
13480  //
+
13481  // --------------------(-----------+-----------------------)-------- (B)
+
13482  // m- v m+
+
13483  //
+
13484  // First scale v (and m- and m+) such that the exponent is in the range
+
13485  // [alpha, gamma].
+
13486 
+
13487  const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
+
13488 
+
13489  const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
+
13490 
+
13491  // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
+
13492  const diyfp w = diyfp::mul(v, c_minus_k);
+
13493  const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
+
13494  const diyfp w_plus = diyfp::mul(m_plus, c_minus_k);
+
13495 
+
13496  // ----(---+---)---------------(---+---)---------------(---+---)----
+
13497  // w- w w+
+
13498  // = c*m- = c*v = c*m+
+
13499  //
+
13500  // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
+
13501  // w+ are now off by a small amount.
+
13502  // In fact:
+
13503  //
+
13504  // w - v * 10^k < 1 ulp
+
13505  //
+
13506  // To account for this inaccuracy, add resp. subtract 1 ulp.
+
13507  //
+
13508  // --------+---[---------------(---+---)---------------]---+--------
+
13509  // w- M- w M+ w+
+
13510  //
+
13511  // Now any number in [M-, M+] (bounds included) will round to w when input,
+
13512  // regardless of how the input rounding algorithm breaks ties.
+
13513  //
+
13514  // And digit_gen generates the shortest possible such number in [M-, M+].
+
13515  // Note that this does not mean that Grisu2 always generates the shortest
+
13516  // possible number in the interval (m-, m+).
+
13517  const diyfp M_minus(w_minus.f + 1, w_minus.e);
+
13518  const diyfp M_plus (w_plus.f - 1, w_plus.e );
+
13519 
+
13520  decimal_exponent = -cached.k; // = -(-k) = k
+
13521 
+
13522  grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
+
13523 }
+
13524 
+
13530 template <typename FloatType>
+ +
13532 void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)
+
13533 {
+
13534  static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
+
13535  "internal error: not enough precision");
+
13536 
+
13537  assert(std::isfinite(value));
+
13538  assert(value > 0);
+
13539 
+
13540  // If the neighbors (and boundaries) of 'value' are always computed for double-precision
+
13541  // numbers, all float's can be recovered using strtod (and strtof). However, the resulting
+
13542  // decimal representations are not exactly "short".
+
13543  //
+
13544  // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars)
+
13545  // says "value is converted to a string as if by std::sprintf in the default ("C") locale"
+
13546  // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
+
13547  // does.
+
13548  // On the other hand, the documentation for 'std::to_chars' requires that "parsing the
+
13549  // representation using the corresponding std::from_chars function recovers value exactly". That
+
13550  // indicates that single precision floating-point numbers should be recovered using
+
13551  // 'std::strtof'.
+
13552  //
+
13553  // NB: If the neighbors are computed for single-precision numbers, there is a single float
+
13554  // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
+
13555  // value is off by 1 ulp.
+
13556 #if 0
+
13557  const boundaries w = compute_boundaries(static_cast<double>(value));
+
13558 #else
+
13559  const boundaries w = compute_boundaries(value);
+
13560 #endif
+
13561 
+
13562  grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
+
13563 }
+
13564 
+ + +
13572 inline char* append_exponent(char* buf, int e)
+
13573 {
+
13574  assert(e > -1000);
+
13575  assert(e < 1000);
+
13576 
+
13577  if (e < 0)
+
13578  {
+
13579  e = -e;
+
13580  *buf++ = '-';
+
13581  }
+
13582  else
+
13583  {
+
13584  *buf++ = '+';
+
13585  }
+
13586 
+
13587  auto k = static_cast<std::uint32_t>(e);
+
13588  if (k < 10)
+
13589  {
+
13590  // Always print at least two digits in the exponent.
+
13591  // This is for compatibility with printf("%g").
+
13592  *buf++ = '0';
+
13593  *buf++ = static_cast<char>('0' + k);
+
13594  }
+
13595  else if (k < 100)
+
13596  {
+
13597  *buf++ = static_cast<char>('0' + k / 10);
+
13598  k %= 10;
+
13599  *buf++ = static_cast<char>('0' + k);
+
13600  }
+
13601  else
+
13602  {
+
13603  *buf++ = static_cast<char>('0' + k / 100);
+
13604  k %= 100;
+
13605  *buf++ = static_cast<char>('0' + k / 10);
+
13606  k %= 10;
+
13607  *buf++ = static_cast<char>('0' + k);
+
13608  }
+
13609 
+
13610  return buf;
+
13611 }
+
13612 
+ + +
13624 inline char* format_buffer(char* buf, int len, int decimal_exponent,
+
13625  int min_exp, int max_exp)
+
13626 {
+
13627  assert(min_exp < 0);
+
13628  assert(max_exp > 0);
+
13629 
+
13630  const int k = len;
+
13631  const int n = len + decimal_exponent;
+
13632 
+
13633  // v = buf * 10^(n-k)
+
13634  // k is the length of the buffer (number of decimal digits)
+
13635  // n is the position of the decimal point relative to the start of the buffer.
+
13636 
+
13637  if (k <= n and n <= max_exp)
+
13638  {
+
13639  // digits[000]
+
13640  // len <= max_exp + 2
+
13641 
+
13642  std::memset(buf + k, '0', static_cast<size_t>(n - k));
+
13643  // Make it look like a floating-point number (#362, #378)
+
13644  buf[n + 0] = '.';
+
13645  buf[n + 1] = '0';
+
13646  return buf + (n + 2);
+
13647  }
+
13648 
+
13649  if (0 < n and n <= max_exp)
+
13650  {
+
13651  // dig.its
+
13652  // len <= max_digits10 + 1
+
13653 
+
13654  assert(k > n);
+
13655 
+
13656  std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n));
+
13657  buf[n] = '.';
+
13658  return buf + (k + 1);
+
13659  }
+
13660 
+
13661  if (min_exp < n and n <= 0)
+
13662  {
+
13663  // 0.[000]digits
+
13664  // len <= 2 + (-min_exp - 1) + max_digits10
+
13665 
+
13666  std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k));
+
13667  buf[0] = '0';
+
13668  buf[1] = '.';
+
13669  std::memset(buf + 2, '0', static_cast<size_t>(-n));
+
13670  return buf + (2 + (-n) + k);
+
13671  }
+
13672 
+
13673  if (k == 1)
+
13674  {
+
13675  // dE+123
+
13676  // len <= 1 + 5
+
13677 
+
13678  buf += 1;
+
13679  }
+
13680  else
+
13681  {
+
13682  // d.igitsE+123
+
13683  // len <= max_digits10 + 1 + 5
+
13684 
+
13685  std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1));
+
13686  buf[1] = '.';
+
13687  buf += 1 + k;
+
13688  }
+
13689 
+
13690  *buf++ = 'e';
+
13691  return append_exponent(buf, n - 1);
+
13692 }
+
13693 
+
13694 } // namespace dtoa_impl
+
13695 
+
13706 template <typename FloatType>
+ + +
13709 char* to_chars(char* first, const char* last, FloatType value)
+
13710 {
+
13711  static_cast<void>(last); // maybe unused - fix warning
+
13712  assert(std::isfinite(value));
+
13713 
+
13714  // Use signbit(value) instead of (value < 0) since signbit works for -0.
+
13715  if (std::signbit(value))
+
13716  {
+
13717  value = -value;
+
13718  *first++ = '-';
+
13719  }
+
13720 
+
13721  if (value == 0) // +-0
+
13722  {
+
13723  *first++ = '0';
+
13724  // Make it look like a floating-point number (#362, #378)
+
13725  *first++ = '.';
+
13726  *first++ = '0';
+
13727  return first;
+
13728  }
+
13729 
+
13730  assert(last - first >= std::numeric_limits<FloatType>::max_digits10);
+
13731 
+
13732  // Compute v = buffer * 10^decimal_exponent.
+
13733  // The decimal digits are stored in the buffer, which needs to be interpreted
+
13734  // as an unsigned decimal integer.
+
13735  // len is the length of the buffer, i.e. the number of decimal digits.
+
13736  int len = 0;
+
13737  int decimal_exponent = 0;
+
13738  dtoa_impl::grisu2(first, len, decimal_exponent, value);
+
13739 
+
13740  assert(len <= std::numeric_limits<FloatType>::max_digits10);
+
13741 
+
13742  // Format the buffer like printf("%.*g", prec, value)
+
13743  constexpr int kMinExp = -4;
+
13744  // Use digits10 here to increase compatibility with version 2.
+
13745  constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
+
13746 
+
13747  assert(last - first >= kMaxExp + 2);
+
13748  assert(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
+
13749  assert(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
+
13750 
+
13751  return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
+
13752 }
+
13753 
+
13754 } // namespace detail
+
13755 } // namespace nlohmann
+
13756 
+
13757 // #include <nlohmann/detail/exceptions.hpp>
+
13758 
+
13759 // #include <nlohmann/detail/macro_scope.hpp>
+
13760 
+
13761 // #include <nlohmann/detail/meta/cpp_future.hpp>
+
13762 
+
13763 // #include <nlohmann/detail/output/binary_writer.hpp>
+
13764 
+
13765 // #include <nlohmann/detail/output/output_adapters.hpp>
+
13766 
+
13767 // #include <nlohmann/detail/value_t.hpp>
+
13768 
+
13769 
+
13770 namespace nlohmann
+
13771 {
+
13772 namespace detail
+
13773 {
+
13775 // serialization //
+
13777 
+ +
13780 {
+
13781  strict,
+
13782  replace,
+
13783  ignore
+
13784 };
+
13785 
+
13786 template<typename BasicJsonType>
+ +
13788 {
+
13789  using string_t = typename BasicJsonType::string_t;
+
13790  using number_float_t = typename BasicJsonType::number_float_t;
+
13791  using number_integer_t = typename BasicJsonType::number_integer_t;
+
13792  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
13793  static constexpr std::uint8_t UTF8_ACCEPT = 0;
+
13794  static constexpr std::uint8_t UTF8_REJECT = 1;
+
13795 
+
13796  public:
+
13802  serializer(output_adapter_t<char> s, const char ichar,
+
13803  error_handler_t error_handler_ = error_handler_t::strict)
+
13804  : o(std::move(s))
+
13805  , loc(std::localeconv())
+
13806  , thousands_sep(loc->thousands_sep == nullptr ? '\0' : * (loc->thousands_sep))
+
13807  , decimal_point(loc->decimal_point == nullptr ? '\0' : * (loc->decimal_point))
+
13808  , indent_char(ichar)
+
13809  , indent_string(512, indent_char)
+
13810  , error_handler(error_handler_)
+
13811  {}
+
13812 
+
13813  // delete because of pointer members
+
13814  serializer(const serializer&) = delete;
+
13815  serializer& operator=(const serializer&) = delete;
+
13816  serializer(serializer&&) = delete;
+
13817  serializer& operator=(serializer&&) = delete;
+
13818  ~serializer() = default;
+
13819 
+
13837  void dump(const BasicJsonType& val, const bool pretty_print,
+
13838  const bool ensure_ascii,
+
13839  const unsigned int indent_step,
+
13840  const unsigned int current_indent = 0)
+
13841  {
+
13842  switch (val.m_type)
+
13843  {
+
13844  case value_t::object:
+
13845  {
+
13846  if (val.m_value.object->empty())
+
13847  {
+
13848  o->write_characters("{}", 2);
+
13849  return;
+
13850  }
+
13851 
+
13852  if (pretty_print)
+
13853  {
+
13854  o->write_characters("{\n", 2);
+
13855 
+
13856  // variable to hold indentation for recursive calls
+
13857  const auto new_indent = current_indent + indent_step;
+
13858  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
+
13859  {
+
13860  indent_string.resize(indent_string.size() * 2, ' ');
+
13861  }
+
13862 
+
13863  // first n-1 elements
+
13864  auto i = val.m_value.object->cbegin();
+
13865  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
+
13866  {
+
13867  o->write_characters(indent_string.c_str(), new_indent);
+
13868  o->write_character('\"');
+
13869  dump_escaped(i->first, ensure_ascii);
+
13870  o->write_characters("\": ", 3);
+
13871  dump(i->second, true, ensure_ascii, indent_step, new_indent);
+
13872  o->write_characters(",\n", 2);
+
13873  }
+
13874 
+
13875  // last element
+
13876  assert(i != val.m_value.object->cend());
+
13877  assert(std::next(i) == val.m_value.object->cend());
+
13878  o->write_characters(indent_string.c_str(), new_indent);
+
13879  o->write_character('\"');
+
13880  dump_escaped(i->first, ensure_ascii);
+
13881  o->write_characters("\": ", 3);
+
13882  dump(i->second, true, ensure_ascii, indent_step, new_indent);
+
13883 
+
13884  o->write_character('\n');
+
13885  o->write_characters(indent_string.c_str(), current_indent);
+
13886  o->write_character('}');
+
13887  }
+
13888  else
+
13889  {
+
13890  o->write_character('{');
+
13891 
+
13892  // first n-1 elements
+
13893  auto i = val.m_value.object->cbegin();
+
13894  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
+
13895  {
+
13896  o->write_character('\"');
+
13897  dump_escaped(i->first, ensure_ascii);
+
13898  o->write_characters("\":", 2);
+
13899  dump(i->second, false, ensure_ascii, indent_step, current_indent);
+
13900  o->write_character(',');
+
13901  }
+
13902 
+
13903  // last element
+
13904  assert(i != val.m_value.object->cend());
+
13905  assert(std::next(i) == val.m_value.object->cend());
+
13906  o->write_character('\"');
+
13907  dump_escaped(i->first, ensure_ascii);
+
13908  o->write_characters("\":", 2);
+
13909  dump(i->second, false, ensure_ascii, indent_step, current_indent);
+
13910 
+
13911  o->write_character('}');
+
13912  }
+
13913 
+
13914  return;
+
13915  }
+
13916 
+
13917  case value_t::array:
+
13918  {
+
13919  if (val.m_value.array->empty())
+
13920  {
+
13921  o->write_characters("[]", 2);
+
13922  return;
+
13923  }
+
13924 
+
13925  if (pretty_print)
+
13926  {
+
13927  o->write_characters("[\n", 2);
+
13928 
+
13929  // variable to hold indentation for recursive calls
+
13930  const auto new_indent = current_indent + indent_step;
+
13931  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
+
13932  {
+
13933  indent_string.resize(indent_string.size() * 2, ' ');
+
13934  }
+
13935 
+
13936  // first n-1 elements
+
13937  for (auto i = val.m_value.array->cbegin();
+
13938  i != val.m_value.array->cend() - 1; ++i)
+
13939  {
+
13940  o->write_characters(indent_string.c_str(), new_indent);
+
13941  dump(*i, true, ensure_ascii, indent_step, new_indent);
+
13942  o->write_characters(",\n", 2);
+
13943  }
+
13944 
+
13945  // last element
+
13946  assert(not val.m_value.array->empty());
+
13947  o->write_characters(indent_string.c_str(), new_indent);
+
13948  dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
+
13949 
+
13950  o->write_character('\n');
+
13951  o->write_characters(indent_string.c_str(), current_indent);
+
13952  o->write_character(']');
+
13953  }
+
13954  else
+
13955  {
+
13956  o->write_character('[');
+
13957 
+
13958  // first n-1 elements
+
13959  for (auto i = val.m_value.array->cbegin();
+
13960  i != val.m_value.array->cend() - 1; ++i)
+
13961  {
+
13962  dump(*i, false, ensure_ascii, indent_step, current_indent);
+
13963  o->write_character(',');
+
13964  }
+
13965 
+
13966  // last element
+
13967  assert(not val.m_value.array->empty());
+
13968  dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
+
13969 
+
13970  o->write_character(']');
+
13971  }
+
13972 
+
13973  return;
+
13974  }
+
13975 
+
13976  case value_t::string:
+
13977  {
+
13978  o->write_character('\"');
+
13979  dump_escaped(*val.m_value.string, ensure_ascii);
+
13980  o->write_character('\"');
+
13981  return;
+
13982  }
+
13983 
+
13984  case value_t::boolean:
+
13985  {
+
13986  if (val.m_value.boolean)
+
13987  {
+
13988  o->write_characters("true", 4);
+
13989  }
+
13990  else
+
13991  {
+
13992  o->write_characters("false", 5);
+
13993  }
+
13994  return;
+
13995  }
+
13996 
+ +
13998  {
+
13999  dump_integer(val.m_value.number_integer);
+
14000  return;
+
14001  }
+
14002 
+ +
14004  {
+
14005  dump_integer(val.m_value.number_unsigned);
+
14006  return;
+
14007  }
+
14008 
+
14009  case value_t::number_float:
+
14010  {
+
14011  dump_float(val.m_value.number_float);
+
14012  return;
+
14013  }
+
14014 
+
14015  case value_t::discarded:
+
14016  {
+
14017  o->write_characters("<discarded>", 11);
+
14018  return;
+
14019  }
+
14020 
+
14021  case value_t::null:
+
14022  {
+
14023  o->write_characters("null", 4);
+
14024  return;
+
14025  }
+
14026 
+
14027  default: // LCOV_EXCL_LINE
+
14028  assert(false); // LCOV_EXCL_LINE
+
14029  }
+
14030  }
+
14031 
+
14032  private:
+
14047  void dump_escaped(const string_t& s, const bool ensure_ascii)
+
14048  {
+
14049  std::uint32_t codepoint;
+
14050  std::uint8_t state = UTF8_ACCEPT;
+
14051  std::size_t bytes = 0; // number of bytes written to string_buffer
+
14052 
+
14053  // number of bytes written at the point of the last valid byte
+
14054  std::size_t bytes_after_last_accept = 0;
+
14055  std::size_t undumped_chars = 0;
+
14056 
+
14057  for (std::size_t i = 0; i < s.size(); ++i)
+
14058  {
+
14059  const auto byte = static_cast<uint8_t>(s[i]);
+
14060 
+
14061  switch (decode(state, codepoint, byte))
+
14062  {
+
14063  case UTF8_ACCEPT: // decode found a new code point
+
14064  {
+
14065  switch (codepoint)
+
14066  {
+
14067  case 0x08: // backspace
+
14068  {
+
14069  string_buffer[bytes++] = '\\';
+
14070  string_buffer[bytes++] = 'b';
+
14071  break;
+
14072  }
+
14073 
+
14074  case 0x09: // horizontal tab
+
14075  {
+
14076  string_buffer[bytes++] = '\\';
+
14077  string_buffer[bytes++] = 't';
+
14078  break;
+
14079  }
+
14080 
+
14081  case 0x0A: // newline
+
14082  {
+
14083  string_buffer[bytes++] = '\\';
+
14084  string_buffer[bytes++] = 'n';
+
14085  break;
+
14086  }
+
14087 
+
14088  case 0x0C: // formfeed
+
14089  {
+
14090  string_buffer[bytes++] = '\\';
+
14091  string_buffer[bytes++] = 'f';
+
14092  break;
+
14093  }
+
14094 
+
14095  case 0x0D: // carriage return
+
14096  {
+
14097  string_buffer[bytes++] = '\\';
+
14098  string_buffer[bytes++] = 'r';
+
14099  break;
+
14100  }
+
14101 
+
14102  case 0x22: // quotation mark
+
14103  {
+
14104  string_buffer[bytes++] = '\\';
+
14105  string_buffer[bytes++] = '\"';
+
14106  break;
+
14107  }
+
14108 
+
14109  case 0x5C: // reverse solidus
+
14110  {
+
14111  string_buffer[bytes++] = '\\';
+
14112  string_buffer[bytes++] = '\\';
+
14113  break;
+
14114  }
+
14115 
+
14116  default:
+
14117  {
+
14118  // escape control characters (0x00..0x1F) or, if
+
14119  // ensure_ascii parameter is used, non-ASCII characters
+
14120  if ((codepoint <= 0x1F) or (ensure_ascii and (codepoint >= 0x7F)))
+
14121  {
+
14122  if (codepoint <= 0xFFFF)
+
14123  {
+
14124  (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x",
+
14125  static_cast<std::uint16_t>(codepoint));
+
14126  bytes += 6;
+
14127  }
+
14128  else
+
14129  {
+
14130  (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
+
14131  static_cast<std::uint16_t>(0xD7C0u + (codepoint >> 10u)),
+
14132  static_cast<std::uint16_t>(0xDC00u + (codepoint & 0x3FFu)));
+
14133  bytes += 12;
+
14134  }
+
14135  }
+
14136  else
+
14137  {
+
14138  // copy byte to buffer (all previous bytes
+
14139  // been copied have in default case above)
+
14140  string_buffer[bytes++] = s[i];
+
14141  }
+
14142  break;
+
14143  }
+
14144  }
+
14145 
+
14146  // write buffer and reset index; there must be 13 bytes
+
14147  // left, as this is the maximal number of bytes to be
+
14148  // written ("\uxxxx\uxxxx\0") for one code point
+
14149  if (string_buffer.size() - bytes < 13)
+
14150  {
+
14151  o->write_characters(string_buffer.data(), bytes);
+
14152  bytes = 0;
+
14153  }
+
14154 
+
14155  // remember the byte position of this accept
+
14156  bytes_after_last_accept = bytes;
+
14157  undumped_chars = 0;
+
14158  break;
+
14159  }
+
14160 
+
14161  case UTF8_REJECT: // decode found invalid UTF-8 byte
+
14162  {
+
14163  switch (error_handler)
+
14164  {
+ +
14166  {
+
14167  std::string sn(3, '\0');
+
14168  (std::snprintf)(&sn[0], sn.size(), "%.2X", byte);
+
14169  JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn));
+
14170  }
+
14171 
+ + +
14174  {
+
14175  // in case we saw this character the first time, we
+
14176  // would like to read it again, because the byte
+
14177  // may be OK for itself, but just not OK for the
+
14178  // previous sequence
+
14179  if (undumped_chars > 0)
+
14180  {
+
14181  --i;
+
14182  }
+
14183 
+
14184  // reset length buffer to the last accepted index;
+
14185  // thus removing/ignoring the invalid characters
+
14186  bytes = bytes_after_last_accept;
+
14187 
+
14188  if (error_handler == error_handler_t::replace)
+
14189  {
+
14190  // add a replacement character
+
14191  if (ensure_ascii)
+
14192  {
+
14193  string_buffer[bytes++] = '\\';
+
14194  string_buffer[bytes++] = 'u';
+
14195  string_buffer[bytes++] = 'f';
+
14196  string_buffer[bytes++] = 'f';
+
14197  string_buffer[bytes++] = 'f';
+
14198  string_buffer[bytes++] = 'd';
+
14199  }
+
14200  else
+
14201  {
+
14202  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xEF');
+
14203  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBF');
+
14204  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBD');
+
14205  }
+
14206 
+
14207  // write buffer and reset index; there must be 13 bytes
+
14208  // left, as this is the maximal number of bytes to be
+
14209  // written ("\uxxxx\uxxxx\0") for one code point
+
14210  if (string_buffer.size() - bytes < 13)
+
14211  {
+
14212  o->write_characters(string_buffer.data(), bytes);
+
14213  bytes = 0;
+
14214  }
+
14215 
+
14216  bytes_after_last_accept = bytes;
+
14217  }
+
14218 
+
14219  undumped_chars = 0;
+
14220 
+
14221  // continue processing the string
+
14222  state = UTF8_ACCEPT;
+
14223  break;
+
14224  }
+
14225 
+
14226  default: // LCOV_EXCL_LINE
+
14227  assert(false); // LCOV_EXCL_LINE
+
14228  }
+
14229  break;
+
14230  }
+
14231 
+
14232  default: // decode found yet incomplete multi-byte code point
+
14233  {
+
14234  if (not ensure_ascii)
+
14235  {
+
14236  // code point will not be escaped - copy byte to buffer
+
14237  string_buffer[bytes++] = s[i];
+
14238  }
+
14239  ++undumped_chars;
+
14240  break;
+
14241  }
+
14242  }
+
14243  }
+
14244 
+
14245  // we finished processing the string
+
14246  if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT))
+
14247  {
+
14248  // write buffer
+
14249  if (bytes > 0)
+
14250  {
+
14251  o->write_characters(string_buffer.data(), bytes);
+
14252  }
+
14253  }
+
14254  else
+
14255  {
+
14256  // we finish reading, but do not accept: string was incomplete
+
14257  switch (error_handler)
+
14258  {
+ +
14260  {
+
14261  std::string sn(3, '\0');
+
14262  (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast<std::uint8_t>(s.back()));
+
14263  JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn));
+
14264  }
+
14265 
+ +
14267  {
+
14268  // write all accepted bytes
+
14269  o->write_characters(string_buffer.data(), bytes_after_last_accept);
+
14270  break;
+
14271  }
+
14272 
+ +
14274  {
+
14275  // write all accepted bytes
+
14276  o->write_characters(string_buffer.data(), bytes_after_last_accept);
+
14277  // add a replacement character
+
14278  if (ensure_ascii)
+
14279  {
+
14280  o->write_characters("\\ufffd", 6);
+
14281  }
+
14282  else
+
14283  {
+
14284  o->write_characters("\xEF\xBF\xBD", 3);
+
14285  }
+
14286  break;
+
14287  }
+
14288 
+
14289  default: // LCOV_EXCL_LINE
+
14290  assert(false); // LCOV_EXCL_LINE
+
14291  }
+
14292  }
+
14293  }
+
14294 
+
14303  inline unsigned int count_digits(number_unsigned_t x) noexcept
+
14304  {
+
14305  unsigned int n_digits = 1;
+
14306  for (;;)
+
14307  {
+
14308  if (x < 10)
+
14309  {
+
14310  return n_digits;
+
14311  }
+
14312  if (x < 100)
+
14313  {
+
14314  return n_digits + 1;
+
14315  }
+
14316  if (x < 1000)
+
14317  {
+
14318  return n_digits + 2;
+
14319  }
+
14320  if (x < 10000)
+
14321  {
+
14322  return n_digits + 3;
+
14323  }
+
14324  x = x / 10000u;
+
14325  n_digits += 4;
+
14326  }
+
14327  }
+
14328 
+
14338  template<typename NumberType, detail::enable_if_t<
+
14339  std::is_same<NumberType, number_unsigned_t>::value or
+
14340  std::is_same<NumberType, number_integer_t>::value,
+
14341  int> = 0>
+
14342  void dump_integer(NumberType x)
+
14343  {
+
14344  static constexpr std::array<std::array<char, 2>, 100> digits_to_99
+
14345  {
+
14346  {
+
14347  {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}},
+
14348  {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}},
+
14349  {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}},
+
14350  {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}},
+
14351  {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}},
+
14352  {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}},
+
14353  {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}},
+
14354  {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}},
+
14355  {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}},
+
14356  {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}},
+
14357  }
+
14358  };
+
14359 
+
14360  // special case for "0"
+
14361  if (x == 0)
+
14362  {
+
14363  o->write_character('0');
+
14364  return;
+
14365  }
+
14366 
+
14367  // use a pointer to fill the buffer
+
14368  auto buffer_ptr = number_buffer.begin();
+
14369 
+
14370  const bool is_negative = std::is_same<NumberType, number_integer_t>::value and not(x >= 0); // see issue #755
+
14371  number_unsigned_t abs_value;
+
14372 
+
14373  unsigned int n_chars;
+
14374 
+
14375  if (is_negative)
+
14376  {
+
14377  *buffer_ptr = '-';
+
14378  abs_value = remove_sign(x);
+
14379 
+
14380  // account one more byte for the minus sign
+
14381  n_chars = 1 + count_digits(abs_value);
+
14382  }
+
14383  else
+
14384  {
+
14385  abs_value = static_cast<number_unsigned_t>(x);
+
14386  n_chars = count_digits(abs_value);
+
14387  }
+
14388 
+
14389  // spare 1 byte for '\0'
+
14390  assert(n_chars < number_buffer.size() - 1);
+
14391 
+
14392  // jump to the end to generate the string from backward
+
14393  // so we later avoid reversing the result
+
14394  buffer_ptr += n_chars;
+
14395 
+
14396  // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu
+
14397  // See: https://www.youtube.com/watch?v=o4-CwDo2zpg
+
14398  while (abs_value >= 100)
+
14399  {
+
14400  const auto digits_index = static_cast<unsigned>((abs_value % 100));
+
14401  abs_value /= 100;
+
14402  *(--buffer_ptr) = digits_to_99[digits_index][1];
+
14403  *(--buffer_ptr) = digits_to_99[digits_index][0];
+
14404  }
+
14405 
+
14406  if (abs_value >= 10)
+
14407  {
+
14408  const auto digits_index = static_cast<unsigned>(abs_value);
+
14409  *(--buffer_ptr) = digits_to_99[digits_index][1];
+
14410  *(--buffer_ptr) = digits_to_99[digits_index][0];
+
14411  }
+
14412  else
+
14413  {
+
14414  *(--buffer_ptr) = static_cast<char>('0' + abs_value);
+
14415  }
+
14416 
+
14417  o->write_characters(number_buffer.data(), n_chars);
+
14418  }
+
14419 
+
14428  void dump_float(number_float_t x)
+
14429  {
+
14430  // NaN / inf
+
14431  if (not std::isfinite(x))
+
14432  {
+
14433  o->write_characters("null", 4);
+
14434  return;
+
14435  }
+
14436 
+
14437  // If number_float_t is an IEEE-754 single or double precision number,
+
14438  // use the Grisu2 algorithm to produce short numbers which are
+
14439  // guaranteed to round-trip, using strtof and strtod, resp.
+
14440  //
+
14441  // NB: The test below works if <long double> == <double>.
+
14442  static constexpr bool is_ieee_single_or_double
+
14443  = (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 24 and std::numeric_limits<number_float_t>::max_exponent == 128) or
+
14444  (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 53 and std::numeric_limits<number_float_t>::max_exponent == 1024);
+
14445 
+
14446  dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
+
14447  }
+
14448 
+
14449  void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
+
14450  {
+
14451  char* begin = number_buffer.data();
+
14452  char* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
+
14453 
+
14454  o->write_characters(begin, static_cast<size_t>(end - begin));
+
14455  }
+
14456 
+
14457  void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
+
14458  {
+
14459  // get number of digits for a float -> text -> float round-trip
+
14460  static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
+
14461 
+
14462  // the actual conversion
+
14463  std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
+
14464 
+
14465  // negative value indicates an error
+
14466  assert(len > 0);
+
14467  // check if buffer was large enough
+
14468  assert(static_cast<std::size_t>(len) < number_buffer.size());
+
14469 
+
14470  // erase thousands separator
+
14471  if (thousands_sep != '\0')
+
14472  {
+
14473  const auto end = std::remove(number_buffer.begin(),
+
14474  number_buffer.begin() + len, thousands_sep);
+
14475  std::fill(end, number_buffer.end(), '\0');
+
14476  assert((end - number_buffer.begin()) <= len);
+
14477  len = (end - number_buffer.begin());
+
14478  }
+
14479 
+
14480  // convert decimal point to '.'
+
14481  if (decimal_point != '\0' and decimal_point != '.')
+
14482  {
+
14483  const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
+
14484  if (dec_pos != number_buffer.end())
+
14485  {
+
14486  *dec_pos = '.';
+
14487  }
+
14488  }
+
14489 
+
14490  o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
+
14491 
+
14492  // determine if need to append ".0"
+
14493  const bool value_is_int_like =
+
14494  std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
+
14495  [](char c)
+
14496  {
+
14497  return c == '.' or c == 'e';
+
14498  });
+
14499 
+
14500  if (value_is_int_like)
+
14501  {
+
14502  o->write_characters(".0", 2);
+
14503  }
+
14504  }
+
14505 
+
14527  static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept
+
14528  {
+
14529  static const std::array<std::uint8_t, 400> utf8d =
+
14530  {
+
14531  {
+
14532  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
+
14533  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
+
14534  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
+
14535  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
+
14536  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
+
14537  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
+
14538  8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF
+
14539  0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
+
14540  0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
+
14541  0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
+
14542  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
+
14543  1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
+
14544  1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
+
14545  1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
+
14546  }
+
14547  };
+
14548 
+
14549  const std::uint8_t type = utf8d[byte];
+
14550 
+
14551  codep = (state != UTF8_ACCEPT)
+
14552  ? (byte & 0x3fu) | (codep << 6u)
+
14553  : (0xFFu >> type) & (byte);
+
14554 
+
14555  state = utf8d[256u + state * 16u + type];
+
14556  return state;
+
14557  }
+
14558 
+
14559  /*
+
14560  * Overload to make the compiler happy while it is instantiating
+
14561  * dump_integer for number_unsigned_t.
+
14562  * Must never be called.
+
14563  */
+
14564  number_unsigned_t remove_sign(number_unsigned_t x)
+
14565  {
+
14566  assert(false); // LCOV_EXCL_LINE
+
14567  return x; // LCOV_EXCL_LINE
+
14568  }
+
14569 
+
14570  /*
+
14571  * Helper function for dump_integer
+
14572  *
+
14573  * This function takes a negative signed integer and returns its absolute
+
14574  * value as unsigned integer. The plus/minus shuffling is necessary as we can
+
14575  * not directly remove the sign of an arbitrary signed integer as the
+
14576  * absolute values of INT_MIN and INT_MAX are usually not the same. See
+
14577  * #1708 for details.
+
14578  */
+
14579  inline number_unsigned_t remove_sign(number_integer_t x) noexcept
+
14580  {
+
14581  assert(x < 0 and x < (std::numeric_limits<number_integer_t>::max)());
+
14582  return static_cast<number_unsigned_t>(-(x + 1)) + 1;
+
14583  }
+
14584 
+
14585  private:
+
14587  output_adapter_t<char> o = nullptr;
+
14588 
+
14590  std::array<char, 64> number_buffer{{}};
+
14591 
+
14593  const std::lconv* loc = nullptr;
+
14595  const char thousands_sep = '\0';
+
14597  const char decimal_point = '\0';
+
14598 
+
14600  std::array<char, 512> string_buffer{{}};
+
14601 
+
14603  const char indent_char;
+
14605  string_t indent_string;
+
14606 
+
14608  const error_handler_t error_handler;
+
14609 };
+
14610 } // namespace detail
+
14611 } // namespace nlohmann
+
14612 
+
14613 // #include <nlohmann/detail/value_t.hpp>
+
14614 
+
14615 // #include <nlohmann/json_fwd.hpp>
+
14616 
+
14617 
+
14623 namespace nlohmann
+
14624 {
+
14625 
+ +
14708 class basic_json
+
14709 {
+
14710  private:
+
14711  template<detail::value_t> friend struct detail::external_constructor;
+
14712  friend ::nlohmann::json_pointer<basic_json>;
+
14713  friend ::nlohmann::detail::parser<basic_json>;
+
14714  friend ::nlohmann::detail::serializer<basic_json>;
+
14715  template<typename BasicJsonType>
+
14716  friend class ::nlohmann::detail::iter_impl;
+
14717  template<typename BasicJsonType, typename CharType>
+
14718  friend class ::nlohmann::detail::binary_writer;
+
14719  template<typename BasicJsonType, typename SAX>
+
14720  friend class ::nlohmann::detail::binary_reader;
+
14721  template<typename BasicJsonType>
+
14722  friend class ::nlohmann::detail::json_sax_dom_parser;
+
14723  template<typename BasicJsonType>
+
14724  friend class ::nlohmann::detail::json_sax_dom_callback_parser;
+
14725 
+
14727  using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
+
14728 
+
14729  // convenience aliases for types residing in namespace detail;
+ + +
14732 
+ +
14734  template<typename BasicJsonType>
+ +
14736  template<typename BasicJsonType>
+ +
14738  template<typename Iterator>
+ + +
14741 
+
14742  template<typename CharType>
+
14743  using output_adapter_t = ::nlohmann::detail::output_adapter_t<CharType>;
+
14744 
+ +
14746  template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
+
14747 
+ +
14749 
+
14750  public:
+ + +
14754  template<typename T, typename SFINAE>
+
14755  using json_serializer = JSONSerializer<T, SFINAE>;
+ +
14759  using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
+
14760 
+ + +
14764 
+
14766  // exceptions //
+
14768 
+
14772 
+ + + + + + +
14785 
+
14787 
+
14788 
+
14790  // container types //
+
14792 
+
14797 
+ +
14800 
+ +
14804  using const_reference = const value_type&;
+
14805 
+
14807  using difference_type = std::ptrdiff_t;
+
14809  using size_type = std::size_t;
+
14810 
+
14812  using allocator_type = AllocatorType<basic_json>;
+
14813 
+
14815  using pointer = typename std::allocator_traits<allocator_type>::pointer;
+
14817  using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
+
14818 
+ + + + +
14827 
+
14829 
+
14830 
+ +
14835  {
+
14836  return allocator_type();
+
14837  }
+
14838 
+ +
14866  static basic_json meta()
+
14867  {
+
14868  basic_json result;
+
14869 
+
14870  result["copyright"] = "(C) 2013-2017 Niels Lohmann";
+
14871  result["name"] = "JSON for Modern C++";
+
14872  result["url"] = "https://github.com/nlohmann/json";
+
14873  result["version"]["string"] =
+ + + +
14877  result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
+
14878  result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
+
14879  result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
+
14880 
+
14881 #ifdef _WIN32
+
14882  result["platform"] = "win32";
+
14883 #elif defined __linux__
+
14884  result["platform"] = "linux";
+
14885 #elif defined __APPLE__
+
14886  result["platform"] = "apple";
+
14887 #elif defined __unix__
+
14888  result["platform"] = "unix";
+
14889 #else
+
14890  result["platform"] = "unknown";
+
14891 #endif
+
14892 
+
14893 #if defined(__ICC) || defined(__INTEL_COMPILER)
+
14894  result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
+
14895 #elif defined(__clang__)
+
14896  result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
+
14897 #elif defined(__GNUC__) || defined(__GNUG__)
+
14898  result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
+
14899 #elif defined(__HP_cc) || defined(__HP_aCC)
+
14900  result["compiler"] = "hp"
+
14901 #elif defined(__IBMCPP__)
+
14902  result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
+
14903 #elif defined(_MSC_VER)
+
14904  result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
+
14905 #elif defined(__PGI)
+
14906  result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
+
14907 #elif defined(__SUNPRO_CC)
+
14908  result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
+
14909 #else
+
14910  result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
+
14911 #endif
+
14912 
+
14913 #ifdef __cplusplus
+
14914  result["compiler"]["c++"] = std::to_string(__cplusplus);
+
14915 #else
+
14916  result["compiler"]["c++"] = "unknown";
+
14917 #endif
+
14918  return result;
+
14919  }
+
14920 
+
14921 
+
14923  // JSON value data types //
+
14925 
+
14930 
+
14931 #if defined(JSON_HAS_CPP_14)
+
14932  // Use transparent comparator if possible, combined with perfect forwarding
+
14933  // on find() and count() calls prevents unnecessary string construction.
+
14934  using object_comparator_t = std::less<>;
+
14935 #else
+
14936  using object_comparator_t = std::less<StringType>;
+
14937 #endif
+
14938 
+
15022  using object_t = ObjectType<StringType,
+
15023  basic_json,
+ +
15025  AllocatorType<std::pair<const StringType,
+ +
15027 
+
15072  using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
+
15073 
+
15125  using string_t = StringType;
+
15126 
+
15151  using boolean_t = BooleanType;
+
15152 
+
15223  using number_integer_t = NumberIntegerType;
+
15224 
+
15294  using number_unsigned_t = NumberUnsignedType;
+
15295 
+
15362  using number_float_t = NumberFloatType;
+
15363 
+
15365 
+
15366  private:
+
15367 
+
15369  template<typename T, typename... Args>
+ +
15371  static T* create(Args&& ... args)
+
15372  {
+
15373  AllocatorType<T> alloc;
+
15374  using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
+
15375 
+
15376  auto deleter = [&](T * object)
+
15377  {
+
15378  AllocatorTraits::deallocate(alloc, object, 1);
+
15379  };
+
15380  std::unique_ptr<T, decltype(deleter)> object(AllocatorTraits::allocate(alloc, 1), deleter);
+
15381  AllocatorTraits::construct(alloc, object.get(), std::forward<Args>(args)...);
+
15382  assert(object != nullptr);
+
15383  return object.release();
+
15384  }
+
15385 
+
15387  // JSON value storage //
+
15389 
+
15414  union json_value
+
15415  {
+
15417  object_t* object;
+
15419  array_t* array;
+
15421  string_t* string;
+
15423  boolean_t boolean;
+
15425  number_integer_t number_integer;
+
15427  number_unsigned_t number_unsigned;
+
15429  number_float_t number_float;
+
15430 
+
15432  json_value() = default;
+
15434  json_value(boolean_t v) noexcept : boolean(v) {}
+
15436  json_value(number_integer_t v) noexcept : number_integer(v) {}
+
15438  json_value(number_unsigned_t v) noexcept : number_unsigned(v) {}
+
15440  json_value(number_float_t v) noexcept : number_float(v) {}
+
15442  json_value(value_t t)
+
15443  {
+
15444  switch (t)
+
15445  {
+
15446  case value_t::object:
+
15447  {
+
15448  object = create<object_t>();
+
15449  break;
+
15450  }
+
15451 
+
15452  case value_t::array:
+
15453  {
+
15454  array = create<array_t>();
+
15455  break;
+
15456  }
+
15457 
+
15458  case value_t::string:
+
15459  {
+
15460  string = create<string_t>("");
+
15461  break;
+
15462  }
+
15463 
+
15464  case value_t::boolean:
+
15465  {
+
15466  boolean = boolean_t(false);
+
15467  break;
+
15468  }
+
15469 
+ +
15471  {
+ +
15473  break;
+
15474  }
+
15475 
+ +
15477  {
+ +
15479  break;
+
15480  }
+
15481 
+
15482  case value_t::number_float:
+
15483  {
+ +
15485  break;
+
15486  }
+
15487 
+
15488  case value_t::null:
+
15489  {
+
15490  object = nullptr; // silence warning, see #821
+
15491  break;
+
15492  }
+
15493 
+
15494  default:
+
15495  {
+
15496  object = nullptr; // silence warning, see #821
+ +
15498  {
+
15499  JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.7.3")); // LCOV_EXCL_LINE
+
15500  }
+
15501  break;
+
15502  }
+
15503  }
+
15504  }
+
15505 
+
15507  json_value(const string_t& value)
+
15508  {
+
15509  string = create<string_t>(value);
+
15510  }
+
15511 
+
15513  json_value(string_t&& value)
+
15514  {
+
15515  string = create<string_t>(std::move(value));
+
15516  }
+
15517 
+
15519  json_value(const object_t& value)
+
15520  {
+
15521  object = create<object_t>(value);
+
15522  }
+
15523 
+
15525  json_value(object_t&& value)
+
15526  {
+
15527  object = create<object_t>(std::move(value));
+
15528  }
+
15529 
+
15531  json_value(const array_t& value)
+
15532  {
+
15533  array = create<array_t>(value);
+
15534  }
+
15535 
+
15537  json_value(array_t&& value)
+
15538  {
+
15539  array = create<array_t>(std::move(value));
+
15540  }
+
15541 
+
15542  void destroy(value_t t) noexcept
+
15543  {
+
15544  // flatten the current json_value to a heap-allocated stack
+
15545  std::vector<basic_json> stack;
+
15546 
+
15547  // move the top-level items to stack
+
15548  if (t == value_t::array)
+
15549  {
+
15550  stack.reserve(array->size());
+
15551  std::move(array->begin(), array->end(), std::back_inserter(stack));
+
15552  }
+
15553  else if (t == value_t::object)
+
15554  {
+
15555  stack.reserve(object->size());
+
15556  for (auto&& it : *object)
+
15557  {
+
15558  stack.push_back(std::move(it.second));
+
15559  }
+
15560  }
+
15561 
+
15562  while (not stack.empty())
+
15563  {
+
15564  // move the last item to local variable to be processed
+
15565  basic_json current_item(std::move(stack.back()));
+
15566  stack.pop_back();
+
15567 
+
15568  // if current_item is array/object, move
+
15569  // its children to the stack to be processed later
+
15570  if (current_item.is_array())
+
15571  {
+
15572  std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(),
+
15573  std::back_inserter(stack));
+
15574 
+
15575  current_item.m_value.array->clear();
+
15576  }
+
15577  else if (current_item.is_object())
+
15578  {
+
15579  for (auto&& it : *current_item.m_value.object)
+
15580  {
+
15581  stack.push_back(std::move(it.second));
+
15582  }
+
15583 
+
15584  current_item.m_value.object->clear();
+
15585  }
+
15586 
+
15587  // it's now safe that current_item get destructed
+
15588  // since it doesn't have any children
+
15589  }
+
15590 
+
15591  switch (t)
+
15592  {
+
15593  case value_t::object:
+
15594  {
+
15595  AllocatorType<object_t> alloc;
+
15596  std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
+
15597  std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
+
15598  break;
+
15599  }
+
15600 
+
15601  case value_t::array:
+
15602  {
+
15603  AllocatorType<array_t> alloc;
+
15604  std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
+
15605  std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
+
15606  break;
+
15607  }
+
15608 
+
15609  case value_t::string:
+
15610  {
+
15611  AllocatorType<string_t> alloc;
+
15612  std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
+
15613  std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
+
15614  break;
+
15615  }
+
15616 
+
15617  default:
+
15618  {
+
15619  break;
+
15620  }
+
15621  }
+
15622  }
+
15623  };
+
15624 
+
15634  void assert_invariant() const noexcept
+
15635  {
+
15636  assert(m_type != value_t::object or m_value.object != nullptr);
+
15637  assert(m_type != value_t::array or m_value.array != nullptr);
+
15638  assert(m_type != value_t::string or m_value.string != nullptr);
+
15639  }
+
15640 
+
15641  public:
+
15643  // JSON parser callback //
+
15645 
+ +
15662 
+ +
15713 
+
15715  // constructors //
+
15717 
+
15722 
+ +
15753  : m_type(v), m_value(v)
+
15754  {
+
15755  assert_invariant();
+
15756  }
+
15757 
+
15776  basic_json(std::nullptr_t = nullptr) noexcept
+
15777  : basic_json(value_t::null)
+
15778  {
+
15779  assert_invariant();
+
15780  }
+
15781 
+
15839  template <typename CompatibleType,
+
15840  typename U = detail::uncvref_t<CompatibleType>,
+ + +
15843  basic_json(CompatibleType && val) noexcept(noexcept(
+
15844  JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
+
15845  std::forward<CompatibleType>(val))))
+
15846  {
+
15847  JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
+
15848  assert_invariant();
+
15849  }
+
15850 
+
15877  template <typename BasicJsonType,
+ +
15879  detail::is_basic_json<BasicJsonType>::value and not std::is_same<basic_json, BasicJsonType>::value, int> = 0>
+
15880  basic_json(const BasicJsonType& val)
+
15881  {
+
15882  using other_boolean_t = typename BasicJsonType::boolean_t;
+
15883  using other_number_float_t = typename BasicJsonType::number_float_t;
+
15884  using other_number_integer_t = typename BasicJsonType::number_integer_t;
+
15885  using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
+
15886  using other_string_t = typename BasicJsonType::string_t;
+
15887  using other_object_t = typename BasicJsonType::object_t;
+
15888  using other_array_t = typename BasicJsonType::array_t;
+
15889 
+
15890  switch (val.type())
+
15891  {
+
15892  case value_t::boolean:
+
15893  JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
+
15894  break;
+
15895  case value_t::number_float:
+
15896  JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
+
15897  break;
+ +
15899  JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
+
15900  break;
+ +
15902  JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
+
15903  break;
+
15904  case value_t::string:
+
15905  JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
+
15906  break;
+
15907  case value_t::object:
+
15908  JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
+
15909  break;
+
15910  case value_t::array:
+
15911  JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
+
15912  break;
+
15913  case value_t::null:
+
15914  *this = nullptr;
+
15915  break;
+
15916  case value_t::discarded:
+
15917  m_type = value_t::discarded;
+
15918  break;
+
15919  default: // LCOV_EXCL_LINE
+
15920  assert(false); // LCOV_EXCL_LINE
+
15921  }
+
15922  assert_invariant();
+
15923  }
+
15924 
+ +
16000  bool type_deduction = true,
+
16001  value_t manual_type = value_t::array)
+
16002  {
+
16003  // check if each element is an array with two elements whose first
+
16004  // element is a string
+
16005  bool is_an_object = std::all_of(init.begin(), init.end(),
+
16006  [](const detail::json_ref<basic_json>& element_ref)
+
16007  {
+
16008  return element_ref->is_array() and element_ref->size() == 2 and (*element_ref)[0].is_string();
+
16009  });
+
16010 
+
16011  // adjust type if type deduction is not wanted
+
16012  if (not type_deduction)
+
16013  {
+
16014  // if array is wanted, do not create an object though possible
+
16015  if (manual_type == value_t::array)
+
16016  {
+
16017  is_an_object = false;
+
16018  }
+
16019 
+
16020  // if object is wanted but impossible, throw an exception
+
16021  if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object and not is_an_object))
+
16022  {
+
16023  JSON_THROW(type_error::create(301, "cannot create object from initializer list"));
+
16024  }
+
16025  }
+
16026 
+
16027  if (is_an_object)
+
16028  {
+
16029  // the initializer list is a list of pairs -> create object
+
16030  m_type = value_t::object;
+
16031  m_value = value_t::object;
+
16032 
+
16033  std::for_each(init.begin(), init.end(), [this](const detail::json_ref<basic_json>& element_ref)
+
16034  {
+
16035  auto element = element_ref.moved_or_copied();
+
16036  m_value.object->emplace(
+
16037  std::move(*((*element.m_value.array)[0].m_value.string)),
+
16038  std::move((*element.m_value.array)[1]));
+
16039  });
+
16040  }
+
16041  else
+
16042  {
+
16043  // the initializer list describes an array -> create array
+
16044  m_type = value_t::array;
+
16045  m_value.array = create<array_t>(init.begin(), init.end());
+
16046  }
+
16047 
+
16048  assert_invariant();
+
16049  }
+
16050 
+ + +
16090  {
+
16091  return basic_json(init, false, value_t::array);
+
16092  }
+
16093 
+ + +
16134  {
+
16135  return basic_json(init, false, value_t::object);
+
16136  }
+
16137 
+ +
16161  : m_type(value_t::array)
+
16162  {
+
16163  m_value.array = create<array_t>(cnt, val);
+
16164  assert_invariant();
+
16165  }
+
16166 
+
16222  template<class InputIT, typename std::enable_if<
+
16223  std::is_same<InputIT, typename basic_json_t::iterator>::value or
+
16224  std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int>::type = 0>
+
16225  basic_json(InputIT first, InputIT last)
+
16226  {
+
16227  assert(first.m_object != nullptr);
+
16228  assert(last.m_object != nullptr);
+
16229 
+
16230  // make sure iterator fits the current value
+
16231  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
+
16232  {
+
16233  JSON_THROW(invalid_iterator::create(201, "iterators are not compatible"));
+
16234  }
+
16235 
+
16236  // copy type from first iterator
+
16237  m_type = first.m_object->m_type;
+
16238 
+
16239  // check if iterator range is complete for primitive values
+
16240  switch (m_type)
+
16241  {
+
16242  case value_t::boolean:
+
16243  case value_t::number_float:
+ + +
16246  case value_t::string:
+
16247  {
+
16248  if (JSON_HEDLEY_UNLIKELY(not first.m_it.primitive_iterator.is_begin()
+
16249  or not last.m_it.primitive_iterator.is_end()))
+
16250  {
+
16251  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
+
16252  }
+
16253  break;
+
16254  }
+
16255 
+
16256  default:
+
16257  break;
+
16258  }
+
16259 
+
16260  switch (m_type)
+
16261  {
+ +
16263  {
+
16264  m_value.number_integer = first.m_object->m_value.number_integer;
+
16265  break;
+
16266  }
+
16267 
+ +
16269  {
+
16270  m_value.number_unsigned = first.m_object->m_value.number_unsigned;
+
16271  break;
+
16272  }
+
16273 
+
16274  case value_t::number_float:
+
16275  {
+
16276  m_value.number_float = first.m_object->m_value.number_float;
+
16277  break;
+
16278  }
+
16279 
+
16280  case value_t::boolean:
+
16281  {
+
16282  m_value.boolean = first.m_object->m_value.boolean;
+
16283  break;
+
16284  }
+
16285 
+
16286  case value_t::string:
+
16287  {
+
16288  m_value = *first.m_object->m_value.string;
+
16289  break;
+
16290  }
+
16291 
+
16292  case value_t::object:
+
16293  {
+
16294  m_value.object = create<object_t>(first.m_it.object_iterator,
+
16295  last.m_it.object_iterator);
+
16296  break;
+
16297  }
+
16298 
+
16299  case value_t::array:
+
16300  {
+
16301  m_value.array = create<array_t>(first.m_it.array_iterator,
+
16302  last.m_it.array_iterator);
+
16303  break;
+
16304  }
+
16305 
+
16306  default:
+
16307  JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " +
+
16308  std::string(first.m_object->type_name())));
+
16309  }
+
16310 
+
16311  assert_invariant();
+
16312  }
+
16313 
+
16314 
+
16316  // other constructors and destructor //
+
16318 
+ +
16321  : basic_json(ref.moved_or_copied())
+
16322  {}
+
16323 
+
16349  basic_json(const basic_json& other)
+
16350  : m_type(other.m_type)
+
16351  {
+
16352  // check of passed value is valid
+
16353  other.assert_invariant();
+
16354 
+
16355  switch (m_type)
+
16356  {
+
16357  case value_t::object:
+
16358  {
+
16359  m_value = *other.m_value.object;
+
16360  break;
+
16361  }
+
16362 
+
16363  case value_t::array:
+
16364  {
+
16365  m_value = *other.m_value.array;
+
16366  break;
+
16367  }
+
16368 
+
16369  case value_t::string:
+
16370  {
+
16371  m_value = *other.m_value.string;
+
16372  break;
+
16373  }
+
16374 
+
16375  case value_t::boolean:
+
16376  {
+
16377  m_value = other.m_value.boolean;
+
16378  break;
+
16379  }
+
16380 
+ +
16382  {
+
16383  m_value = other.m_value.number_integer;
+
16384  break;
+
16385  }
+
16386 
+ +
16388  {
+
16389  m_value = other.m_value.number_unsigned;
+
16390  break;
+
16391  }
+
16392 
+
16393  case value_t::number_float:
+
16394  {
+
16395  m_value = other.m_value.number_float;
+
16396  break;
+
16397  }
+
16398 
+
16399  default:
+
16400  break;
+
16401  }
+
16402 
+
16403  assert_invariant();
+
16404  }
+
16405 
+
16432  basic_json(basic_json&& other) noexcept
+
16433  : m_type(std::move(other.m_type)),
+
16434  m_value(std::move(other.m_value))
+
16435  {
+
16436  // check that passed value is valid
+
16437  other.assert_invariant();
+
16438 
+
16439  // invalidate payload
+
16440  other.m_type = value_t::null;
+
16441  other.m_value = {};
+
16442 
+
16443  assert_invariant();
+
16444  }
+
16445 
+
16469  basic_json& operator=(basic_json other) noexcept (
+
16470  std::is_nothrow_move_constructible<value_t>::value and
+
16471  std::is_nothrow_move_assignable<value_t>::value and
+
16472  std::is_nothrow_move_constructible<json_value>::value and
+
16473  std::is_nothrow_move_assignable<json_value>::value
+
16474  )
+
16475  {
+
16476  // check that passed value is valid
+
16477  other.assert_invariant();
+
16478 
+
16479  using std::swap;
+
16480  swap(m_type, other.m_type);
+
16481  swap(m_value, other.m_value);
+
16482 
+
16483  assert_invariant();
+
16484  return *this;
+
16485  }
+
16486 
+
16502  ~basic_json() noexcept
+
16503  {
+
16504  assert_invariant();
+
16505  m_value.destroy(m_type);
+
16506  }
+
16507 
+
16509 
+
16510  public:
+
16512  // object inspection //
+
16514 
+
16518 
+
16560  string_t dump(const int indent = -1,
+
16561  const char indent_char = ' ',
+
16562  const bool ensure_ascii = false,
+
16563  const error_handler_t error_handler = error_handler_t::strict) const
+
16564  {
+
16565  string_t result;
+
16566  serializer s(detail::output_adapter<char, string_t>(result), indent_char, error_handler);
+
16567 
+
16568  if (indent >= 0)
+
16569  {
+
16570  s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
+
16571  }
+
16572  else
+
16573  {
+
16574  s.dump(*this, false, ensure_ascii, 0);
+
16575  }
+
16576 
+
16577  return result;
+
16578  }
+
16579 
+
16612  constexpr value_t type() const noexcept
+
16613  {
+
16614  return m_type;
+
16615  }
+
16616 
+
16642  constexpr bool is_primitive() const noexcept
+
16643  {
+
16644  return is_null() or is_string() or is_boolean() or is_number();
+
16645  }
+
16646 
+
16669  constexpr bool is_structured() const noexcept
+
16670  {
+
16671  return is_array() or is_object();
+
16672  }
+
16673 
+
16691  constexpr bool is_null() const noexcept
+
16692  {
+
16693  return m_type == value_t::null;
+
16694  }
+
16695 
+
16713  constexpr bool is_boolean() const noexcept
+
16714  {
+
16715  return m_type == value_t::boolean;
+
16716  }
+
16717 
+
16743  constexpr bool is_number() const noexcept
+
16744  {
+
16745  return is_number_integer() or is_number_float();
+
16746  }
+
16747 
+
16772  constexpr bool is_number_integer() const noexcept
+
16773  {
+
16774  return m_type == value_t::number_integer or m_type == value_t::number_unsigned;
+
16775  }
+
16776 
+
16800  constexpr bool is_number_unsigned() const noexcept
+
16801  {
+
16802  return m_type == value_t::number_unsigned;
+
16803  }
+
16804 
+
16828  constexpr bool is_number_float() const noexcept
+
16829  {
+
16830  return m_type == value_t::number_float;
+
16831  }
+
16832 
+
16850  constexpr bool is_object() const noexcept
+
16851  {
+
16852  return m_type == value_t::object;
+
16853  }
+
16854 
+
16872  constexpr bool is_array() const noexcept
+
16873  {
+
16874  return m_type == value_t::array;
+
16875  }
+
16876 
+
16894  constexpr bool is_string() const noexcept
+
16895  {
+
16896  return m_type == value_t::string;
+
16897  }
+
16898 
+
16921  constexpr bool is_discarded() const noexcept
+
16922  {
+
16923  return m_type == value_t::discarded;
+
16924  }
+
16925 
+
16947  constexpr operator value_t() const noexcept
+
16948  {
+
16949  return m_type;
+
16950  }
+
16951 
+
16953 
+
16954  private:
+
16956  // value access //
+
16958 
+
16960  boolean_t get_impl(boolean_t* /*unused*/) const
+
16961  {
+ +
16963  {
+
16964  return m_value.boolean;
+
16965  }
+
16966 
+
16967  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name())));
+
16968  }
+
16969 
+
16971  object_t* get_impl_ptr(object_t* /*unused*/) noexcept
+
16972  {
+
16973  return is_object() ? m_value.object : nullptr;
+
16974  }
+
16975 
+
16977  constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
+
16978  {
+
16979  return is_object() ? m_value.object : nullptr;
+
16980  }
+
16981 
+
16983  array_t* get_impl_ptr(array_t* /*unused*/) noexcept
+
16984  {
+
16985  return is_array() ? m_value.array : nullptr;
+
16986  }
+
16987 
+
16989  constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
+
16990  {
+
16991  return is_array() ? m_value.array : nullptr;
+
16992  }
+
16993 
+
16995  string_t* get_impl_ptr(string_t* /*unused*/) noexcept
+
16996  {
+
16997  return is_string() ? m_value.string : nullptr;
+
16998  }
+
16999 
+
17001  constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
+
17002  {
+
17003  return is_string() ? m_value.string : nullptr;
+
17004  }
+
17005 
+
17007  boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
+
17008  {
+
17009  return is_boolean() ? &m_value.boolean : nullptr;
+
17010  }
+
17011 
+
17013  constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
+
17014  {
+
17015  return is_boolean() ? &m_value.boolean : nullptr;
+
17016  }
+
17017 
+
17019  number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
+
17020  {
+
17021  return is_number_integer() ? &m_value.number_integer : nullptr;
+
17022  }
+
17023 
+
17025  constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
+
17026  {
+
17027  return is_number_integer() ? &m_value.number_integer : nullptr;
+
17028  }
+
17029 
+
17031  number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
+
17032  {
+
17033  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
+
17034  }
+
17035 
+
17037  constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
+
17038  {
+
17039  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
+
17040  }
+
17041 
+
17043  number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
+
17044  {
+
17045  return is_number_float() ? &m_value.number_float : nullptr;
+
17046  }
+
17047 
+
17049  constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
+
17050  {
+
17051  return is_number_float() ? &m_value.number_float : nullptr;
+
17052  }
+
17053 
+
17065  template<typename ReferenceType, typename ThisType>
+
17066  static ReferenceType get_ref_impl(ThisType& obj)
+
17067  {
+
17068  // delegate the call to get_ptr<>()
+
17069  auto ptr = obj.template get_ptr<typename std::add_pointer<ReferenceType>::type>();
+
17070 
+
17071  if (JSON_HEDLEY_LIKELY(ptr != nullptr))
+
17072  {
+
17073  return *ptr;
+
17074  }
+
17075 
+
17076  JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name())));
+
17077  }
+
17078 
+
17079  public:
+
17083 
+
17098  template<typename BasicJsonType, detail::enable_if_t<
+
17099  std::is_same<typename std::remove_const<BasicJsonType>::type, basic_json_t>::value,
+
17100  int> = 0>
+
17101  basic_json get() const
+
17102  {
+
17103  return *this;
+
17104  }
+
17105 
+
17121  template<typename BasicJsonType, detail::enable_if_t<
+
17122  not std::is_same<BasicJsonType, basic_json>::value and
+ +
17124  BasicJsonType get() const
+
17125  {
+
17126  return *this;
+
17127  }
+
17128 
+
17168  template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
+
17169  detail::enable_if_t <
+
17170  not detail::is_basic_json<ValueType>::value and
+
17171  detail::has_from_json<basic_json_t, ValueType>::value and
+
17172  not detail::has_non_default_from_json<basic_json_t, ValueType>::value,
+
17173  int> = 0>
+
17174  ValueType get() const noexcept(noexcept(
+
17175  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
+
17176  {
+
17177  // we cannot static_assert on ValueTypeCV being non-const, because
+
17178  // there is support for get<const basic_json_t>(), which is why we
+
17179  // still need the uncvref
+
17180  static_assert(not std::is_reference<ValueTypeCV>::value,
+
17181  "get() cannot be used with reference types, you might want to use get_ref()");
+
17182  static_assert(std::is_default_constructible<ValueType>::value,
+
17183  "types must be DefaultConstructible when used with get()");
+
17184 
+
17185  ValueType ret;
+ +
17187  return ret;
+
17188  }
+
17189 
+
17221  template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
+
17222  detail::enable_if_t<not std::is_same<basic_json_t, ValueType>::value and
+
17223  detail::has_non_default_from_json<basic_json_t, ValueType>::value,
+
17224  int> = 0>
+
17225  ValueType get() const noexcept(noexcept(
+
17226  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>())))
+
17227  {
+
17228  static_assert(not std::is_reference<ValueTypeCV>::value,
+
17229  "get() cannot be used with reference types, you might want to use get_ref()");
+ +
17231  }
+
17232 
+
17266  template<typename ValueType,
+ + + +
17270  int> = 0>
+
17271  ValueType & get_to(ValueType& v) const noexcept(noexcept(
+
17272  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), v)))
+
17273  {
+ +
17275  return v;
+
17276  }
+
17277 
+
17278  template <
+
17279  typename T, std::size_t N,
+
17280  typename Array = T (&)[N],
+ + +
17283  Array get_to(T (&v)[N]) const
+
17284  noexcept(noexcept(JSONSerializer<Array>::from_json(
+
17285  std::declval<const basic_json_t&>(), v)))
+
17286  {
+ +
17288  return v;
+
17289  }
+
17290 
+
17291 
+
17318  template<typename PointerType, typename std::enable_if<
+
17319  std::is_pointer<PointerType>::value, int>::type = 0>
+
17320  auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
+
17321  {
+
17322  // delegate the call to get_impl_ptr<>()
+
17323  return get_impl_ptr(static_cast<PointerType>(nullptr));
+
17324  }
+
17325 
+
17330  template<typename PointerType, typename std::enable_if<
+
17331  std::is_pointer<PointerType>::value and
+
17332  std::is_const<typename std::remove_pointer<PointerType>::type>::value, int>::type = 0>
+
17333  constexpr auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
+
17334  {
+
17335  // delegate the call to get_impl_ptr<>() const
+
17336  return get_impl_ptr(static_cast<PointerType>(nullptr));
+
17337  }
+
17338 
+
17366  template<typename PointerType, typename std::enable_if<
+
17367  std::is_pointer<PointerType>::value, int>::type = 0>
+
17368  auto get() noexcept -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>())
+
17369  {
+
17370  // delegate the call to get_ptr
+
17371  return get_ptr<PointerType>();
+
17372  }
+
17373 
+
17378  template<typename PointerType, typename std::enable_if<
+
17379  std::is_pointer<PointerType>::value, int>::type = 0>
+
17380  constexpr auto get() const noexcept -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>())
+
17381  {
+
17382  // delegate the call to get_ptr
+
17383  return get_ptr<PointerType>();
+
17384  }
+
17385 
+
17412  template<typename ReferenceType, typename std::enable_if<
+
17413  std::is_reference<ReferenceType>::value, int>::type = 0>
+
17414  ReferenceType get_ref()
+
17415  {
+
17416  // delegate call to get_ref_impl
+
17417  return get_ref_impl<ReferenceType>(*this);
+
17418  }
+
17419 
+
17424  template<typename ReferenceType, typename std::enable_if<
+
17425  std::is_reference<ReferenceType>::value and
+
17426  std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int>::type = 0>
+
17427  ReferenceType get_ref() const
+
17428  {
+
17429  // delegate call to get_ref_impl
+
17430  return get_ref_impl<ReferenceType>(*this);
+
17431  }
+
17432 
+
17462  template < typename ValueType, typename std::enable_if <
+
17463  not std::is_pointer<ValueType>::value and
+
17464  not std::is_same<ValueType, detail::json_ref<basic_json>>::value and
+
17465  not std::is_same<ValueType, typename string_t::value_type>::value and
+ +
17467 
+
17468 #ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015
+
17469  and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
+
17470 #if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) and _MSC_VER <= 1914))
+
17471  and not std::is_same<ValueType, typename std::string_view>::value
+
17472 #endif
+
17473 #endif
+ +
17475  , int >::type = 0 >
+
17476  operator ValueType() const
+
17477  {
+
17478  // delegate the call to get<>() const
+
17479  return get<ValueType>();
+
17480  }
+
17481 
+
17483 
+
17484 
+
17486  // element access //
+
17488 
+
17492 
+ +
17520  {
+
17521  // at only works for arrays
+ +
17523  {
+
17524  JSON_TRY
+
17525  {
+
17526  return m_value.array->at(idx);
+
17527  }
+
17528  JSON_CATCH (std::out_of_range&)
+
17529  {
+
17530  // create better exception explanation
+
17531  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+
17532  }
+
17533  }
+
17534  else
+
17535  {
+
17536  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+
17537  }
+
17538  }
+
17539 
+ +
17567  {
+
17568  // at only works for arrays
+ +
17570  {
+
17571  JSON_TRY
+
17572  {
+
17573  return m_value.array->at(idx);
+
17574  }
+
17575  JSON_CATCH (std::out_of_range&)
+
17576  {
+
17577  // create better exception explanation
+
17578  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+
17579  }
+
17580  }
+
17581  else
+
17582  {
+
17583  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+
17584  }
+
17585  }
+
17586 
+
17617  reference at(const typename object_t::key_type& key)
+
17618  {
+
17619  // at only works for objects
+ +
17621  {
+
17622  JSON_TRY
+
17623  {
+
17624  return m_value.object->at(key);
+
17625  }
+
17626  JSON_CATCH (std::out_of_range&)
+
17627  {
+
17628  // create better exception explanation
+
17629  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
+
17630  }
+
17631  }
+
17632  else
+
17633  {
+
17634  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+
17635  }
+
17636  }
+
17637 
+
17668  const_reference at(const typename object_t::key_type& key) const
+
17669  {
+
17670  // at only works for objects
+ +
17672  {
+
17673  JSON_TRY
+
17674  {
+
17675  return m_value.object->at(key);
+
17676  }
+
17677  JSON_CATCH (std::out_of_range&)
+
17678  {
+
17679  // create better exception explanation
+
17680  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
+
17681  }
+
17682  }
+
17683  else
+
17684  {
+
17685  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
+
17686  }
+
17687  }
+
17688 
+ +
17715  {
+
17716  // implicitly convert null value to an empty array
+
17717  if (is_null())
+
17718  {
+
17719  m_type = value_t::array;
+
17720  m_value.array = create<array_t>();
+
17721  assert_invariant();
+
17722  }
+
17723 
+
17724  // operator[] only works for arrays
+ +
17726  {
+
17727  // fill up array with null values if given idx is outside range
+
17728  if (idx >= m_value.array->size())
+
17729  {
+
17730  m_value.array->insert(m_value.array->end(),
+
17731  idx - m_value.array->size() + 1,
+
17732  basic_json());
+
17733  }
+
17734 
+
17735  return m_value.array->operator[](idx);
+
17736  }
+
17737 
+
17738  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
+
17739  }
+
17740 
+ +
17761  {
+
17762  // const operator[] only works for arrays
+ +
17764  {
+
17765  return m_value.array->operator[](idx);
+
17766  }
+
17767 
+
17768  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
+
17769  }
+
17770 
+
17798  reference operator[](const typename object_t::key_type& key)
+
17799  {
+
17800  // implicitly convert null value to an empty object
+
17801  if (is_null())
+
17802  {
+
17803  m_type = value_t::object;
+
17804  m_value.object = create<object_t>();
+
17805  assert_invariant();
+
17806  }
+
17807 
+
17808  // operator[] only works for objects
+ +
17810  {
+
17811  return m_value.object->operator[](key);
+
17812  }
+
17813 
+
17814  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
+
17815  }
+
17816 
+
17847  const_reference operator[](const typename object_t::key_type& key) const
+
17848  {
+
17849  // const operator[] only works for objects
+ +
17851  {
+
17852  assert(m_value.object->find(key) != m_value.object->end());
+
17853  return m_value.object->find(key)->second;
+
17854  }
+
17855 
+
17856  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
+
17857  }
+
17858 
+
17886  template<typename T>
+ +
17888  reference operator[](T* key)
+
17889  {
+
17890  // implicitly convert null to object
+
17891  if (is_null())
+
17892  {
+
17893  m_type = value_t::object;
+
17894  m_value = value_t::object;
+
17895  assert_invariant();
+
17896  }
+
17897 
+
17898  // at only works for objects
+ +
17900  {
+
17901  return m_value.object->operator[](key);
+
17902  }
+
17903 
+
17904  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
+
17905  }
+
17906 
+
17937  template<typename T>
+ +
17939  const_reference operator[](T* key) const
+
17940  {
+
17941  // at only works for objects
+ +
17943  {
+
17944  assert(m_value.object->find(key) != m_value.object->end());
+
17945  return m_value.object->find(key)->second;
+
17946  }
+
17947 
+
17948  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
+
17949  }
+
17950 
+
18001  template<class ValueType, typename std::enable_if<
+
18002  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
+
18003  ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
+
18004  {
+
18005  // at only works for objects
+ +
18007  {
+
18008  // if key is found, return value and given default value otherwise
+
18009  const auto it = find(key);
+
18010  if (it != end())
+
18011  {
+
18012  return *it;
+
18013  }
+
18014 
+
18015  return default_value;
+
18016  }
+
18017 
+
18018  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
+
18019  }
+
18020 
+
18025  string_t value(const typename object_t::key_type& key, const char* default_value) const
+
18026  {
+
18027  return value(key, string_t(default_value));
+
18028  }
+
18029 
+
18073  template<class ValueType, typename std::enable_if<
+
18074  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
+
18075  ValueType value(const json_pointer& ptr, const ValueType& default_value) const
+
18076  {
+
18077  // at only works for objects
+ +
18079  {
+
18080  // if pointer resolves a value, return it or use default value
+
18081  JSON_TRY
+
18082  {
+
18083  return ptr.get_checked(this);
+
18084  }
+ +
18086  {
+
18087  return default_value;
+
18088  }
+
18089  }
+
18090 
+
18091  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
+
18092  }
+
18093 
+ +
18099  string_t value(const json_pointer& ptr, const char* default_value) const
+
18100  {
+
18101  return value(ptr, string_t(default_value));
+
18102  }
+
18103 
+ +
18130  {
+
18131  return *begin();
+
18132  }
+
18133 
+ +
18138  {
+
18139  return *cbegin();
+
18140  }
+
18141 
+ +
18174  {
+
18175  auto tmp = end();
+
18176  --tmp;
+
18177  return *tmp;
+
18178  }
+
18179 
+ +
18184  {
+
18185  auto tmp = cend();
+
18186  --tmp;
+
18187  return *tmp;
+
18188  }
+
18189 
+
18236  template<class IteratorType, typename std::enable_if<
+
18237  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
+
18238  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
+
18239  = 0>
+
18240  IteratorType erase(IteratorType pos)
+
18241  {
+
18242  // make sure iterator fits the current value
+
18243  if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))
+
18244  {
+
18245  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+
18246  }
+
18247 
+
18248  IteratorType result = end();
+
18249 
+
18250  switch (m_type)
+
18251  {
+
18252  case value_t::boolean:
+
18253  case value_t::number_float:
+ + +
18256  case value_t::string:
+
18257  {
+
18258  if (JSON_HEDLEY_UNLIKELY(not pos.m_it.primitive_iterator.is_begin()))
+
18259  {
+
18260  JSON_THROW(invalid_iterator::create(205, "iterator out of range"));
+
18261  }
+
18262 
+
18263  if (is_string())
+
18264  {
+
18265  AllocatorType<string_t> alloc;
+
18266  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
+
18267  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
+
18268  m_value.string = nullptr;
+
18269  }
+
18270 
+
18271  m_type = value_t::null;
+
18272  assert_invariant();
+
18273  break;
+
18274  }
+
18275 
+
18276  case value_t::object:
+
18277  {
+
18278  result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
+
18279  break;
+
18280  }
+
18281 
+
18282  case value_t::array:
+
18283  {
+
18284  result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
+
18285  break;
+
18286  }
+
18287 
+
18288  default:
+
18289  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+
18290  }
+
18291 
+
18292  return result;
+
18293  }
+
18294 
+
18341  template<class IteratorType, typename std::enable_if<
+
18342  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
+
18343  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
+
18344  = 0>
+
18345  IteratorType erase(IteratorType first, IteratorType last)
+
18346  {
+
18347  // make sure iterator fits the current value
+
18348  if (JSON_HEDLEY_UNLIKELY(this != first.m_object or this != last.m_object))
+
18349  {
+
18350  JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value"));
+
18351  }
+
18352 
+
18353  IteratorType result = end();
+
18354 
+
18355  switch (m_type)
+
18356  {
+
18357  case value_t::boolean:
+
18358  case value_t::number_float:
+ + +
18361  case value_t::string:
+
18362  {
+
18363  if (JSON_HEDLEY_LIKELY(not first.m_it.primitive_iterator.is_begin()
+
18364  or not last.m_it.primitive_iterator.is_end()))
+
18365  {
+
18366  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
+
18367  }
+
18368 
+
18369  if (is_string())
+
18370  {
+
18371  AllocatorType<string_t> alloc;
+
18372  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
+
18373  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
+
18374  m_value.string = nullptr;
+
18375  }
+
18376 
+
18377  m_type = value_t::null;
+
18378  assert_invariant();
+
18379  break;
+
18380  }
+
18381 
+
18382  case value_t::object:
+
18383  {
+
18384  result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
+
18385  last.m_it.object_iterator);
+
18386  break;
+
18387  }
+
18388 
+
18389  case value_t::array:
+
18390  {
+
18391  result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
+
18392  last.m_it.array_iterator);
+
18393  break;
+
18394  }
+
18395 
+
18396  default:
+
18397  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+
18398  }
+
18399 
+
18400  return result;
+
18401  }
+
18402 
+
18432  size_type erase(const typename object_t::key_type& key)
+
18433  {
+
18434  // this erase only works for objects
+ +
18436  {
+
18437  return m_value.object->erase(key);
+
18438  }
+
18439 
+
18440  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+
18441  }
+
18442 
+
18467  void erase(const size_type idx)
+
18468  {
+
18469  // this erase only works for arrays
+ +
18471  {
+
18472  if (JSON_HEDLEY_UNLIKELY(idx >= size()))
+
18473  {
+
18474  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+
18475  }
+
18476 
+
18477  m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
+
18478  }
+
18479  else
+
18480  {
+
18481  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
+
18482  }
+
18483  }
+
18484 
+
18486 
+
18487 
+
18489  // lookup //
+
18491 
+
18494 
+
18519  template<typename KeyT>
+
18520  iterator find(KeyT&& key)
+
18521  {
+
18522  auto result = end();
+
18523 
+
18524  if (is_object())
+
18525  {
+
18526  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
+
18527  }
+
18528 
+
18529  return result;
+
18530  }
+
18531 
+
18536  template<typename KeyT>
+
18537  const_iterator find(KeyT&& key) const
+
18538  {
+
18539  auto result = cend();
+
18540 
+
18541  if (is_object())
+
18542  {
+
18543  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
+
18544  }
+
18545 
+
18546  return result;
+
18547  }
+
18548 
+
18570  template<typename KeyT>
+
18571  size_type count(KeyT&& key) const
+
18572  {
+
18573  // return 0 for all nonobject types
+
18574  return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
+
18575  }
+
18576 
+
18602  template<typename KeyT, typename std::enable_if<
+
18603  not std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int>::type = 0>
+
18604  bool contains(KeyT && key) const
+
18605  {
+
18606  return is_object() and m_value.object->find(std::forward<KeyT>(key)) != m_value.object->end();
+
18607  }
+
18608 
+
18635  bool contains(const json_pointer& ptr) const
+
18636  {
+
18637  return ptr.contains(this);
+
18638  }
+
18639 
+
18641 
+
18642 
+
18644  // iterators //
+
18646 
+
18649 
+
18674  iterator begin() noexcept
+
18675  {
+
18676  iterator result(this);
+
18677  result.set_begin();
+
18678  return result;
+
18679  }
+
18680 
+
18684  const_iterator begin() const noexcept
+
18685  {
+
18686  return cbegin();
+
18687  }
+
18688 
+
18714  const_iterator cbegin() const noexcept
+
18715  {
+
18716  const_iterator result(this);
+
18717  result.set_begin();
+
18718  return result;
+
18719  }
+
18720 
+
18745  iterator end() noexcept
+
18746  {
+
18747  iterator result(this);
+
18748  result.set_end();
+
18749  return result;
+
18750  }
+
18751 
+
18755  const_iterator end() const noexcept
+
18756  {
+
18757  return cend();
+
18758  }
+
18759 
+
18785  const_iterator cend() const noexcept
+
18786  {
+
18787  const_iterator result(this);
+
18788  result.set_end();
+
18789  return result;
+
18790  }
+
18791 
+ +
18816  {
+
18817  return reverse_iterator(end());
+
18818  }
+
18819 
+ +
18824  {
+
18825  return crbegin();
+
18826  }
+
18827 
+ +
18853  {
+
18854  return reverse_iterator(begin());
+
18855  }
+
18856 
+
18860  const_reverse_iterator rend() const noexcept
+
18861  {
+
18862  return crend();
+
18863  }
+
18864 
+ +
18890  {
+
18891  return const_reverse_iterator(cend());
+
18892  }
+
18893 
+ +
18919  {
+
18920  return const_reverse_iterator(cbegin());
+
18921  }
+
18922 
+
18923  public:
+
18981  JSON_HEDLEY_DEPRECATED(3.1.0)
+ +
18983  {
+
18984  return ref.items();
+
18985  }
+
18986 
+
18990  JSON_HEDLEY_DEPRECATED(3.1.0)
+ +
18992  {
+
18993  return ref.items();
+
18994  }
+
18995 
+ +
19060  {
+
19061  return iteration_proxy<iterator>(*this);
+
19062  }
+
19063 
+ +
19068  {
+
19069  return iteration_proxy<const_iterator>(*this);
+
19070  }
+
19071 
+
19073 
+
19074 
+
19076  // capacity //
+
19078 
+
19081 
+
19123  bool empty() const noexcept
+
19124  {
+
19125  switch (m_type)
+
19126  {
+
19127  case value_t::null:
+
19128  {
+
19129  // null values are empty
+
19130  return true;
+
19131  }
+
19132 
+
19133  case value_t::array:
+
19134  {
+
19135  // delegate call to array_t::empty()
+
19136  return m_value.array->empty();
+
19137  }
+
19138 
+
19139  case value_t::object:
+
19140  {
+
19141  // delegate call to object_t::empty()
+
19142  return m_value.object->empty();
+
19143  }
+
19144 
+
19145  default:
+
19146  {
+
19147  // all other types are nonempty
+
19148  return false;
+
19149  }
+
19150  }
+
19151  }
+
19152 
+
19195  size_type size() const noexcept
+
19196  {
+
19197  switch (m_type)
+
19198  {
+
19199  case value_t::null:
+
19200  {
+
19201  // null values are empty
+
19202  return 0;
+
19203  }
+
19204 
+
19205  case value_t::array:
+
19206  {
+
19207  // delegate call to array_t::size()
+
19208  return m_value.array->size();
+
19209  }
+
19210 
+
19211  case value_t::object:
+
19212  {
+
19213  // delegate call to object_t::size()
+
19214  return m_value.object->size();
+
19215  }
+
19216 
+
19217  default:
+
19218  {
+
19219  // all other types have size 1
+
19220  return 1;
+
19221  }
+
19222  }
+
19223  }
+
19224 
+
19265  size_type max_size() const noexcept
+
19266  {
+
19267  switch (m_type)
+
19268  {
+
19269  case value_t::array:
+
19270  {
+
19271  // delegate call to array_t::max_size()
+
19272  return m_value.array->max_size();
+
19273  }
+
19274 
+
19275  case value_t::object:
+
19276  {
+
19277  // delegate call to object_t::max_size()
+
19278  return m_value.object->max_size();
+
19279  }
+
19280 
+
19281  default:
+
19282  {
+
19283  // all other types have max_size() == size()
+
19284  return size();
+
19285  }
+
19286  }
+
19287  }
+
19288 
+
19290 
+
19291 
+
19293  // modifiers //
+
19295 
+
19298 
+
19335  void clear() noexcept
+
19336  {
+
19337  switch (m_type)
+
19338  {
+ +
19340  {
+
19341  m_value.number_integer = 0;
+
19342  break;
+
19343  }
+
19344 
+ +
19346  {
+
19347  m_value.number_unsigned = 0;
+
19348  break;
+
19349  }
+
19350 
+
19351  case value_t::number_float:
+
19352  {
+
19353  m_value.number_float = 0.0;
+
19354  break;
+
19355  }
+
19356 
+
19357  case value_t::boolean:
+
19358  {
+
19359  m_value.boolean = false;
+
19360  break;
+
19361  }
+
19362 
+
19363  case value_t::string:
+
19364  {
+
19365  m_value.string->clear();
+
19366  break;
+
19367  }
+
19368 
+
19369  case value_t::array:
+
19370  {
+
19371  m_value.array->clear();
+
19372  break;
+
19373  }
+
19374 
+
19375  case value_t::object:
+
19376  {
+
19377  m_value.object->clear();
+
19378  break;
+
19379  }
+
19380 
+
19381  default:
+
19382  break;
+
19383  }
+
19384  }
+
19385 
+
19406  void push_back(basic_json&& val)
+
19407  {
+
19408  // push_back only works for null objects or arrays
+
19409  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
+
19410  {
+
19411  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+
19412  }
+
19413 
+
19414  // transform null object into an array
+
19415  if (is_null())
+
19416  {
+
19417  m_type = value_t::array;
+
19418  m_value = value_t::array;
+
19419  assert_invariant();
+
19420  }
+
19421 
+
19422  // add element to array (move semantics)
+
19423  m_value.array->push_back(std::move(val));
+
19424  // invalidate object: mark it null so we do not call the destructor
+
19425  // cppcheck-suppress accessMoved
+
19426  val.m_type = value_t::null;
+
19427  }
+
19428 
+ +
19434  {
+
19435  push_back(std::move(val));
+
19436  return *this;
+
19437  }
+
19438 
+
19443  void push_back(const basic_json& val)
+
19444  {
+
19445  // push_back only works for null objects or arrays
+
19446  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
+
19447  {
+
19448  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+
19449  }
+
19450 
+
19451  // transform null object into an array
+
19452  if (is_null())
+
19453  {
+
19454  m_type = value_t::array;
+
19455  m_value = value_t::array;
+
19456  assert_invariant();
+
19457  }
+
19458 
+
19459  // add element to array
+
19460  m_value.array->push_back(val);
+
19461  }
+
19462 
+ +
19468  {
+
19469  push_back(val);
+
19470  return *this;
+
19471  }
+
19472 
+
19493  void push_back(const typename object_t::value_type& val)
+
19494  {
+
19495  // push_back only works for null objects or objects
+
19496  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object())))
+
19497  {
+
19498  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
+
19499  }
+
19500 
+
19501  // transform null object into an object
+
19502  if (is_null())
+
19503  {
+
19504  m_type = value_t::object;
+
19505  m_value = value_t::object;
+
19506  assert_invariant();
+
19507  }
+
19508 
+
19509  // add element to array
+
19510  m_value.object->insert(val);
+
19511  }
+
19512 
+
19517  reference operator+=(const typename object_t::value_type& val)
+
19518  {
+
19519  push_back(val);
+
19520  return *this;
+
19521  }
+
19522 
+ +
19549  {
+
19550  if (is_object() and init.size() == 2 and (*init.begin())->is_string())
+
19551  {
+
19552  basic_json&& key = init.begin()->moved_or_copied();
+
19553  push_back(typename object_t::value_type(
+
19554  std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
+
19555  }
+
19556  else
+
19557  {
+
19558  push_back(basic_json(init));
+
19559  }
+
19560  }
+
19561 
+ +
19567  {
+
19568  push_back(init);
+
19569  return *this;
+
19570  }
+
19571 
+
19595  template<class... Args>
+
19596  reference emplace_back(Args&& ... args)
+
19597  {
+
19598  // emplace_back only works for null objects or arrays
+
19599  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
+
19600  {
+
19601  JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name())));
+
19602  }
+
19603 
+
19604  // transform null object into an array
+
19605  if (is_null())
+
19606  {
+
19607  m_type = value_t::array;
+
19608  m_value = value_t::array;
+
19609  assert_invariant();
+
19610  }
+
19611 
+
19612  // add element to array (perfect forwarding)
+
19613 #ifdef JSON_HAS_CPP_17
+
19614  return m_value.array->emplace_back(std::forward<Args>(args)...);
+
19615 #else
+
19616  m_value.array->emplace_back(std::forward<Args>(args)...);
+
19617  return m_value.array->back();
+
19618 #endif
+
19619  }
+
19620 
+
19648  template<class... Args>
+
19649  std::pair<iterator, bool> emplace(Args&& ... args)
+
19650  {
+
19651  // emplace only works for null objects or arrays
+
19652  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object())))
+
19653  {
+
19654  JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name())));
+
19655  }
+
19656 
+
19657  // transform null object into an object
+
19658  if (is_null())
+
19659  {
+
19660  m_type = value_t::object;
+
19661  m_value = value_t::object;
+
19662  assert_invariant();
+
19663  }
+
19664 
+
19665  // add element to array (perfect forwarding)
+
19666  auto res = m_value.object->emplace(std::forward<Args>(args)...);
+
19667  // create result iterator and set iterator to the result of emplace
+
19668  auto it = begin();
+
19669  it.m_it.object_iterator = res.first;
+
19670 
+
19671  // return pair of iterator and boolean
+
19672  return {it, res.second};
+
19673  }
+
19674 
+
19678  template<typename... Args>
+ +
19680  {
+
19681  iterator result(this);
+
19682  assert(m_value.array != nullptr);
+
19683 
+
19684  auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
+
19685  m_value.array->insert(pos.m_it.array_iterator, std::forward<Args>(args)...);
+
19686  result.m_it.array_iterator = m_value.array->begin() + insert_pos;
+
19687 
+
19688  // This could have been written as:
+
19689  // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
+
19690  // but the return value of insert is missing in GCC 4.8, so it is written this way instead.
+
19691 
+
19692  return result;
+
19693  }
+
19694 
+ +
19718  {
+
19719  // insert only works for arrays
+ +
19721  {
+
19722  // check if iterator pos fits to this JSON value
+
19723  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
+
19724  {
+
19725  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+
19726  }
+
19727 
+
19728  // insert to array and return iterator
+
19729  return insert_iterator(pos, val);
+
19730  }
+
19731 
+
19732  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+
19733  }
+
19734 
+ +
19740  {
+
19741  return insert(pos, val);
+
19742  }
+
19743 
+ +
19769  {
+
19770  // insert only works for arrays
+ +
19772  {
+
19773  // check if iterator pos fits to this JSON value
+
19774  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
+
19775  {
+
19776  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+
19777  }
+
19778 
+
19779  // insert to array and return iterator
+
19780  return insert_iterator(pos, cnt, val);
+
19781  }
+
19782 
+
19783  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+
19784  }
+
19785 
+ +
19817  {
+
19818  // insert only works for arrays
+
19819  if (JSON_HEDLEY_UNLIKELY(not is_array()))
+
19820  {
+
19821  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+
19822  }
+
19823 
+
19824  // check if iterator pos fits to this JSON value
+
19825  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
+
19826  {
+
19827  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+
19828  }
+
19829 
+
19830  // check if range iterators belong to the same JSON object
+
19831  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
+
19832  {
+
19833  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+
19834  }
+
19835 
+
19836  if (JSON_HEDLEY_UNLIKELY(first.m_object == this))
+
19837  {
+
19838  JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container"));
+
19839  }
+
19840 
+
19841  // insert to array and return iterator
+
19842  return insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator);
+
19843  }
+
19844 
+ +
19870  {
+
19871  // insert only works for arrays
+
19872  if (JSON_HEDLEY_UNLIKELY(not is_array()))
+
19873  {
+
19874  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+
19875  }
+
19876 
+
19877  // check if iterator pos fits to this JSON value
+
19878  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
+
19879  {
+
19880  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
+
19881  }
+
19882 
+
19883  // insert to array and return iterator
+
19884  return insert_iterator(pos, ilist.begin(), ilist.end());
+
19885  }
+
19886 
+ +
19911  {
+
19912  // insert only works for objects
+
19913  if (JSON_HEDLEY_UNLIKELY(not is_object()))
+
19914  {
+
19915  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
+
19916  }
+
19917 
+
19918  // check if range iterators belong to the same JSON object
+
19919  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
+
19920  {
+
19921  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+
19922  }
+
19923 
+
19924  // passed iterators must belong to objects
+
19925  if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object()))
+
19926  {
+
19927  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
+
19928  }
+
19929 
+
19930  m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
+
19931  }
+
19932 
+ +
19953  {
+
19954  // implicitly convert null value to an empty object
+
19955  if (is_null())
+
19956  {
+
19957  m_type = value_t::object;
+
19958  m_value.object = create<object_t>();
+
19959  assert_invariant();
+
19960  }
+
19961 
+
19962  if (JSON_HEDLEY_UNLIKELY(not is_object()))
+
19963  {
+
19964  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
+
19965  }
+
19966  if (JSON_HEDLEY_UNLIKELY(not j.is_object()))
+
19967  {
+
19968  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name())));
+
19969  }
+
19970 
+
19971  for (auto it = j.cbegin(); it != j.cend(); ++it)
+
19972  {
+
19973  m_value.object->operator[](it.key()) = it.value();
+
19974  }
+
19975  }
+
19976 
+ +
20004  {
+
20005  // implicitly convert null value to an empty object
+
20006  if (is_null())
+
20007  {
+
20008  m_type = value_t::object;
+
20009  m_value.object = create<object_t>();
+
20010  assert_invariant();
+
20011  }
+
20012 
+
20013  if (JSON_HEDLEY_UNLIKELY(not is_object()))
+
20014  {
+
20015  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
+
20016  }
+
20017 
+
20018  // check if range iterators belong to the same JSON object
+
20019  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
+
20020  {
+
20021  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
+
20022  }
+
20023 
+
20024  // passed iterators must belong to objects
+
20025  if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object()
+
20026  or not last.m_object->is_object()))
+
20027  {
+
20028  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
+
20029  }
+
20030 
+
20031  for (auto it = first; it != last; ++it)
+
20032  {
+
20033  m_value.object->operator[](it.key()) = it.value();
+
20034  }
+
20035  }
+
20036 
+
20054  void swap(reference other) noexcept (
+
20055  std::is_nothrow_move_constructible<value_t>::value and
+
20056  std::is_nothrow_move_assignable<value_t>::value and
+
20057  std::is_nothrow_move_constructible<json_value>::value and
+
20058  std::is_nothrow_move_assignable<json_value>::value
+
20059  )
+
20060  {
+
20061  std::swap(m_type, other.m_type);
+
20062  std::swap(m_value, other.m_value);
+
20063  assert_invariant();
+
20064  }
+
20065 
+
20086  void swap(array_t& other)
+
20087  {
+
20088  // swap only works for arrays
+ +
20090  {
+
20091  std::swap(*(m_value.array), other);
+
20092  }
+
20093  else
+
20094  {
+
20095  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+
20096  }
+
20097  }
+
20098 
+
20119  void swap(object_t& other)
+
20120  {
+
20121  // swap only works for objects
+ +
20123  {
+
20124  std::swap(*(m_value.object), other);
+
20125  }
+
20126  else
+
20127  {
+
20128  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+
20129  }
+
20130  }
+
20131 
+
20152  void swap(string_t& other)
+
20153  {
+
20154  // swap only works for strings
+ +
20156  {
+
20157  std::swap(*(m_value.string), other);
+
20158  }
+
20159  else
+
20160  {
+
20161  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
+
20162  }
+
20163  }
+
20164 
+
20166 
+
20167  public:
+
20169  // lexicographical comparison operators //
+
20171 
+
20174 
+
20214  friend bool operator==(const_reference lhs, const_reference rhs) noexcept
+
20215  {
+
20216  const auto lhs_type = lhs.type();
+
20217  const auto rhs_type = rhs.type();
+
20218 
+
20219  if (lhs_type == rhs_type)
+
20220  {
+
20221  switch (lhs_type)
+
20222  {
+
20223  case value_t::array:
+
20224  return *lhs.m_value.array == *rhs.m_value.array;
+
20225 
+
20226  case value_t::object:
+
20227  return *lhs.m_value.object == *rhs.m_value.object;
+
20228 
+
20229  case value_t::null:
+
20230  return true;
+
20231 
+
20232  case value_t::string:
+
20233  return *lhs.m_value.string == *rhs.m_value.string;
+
20234 
+
20235  case value_t::boolean:
+
20236  return lhs.m_value.boolean == rhs.m_value.boolean;
+
20237 
+ +
20239  return lhs.m_value.number_integer == rhs.m_value.number_integer;
+
20240 
+ +
20242  return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;
+
20243 
+
20244  case value_t::number_float:
+
20245  return lhs.m_value.number_float == rhs.m_value.number_float;
+
20246 
+
20247  default:
+
20248  return false;
+
20249  }
+
20250  }
+
20251  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
+
20252  {
+
20253  return static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float;
+
20254  }
+
20255  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
+
20256  {
+
20257  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer);
+
20258  }
+
20259  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
+
20260  {
+
20261  return static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;
+
20262  }
+
20263  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
+
20264  {
+
20265  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned);
+
20266  }
+
20267  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
+
20268  {
+
20269  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;
+
20270  }
+
20271  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
+
20272  {
+
20273  return lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned);
+
20274  }
+
20275 
+
20276  return false;
+
20277  }
+
20278 
+
20283  template<typename ScalarType, typename std::enable_if<
+
20284  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20285  friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
+
20286  {
+
20287  return lhs == basic_json(rhs);
+
20288  }
+
20289 
+
20294  template<typename ScalarType, typename std::enable_if<
+
20295  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20296  friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
+
20297  {
+
20298  return basic_json(lhs) == rhs;
+
20299  }
+
20300 
+
20319  friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
+
20320  {
+
20321  return not (lhs == rhs);
+
20322  }
+
20323 
+
20328  template<typename ScalarType, typename std::enable_if<
+
20329  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20330  friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
+
20331  {
+
20332  return lhs != basic_json(rhs);
+
20333  }
+
20334 
+
20339  template<typename ScalarType, typename std::enable_if<
+
20340  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20341  friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
+
20342  {
+
20343  return basic_json(lhs) != rhs;
+
20344  }
+
20345 
+
20372  friend bool operator<(const_reference lhs, const_reference rhs) noexcept
+
20373  {
+
20374  const auto lhs_type = lhs.type();
+
20375  const auto rhs_type = rhs.type();
+
20376 
+
20377  if (lhs_type == rhs_type)
+
20378  {
+
20379  switch (lhs_type)
+
20380  {
+
20381  case value_t::array:
+
20382  // note parentheses are necessary, see
+
20383  // https://github.com/nlohmann/json/issues/1530
+
20384  return (*lhs.m_value.array) < (*rhs.m_value.array);
+
20385 
+
20386  case value_t::object:
+
20387  return (*lhs.m_value.object) < (*rhs.m_value.object);
+
20388 
+
20389  case value_t::null:
+
20390  return false;
+
20391 
+
20392  case value_t::string:
+
20393  return (*lhs.m_value.string) < (*rhs.m_value.string);
+
20394 
+
20395  case value_t::boolean:
+
20396  return (lhs.m_value.boolean) < (rhs.m_value.boolean);
+
20397 
+ +
20399  return (lhs.m_value.number_integer) < (rhs.m_value.number_integer);
+
20400 
+ +
20402  return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned);
+
20403 
+
20404  case value_t::number_float:
+
20405  return (lhs.m_value.number_float) < (rhs.m_value.number_float);
+
20406 
+
20407  default:
+
20408  return false;
+
20409  }
+
20410  }
+
20411  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
+
20412  {
+
20413  return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
+
20414  }
+
20415  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
+
20416  {
+
20417  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
+
20418  }
+
20419  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
+
20420  {
+
20421  return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
+
20422  }
+
20423  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
+
20424  {
+
20425  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
+
20426  }
+
20427  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
+
20428  {
+
20429  return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
+
20430  }
+
20431  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
+
20432  {
+
20433  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
+
20434  }
+
20435 
+
20436  // We only reach this line if we cannot compare values. In that case,
+
20437  // we compare types. Note we have to call the operator explicitly,
+
20438  // because MSVC has problems otherwise.
+
20439  return operator<(lhs_type, rhs_type);
+
20440  }
+
20441 
+
20446  template<typename ScalarType, typename std::enable_if<
+
20447  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20448  friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
+
20449  {
+
20450  return lhs < basic_json(rhs);
+
20451  }
+
20452 
+
20457  template<typename ScalarType, typename std::enable_if<
+
20458  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20459  friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
+
20460  {
+
20461  return basic_json(lhs) < rhs;
+
20462  }
+
20463 
+
20483  friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
+
20484  {
+
20485  return not (rhs < lhs);
+
20486  }
+
20487 
+
20492  template<typename ScalarType, typename std::enable_if<
+
20493  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20494  friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
+
20495  {
+
20496  return lhs <= basic_json(rhs);
+
20497  }
+
20498 
+
20503  template<typename ScalarType, typename std::enable_if<
+
20504  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20505  friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
+
20506  {
+
20507  return basic_json(lhs) <= rhs;
+
20508  }
+
20509 
+
20529  friend bool operator>(const_reference lhs, const_reference rhs) noexcept
+
20530  {
+
20531  return not (lhs <= rhs);
+
20532  }
+
20533 
+
20538  template<typename ScalarType, typename std::enable_if<
+
20539  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20540  friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
+
20541  {
+
20542  return lhs > basic_json(rhs);
+
20543  }
+
20544 
+
20549  template<typename ScalarType, typename std::enable_if<
+
20550  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20551  friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
+
20552  {
+
20553  return basic_json(lhs) > rhs;
+
20554  }
+
20555 
+
20575  friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
+
20576  {
+
20577  return not (lhs < rhs);
+
20578  }
+
20579 
+
20584  template<typename ScalarType, typename std::enable_if<
+
20585  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20586  friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
+
20587  {
+
20588  return lhs >= basic_json(rhs);
+
20589  }
+
20590 
+
20595  template<typename ScalarType, typename std::enable_if<
+
20596  std::is_scalar<ScalarType>::value, int>::type = 0>
+
20597  friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
+
20598  {
+
20599  return basic_json(lhs) >= rhs;
+
20600  }
+
20601 
+
20603 
+
20605  // serialization //
+
20607 
+
20610 
+
20642  friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
+
20643  {
+
20644  // read width member and use it as indentation parameter if nonzero
+
20645  const bool pretty_print = o.width() > 0;
+
20646  const auto indentation = pretty_print ? o.width() : 0;
+
20647 
+
20648  // reset width to 0 for subsequent calls to this stream
+
20649  o.width(0);
+
20650 
+
20651  // do the actual serialization
+
20652  serializer s(detail::output_adapter<char>(o), o.fill());
+
20653  s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
+
20654  return o;
+
20655  }
+
20656 
+
20665  JSON_HEDLEY_DEPRECATED(3.0.0)
+
20666  friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
+
20667  {
+
20668  return o << j;
+
20669  }
+
20670 
+
20672 
+
20673 
+
20675  // deserialization //
+
20677 
+
20680 
+ + +
20746  const parser_callback_t cb = nullptr,
+
20747  const bool allow_exceptions = true)
+
20748  {
+
20749  basic_json result;
+
20750  parser(i, cb, allow_exceptions).parse(true, result);
+
20751  return result;
+
20752  }
+
20753 
+ +
20755  {
+
20756  return parser(i).accept(true);
+
20757  }
+
20758 
+
20812  template <typename SAX>
+ +
20814  static bool sax_parse(detail::input_adapter&& i, SAX* sax,
+ +
20816  const bool strict = true)
+
20817  {
+
20818  assert(sax);
+
20819  return format == input_format_t::json
+
20820  ? parser(std::move(i)).sax_parse(sax, strict)
+
20821  : detail::binary_reader<basic_json, SAX>(std::move(i)).sax_parse(format, sax, strict);
+
20822  }
+
20823 
+
20873  template<class IteratorType, typename std::enable_if<
+
20874  std::is_base_of<
+
20875  std::random_access_iterator_tag,
+
20876  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
+
20877  static basic_json parse(IteratorType first, IteratorType last,
+
20878  const parser_callback_t cb = nullptr,
+
20879  const bool allow_exceptions = true)
+
20880  {
+
20881  basic_json result;
+
20882  parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result);
+
20883  return result;
+
20884  }
+
20885 
+
20886  template<class IteratorType, typename std::enable_if<
+
20887  std::is_base_of<
+
20888  std::random_access_iterator_tag,
+
20889  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
+
20890  static bool accept(IteratorType first, IteratorType last)
+
20891  {
+
20892  return parser(detail::input_adapter(first, last)).accept(true);
+
20893  }
+
20894 
+
20895  template<class IteratorType, class SAX, typename std::enable_if<
+
20896  std::is_base_of<
+
20897  std::random_access_iterator_tag,
+
20898  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
+ +
20900  static bool sax_parse(IteratorType first, IteratorType last, SAX* sax)
+
20901  {
+
20902  return parser(detail::input_adapter(first, last)).sax_parse(sax);
+
20903  }
+
20904 
+
20913  JSON_HEDLEY_DEPRECATED(3.0.0)
+
20914  friend std::istream& operator<<(basic_json& j, std::istream& i)
+
20915  {
+
20916  return operator>>(i, j);
+
20917  }
+
20918 
+
20944  friend std::istream& operator>>(std::istream& i, basic_json& j)
+
20945  {
+
20946  parser(detail::input_adapter(i)).parse(false, j);
+
20947  return i;
+
20948  }
+
20949 
+
20951 
+
20953  // convenience functions //
+
20955 
+ +
20987  const char* type_name() const noexcept
+
20988  {
+
20989  {
+
20990  switch (m_type)
+
20991  {
+
20992  case value_t::null:
+
20993  return "null";
+
20994  case value_t::object:
+
20995  return "object";
+
20996  case value_t::array:
+
20997  return "array";
+
20998  case value_t::string:
+
20999  return "string";
+
21000  case value_t::boolean:
+
21001  return "boolean";
+
21002  case value_t::discarded:
+
21003  return "discarded";
+
21004  default:
+
21005  return "number";
+
21006  }
+
21007  }
+
21008  }
+
21009 
+
21010 
+
21011  private:
+
21013  // member variables //
+
21015 
+
21017  value_t m_type = value_t::null;
+
21018 
+
21020  json_value m_value = {};
+
21021 
+
21023  // binary serialization/deserialization //
+
21025 
+
21028 
+
21029  public:
+
21118  static std::vector<uint8_t> to_cbor(const basic_json& j)
+
21119  {
+
21120  std::vector<uint8_t> result;
+
21121  to_cbor(j, result);
+
21122  return result;
+
21123  }
+
21124 
+ +
21126  {
+ +
21128  }
+
21129 
+ +
21131  {
+ +
21133  }
+
21134 
+
21214  static std::vector<uint8_t> to_msgpack(const basic_json& j)
+
21215  {
+
21216  std::vector<uint8_t> result;
+
21217  to_msgpack(j, result);
+
21218  return result;
+
21219  }
+
21220 
+ +
21222  {
+ +
21224  }
+
21225 
+ +
21227  {
+ +
21229  }
+
21230 
+
21311  static std::vector<uint8_t> to_ubjson(const basic_json& j,
+
21312  const bool use_size = false,
+
21313  const bool use_type = false)
+
21314  {
+
21315  std::vector<uint8_t> result;
+
21316  to_ubjson(j, result, use_size, use_type);
+
21317  return result;
+
21318  }
+
21319 
+ +
21321  const bool use_size = false, const bool use_type = false)
+
21322  {
+
21323  binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
+
21324  }
+
21325 
+ +
21327  const bool use_size = false, const bool use_type = false)
+
21328  {
+
21329  binary_writer<char>(o).write_ubjson(j, use_size, use_type);
+
21330  }
+
21331 
+
21332 
+
21388  static std::vector<uint8_t> to_bson(const basic_json& j)
+
21389  {
+
21390  std::vector<uint8_t> result;
+
21391  to_bson(j, result);
+
21392  return result;
+
21393  }
+
21394 
+ +
21404  {
+ +
21406  }
+
21407 
+ +
21412  {
+ +
21414  }
+
21415 
+
21416 
+ + +
21518  const bool strict = true,
+
21519  const bool allow_exceptions = true)
+
21520  {
+
21521  basic_json result;
+
21522  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21523  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::cbor, &sdp, strict);
+
21524  return res ? result : basic_json(value_t::discarded);
+
21525  }
+
21526 
+
21530  template<typename A1, typename A2,
+ + +
21533  static basic_json from_cbor(A1 && a1, A2 && a2,
+
21534  const bool strict = true,
+
21535  const bool allow_exceptions = true)
+
21536  {
+
21537  basic_json result;
+
21538  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21539  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::cbor, &sdp, strict);
+
21540  return res ? result : basic_json(value_t::discarded);
+
21541  }
+
21542 
+ + +
21627  const bool strict = true,
+
21628  const bool allow_exceptions = true)
+
21629  {
+
21630  basic_json result;
+
21631  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21632  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::msgpack, &sdp, strict);
+
21633  return res ? result : basic_json(value_t::discarded);
+
21634  }
+
21635 
+
21639  template<typename A1, typename A2,
+ + +
21642  static basic_json from_msgpack(A1 && a1, A2 && a2,
+
21643  const bool strict = true,
+
21644  const bool allow_exceptions = true)
+
21645  {
+
21646  basic_json result;
+
21647  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21648  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::msgpack, &sdp, strict);
+
21649  return res ? result : basic_json(value_t::discarded);
+
21650  }
+
21651 
+ + +
21715  const bool strict = true,
+
21716  const bool allow_exceptions = true)
+
21717  {
+
21718  basic_json result;
+
21719  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21720  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::ubjson, &sdp, strict);
+
21721  return res ? result : basic_json(value_t::discarded);
+
21722  }
+
21723 
+
21727  template<typename A1, typename A2,
+ + +
21730  static basic_json from_ubjson(A1 && a1, A2 && a2,
+
21731  const bool strict = true,
+
21732  const bool allow_exceptions = true)
+
21733  {
+
21734  basic_json result;
+
21735  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21736  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::ubjson, &sdp, strict);
+
21737  return res ? result : basic_json(value_t::discarded);
+
21738  }
+
21739 
+ + +
21802  const bool strict = true,
+
21803  const bool allow_exceptions = true)
+
21804  {
+
21805  basic_json result;
+
21806  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21807  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::bson, &sdp, strict);
+
21808  return res ? result : basic_json(value_t::discarded);
+
21809  }
+
21810 
+
21814  template<typename A1, typename A2,
+ + +
21817  static basic_json from_bson(A1 && a1, A2 && a2,
+
21818  const bool strict = true,
+
21819  const bool allow_exceptions = true)
+
21820  {
+
21821  basic_json result;
+
21822  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
+
21823  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::bson, &sdp, strict);
+
21824  return res ? result : basic_json(value_t::discarded);
+
21825  }
+
21826 
+
21827 
+
21828 
+
21830 
+
21832  // JSON Pointer support //
+
21834 
+
21837 
+ +
21872  {
+
21873  return ptr.get_unchecked(this);
+
21874  }
+
21875 
+ +
21900  {
+
21901  return ptr.get_unchecked(this);
+
21902  }
+
21903 
+ +
21943  {
+
21944  return ptr.get_checked(this);
+
21945  }
+
21946 
+
21985  const_reference at(const json_pointer& ptr) const
+
21986  {
+
21987  return ptr.get_checked(this);
+
21988  }
+
21989 
+ +
22013  {
+
22014  basic_json result(value_t::object);
+
22015  json_pointer::flatten("", *this, result);
+
22016  return result;
+
22017  }
+
22018 
+ +
22050  {
+
22051  return json_pointer::unflatten(*this);
+
22052  }
+
22053 
+
22055 
+
22057  // JSON Patch functions //
+
22059 
+
22062 
+
22110  basic_json patch(const basic_json& json_patch) const
+
22111  {
+
22112  // make a working copy to apply the patch to
+
22113  basic_json result = *this;
+
22114 
+
22115  // the valid JSON Patch operations
+
22116  enum class patch_operations {add, remove, replace, move, copy, test, invalid};
+
22117 
+
22118  const auto get_op = [](const std::string & op)
+
22119  {
+
22120  if (op == "add")
+
22121  {
+
22122  return patch_operations::add;
+
22123  }
+
22124  if (op == "remove")
+
22125  {
+
22126  return patch_operations::remove;
+
22127  }
+
22128  if (op == "replace")
+
22129  {
+
22130  return patch_operations::replace;
+
22131  }
+
22132  if (op == "move")
+
22133  {
+
22134  return patch_operations::move;
+
22135  }
+
22136  if (op == "copy")
+
22137  {
+
22138  return patch_operations::copy;
+
22139  }
+
22140  if (op == "test")
+
22141  {
+
22142  return patch_operations::test;
+
22143  }
+
22144 
+
22145  return patch_operations::invalid;
+
22146  };
+
22147 
+
22148  // wrapper for "add" operation; add value at ptr
+
22149  const auto operation_add = [&result](json_pointer & ptr, basic_json val)
+
22150  {
+
22151  // adding to the root of the target document means replacing it
+
22152  if (ptr.empty())
+
22153  {
+
22154  result = val;
+
22155  return;
+
22156  }
+
22157 
+
22158  // make sure the top element of the pointer exists
+
22159  json_pointer top_pointer = ptr.top();
+
22160  if (top_pointer != ptr)
+
22161  {
+
22162  result.at(top_pointer);
+
22163  }
+
22164 
+
22165  // get reference to parent of JSON pointer ptr
+
22166  const auto last_path = ptr.back();
+
22167  ptr.pop_back();
+
22168  basic_json& parent = result[ptr];
+
22169 
+
22170  switch (parent.m_type)
+
22171  {
+
22172  case value_t::null:
+
22173  case value_t::object:
+
22174  {
+
22175  // use operator[] to add value
+
22176  parent[last_path] = val;
+
22177  break;
+
22178  }
+
22179 
+
22180  case value_t::array:
+
22181  {
+
22182  if (last_path == "-")
+
22183  {
+
22184  // special case: append to back
+
22185  parent.push_back(val);
+
22186  }
+
22187  else
+
22188  {
+
22189  const auto idx = json_pointer::array_index(last_path);
+
22190  if (JSON_HEDLEY_UNLIKELY(static_cast<size_type>(idx) > parent.size()))
+
22191  {
+
22192  // avoid undefined behavior
+
22193  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
+
22194  }
+
22195 
+
22196  // default case: insert add offset
+
22197  parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
+
22198  }
+
22199  break;
+
22200  }
+
22201 
+
22202  // if there exists a parent it cannot be primitive
+
22203  default: // LCOV_EXCL_LINE
+
22204  assert(false); // LCOV_EXCL_LINE
+
22205  }
+
22206  };
+
22207 
+
22208  // wrapper for "remove" operation; remove value at ptr
+
22209  const auto operation_remove = [&result](json_pointer & ptr)
+
22210  {
+
22211  // get reference to parent of JSON pointer ptr
+
22212  const auto last_path = ptr.back();
+
22213  ptr.pop_back();
+
22214  basic_json& parent = result.at(ptr);
+
22215 
+
22216  // remove child
+
22217  if (parent.is_object())
+
22218  {
+
22219  // perform range check
+
22220  auto it = parent.find(last_path);
+
22221  if (JSON_HEDLEY_LIKELY(it != parent.end()))
+
22222  {
+
22223  parent.erase(it);
+
22224  }
+
22225  else
+
22226  {
+
22227  JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found"));
+
22228  }
+
22229  }
+
22230  else if (parent.is_array())
+
22231  {
+
22232  // note erase performs range check
+
22233  parent.erase(static_cast<size_type>(json_pointer::array_index(last_path)));
+
22234  }
+
22235  };
+
22236 
+
22237  // type check: top level value must be an array
+
22238  if (JSON_HEDLEY_UNLIKELY(not json_patch.is_array()))
+
22239  {
+
22240  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
+
22241  }
+
22242 
+
22243  // iterate and apply the operations
+
22244  for (const auto& val : json_patch)
+
22245  {
+
22246  // wrapper to get a value for an operation
+
22247  const auto get_value = [&val](const std::string & op,
+
22248  const std::string & member,
+
22249  bool string_type) -> basic_json &
+
22250  {
+
22251  // find value
+
22252  auto it = val.m_value.object->find(member);
+
22253 
+
22254  // context-sensitive error message
+
22255  const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
+
22256 
+
22257  // check if desired value is present
+
22258  if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end()))
+
22259  {
+
22260  JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'"));
+
22261  }
+
22262 
+
22263  // check if result is of type string
+
22264  if (JSON_HEDLEY_UNLIKELY(string_type and not it->second.is_string()))
+
22265  {
+
22266  JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'"));
+
22267  }
+
22268 
+
22269  // no error: return value
+
22270  return it->second;
+
22271  };
+
22272 
+
22273  // type check: every element of the array must be an object
+
22274  if (JSON_HEDLEY_UNLIKELY(not val.is_object()))
+
22275  {
+
22276  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
+
22277  }
+
22278 
+
22279  // collect mandatory members
+
22280  const std::string op = get_value("op", "op", true);
+
22281  const std::string path = get_value(op, "path", true);
+
22282  json_pointer ptr(path);
+
22283 
+
22284  switch (get_op(op))
+
22285  {
+
22286  case patch_operations::add:
+
22287  {
+
22288  operation_add(ptr, get_value("add", "value", false));
+
22289  break;
+
22290  }
+
22291 
+
22292  case patch_operations::remove:
+
22293  {
+
22294  operation_remove(ptr);
+
22295  break;
+
22296  }
+
22297 
+
22298  case patch_operations::replace:
+
22299  {
+
22300  // the "path" location must exist - use at()
+
22301  result.at(ptr) = get_value("replace", "value", false);
+
22302  break;
+
22303  }
+
22304 
+
22305  case patch_operations::move:
+
22306  {
+
22307  const std::string from_path = get_value("move", "from", true);
+
22308  json_pointer from_ptr(from_path);
+
22309 
+
22310  // the "from" location must exist - use at()
+
22311  basic_json v = result.at(from_ptr);
+
22312 
+
22313  // The move operation is functionally identical to a
+
22314  // "remove" operation on the "from" location, followed
+
22315  // immediately by an "add" operation at the target
+
22316  // location with the value that was just removed.
+
22317  operation_remove(from_ptr);
+
22318  operation_add(ptr, v);
+
22319  break;
+
22320  }
+
22321 
+
22322  case patch_operations::copy:
+
22323  {
+
22324  const std::string from_path = get_value("copy", "from", true);
+
22325  const json_pointer from_ptr(from_path);
+
22326 
+
22327  // the "from" location must exist - use at()
+
22328  basic_json v = result.at(from_ptr);
+
22329 
+
22330  // The copy is functionally identical to an "add"
+
22331  // operation at the target location using the value
+
22332  // specified in the "from" member.
+
22333  operation_add(ptr, v);
+
22334  break;
+
22335  }
+
22336 
+
22337  case patch_operations::test:
+
22338  {
+
22339  bool success = false;
+
22340  JSON_TRY
+
22341  {
+
22342  // check if "value" matches the one at "path"
+
22343  // the "path" location must exist - use at()
+
22344  success = (result.at(ptr) == get_value("test", "value", false));
+
22345  }
+ +
22347  {
+
22348  // ignore out of range errors: success remains false
+
22349  }
+
22350 
+
22351  // throw an exception if test fails
+
22352  if (JSON_HEDLEY_UNLIKELY(not success))
+
22353  {
+
22354  JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump()));
+
22355  }
+
22356 
+
22357  break;
+
22358  }
+
22359 
+
22360  default:
+
22361  {
+
22362  // op must be "add", "remove", "replace", "move", "copy", or
+
22363  // "test"
+
22364  JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid"));
+
22365  }
+
22366  }
+
22367  }
+
22368 
+
22369  return result;
+
22370  }
+
22371 
+ +
22406  static basic_json diff(const basic_json& source, const basic_json& target,
+
22407  const std::string& path = "")
+
22408  {
+
22409  // the patch
+
22410  basic_json result(value_t::array);
+
22411 
+
22412  // if the values are the same, return empty patch
+
22413  if (source == target)
+
22414  {
+
22415  return result;
+
22416  }
+
22417 
+
22418  if (source.type() != target.type())
+
22419  {
+
22420  // different types: replace value
+
22421  result.push_back(
+
22422  {
+
22423  {"op", "replace"}, {"path", path}, {"value", target}
+
22424  });
+
22425  return result;
+
22426  }
+
22427 
+
22428  switch (source.type())
+
22429  {
+
22430  case value_t::array:
+
22431  {
+
22432  // first pass: traverse common elements
+
22433  std::size_t i = 0;
+
22434  while (i < source.size() and i < target.size())
+
22435  {
+
22436  // recursive call to compare array values at index i
+
22437  auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
+
22438  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
+
22439  ++i;
+
22440  }
+
22441 
+
22442  // i now reached the end of at least one array
+
22443  // in a second pass, traverse the remaining elements
+
22444 
+
22445  // remove my remaining elements
+
22446  const auto end_index = static_cast<difference_type>(result.size());
+
22447  while (i < source.size())
+
22448  {
+
22449  // add operations in reverse order to avoid invalid
+
22450  // indices
+
22451  result.insert(result.begin() + end_index, object(
+
22452  {
+
22453  {"op", "remove"},
+
22454  {"path", path + "/" + std::to_string(i)}
+
22455  }));
+
22456  ++i;
+
22457  }
+
22458 
+
22459  // add other remaining elements
+
22460  while (i < target.size())
+
22461  {
+
22462  result.push_back(
+
22463  {
+
22464  {"op", "add"},
+
22465  {"path", path + "/" + std::to_string(i)},
+
22466  {"value", target[i]}
+
22467  });
+
22468  ++i;
+
22469  }
+
22470 
+
22471  break;
+
22472  }
+
22473 
+
22474  case value_t::object:
+
22475  {
+
22476  // first pass: traverse this object's elements
+
22477  for (auto it = source.cbegin(); it != source.cend(); ++it)
+
22478  {
+
22479  // escape the key name to be used in a JSON patch
+
22480  const auto key = json_pointer::escape(it.key());
+
22481 
+
22482  if (target.find(it.key()) != target.end())
+
22483  {
+
22484  // recursive call to compare object values at key it
+
22485  auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
+
22486  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
+
22487  }
+
22488  else
+
22489  {
+
22490  // found a key that is not in o -> remove it
+
22491  result.push_back(object(
+
22492  {
+
22493  {"op", "remove"}, {"path", path + "/" + key}
+
22494  }));
+
22495  }
+
22496  }
+
22497 
+
22498  // second pass: traverse other object's elements
+
22499  for (auto it = target.cbegin(); it != target.cend(); ++it)
+
22500  {
+
22501  if (source.find(it.key()) == source.end())
+
22502  {
+
22503  // found a key that is not in this -> add it
+
22504  const auto key = json_pointer::escape(it.key());
+
22505  result.push_back(
+
22506  {
+
22507  {"op", "add"}, {"path", path + "/" + key},
+
22508  {"value", it.value()}
+
22509  });
+
22510  }
+
22511  }
+
22512 
+
22513  break;
+
22514  }
+
22515 
+
22516  default:
+
22517  {
+
22518  // both primitive type: replace value
+
22519  result.push_back(
+
22520  {
+
22521  {"op", "replace"}, {"path", path}, {"value", target}
+
22522  });
+
22523  break;
+
22524  }
+
22525  }
+
22526 
+
22527  return result;
+
22528  }
+
22529 
+
22531 
+
22533  // JSON Merge Patch functions //
+
22535 
+
22538 
+
22581  void merge_patch(const basic_json& apply_patch)
+
22582  {
+
22583  if (apply_patch.is_object())
+
22584  {
+
22585  if (not is_object())
+
22586  {
+
22587  *this = object();
+
22588  }
+
22589  for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it)
+
22590  {
+
22591  if (it.value().is_null())
+
22592  {
+
22593  erase(it.key());
+
22594  }
+
22595  else
+
22596  {
+
22597  operator[](it.key()).merge_patch(it.value());
+
22598  }
+
22599  }
+
22600  }
+
22601  else
+
22602  {
+
22603  *this = apply_patch;
+
22604  }
+
22605  }
+
22606 
+
22608 };
+
22609 
+ +
22620 std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
+
22621 {
+
22622  return j.dump();
+
22623 }
+
22624 } // namespace nlohmann
+
22625 
+
22627 // nonmember support //
+
22629 
+
22630 // specialization of std::swap, and std::hash
+
22631 namespace std
+
22632 {
+
22633 
+
22635 template<>
+ +
22637 {
+
22643  std::size_t operator()(const nlohmann::json& j) const
+
22644  {
+
22645  // a naive hashing via the string representation
+
22646  const auto& h = hash<nlohmann::json::string_t>();
+
22647  return h(j.dump());
+
22648  }
+
22649 };
+
22650 
+
22654 template<>
+ +
22656 {
+ +
22662  nlohmann::detail::value_t rhs) const noexcept
+
22663  {
+
22664  return nlohmann::detail::operator<(lhs, rhs);
+
22665  }
+
22666 };
+
22667 
+
22673 template<>
+
22674 inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
+
22675  is_nothrow_move_constructible<nlohmann::json>::value and
+
22676  is_nothrow_move_assignable<nlohmann::json>::value
+
22677 )
+
22678 {
+
22679  j1.swap(j2);
+
22680 }
+
22681 
+
22682 } // namespace std
+
22683 
+ +
22698 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
+
22699 {
+
22700  return nlohmann::json::parse(s, s + n);
+
22701 }
+
22702 
+ +
22717 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
+
22718 {
+
22719  return nlohmann::json::json_pointer(std::string(s, n));
+
22720 }
+
22721 
+
22722 // #include <nlohmann/detail/macro_unscope.hpp>
+
22723 
+
22724 
+
22725 // restore GCC/clang diagnostic settings
+
22726 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+
22727  #pragma GCC diagnostic pop
+
22728 #endif
+
22729 #if defined(__clang__)
+
22730  #pragma GCC diagnostic pop
+
22731 #endif
+
22732 
+
22733 // clean up
+
22734 #undef JSON_INTERNAL_CATCH
+
22735 #undef JSON_CATCH
+
22736 #undef JSON_THROW
+
22737 #undef JSON_TRY
+
22738 #undef JSON_HAS_CPP_14
+
22739 #undef JSON_HAS_CPP_17
+
22740 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
+
22741 #undef NLOHMANN_BASIC_JSON_TPL
+
22742 
+
22743 // #include <nlohmann/thirdparty/hedley/hedley_undef.hpp>
+
22744 #undef JSON_HEDLEY_ALWAYS_INLINE
+
22745 #undef JSON_HEDLEY_ARM_VERSION
+
22746 #undef JSON_HEDLEY_ARM_VERSION_CHECK
+
22747 #undef JSON_HEDLEY_ARRAY_PARAM
+
22748 #undef JSON_HEDLEY_ASSUME
+
22749 #undef JSON_HEDLEY_BEGIN_C_DECLS
+
22750 #undef JSON_HEDLEY_C_DECL
+
22751 #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
+
22752 #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
+
22753 #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
+
22754 #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
+
22755 #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
+
22756 #undef JSON_HEDLEY_CLANG_HAS_FEATURE
+
22757 #undef JSON_HEDLEY_CLANG_HAS_WARNING
+
22758 #undef JSON_HEDLEY_COMPCERT_VERSION
+
22759 #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
+
22760 #undef JSON_HEDLEY_CONCAT
+
22761 #undef JSON_HEDLEY_CONCAT_EX
+
22762 #undef JSON_HEDLEY_CONST
+
22763 #undef JSON_HEDLEY_CONST_CAST
+
22764 #undef JSON_HEDLEY_CONSTEXPR
+
22765 #undef JSON_HEDLEY_CPP_CAST
+
22766 #undef JSON_HEDLEY_CRAY_VERSION
+
22767 #undef JSON_HEDLEY_CRAY_VERSION_CHECK
+
22768 #undef JSON_HEDLEY_DEPRECATED
+
22769 #undef JSON_HEDLEY_DEPRECATED_FOR
+
22770 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+
22771 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
+
22772 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+
22773 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+
22774 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+
22775 #undef JSON_HEDLEY_DIAGNOSTIC_POP
+
22776 #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
+
22777 #undef JSON_HEDLEY_DMC_VERSION
+
22778 #undef JSON_HEDLEY_DMC_VERSION_CHECK
+
22779 #undef JSON_HEDLEY_EMPTY_BASES
+
22780 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
+
22781 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
+
22782 #undef JSON_HEDLEY_END_C_DECLS
+
22783 #undef JSON_HEDLEY_FALL_THROUGH
+
22784 #undef JSON_HEDLEY_FLAGS
+
22785 #undef JSON_HEDLEY_FLAGS_CAST
+
22786 #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
+
22787 #undef JSON_HEDLEY_GCC_HAS_BUILTIN
+
22788 #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
+
22789 #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
+
22790 #undef JSON_HEDLEY_GCC_HAS_EXTENSION
+
22791 #undef JSON_HEDLEY_GCC_HAS_FEATURE
+
22792 #undef JSON_HEDLEY_GCC_HAS_WARNING
+
22793 #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
+
22794 #undef JSON_HEDLEY_GCC_VERSION
+
22795 #undef JSON_HEDLEY_GCC_VERSION_CHECK
+
22796 #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
+
22797 #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
+
22798 #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
+
22799 #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
+
22800 #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
+
22801 #undef JSON_HEDLEY_GNUC_HAS_FEATURE
+
22802 #undef JSON_HEDLEY_GNUC_HAS_WARNING
+
22803 #undef JSON_HEDLEY_GNUC_VERSION
+
22804 #undef JSON_HEDLEY_GNUC_VERSION_CHECK
+
22805 #undef JSON_HEDLEY_HAS_ATTRIBUTE
+
22806 #undef JSON_HEDLEY_HAS_BUILTIN
+
22807 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
+
22808 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
+
22809 #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
+
22810 #undef JSON_HEDLEY_HAS_EXTENSION
+
22811 #undef JSON_HEDLEY_HAS_FEATURE
+
22812 #undef JSON_HEDLEY_HAS_WARNING
+
22813 #undef JSON_HEDLEY_IAR_VERSION
+
22814 #undef JSON_HEDLEY_IAR_VERSION_CHECK
+
22815 #undef JSON_HEDLEY_IBM_VERSION
+
22816 #undef JSON_HEDLEY_IBM_VERSION_CHECK
+
22817 #undef JSON_HEDLEY_IMPORT
+
22818 #undef JSON_HEDLEY_INLINE
+
22819 #undef JSON_HEDLEY_INTEL_VERSION
+
22820 #undef JSON_HEDLEY_INTEL_VERSION_CHECK
+
22821 #undef JSON_HEDLEY_IS_CONSTANT
+
22822 #undef JSON_HEDLEY_IS_CONSTEXPR_
+
22823 #undef JSON_HEDLEY_LIKELY
+
22824 #undef JSON_HEDLEY_MALLOC
+
22825 #undef JSON_HEDLEY_MESSAGE
+
22826 #undef JSON_HEDLEY_MSVC_VERSION
+
22827 #undef JSON_HEDLEY_MSVC_VERSION_CHECK
+
22828 #undef JSON_HEDLEY_NEVER_INLINE
+
22829 #undef JSON_HEDLEY_NO_ESCAPE
+
22830 #undef JSON_HEDLEY_NON_NULL
+
22831 #undef JSON_HEDLEY_NO_RETURN
+
22832 #undef JSON_HEDLEY_NO_THROW
+
22833 #undef JSON_HEDLEY_NULL
+
22834 #undef JSON_HEDLEY_PELLES_VERSION
+
22835 #undef JSON_HEDLEY_PELLES_VERSION_CHECK
+
22836 #undef JSON_HEDLEY_PGI_VERSION
+
22837 #undef JSON_HEDLEY_PGI_VERSION_CHECK
+
22838 #undef JSON_HEDLEY_PREDICT
+
22839 #undef JSON_HEDLEY_PRINTF_FORMAT
+
22840 #undef JSON_HEDLEY_PRIVATE
+
22841 #undef JSON_HEDLEY_PUBLIC
+
22842 #undef JSON_HEDLEY_PURE
+
22843 #undef JSON_HEDLEY_REINTERPRET_CAST
+
22844 #undef JSON_HEDLEY_REQUIRE
+
22845 #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
+
22846 #undef JSON_HEDLEY_REQUIRE_MSG
+
22847 #undef JSON_HEDLEY_RESTRICT
+
22848 #undef JSON_HEDLEY_RETURNS_NON_NULL
+
22849 #undef JSON_HEDLEY_SENTINEL
+
22850 #undef JSON_HEDLEY_STATIC_ASSERT
+
22851 #undef JSON_HEDLEY_STATIC_CAST
+
22852 #undef JSON_HEDLEY_STRINGIFY
+
22853 #undef JSON_HEDLEY_STRINGIFY_EX
+
22854 #undef JSON_HEDLEY_SUNPRO_VERSION
+
22855 #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
+
22856 #undef JSON_HEDLEY_TINYC_VERSION
+
22857 #undef JSON_HEDLEY_TINYC_VERSION_CHECK
+
22858 #undef JSON_HEDLEY_TI_VERSION
+
22859 #undef JSON_HEDLEY_TI_VERSION_CHECK
+
22860 #undef JSON_HEDLEY_UNAVAILABLE
+
22861 #undef JSON_HEDLEY_UNLIKELY
+
22862 #undef JSON_HEDLEY_UNPREDICTABLE
+
22863 #undef JSON_HEDLEY_UNREACHABLE
+
22864 #undef JSON_HEDLEY_UNREACHABLE_RETURN
+
22865 #undef JSON_HEDLEY_VERSION
+
22866 #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
+
22867 #undef JSON_HEDLEY_VERSION_DECODE_MINOR
+
22868 #undef JSON_HEDLEY_VERSION_DECODE_REVISION
+
22869 #undef JSON_HEDLEY_VERSION_ENCODE
+
22870 #undef JSON_HEDLEY_WARNING
+
22871 #undef JSON_HEDLEY_WARN_UNUSED_RESULT
+
22872 
+
22873 
+
22874 
+
22875 #endif // INCLUDE_NLOHMANN_JSON_HPP_
+
+
a template for a reverse iterator class
Definition: json.hpp:9982
+
const_iterator find(KeyT &&key) const
find an element in a JSON object
Definition: json.hpp:18537
+
difference_type operator-(const iter_impl &other) const
return difference
Definition: json.hpp:9864
+
void int_to_string(string_type &target, std::size_t value)
Definition: json.hpp:3293
+
iteration_proxy_value< IteratorType > begin() noexcept
return iterator begin (needed for range-based for)
Definition: json.hpp:3397
+
primitive_iterator_t & operator+=(difference_type n) noexcept
Definition: json.hpp:9261
+
static auto to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
convert any value type to a JSON value
Definition: json.hpp:3827
+
basic_json unflatten() const
unflatten a previously flattened JSON value
Definition: json.hpp:22049
+
basic_json flatten() const
return flattened JSON value
Definition: json.hpp:22012
+
typename BasicJsonType::parse_event_t parse_event_t
Definition: json.hpp:4644
+
std::char_traits< char >::int_type get_character() noexcept override
get a character [0,255] or std::char_traits<char>::eof().
Definition: json.hpp:4008
+
exception indicating executing a member function with a wrong type
Definition: json.hpp:2075
+
const_reference back() const
access the last element
Definition: json.hpp:18183
+
primitive_iterator_t & operator++() noexcept
Definition: json.hpp:9235
+
typename T::difference_type difference_type_t
Definition: json.hpp:2495
+
std::ptrdiff_t difference_type
Definition: json.hpp:3300
+
std::char_traits< char >::int_type get_character() override
get a character [0,255] or std::char_traits<char>::eof().
Definition: json.hpp:3976
+
void write_cbor(const BasicJsonType &j)
Definition: json.hpp:11357
+
json_ref(value_type &&value)
Definition: json.hpp:11106
+
constexpr bool is_string() const noexcept
return whether value is a string
Definition: json.hpp:16894
+ +
static allocator_type get_allocator()
returns the allocator associated with the container
Definition: json.hpp:14834
+
static auto from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
convert a JSON value to any value type
Definition: json.hpp:3810
+
boundaries compute_boundaries(FloatType value)
Definition: json.hpp:12831
+
pointer operator->() const
dereference the iterator
Definition: json.hpp:9583
+
decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) start_array_function_t
Definition: json.hpp:5066
+
basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))
create a JSON value
Definition: json.hpp:15843
+
static bool accept(detail::input_adapter &&i)
Definition: json.hpp:20754
+
std::size_t hash(const BasicJsonType &j)
hash a JSON value
Definition: json.hpp:4613
+
bool string(string_t &val)
Definition: json.hpp:4691
+
static constexpr CharType to_char_type(InputCharType x) noexcept
Definition: json.hpp:12614
+
json_ref & operator=(const json_ref &)=delete
+
IteratorType::reference value() const
return value of the iterator
Definition: json.hpp:3378
+
@ begin_object
the character for object begin {
+
void get_arithmetic_value(const BasicJsonType &j, ArithmeticType &val)
Definition: json.hpp:2912
+
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
user-defined to_string function for JSON values
Definition: json.hpp:22620
+
reference operator+=(const typename object_t::value_type &val)
add an object to an object
Definition: json.hpp:19517
+
bool string(string_t &val)
Definition: json.hpp:4508
+
value_type moved_or_copied() const
Definition: json.hpp:11132
+
general exception of the basic_json class
Definition: json.hpp:1864
+ +
basic_json(const value_t v)
create an empty value with a given type
Definition: json.hpp:15752
+
bool empty() const noexcept
return whether pointer points to the root document
Definition: json.hpp:10391
+
basic_json(std::nullptr_t=nullptr) noexcept
create a null object
Definition: json.hpp:15776
+
basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
create a container (array or object) from an initializer list
Definition: json.hpp:15999
+
Definition: json.hpp:2520
+
value_t
the JSON type enumeration
Definition: json.hpp:2854
+
@ value
the parser finished reading a JSON value
+
const_reverse_iterator rbegin() const noexcept
returns a const reverse iterator to the last element
Definition: json.hpp:18823
+
detail::value_t value_t
Definition: json.hpp:14751
+
iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
converting constructor
Definition: json.hpp:9456
+
iter_impl & operator--()
pre-decrement (–it)
Definition: json.hpp:9671
+
decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >())) type
Definition: json.hpp:3448
+
decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) start_object_function_t
Definition: json.hpp:5055
+
const iter_impl operator++(int)
post-increment (it++)
Definition: json.hpp:9617
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in UBJSON format
Definition: json.hpp:21730
+
iter_impl & operator=(const iter_impl< const BasicJsonType > &other) noexcept
converting assignment
Definition: json.hpp:9444
+ +
@ ignore
ignore invalid UTF-8 sequences
+
decltype(std::declval< T & >().boolean(std::declval< bool >())) boolean_function_t
Definition: json.hpp:5035
+
ReferenceType get_ref() const
get a reference value (implicit)
Definition: json.hpp:17427
+
static void construct(BasicJsonType &j, const CompatibleArrayType &arr)
Definition: json.hpp:3572
+
void grisu2_round(char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
Definition: json.hpp:13190
+
bool key(string_t &val)
Definition: json.hpp:4715
+
void write_character(CharType c) override
Definition: json.hpp:11266
+ +
static void to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)
Definition: json.hpp:21221
+
friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
comparison: not equal
Definition: json.hpp:20341
+
~input_stream_adapter() override
Definition: json.hpp:3956
+
bool end_object()
Definition: json.hpp:4988
+
typename BasicJsonType::number_unsigned_t number_unsigned_t
type for unsigned integers
Definition: json.hpp:4338
+
bool start_array(std::size_t len)
Definition: json.hpp:4761
+
#define JSON_HEDLEY_UNLIKELY(expr)
Definition: json.hpp:1124
+
friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
comparison: less than
Definition: json.hpp:20448
+
Definition: json.hpp:2799
+
static bool accept(IteratorType first, IteratorType last)
Definition: json.hpp:20890
+
@ replace
replace invalid UTF-8 sequences with U+FFFD
+ +
bool operator==(const iter_impl &other) const
comparison: equal
Definition: json.hpp:9703
+
typename BasicJsonType::template json_serializer< T, void > serializer
Definition: json.hpp:2526
+
constexpr bool is_discarded() const noexcept
return whether value is discarded
Definition: json.hpp:16921
+
void from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
Definition: json.hpp:3652
+
typename T::mapped_type mapped_type_t
Definition: json.hpp:2486
+
void type
Definition: json.hpp:2265
+
bool start_object(std::size_t=std::size_t(-1))
Definition: json.hpp:4978
+
value_type const & operator*() const
Definition: json.hpp:11141
+
virtual bool parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0
a parse error occurred
+ +
static void construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)
Definition: json.hpp:3621
+
const_reverse_iterator rend() const noexcept
returns a const reverse iterator to one before the first
Definition: json.hpp:18860
+
virtual bool number_unsigned(number_unsigned_t val)=0
an unsigned integer number was read
+
void grisu2_digit_gen(char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
Definition: json.hpp:13231
+
Definition: json.hpp:12699
+
std::char_traits< char >::int_type get_character() noexcept override
get a character [0,255] or std::char_traits<char>::eof().
Definition: json.hpp:4158
+
json_reverse_iterator operator+(difference_type i) const
add to iterator
Definition: json.hpp:10029
+
@ parse_error
indicating a parse error
+
size_type size() const noexcept
returns the number of elements
Definition: json.hpp:19195
+
@ object
object (unordered set of name/value pairs)
+
json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)
Definition: json.hpp:4467
+
typename BasicJsonType::number_float_t number_float_t
Definition: json.hpp:4459
+ +
void push_back(const typename object_t::value_type &val)
add an object to an object
Definition: json.hpp:19493
+
std::string get_token_string() const
Definition: json.hpp:8488
+
typename BasicJsonType::string_t string_t
Definition: json.hpp:4460
+
~file_input_adapter() override=default
+ +
struct to capture the start position of the current token
Definition: json.hpp:89
+
void dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
internal implementation of the serialization function
Definition: json.hpp:13837
+
diyfp w
Definition: json.hpp:12819
+
basic_json get() const
get special-case overload
Definition: json.hpp:17101
+
Definition: json.hpp:2589
+
::nlohmann::json_pointer< basic_json > json_pointer
JSON Pointer, see nlohmann::json_pointer.
Definition: json.hpp:14753
+
static constexpr CharType to_char_type(std::uint8_t x) noexcept
Definition: json.hpp:12585
+
Definition: json.hpp:2228
+
std::less< StringType > object_comparator_t
Definition: json.hpp:14936
+
static other_error create(int id_, const std::string &what_arg)
Definition: json.hpp:2163
+
constexpr bool is_primitive() const noexcept
return whether type is primitive
Definition: json.hpp:16642
+
json_pointer(const std::string &s="")
create JSON pointer
Definition: json.hpp:10120
+
input_buffer_adapter & operator=(input_buffer_adapter &)=delete
+
ValueType value(const json_pointer &ptr, const ValueType &default_value) const
access specified object element via JSON Pointer with default value
Definition: json.hpp:18075
+
constexpr value_t type() const noexcept
return the type of the JSON value (explicit)
Definition: json.hpp:16612
+
constexpr position_t get_position() const noexcept
return position of last read token
Definition: json.hpp:8480
+
typename BasicJsonType::number_integer_t number_integer_t
Definition: json.hpp:4943
+
iteration_proxy< iterator > items() noexcept
helper to access iterator member functions in range-based for
Definition: json.hpp:19059
+
exception indicating access out of the defined range
Definition: json.hpp:2122
+
typename detected_or< Default, Op, Args... >::type detected_or_t
Definition: json.hpp:2373
+
@ array_end
the parser read ] and finished processing a JSON array
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
Create a JSON value from an input in BSON format.
Definition: json.hpp:21801
+
std::false_type value_t
Definition: json.hpp:2352
+
static void construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)
Definition: json.hpp:3562
+
bool parse_error(std::size_t, const std::string &, const detail::exception &ex)
Definition: json.hpp:4559
+
exception indicating errors with iterators
Definition: json.hpp:2021
+
basic_json(size_type cnt, const basic_json &val)
construct an array with count copies of given value
Definition: json.hpp:16160
+
typename BasicJsonType::string_t string_t
Definition: json.hpp:4642
+ + +
AllocatorType< basic_json > allocator_type
the allocator type
Definition: json.hpp:14812
+
static std::string name(const std::string &ename, int id_)
Definition: json.hpp:1881
+
static out_of_range create(int id_, const std::string &what_arg)
Definition: json.hpp:2125
+
ValueType value(const typename object_t::key_type &key, const ValueType &default_value) const
access specified object element with default value
Definition: json.hpp:18003
+ + +
std::size_t chars_read_current_line
the number of characters read in the current line
Definition: json.hpp:94
+
input_buffer_adapter(const char *b, const std::size_t l) noexcept
Definition: json.hpp:3997
+
std::char_traits< char >::int_type get_character() noexcept override
get a character [0,255] or std::char_traits<char>::eof().
Definition: json.hpp:3933
+ +
friend json_pointer operator/(const json_pointer &lhs, const json_pointer &rhs)
create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer
Definition: json.hpp:10236
+
json_sax_dom_parser & operator=(const json_sax_dom_parser &)=delete
+
Definition: json.hpp:2229
+
BasicJsonType::object_t::iterator object_iterator
iterator for JSON objects
Definition: json.hpp:9290
+
Definition: json.hpp:2263
+
typename std::enable_if< B, T >::type enable_if_t
Definition: json.hpp:2191
+
void write_msgpack(const BasicJsonType &j)
Definition: json.hpp:11601
+
void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
Definition: json.hpp:2898
+ +
void write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
Definition: json.hpp:11843
+
Definition: json.hpp:3775
+
static void to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
Definition: json.hpp:21320
+
#define NLOHMANN_BASIC_JSON_TPL
Definition: json.hpp:1822
+
bool start_object(std::size_t len)
Definition: json.hpp:4514
+
json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser &)=delete
+
static constexpr bool value
Definition: json.hpp:5090
+
const_reference operator[](const json_pointer &ptr) const
access specified element via JSON Pointer
Definition: json.hpp:21899
+
auto key() const -> decltype(std::declval< Base >().key())
return the key of an object iterator
Definition: json.hpp:10053
+
wide_string_input_adapter(const WideStringType &w) noexcept
Definition: json.hpp:4154
+
namespace for Niels Lohmann
Definition: json.hpp:84
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object(initializer_list_t init={})
explicitly create an object from an initializer list
Definition: json.hpp:16133
+
serialization to CBOR and MessagePack values
Definition: json.hpp:11318
+
typename BasicJsonType::number_integer_t number_integer_t
Definition: json.hpp:4457
+
void set_end() noexcept
set iterator to a defined past the end
Definition: json.hpp:9196
+
static diyfp normalize_to(const diyfp &x, const int target_exponent) noexcept
normalize x such that the result has the exponent E
Definition: json.hpp:12806
+ +
void erase(const size_type idx)
remove element from a JSON array given an index
Definition: json.hpp:18467
+
json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
create reverse iterator from iterator
Definition: json.hpp:9992
+
static void to_bson(const basic_json &j, detail::output_adapter< char > o)
Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
Definition: json.hpp:21411
+
size_type count(KeyT &&key) const
returns the number of occurrences of a key in a JSON object
Definition: json.hpp:18571
+
void push_back(basic_json &&val)
add an object to an array
Definition: json.hpp:19406
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta()
returns version information on the library
Definition: json.hpp:14866
+
bool number_float(number_float_t val, const string_t &)
Definition: json.hpp:4685
+
reference back()
access the last element
Definition: json.hpp:18173
+
constexpr difference_type get_value() const noexcept
Definition: json.hpp:9184
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
Definition: json.hpp:3542
+
constexpr bool is_end() const noexcept
return whether the iterator is at end
Definition: json.hpp:9208
+
@ value_unsigned
an unsigned integer – use get_number_unsigned() for actual value
+
SAX implementation to create a JSON value from SAX events.
Definition: json.hpp:4454
+ +
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
creates a diff as a JSON patch
Definition: json.hpp:22406
+
@ number_float
number value (floating-point)
+
primitive_iterator_t & operator--() noexcept
Definition: json.hpp:9248
+
static constexpr std::size_t size() noexcept
Definition: json.hpp:2203
+
JSON Pointer.
Definition: json.hpp:2435
+
json_pointer parent_pointer() const
returns the parent of this JSON pointer
Definition: json.hpp:10295
+
token_type
token types for the parser
Definition: json.hpp:7170
+
IteratorType erase(IteratorType first, IteratorType last)
remove elements given an iterator range
Definition: json.hpp:18345
+
bool number_integer(number_integer_t val)
Definition: json.hpp:4490
+
exception indicating other library errors
Definition: json.hpp:2160
+
bool sax_parse(SAX *sax, const bool strict=true)
Definition: json.hpp:8802
+
input adapter for buffer input
Definition: json.hpp:3994
+
iteration_proxy_value & operator*()
dereference operator (needed for range-based for)
Definition: json.hpp:3323
+
json_reverse_iterator & operator+=(difference_type i)
add to iterator
Definition: json.hpp:10023
+
input_adapter(T(&array)[N])
input adapter for array
Definition: json.hpp:4284
+
void merge_patch(const basic_json &apply_patch)
applies a JSON Merge Patch
Definition: json.hpp:22581
+
@ object_end
the parser read } and finished processing a JSON object
+
Definition: json.hpp:2279
+
bool key(string_t &)
Definition: json.hpp:4983
+
cached_power get_cached_power_for_binary_exponent(int e)
Definition: json.hpp:12970
+
bool empty() const noexcept
checks whether the container is empty.
Definition: json.hpp:19123
+
virtual bool string(string_t &val)=0
a string was read
+
reverse_iterator rbegin() noexcept
returns an iterator to the reverse-beginning
Definition: json.hpp:18815
+
iterator insert(const_iterator pos, basic_json &&val)
inserts element
Definition: json.hpp:19739
+
@ number_integer
number value (signed integer)
+
Definition: json.hpp:2350
+
ArrayType< basic_json, AllocatorType< basic_json > > array_t
a type for an array
Definition: json.hpp:15072
+
#define JSON_THROW(exception)
Definition: json.hpp:1754
+
typename BasicJsonType::parser_callback_t parser_callback_t
Definition: json.hpp:4643
+
input_adapter(const std::wstring &ws)
Definition: json.hpp:4212
+ +
json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
Definition: json.hpp:4646
+
output_vector_adapter(std::vector< CharType > &vec) noexcept
Definition: json.hpp:11214
+
iter_impl operator-(difference_type i) const
subtract from iterator
Definition: json.hpp:9853
+
std::input_iterator_tag iterator_category
Definition: json.hpp:3304
+
friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
comparison: less than or equal
Definition: json.hpp:20483
+
string_t value(const typename object_t::key_type &key, const char *default_value) const
overload for a default value of type const char*
Definition: json.hpp:18025
+
static std::vector< uint8_t > to_msgpack(const basic_json &j)
create a MessagePack serialization of a given JSON value
Definition: json.hpp:21214
+
std::string to_string() const
return a string representation of the JSON pointer
Definition: json.hpp:10138
+
bool string(string_t &)
Definition: json.hpp:4973
+
std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)> parser_callback_t
Definition: json.hpp:8711
+
std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)> parser_callback_t
Definition: json.hpp:10155
+
typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type string_type
Definition: json.hpp:3305
+
bool end_array()
Definition: json.hpp:4553
+
static void fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
Definition: json.hpp:4089
+
output_string_adapter(StringType &s) noexcept
Definition: json.hpp:11262
+ + +
reference at(const json_pointer &ptr)
access specified element via JSON Pointer
Definition: json.hpp:21942
+ +
std::initializer_list< detail::json_ref< basic_json > > initializer_list_t
helper type for initializer lists of basic_json values
Definition: json.hpp:14759
+
const primitive_iterator_t operator++(int) noexcept
Definition: json.hpp:9241
+
@ key
the parser read a key of a value in an object
+
iterator insert(const_iterator pos, const basic_json &val)
inserts element
Definition: json.hpp:19717
+
std::bidirectional_iterator_tag iterator_category
Definition: json.hpp:9367
+
bool end_array()
Definition: json.hpp:4778
+
decltype(std::declval< T & >().null()) null_function_t
Definition: json.hpp:5031
+
void swap(array_t &other)
exchanges the values
Definition: json.hpp:20086
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in CBOR format
Definition: json.hpp:21533
+
friend json_pointer operator/(const json_pointer &ptr, std::string token)
create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
Definition: json.hpp:10257
+
lexical analysis
Definition: json.hpp:7161
+
json_ref(std::initializer_list< json_ref > init)
Definition: json.hpp:11114
+
std::random_access_iterator_tag iterator_category
Definition: json.hpp:2310
+
void to_json_tuple_impl(BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
Definition: json.hpp:3764
+
bool key(string_t &val)
Definition: json.hpp:4527
+
virtual bool boolean(bool val)=0
a boolean value was read
+
static void construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)
Definition: json.hpp:3554
+
reference value() const
return the value of an iterator
Definition: json.hpp:10060
+
primitive_iterator_t operator+(difference_type n) noexcept
Definition: json.hpp:9223
+
#define NLOHMANN_JSON_VERSION_PATCH
Definition: json.hpp:35
+
bool boolean(bool val)
Definition: json.hpp:4484
+
const std::size_t byte
byte index of the parse error
Definition: json.hpp:1971
+
void swap(object_t &other)
exchanges the values
Definition: json.hpp:20119
+
@ value_integer
a signed integer – use get_number_integer() for actual value
+
bool number_unsigned(number_unsigned_t val)
Definition: json.hpp:4496
+
const_iterator cend() const noexcept
returns a const iterator to one past the last element
Definition: json.hpp:18785
+
constexpr bool is_object() const noexcept
return whether value is an object
Definition: json.hpp:16850
+ +
output_stream_adapter(std::basic_ostream< CharType > &s) noexcept
Definition: json.hpp:11238
+
bool operator!=(const iter_impl &other) const
comparison: not equal
Definition: json.hpp:9730
+ +
NumberIntegerType number_integer_t
a type for a number (integer)
Definition: json.hpp:15223
+
void set_begin() noexcept
set iterator to a defined beginning
Definition: json.hpp:9190
+
static diyfp sub(const diyfp &x, const diyfp &y) noexcept
returns x - y
Definition: json.hpp:12712
+
json_ref(Args &&... args)
Definition: json.hpp:11121
+
output_adapter(std::basic_ostream< CharType > &s)
Definition: json.hpp:11288
+
const std::string & back() const
return last reference token
Definition: json.hpp:10344
+
token_type scan()
Definition: json.hpp:8540
+
Definition: json.hpp:11101
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in UBJSON format
Definition: json.hpp:21714
+
bool start_array(std::size_t=std::size_t(-1))
Definition: json.hpp:4993
+
decltype(std::declval< T >().template get< U >()) get_template_function
Definition: json.hpp:2516
+ +
#define JSON_HEDLEY_LIKELY(expr)
Definition: json.hpp:1123
+
constexpr bool is_errored() const
Definition: json.hpp:4587
+
input_stream_adapter(std::istream &i)
Definition: json.hpp:3963
+
exception indicating a parse error
Definition: json.hpp:1935
+ +
constexpr bool is_begin() const noexcept
return whether the iterator can be dereferenced
Definition: json.hpp:9202
+
json_reverse_iterator< typename basic_json::iterator > reverse_iterator
a reverse iterator for a basic_json container
Definition: json.hpp:14824
+
decltype(std::declval< T & >().end_array()) end_array_function_t
Definition: json.hpp:5069
+
friend bool operator==(const_reference lhs, const_reference rhs) noexcept
comparison: equal
Definition: json.hpp:20214
+
std::shared_ptr< input_adapter_protocol > input_adapter_t
a type to simplify interfaces
Definition: json.hpp:3912
+
friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
comparison: greater than
Definition: json.hpp:20551
+
output adapter for byte vectors
Definition: json.hpp:11211
+ +
a template for a bidirectional iterator for the basic_json class This class implements a both iterato...
Definition: json.hpp:9346
+
BasicJsonType::array_t::iterator array_iterator
iterator for JSON arrays
Definition: json.hpp:9292
+
static void construct(BasicJsonType &j, const CompatibleStringType &str)
Definition: json.hpp:3506
+ +
typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type reference
defines a reference to the type iterated over (value_type)
Definition: json.hpp:9381
+
bool accept(const bool strict=true)
public accept interface
Definition: json.hpp:8794
+
static parse_error create(int id_, std::size_t byte_, const std::string &what_arg)
Definition: json.hpp:1954
+
static diyfp mul(const diyfp &x, const diyfp &y) noexcept
returns x * y
Definition: json.hpp:12724
+
reference operator[](difference_type n) const
access to successor
Definition: json.hpp:10047
+
default JSONSerializer template argument
Definition: json.hpp:2409
+ +
typename make_void< Ts... >::type void_t
Definition: json.hpp:2267
+
const_reference at(const json_pointer &ptr) const
access specified element via JSON Pointer
Definition: json.hpp:21985
+
void to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
Definition: json.hpp:4280
+
Definition: json.hpp:2210
+
typename BasicJsonType::number_integer_t number_integer_t
type for (signed) integers
Definition: json.hpp:4336
+
error_handler_t
how to treat decoding errors
Definition: json.hpp:13779
+
std::uint64_t f
Definition: json.hpp:12958
+
StringType string_t
a type for a string
Definition: json.hpp:15125
+
typename T::iterator iterator_t
Definition: json.hpp:2507
+
static void fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
Definition: json.hpp:4030
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array(initializer_list_t init={})
explicitly create an array from an initializer list
Definition: json.hpp:16089
+
ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))
get a value (explicit)
Definition: json.hpp:17174
+
Target reinterpret_bits(const Source source)
Definition: json.hpp:12690
+
friend json_pointer operator/(const json_pointer &ptr, std::size_t array_index)
create a new JSON pointer by appending the array-index-token at the end of the JSON pointer
Definition: json.hpp:10277
+
typename T::value_type value_type_t
Definition: json.hpp:2492
+
friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
comparison: less than or equal
Definition: json.hpp:20505
+
friend bool operator>(const_reference lhs, const_reference rhs) noexcept
comparison: greater than
Definition: json.hpp:20529
+ +
friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
comparison: greater than
Definition: json.hpp:20540
+
typename parser::parser_callback_t parser_callback_t
per-element parser callback type
Definition: json.hpp:15712
+
static void to_msgpack(const basic_json &j, detail::output_adapter< char > o)
Definition: json.hpp:21226
+
typename BasicJsonType::string_t string_t
type for strings
Definition: json.hpp:4342
+
const_reference at(size_type idx) const
access specified array element with bounds checking
Definition: json.hpp:17566
+
basic_json & operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
copy assignment
Definition: json.hpp:16469
+ +
static CharType to_char_type(std::uint8_t x) noexcept
Definition: json.hpp:12592
+
void grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
Definition: json.hpp:13472
+
std::pair< iterator, bool > emplace(Args &&... args)
add an object to an object if key does not exist
Definition: json.hpp:19649
+
friend std::istream & operator>>(std::istream &i, basic_json &j)
deserialize from stream
Definition: json.hpp:20944
+
auto operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())
Definition: json.hpp:3244
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
Definition: json.hpp:3530
+
auto get() noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())
get a pointer value (explicit)
Definition: json.hpp:17368
+
std::ptrdiff_t difference_type
Definition: json.hpp:9985
+
static constexpr bool little_endianess(int num=1) noexcept
determine system byte order
Definition: json.hpp:5268
+ +
@ end_of_input
indicating the end of the input buffer
+
output_adapter(StringType &s)
Definition: json.hpp:11291
+
bool number_integer(number_integer_t val)
Definition: json.hpp:4673
+
Definition: json.hpp:2199
+ +
static diyfp normalize(diyfp x) noexcept
normalize x such that the significand is >= 2^(q-1)
Definition: json.hpp:12789
+
iter_impl & operator++()
pre-increment (++it)
Definition: json.hpp:9628
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(detail::input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
deserialize from a compatible input
Definition: json.hpp:20745
+
reference operator+=(const basic_json &val)
add an object to an array
Definition: json.hpp:19467
+
#define JSON_INTERNAL_CATCH(exception)
Definition: json.hpp:1757
+
syntax analysis
Definition: json.hpp:8684
+ +
const string_type & key() const
return key of the iterator
Definition: json.hpp:3350
+
void update(const_reference j)
updates a JSON object from another object, overwriting existing keys
Definition: json.hpp:19952
+
int e
Definition: json.hpp:12959
+
file_input_adapter & operator=(const file_input_adapter &)=delete
+
string_t & get_string()
return current string value (implicitly resets the token; useful only once)
Definition: json.hpp:8470
+
typename BasicJsonType::number_unsigned_t number_unsigned_t
Definition: json.hpp:4458
+
typename Base::reference reference
the reference type for the pointed-to element
Definition: json.hpp:9989
+ +
@ array_end
the parser read ] and finished processing a JSON array
+
iteration_proxy_value< IteratorType > end() noexcept
return iterator end (needed for range-based for)
Definition: json.hpp:3403
+
bool number_integer(number_integer_t)
Definition: json.hpp:4958
+
bool operator>=(const iter_impl &other) const
comparison: greater than or equal
Definition: json.hpp:9784
+
#define JSON_HEDLEY_RETURNS_NON_NULL
Definition: json.hpp:1362
+
std::size_t size_type
a type to represent container sizes
Definition: json.hpp:14809
+
json_reverse_iterator operator-(difference_type i) const
subtract from iterator
Definition: json.hpp:10035
+
serializer & operator=(const serializer &)=delete
+
std::shared_ptr< output_adapter_protocol< CharType > > output_adapter_t
a type to simplify interfaces
Definition: json.hpp:11207
+
reference emplace_back(Args &&... args)
add an object to an array
Definition: json.hpp:19596
+
bool operator<(const value_t lhs, const value_t rhs) noexcept
comparison operator for JSON types
Definition: json.hpp:2877
+
#define JSON_TRY
Definition: json.hpp:1755
+
friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
comparison: equal
Definition: json.hpp:20296
+
reverse_iterator rend() noexcept
returns an iterator to the reverse-end
Definition: json.hpp:18852
+
iter_impl(const iter_impl< const BasicJsonType > &other) noexcept
const copy constructor
Definition: json.hpp:9434
+
parser(detail::input_adapter_t &&adapter, const parser_callback_t cb=nullptr, const bool allow_exceptions_=true)
a parser reading from an input adapter
Definition: json.hpp:8714
+
static std::vector< uint8_t > to_cbor(const basic_json &j)
create a CBOR serialization of a given JSON value
Definition: json.hpp:21118
+ +
const primitive_iterator_t operator--(int) noexcept
Definition: json.hpp:9254
+
input_format_t
the supported input formats
Definition: json.hpp:3887
+
bool operator<=(const iter_impl &other) const
comparison: less than or equal
Definition: json.hpp:9766
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
Create a JSON value from an input in BSON format.
Definition: json.hpp:21817
+ +
@ strict
throw a type_error exception in case of invalid UTF-8
+
constexpr int kGamma
Definition: json.hpp:12954
+
reference operator+=(initializer_list_t init)
add an object to an object
Definition: json.hpp:19566
+
void pop_back()
remove last reference token
Definition: json.hpp:10320
+
decltype(std::declval< T & >().number_integer(std::declval< Integer >())) number_integer_function_t
Definition: json.hpp:5039
+
std::uint64_t f
Definition: json.hpp:12703
+
#define NLOHMANN_JSON_VERSION_MINOR
Definition: json.hpp:34
+
Definition: json.hpp:2297
+
bool number_unsigned(number_unsigned_t)
Definition: json.hpp:4963
+
bool number_unsigned(number_unsigned_t val)
Definition: json.hpp:4679
+
virtual bool number_float(number_float_t val, const string_t &s)=0
an floating-point number was read
+
j template void())
Definition: json.hpp:3108
+
ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >> object_t
a type for an object
Definition: json.hpp:15026
+
bool start_array(std::size_t len)
Definition: json.hpp:4540
+
bool parse_error(std::size_t, const std::string &, const detail::exception &ex)
Definition: json.hpp:4806
+
diyfp minus
Definition: json.hpp:12820
+
abstract input adapter interface
Definition: json.hpp:3904
+
reference operator*() const
return a reference to the value pointed to by the iterator
Definition: json.hpp:9546
+
const_reference operator[](const typename object_t::key_type &key) const
read-only access specified object element
Definition: json.hpp:17847
+
ReferenceType get_ref()
get a reference value (implicit)
Definition: json.hpp:17414
+
basic_json(InputIT first, InputIT last)
construct a JSON container given an iterator range
Definition: json.hpp:16225
+
const JSON_HEDLEY_RETURNS_NON_NULL char * type_name() const noexcept
return the type as string
Definition: json.hpp:20987
+
iteration_proxy< const_iterator > items() const noexcept
helper to access iterator member functions in range-based for
Definition: json.hpp:19067
+
static void to_cbor(const basic_json &j, detail::output_adapter< char > o)
Definition: json.hpp:21130
+ +
decltype(std::declval< T & >().key(std::declval< String & >())) key_function_t
Definition: json.hpp:5059
+
const int id
the id of the exception
Definition: json.hpp:1875
+
json_reverse_iterator< typename basic_json::const_iterator > const_reverse_iterator
a const reverse iterator for a basic_json container
Definition: json.hpp:14826
+ +
virtual bool end_object()=0
the end of an object was read
+
serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
Definition: json.hpp:13802
+
input_adapter(std::FILE *file)
Definition: json.hpp:4202
+
size_type erase(const typename object_t::key_type &key)
remove element from a JSON object given a key
Definition: json.hpp:18432
+
bool operator<(const iter_impl &other) const
comparison: smaller
Definition: json.hpp:9739
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in CBOR format
Definition: json.hpp:21517
+
friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
comparison: greater than or equal
Definition: json.hpp:20586
+
@ uninitialized
indicating the scanner is uninitialized
+ + +
void update(const_iterator first, const_iterator last)
updates a JSON object from another object, overwriting existing keys
Definition: json.hpp:20003
+
@ value
the parser finished reading a JSON value
+
NumberUnsignedType number_unsigned_t
a type for a number (unsigned)
Definition: json.hpp:15294
+
constexpr number_unsigned_t get_number_unsigned() const noexcept
return unsigned integer value
Definition: json.hpp:8458
+
basic_json(basic_json &&other) noexcept
move constructor
Definition: json.hpp:16432
+
primitive_iterator_t primitive_iterator
generic iterator for all other types
Definition: json.hpp:9294
+
std::size_t lines_read
the number of lines read
Definition: json.hpp:96
+
@ number_unsigned
number value (unsigned integer)
+
size_type max_size() const noexcept
returns the maximum possible number of elements
Definition: json.hpp:19265
+
bool sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true)
Definition: json.hpp:5210
+
Definition: json.hpp:2795
+
deserialization of CBOR, MessagePack, and UBJSON values
Definition: json.hpp:5175
+ +
JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent(char *buf, int e)
appends a decimal representation of e to buf
Definition: json.hpp:13572
+
@ array
array (ordered collection of values)
+
static void construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)
Definition: json.hpp:3496
+
decltype(T::from_json(std::declval< Args >()...)) from_json_function
Definition: json.hpp:2513
+
typename BasicJsonType::number_integer_t number_integer_t
Definition: json.hpp:4639
+
BooleanType boolean_t
a type for a boolean
Definition: json.hpp:15151
+
const_iterator end() const noexcept
returns a const iterator to one past the last element
Definition: json.hpp:18755
+
void push_back(std::string &&token)
append an unescaped token at the end of the reference pointer
Definition: json.hpp:10372
+
binary_reader & operator=(const binary_reader &)=delete
+
input_adapter(const std::u16string &ws)
Definition: json.hpp:4215
+
value_type const * operator->() const
Definition: json.hpp:11146
+
diyfp plus
Definition: json.hpp:12821
+
static type_error create(int id_, const std::string &what_arg)
Definition: json.hpp:2078
+ +
constexpr diyfp(std::uint64_t f_, int e_) noexcept
Definition: json.hpp:12706
+
reference at(size_type idx)
access specified array element with bounds checking
Definition: json.hpp:17519
+
bool contains(KeyT &&key) const
check the existence of an element in a JSON object
Definition: json.hpp:18604
+
#define JSON_HEDLEY_DIAGNOSTIC_PUSH
Definition: json.hpp:735
+
typename detector< nonesuch, void, Op, Args... >::type detected_t
Definition: json.hpp:2367
+
decltype(std::declval< T & >().end_object()) end_object_function_t
Definition: json.hpp:5062
+
friend bool operator!=(json_pointer const &lhs, json_pointer const &rhs) noexcept
compares two JSON pointers for inequality
Definition: json.hpp:11076
+ +
std::is_convertible< detected_t< Op, Args... >, To > is_detected_convertible
Definition: json.hpp:2380
+
typename BasicJsonType::number_float_t number_float_t
Definition: json.hpp:4945
+
iteration_proxy_value & operator++()
increment operator (needed for range-based for)
Definition: json.hpp:3329
+
abstract output adapter interface
Definition: json.hpp:11198
+
iteration_proxy_value(IteratorType it) noexcept
Definition: json.hpp:3320
+
@ discarded
discarded by the the parser callback function
+
constexpr bool is_structured() const noexcept
return whether type is structured
Definition: json.hpp:16669
+
iterator begin() noexcept
returns an iterator to the first element
Definition: json.hpp:18674
+
parse_event_t
Definition: json.hpp:8694
+
void swap(string_t &other)
exchanges the values
Definition: json.hpp:20152
+
Default type
Definition: json.hpp:2353
+
bool end_object()
Definition: json.hpp:4534
+
~basic_json() noexcept
destructor
Definition: json.hpp:16502
+
#define JSON_HEDLEY_NON_NULL(...)
Definition: json.hpp:1032
+
string_t dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
serialization
Definition: json.hpp:16560
+ +
static void construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)
Definition: json.hpp:3488
+
static void to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)
Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
Definition: json.hpp:21403
+
JSONSerializer< T, SFINAE > json_serializer
Definition: json.hpp:14755
+
void push_back(initializer_list_t init)
add an object to an object
Definition: json.hpp:19548
+
Definition: json.hpp:2569
+ +
#define JSON_HEDLEY_DEPRECATED(since)
Definition: json.hpp:860
+
typename parser::parse_event_t parse_event_t
parser event types
Definition: json.hpp:15661
+
@ object_start
the parser read { and started to process a JSON object
+
bool operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
compare two value_t enum values
Definition: json.hpp:22661
+
typename detector< nonesuch, void, Op, Args... >::value_t is_detected
Definition: json.hpp:2364
+ +
iter_impl(pointer object) noexcept
constructor for a given JSON instance
Definition: json.hpp:9392
+
virtual bool start_object(std::size_t elements)=0
the beginning of an object was read
+
lexer(detail::input_adapter_t &&adapter)
Definition: json.hpp:7237
+
void push_back(const basic_json &val)
add an object to an array
Definition: json.hpp:19443
+
input_adapter(IteratorType first, IteratorType last)
input adapter for iterator range with contiguous storage
Definition: json.hpp:4249
+
auto input_adapter(T(&array)[N]) -> decltype(input_adapter(array, array+N))
Definition: json.hpp:5139
+
json_pointer & operator/=(std::string token)
append an unescaped reference token at the end of this JSON pointer
Definition: json.hpp:10194
+
friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
comparison: greater than or equal
Definition: json.hpp:20575
+
static void to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)
Definition: json.hpp:21125
+
BasicJsonType get() const
get special-case overload
Definition: json.hpp:17124
+ +
json_pointer & operator/=(std::size_t array_index)
append an array index at the end of this JSON pointer
Definition: json.hpp:10216
+
static void construct(BasicJsonType &j, const CompatibleObjectType &obj)
Definition: json.hpp:3630
+
reference operator[](size_type idx)
access specified array element
Definition: json.hpp:17714
+
lexer & operator=(lexer &)=delete
+
iter_impl()=default
default constructor
Definition: json.hpp:9349
+
virtual bool number_integer(number_integer_t val)=0
an integer number was read
+
Definition: json.hpp:13787
+
bool operator>(const iter_impl &other) const
comparison: greater than
Definition: json.hpp:9775
+
iterator find(KeyT &&key)
find an element in a JSON object
Definition: json.hpp:18520
+
typename std::allocator_traits< allocator_type >::pointer pointer
the type of an element pointer
Definition: json.hpp:14815
+
friend bool operator<(const_reference lhs, const_reference rhs) noexcept
comparison: less than
Definition: json.hpp:20372
+
@ object_end
the parser read } and finished processing a JSON object
+
@ end_array
the character for array end ]
+
const_iterator cbegin() const noexcept
returns a const iterator to the first element
Definition: json.hpp:18714
+
output adapter for output streams
Definition: json.hpp:11235
+
Definition: json.hpp:2476
+
json_pointer & operator/=(const json_pointer &ptr)
append another JSON pointer at the end of this JSON pointer
Definition: json.hpp:10170
+
const_iterator begin() const noexcept
returns a const iterator to the first element
Definition: json.hpp:18684
+
a class to store JSON values
Definition: json.hpp:2421
+
@ value_separator
the value separator ,
+
static invalid_iterator create(int id_, const std::string &what_arg)
Definition: json.hpp:2024
+
static bool sax_parse(detail::input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true)
generate SAX events
Definition: json.hpp:20814
+
const json_reverse_iterator operator++(int)
post-increment (it++)
Definition: json.hpp:9999
+
#define JSON_HEDLEY_CONST
Definition: json.hpp:1191
+
Definition: json.hpp:2800
+
reference operator[](const typename object_t::key_type &key)
access specified object element
Definition: json.hpp:17798
+ +
friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
comparison: equal
Definition: json.hpp:20285
+ +
virtual bool end_array()=0
the end of an array was read
+
constexpr auto get() const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())
get a pointer value (explicit)
Definition: json.hpp:17380
+
Definition: json.hpp:4940
+
Definition: json.hpp:12817
+
input_adapter(CharT b, std::size_t l)
input adapter for buffer
Definition: json.hpp:4228
+
static parse_error create(int id_, const position_t &pos, const std::string &what_arg)
create a parse error exception
Definition: json.hpp:1947
+
constexpr bool is_number() const noexcept
return whether value is a number
Definition: json.hpp:16743
+
static constexpr T value
Definition: json.hpp:2235
+
const_reference at(const typename object_t::key_type &key) const
access specified object element with bounds checking
Definition: json.hpp:17668
+
Definition: json.hpp:2551
+
reference at(const typename object_t::key_type &key)
access specified object element with bounds checking
Definition: json.hpp:17617
+
static std::vector< uint8_t > to_bson(const basic_json &j)
Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-rep...
Definition: json.hpp:21388
+ +
Definition: json.hpp:5077
+
friend iter_impl operator+(difference_type i, const iter_impl &it)
addition of distance and iterator
Definition: json.hpp:9842
+
constexpr number_integer_t get_number_integer() const noexcept
return integer value
Definition: json.hpp:8452
+
static constexpr int kPrecision
Definition: json.hpp:12701
+
Definition: json.hpp:3431
+ +
#define NLOHMANN_BASIC_JSON_TPL_DECLARATION
Definition: json.hpp:1814
+
json_reverse_iterator & operator++()
pre-increment (++it)
Definition: json.hpp:10005
+
@ name_separator
the name separator :
+
basic_json<> json
default JSON class
Definition: json.hpp:2445
+
constexpr friend difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
Definition: json.hpp:9230
+
Definition: json.hpp:4197
+
friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
comparison: not equal
Definition: json.hpp:20319
+
typename BasicJsonType::template json_serializer< T, void > serializer
Definition: json.hpp:2541
+
iter_impl & operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
converting assignment
Definition: json.hpp:9466
+ +
static void to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
Definition: json.hpp:21326
+
void push_back(const std::string &token)
append an unescaped token at the end of the reference pointer
Definition: json.hpp:10366
+
Definition: json.hpp:3241
+
void from_json_tuple_impl(const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
Definition: json.hpp:3190
+
iterator insert(const_iterator pos, const_iterator first, const_iterator last)
inserts elements
Definition: json.hpp:19816
+
static void construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
Definition: json.hpp:3518
+
void write_character(CharType c) override
Definition: json.hpp:11218
+
static iteration_proxy< iterator > iterator_wrapper(reference ref) noexcept
wrapper to access iterator member functions in range-based for
Definition: json.hpp:18982
+
basic_json(const BasicJsonType &val)
create a JSON value from an existing one
Definition: json.hpp:15880
+
bool number_float(number_float_t, const string_t &)
Definition: json.hpp:4968
+
static basic_json parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
deserialize from an iterator range with contiguous storage
Definition: json.hpp:20877
+
decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) parse_error_function_t
Definition: json.hpp:5074
+
auto get(const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
Definition: json.hpp:3412
+
static void construct(BasicJsonType &j, const std::vector< bool > &arr)
Definition: json.hpp:3582
+
constexpr friend bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
Definition: json.hpp:9218
+
input_adapter(std::istream &i)
input adapter for input stream
Definition: json.hpp:4205
+
void parse(const bool strict, BasicJsonType &result)
public parser interface
Definition: json.hpp:8733
+
const_reference front() const
access the first element
Definition: json.hpp:18137
+
iterator insert(const_iterator pos, initializer_list_t ilist)
inserts elements
Definition: json.hpp:19869
+
iter_impl & operator-=(difference_type i)
subtract from iterator
Definition: json.hpp:9822
+
typename BasicJsonType::number_unsigned_t number_unsigned_t
Definition: json.hpp:4944
+
input_adapter(const std::u32string &ws)
Definition: json.hpp:4218
+
typename BasicJsonType::number_unsigned_t number_unsigned_t
Definition: json.hpp:4640
+
decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) number_float_function_t
Definition: json.hpp:5047
+ +
an iterator value
Definition: json.hpp:9287
+
bool boolean(bool)
Definition: json.hpp:4953
+ +
json_ref(const value_type &value)
Definition: json.hpp:11110
+
input_adapter(const ContiguousContainer &c)
input adapter for contiguous container
Definition: json.hpp:4292
+
NumberFloatType number_float_t
a type for a number (floating-point)
Definition: json.hpp:15362
+
JSON_HEDLEY_RETURNS_NON_NULL char * to_chars(char *first, const char *last, FloatType value)
generates a decimal representation of the floating-point number value in [first, last).
Definition: json.hpp:13709
+
reference front()
access the first element
Definition: json.hpp:18129
+
typename BasicJsonType::value_type value_type
the type of the values when the iterator is dereferenced
Definition: json.hpp:9370
+
constexpr bool is_number_integer() const noexcept
return whether value is an integer number
Definition: json.hpp:16772
+
constexpr const JSON_HEDLEY_RETURNS_NON_NULL char * get_error_message() const noexcept
return syntax error message
Definition: json.hpp:8513
+
std::size_t chars_read_total
the total number of characters read
Definition: json.hpp:92
+ + +
#define JSON_HEDLEY_WARN_UNUSED_RESULT
Definition: json.hpp:893
+
reference operator[](const json_pointer &ptr)
access specified element via JSON Pointer
Definition: json.hpp:21871
+
void operator=(nonesuch const &)=delete
+
output adapter for basic_string
Definition: json.hpp:11259
+
iter_impl operator+(difference_type i) const
add to iterator
Definition: json.hpp:9831
+
binary_reader(input_adapter_t adapter)
create a binary reader
Definition: json.hpp:5189
+
static void construct(BasicJsonType &j, const std::valarray< T > &arr)
Definition: json.hpp:3596
+
decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) number_unsigned_function_t
Definition: json.hpp:5043
+
reference operator[](difference_type n) const
access to successor
Definition: json.hpp:9885
+
Definition: json.hpp:2217
+
typename BasicJsonType::number_float_t number_float_t
type for floating-point numbers
Definition: json.hpp:4340
+
@ array_start
the parser read [ and started to process a JSON array
+
const json_reverse_iterator operator--(int)
post-decrement (it–)
Definition: json.hpp:10011
+
constexpr bool is_number_unsigned() const noexcept
return whether value is an unsigned integer number
Definition: json.hpp:16800
+
decltype(T::to_json(std::declval< Args >()...)) to_json_function
Definition: json.hpp:2510
+
static std::vector< uint8_t > to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)
create a UBJSON serialization of a given JSON value
Definition: json.hpp:21311
+
typename BasicJsonType::number_float_t number_float_t
Definition: json.hpp:4641
+
bool start_object(std::size_t len)
Definition: json.hpp:4697
+
primitive_iterator_t & operator-=(difference_type n) noexcept
Definition: json.hpp:9267
+
iteration_proxy(typename IteratorType::reference cont) noexcept
construct iteration proxy from a container
Definition: json.hpp:3393
+
JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer(char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
prettify v = buf * 10^decimal_exponent
Definition: json.hpp:13624
+
const JSON_HEDLEY_RETURNS_NON_NULL char * what() const noexcept override
returns the explanatory string
Definition: json.hpp:1869
+
friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
serialize to stream
Definition: json.hpp:20642
+
void clear() noexcept
clears the contents
Definition: json.hpp:19335
+
friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
serialize to stream
Definition: json.hpp:20666
+
Definition: json.hpp:2336
+
constexpr bool is_null() const noexcept
return whether value is null
Definition: json.hpp:16691
+
iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
inserts elements
Definition: json.hpp:19768
+
typename T::reference reference_t
Definition: json.hpp:2501
+
const_reverse_iterator crend() const noexcept
returns a const reverse iterator to one before the first
Definition: json.hpp:18918
+
bool operator!=(const iteration_proxy_value &o) const
inequality operator (needed for range-based for)
Definition: json.hpp:3344
+
basic_json patch(const basic_json &json_patch) const
applies a JSON patch
Definition: json.hpp:22110
+
virtual std::char_traits< char >::int_type get_character()=0
get a character [0,255] or std::char_traits<char>::eof().
+
constexpr int kAlpha
Definition: json.hpp:12953
+
constexpr number_float_t get_number_float() const noexcept
return floating-point value
Definition: json.hpp:8464
+ +
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in MessagePack format
Definition: json.hpp:21642
+
Definition: json.hpp:3918
+
bool skip_bom()
skip the UTF-8 byte order mark
Definition: json.hpp:8526
+
bool end_object()
Definition: json.hpp:4732
+ +
IteratorType erase(IteratorType pos)
remove element given an iterator
Definition: json.hpp:18240
+
#define JSON_CATCH(exception)
Definition: json.hpp:1756
+
constexpr auto get_ptr() const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
get a pointer value (implicit)
Definition: json.hpp:17333
+ +
decltype(std::declval< T & >().string(std::declval< String & >())) string_function_t
Definition: json.hpp:5051
+
input_stream_adapter & operator=(input_stream_adapter &)=delete
+
constexpr bool is_array() const noexcept
return whether value is an array
Definition: json.hpp:16872
+
parse_event_t
Definition: json.hpp:10137
+
bool operator==(const iteration_proxy_value &o) const
equality operator (needed for InputIterator)
Definition: json.hpp:3338
+
virtual bool start_array(std::size_t elements)=0
the beginning of an array was read
+
typename T::key_type key_type_t
Definition: json.hpp:2489
+
typename BasicJsonType::difference_type difference_type
a type to represent differences between iterators
Definition: json.hpp:9372
+
Array get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))
Definition: json.hpp:17283
+
void from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
Definition: json.hpp:3042
+
SAX interface.
Definition: json.hpp:4333
+
friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
comparison: greater than or equal
Definition: json.hpp:20597
+
void insert(const_iterator first, const_iterator last)
inserts elements
Definition: json.hpp:19910
+
file_input_adapter(std::FILE *f) noexcept
Definition: json.hpp:3922
+
const_reverse_iterator crbegin() const noexcept
returns a const reverse iterator to the last element
Definition: json.hpp:18889
+
int k
Definition: json.hpp:12960
+
constexpr bool is_boolean() const noexcept
return whether value is a boolean
Definition: json.hpp:16713
+
std::ptrdiff_t difference_type
a type to represent differences between iterators
Definition: json.hpp:14807
+
auto get_ptr() noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
get a pointer value (implicit)
Definition: json.hpp:17320
+
proxy class for the items() function
Definition: json.hpp:3385
+
static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
create a JSON value from an input in MessagePack format
Definition: json.hpp:21626
+
const object_t::key_type & key() const
return the key of an object iterator
Definition: json.hpp:9916
+
static void construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)
Definition: json.hpp:3613
+
typename BasicJsonType::template json_serializer< T, void > serializer
Definition: json.hpp:2556
+ +
difference_type operator-(const json_reverse_iterator &other) const
return difference
Definition: json.hpp:10041
+
#define JSON_HEDLEY_PURE
Definition: json.hpp:1170
+
bool parse_error(std::size_t, const std::string &, const detail::exception &)
Definition: json.hpp:5003
+ +
input_adapter(CharT b)
input adapter for string literal
Definition: json.hpp:4240
+
typename T::pointer pointer_t
Definition: json.hpp:2498
+
@ object_start
the parser read { and started to process a JSON object
+
constexpr bool is_number_float() const noexcept
return whether value is a floating-point number
Definition: json.hpp:16828
+
@ literal_or_value
a literal or the begin of a value (only for diagnostics)
+
friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
comparison: not equal
Definition: json.hpp:20330
+
int e
Definition: json.hpp:12704
+
typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type pointer
defines a pointer to the type iterated over (value_type)
Definition: json.hpp:9376
+
const iter_impl operator--(int)
post-decrement (it–)
Definition: json.hpp:9660
+
virtual bool key(string_t &val)=0
an object key was read
+ +
@ value_float
an floating point number – use get_number_float() for actual value
+
@ begin_array
the character for array begin [
+
binary_writer(output_adapter_t< CharType > adapter)
create a binary writer
Definition: json.hpp:11328
+
Definition: json.hpp:2233
+
basic_json(const basic_json &other)
copy constructor
Definition: json.hpp:16349
+
@ value_string
a string – use get_string() for actual value
+
virtual ~json_sax()=default
+
void write_character(CharType c) override
Definition: json.hpp:11242
+ +
output_adapter(std::vector< CharType > &vec)
Definition: json.hpp:11285
+
constexpr friend bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
Definition: json.hpp:9213
+
input_adapter(std::istream &&i)
input adapter for input stream
Definition: json.hpp:4209
+
friend bool operator==(json_pointer const &lhs, json_pointer const &rhs) noexcept
compares two JSON pointers for equality
Definition: json.hpp:11059
+
typename BasicJsonType::string_t string_t
Definition: json.hpp:4946
+
bool number_float(number_float_t val, const string_t &)
Definition: json.hpp:4502
+
friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
comparison: less than or equal
Definition: json.hpp:20494
+
const_reference operator[](size_type idx) const
access specified array element
Definition: json.hpp:17760
+
bool end_array()
Definition: json.hpp:4998
+
int find_largest_pow10(const std::uint32_t n, std::uint32_t &pow10)
Definition: json.hpp:13134
+
std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adapter
Definition: json.hpp:9987
+
json_reverse_iterator & operator--()
pre-decrement (–it)
Definition: json.hpp:10017
+
iterator insert_iterator(const_iterator pos, Args &&... args)
Definition: json.hpp:19679
+
static void construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
Definition: json.hpp:3476
+
reference value() const
return the value of an iterator
Definition: json.hpp:9932
+
JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name(const token_type t) noexcept
return name of values of type token_type (only used for errors)
Definition: json.hpp:7194
+
reference operator+=(basic_json &&val)
add an object to an array
Definition: json.hpp:19433
+
json_reverse_iterator(const base_iterator &it) noexcept
create reverse iterator from base class
Definition: json.hpp:9996
+
void to_json(BasicJsonType &j, T b) noexcept
Definition: json.hpp:3647
+
@ end_object
the character for object end }
+ +
constexpr bool is_errored() const
Definition: json.hpp:4834
+
void write_bson(const BasicJsonType &j)
Definition: json.hpp:11337
+
typename std::allocator_traits< allocator_type >::const_pointer const_pointer
the type of an element const pointer
Definition: json.hpp:14817
+
iter_impl & operator+=(difference_type i)
add to iterator
Definition: json.hpp:9793
+
Definition: json.hpp:11282
+
void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
exchanges the values
Definition: json.hpp:20054
+
iterator end() noexcept
returns an iterator to one past the last element
Definition: json.hpp:18745
+
ValueType & get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))
get a value (explicit)
Definition: json.hpp:17271
+
typename T::iterator_category iterator_category_t
Definition: json.hpp:2504
+
bool boolean(bool val)
Definition: json.hpp:4667
+
BasicJsonType value_type
Definition: json.hpp:11104
+
auto operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
Definition: json.hpp:3778
+
#define JSON_HEDLEY_DIAGNOSTIC_POP
Definition: json.hpp:736
+
std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
Definition: json.hpp:2376
+
@ key
the parser read a key of a value in an object
+
friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
comparison: less than
Definition: json.hpp:20459
+
#define NLOHMANN_JSON_VERSION_MAJOR
Definition: json.hpp:33
+
ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))
get a value (explicit); special case
Definition: json.hpp:17225
+
bool contains(const json_pointer &ptr) const
check the existence of an element in a JSON object given a JSON pointer
Definition: json.hpp:18635
+
std::size_t operator()(const nlohmann::json &j) const
return a hash value for a JSON object
Definition: json.hpp:22643
+
@ array_start
the parser read [ and started to process a JSON array
+
typename std::remove_cv< typename std::remove_reference< T >::type >::type uncvref_t
Definition: json.hpp:2194
+ + + + diff --git a/help/html/build_2__deps_2json-subbuild_2CMakeLists_8txt.html b/help/html/build_2__deps_2json-subbuild_2CMakeLists_8txt.html new file mode 100644 index 0000000..6f0cd8b --- /dev/null +++ b/help/html/build_2__deps_2json-subbuild_2CMakeLists_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeLists.txt File Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
build/_deps/json-subbuild/CMakeLists.txt File Reference
+
+
+
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1API-members.html b/help/html/classCocoaTweet_1_1API_1_1API-members.html new file mode 100644 index 0000000..0ca8efd --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1API-members.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::API Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::API, including all inherited members.

+ + + + + + +
API(CocoaTweet::OAuth::Key _key)CocoaTweet::API::API
directMessage() constCocoaTweet::API::API
favorite() constCocoaTweet::API::API
media() constCocoaTweet::API::API
status() constCocoaTweet::API::API
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1API.html b/help/html/classCocoaTweet_1_1API_1_1API.html new file mode 100644 index 0000000..4dd6135 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1API.html @@ -0,0 +1,223 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::API Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::API Class Reference
+
+
+ +

Twitter API Entry Point. + More...

+ +

#include <api.h>

+ + + + + + + + + + + + + + + +

+Public Member Functions

 API (CocoaTweet::OAuth::Key _key)
 primary constructor More...
 
Statuses::Status status () const
 Getter for Grouped by Statuses/*. More...
 
Favorites::Favorite favorite () const
 Getter for Grouped by Favorites/*. More...
 
Medias::Media media () const
 
DirectMessages::DirectMessage directMessage () const
 
+

Detailed Description

+

Twitter API Entry Point.

+

Constructor & Destructor Documentation

+ +

◆ API()

+ +
+
+ + + + + + + + +
CocoaTweet::API::API::API (CocoaTweet::OAuth::Key _key)
+
+ +

primary constructor

+
Parameters
+ + +
[in]_keyTwitter API Key typed CocoaTweet::OAuth::Key
+
+
+ +
+
+

Member Function Documentation

+ +

◆ directMessage()

+ +
+
+ + + + + + + +
DirectMessages::DirectMessage CocoaTweet::API::API::directMessage () const
+
+ +
+
+ +

◆ favorite()

+ +
+
+ + + + + + + +
Favorites::Favorite CocoaTweet::API::API::favorite () const
+
+ +

Getter for Grouped by Favorites/*.

+
Parameters
+ + +
[out]Favoriteobject typed CococaTweet::API::Favorites::Favorite
+
+
+ +
+
+ +

◆ media()

+ +
+
+ + + + + + + +
Medias::Media CocoaTweet::API::API::media () const
+
+ +
+
+ +

◆ status()

+ +
+
+ + + + + + + +
Statuses::Status CocoaTweet::API::API::status () const
+
+ +

Getter for Grouped by Statuses/*.

+
Parameters
+ + +
[out]Statusobject typed CocoaTweet::API::Statuses::Status
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/cocoatweet/api/api.h
  • +
  • src/cocoatweet/api/api.cc
  • +
+
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage-members.html b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage-members.html new file mode 100644 index 0000000..f50bc90 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::DirectMessages::DirectMessage Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::DirectMessages::DirectMessage, including all inherited members.

+ + + + + +
DirectMessage()=defaultCocoaTweet::API::DirectMessages::DirectMessage
DirectMessage(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::DirectMessages::DirectMessage
messageCreate(const std::string &_recipient, const std::string &_message)CocoaTweet::API::DirectMessages::DirectMessage
oauth_CocoaTweet::API::groupInterfaceprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html new file mode 100644 index 0000000..0ecc072 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html @@ -0,0 +1,210 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::DirectMessages::DirectMessage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::DirectMessages::DirectMessage Class Reference
+
+
+ +

Entory point for statuses/*. + More...

+ +

#include <directMessage.h>

+
+Inheritance diagram for CocoaTweet::API::DirectMessages::DirectMessage:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::DirectMessages::DirectMessage:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + +

+Public Member Functions

 DirectMessage ()=default
 
 DirectMessage (std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 constructor which finally should to be called. More...
 
void messageCreate (const std::string &_recipient, const std::string &_message)
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from CocoaTweet::API::groupInterface
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
+

Detailed Description

+

Entory point for statuses/*.

+

Constructor & Destructor Documentation

+ +

◆ DirectMessage() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage ()
+
+default
+
+ +
+
+ +

◆ DirectMessage() [2/2]

+ +
+
+ + + + + + + + +
CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage (std::shared_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

constructor which finally should to be called.

+
Parameters
+ + +
[in]std::shared_ptr<CocoaTweet::OAuth::OAuth1>: pointer to OAuth object
+
+
+ +
+
+

Member Function Documentation

+ +

◆ messageCreate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CocoaTweet::API::DirectMessages::DirectMessage::messageCreate (const std::string & _recipient,
const std::string & _message 
)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.map new file mode 100644 index 0000000..9bf957c --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.md5 new file mode 100644 index 0000000..fa7879c --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.md5 @@ -0,0 +1 @@ +11ba0235f54a37871b3a9f18174cc284 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..55be0f64a3f6549475d35d63b149e1b7596c67e9 GIT binary patch literal 6275 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.map new file mode 100644 index 0000000..9bf957c --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.md5 new file mode 100644 index 0000000..fa7879c --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.md5 @@ -0,0 +1 @@ +11ba0235f54a37871b3a9f18174cc284 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..55be0f64a3f6549475d35d63b149e1b7596c67e9 GIT binary patch literal 6275 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New-members.html b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New-members.html new file mode 100644 index 0000000..368f638 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New-members.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::DirectMessages::New Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::DirectMessages::New, including all inherited members.

+ + + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
message(const std::string &_message)CocoaTweet::API::DirectMessages::New
New()CocoaTweet::API::DirectMessages::New
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::DirectMessages::New
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
recipient(const std::string &_id)CocoaTweet::API::DirectMessages::New
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html new file mode 100644 index 0000000..c03366d --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html @@ -0,0 +1,228 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::DirectMessages::New Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::DirectMessages::New Class Reference
+
+
+ +

class for using statuses/update endpoint + More...

+ +

#include <new.h>

+
+Inheritance diagram for CocoaTweet::API::DirectMessages::New:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::DirectMessages::New:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 New ()
 
void recipient (const std::string &_id)
 
void message (const std::string &_message)
 
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 process request for endpoint More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for using statuses/update endpoint

+

Constructor & Destructor Documentation

+ +

◆ New()

+ +
+
+ + + + + + + +
CocoaTweet::API::DirectMessages::New::New ()
+
+ +
+
+

Member Function Documentation

+ +

◆ message()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::DirectMessages::New::message (const std::string & _message)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::DirectMessages::New::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

process request for endpoint

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to oauth object
[out]CocoaTweet::API::Model::Tweet: request result
+
+
+ +
+
+ +

◆ recipient()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::DirectMessages::New::recipient (const std::string & _id)
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/cocoatweet/api/directMessage/new.h
  • +
  • src/cocoatweet/api/directMessage/new.cc
  • +
+
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.map new file mode 100644 index 0000000..4139f83 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.md5 new file mode 100644 index 0000000..fd2ef16 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.md5 @@ -0,0 +1 @@ +24bbe1ec4a9327219e9d566a3b5d06a3 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4efc08361ec3bb8ac73ffbdd3ef14d0d8cd6bce4 GIT binary patch literal 8847 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 Q!vsVAk&1La!YJUs0LPg&)&Kwi literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.map new file mode 100644 index 0000000..4139f83 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.md5 new file mode 100644 index 0000000..fd2ef16 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.md5 @@ -0,0 +1 @@ +24bbe1ec4a9327219e9d566a3b5d06a3 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1DirectMessages_1_1New__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4efc08361ec3bb8ac73ffbdd3ef14d0d8cd6bce4 GIT binary patch literal 8847 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 Q!vsVAk&1La!YJUs0LPg&)&Kwi literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create-members.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create-members.html new file mode 100644 index 0000000..b2fa3af --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Favorites::Create Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Favorites::Create, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
Create()CocoaTweet::API::Favorites::Create
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
id(const std::string &_id)CocoaTweet::API::Favorites::Create
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Favorites::Create
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create.html new file mode 100644 index 0000000..48e9124 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create.html @@ -0,0 +1,193 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Favorites::Create Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Favorites::Create Class Reference
+
+
+ +

#include <create.h>

+
+Inheritance diagram for CocoaTweet::API::Favorites::Create:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Favorites::Create:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 Create ()
 
void id (const std::string &_id)
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Constructor & Destructor Documentation

+ +

◆ Create()

+ +
+
+ + + + + + + +
CocoaTweet::API::Favorites::Create::Create ()
+
+ +
+
+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Favorites::Create::id (const std::string & _id)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Favorites::Create::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.map new file mode 100644 index 0000000..4c53096 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.md5 new file mode 100644 index 0000000..6cf29d0 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.md5 @@ -0,0 +1 @@ +b2582d4e9d44b0fceca56033bfc252b2 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..62bb1dbf4219204946984a788013fc29ae8a1995 GIT binary patch literal 9389 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 a38UJd6n;jjpNIF45DIdtvV}6n&;JXnbbKcO literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.map new file mode 100644 index 0000000..4c53096 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.md5 new file mode 100644 index 0000000..6cf29d0 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.md5 @@ -0,0 +1 @@ +b2582d4e9d44b0fceca56033bfc252b2 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Create__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..62bb1dbf4219204946984a788013fc29ae8a1995 GIT binary patch literal 9389 zcmc(Fby$?`y6>P81|Xu8gouEEgmi;^AkvD`-8q0D-2$Q_B2r2V(j7yGG?F4clt?LE zLrBcN=R51Hwb$8a{d>;krCd1gJbA}2-d7J*<%uuQTtFZY#0n2&)#2wi_`5_z0RK8p zjG4d>0#hY{X%#3ONS%KM3i>nV0?X*TmVrIPGDxi13)EN!g> z<+ofZTbkj+)QR=uvety!Ji3j7C?>b_-(ce(lKfUC-Cz;SM*^wHpPQ*ylT3CJY^3TSP z=N=Hz-IA91bp!8;3?ZQlaU=F*BcYUpQMVjrHyTgt$m4#k&zR>jEv<4Km%+M?iA=e< zr>E!VtSqy2Q&by*nU$5#ZFS6BH}x{7j-uj)fq?V6?+~vj z(o0L zft+bbdiUnm~vWo3Sm-e|VR4;3R*Qq+u%Z@~DO#l^+1IEJ%e9L)k<0e5Ol zdJp1>vvXDw5LMih%msqj>WQrr_|?mn68h|tn1G8{&Sy?*^f zUq2D|;2IkBn7eNCIXfpO%4V93>HckL>PrL*D=T@6eMxz5?wcjiw7;QFXHiYej#jsw zs&UP=>QC04$k!>mn%b8rk{+$jE+Ju1U0t2i)uosbtHD_K}t zj@U8?+JA`WwRkP)GuKXR!9z8asgj^vp{KVrHAr~wT((Y`WzM&64;Pk~bG`Ofb0A7g zwmfwvH1Y88Y!`bzE|+xBKjz}%LdD``9~^ij?B!*QzCqF0M`uq3q z_VMoBv7EOvvh(xJTV4?R?2TK&S+tu3y!V_=k3GFG%W_YiT)m$@V0%PqaHQhe7uFP?W~0+>%0i>Y zx9YFIMzNA#zaFOkIym^;mp^`}-T0CWf~g+nFfZD`z18t_ge$C|Y%o#8WVH*r zs;5U8Kl>sjS9W3|Ek0~4->cuQ>pip5lV{JKC2hIW2g1#N3BY4#V^e@DVuO2)iH`o9 z?6a)^7yj3aOOKS|xHJ^mViFSa5HTq!MZJ0k1_hIolS5l`9R(E}8BdIjQ*|4Bs>hM$ zihh0#%V<2n-l)$a zHmY?~!DHvRQ@PqXqY^V zZfR*5N7+%@*w|d66@J&*`M_;sTE)hO?P!04Ra~4lz-6fq?_0Ht)!NzG`g)1Bwl;_% zJ)~py=g+sCU0j|zJ2xBi{Ft3>3b{!6KvlI+UpaNP2RhT_!t86LFVoZatxwgC zSG%zO6-tuvI7<~)QRcB_imr52gSv(HYoy@1o12?{wR6UZ-1&^F>G#7+(Im!JT8+I( zej1$$dumq5dQ@GKnEQxGcwY6(hq}6oUS6UQ=@{KOdUq*qy$bxvbw`_5s1w`Y0%mr^ zUa;&-1ZNri4j2^_6zWd@te9I^Jkr!`e?`vvG9rSNnHk^T-(N;X=7YE=FD19(Eg_+} zsw&}|H*aokZ#Q>zghn#S^O`iDQ%x3Ec=U+OAA2-2UTP6G?AhJjeU~P@sSP4ehwY7xur#?%ITBfrOFvj`3U;nvVO_#oX1(WIXLFNefmpQ zPVUj8Mn&;W2<&Lqc=tAETgGeMxuuRb&o(tRd3bnSCMOT7t*wncn4dS- z*Vq3wQOO+`82D^`vU&t700mkuMbei_(4Ok_^wiwk{4x!Vt*fDtkt(^!ay}MIQvqzqf}?FqX3Za=&qvs# z$~(fs!ruz?ge?1$r>ahBWa||IPQ!+F1*<%FSfH<2{{EhEidl+^?S*dFSUn95D7d1b zBy^^mKbp`UN(NZ9B+<6KqK2+qjl3!^3_H}sd{;f`sAnfw5#CXi1h2`yO(lN&v0_o7 zz+v%ek2zwb=;KPB4>XjQFQ;1ee0XH14~eB=YMM5VkvQ2MMECk-PL5-+tK((4$cYM; z+HE1tQEW;&OLfw0T<#*@*QAKl)KmiQ{+XG^zRjdc^P&8rOhRV|2QG3JBI>54PX?e^WP*amnjHbDg}n>-q|Hec#q7xM@@{6&u(m} zDJx&PF63}7-~EJ;O2GCi#Q4&Wrl8=E5V9**WOQ_NqFiB1?-3sdv<*&GrkagyX(vxF zmAh{kDk>@-tQcVx0W(3uxW?v0-xL!|;BGj09uR=|;x&qeYQXEVs0?LD#lnJlcz75s zt}=|lEZ2X3mXt2;e?iWi@`g6)4_O)B3h7tC@EP8X7VeA41& zZKvEh#&t$qsCK%WRbGZnN3LIyJ=;n4-=XIDhZkd`Tw)Rv^LhCMGSsb(jEsgh=x-y zntE?%7^y@3{}GZEi_(_6W@!C#0n%xVBSXo0^|+R1^41uK5ZKQ})!1 zfP}==JuE#vF#I}S{HL2HuVB)g>}=DC3gz6~+?8?-O&SFiiT2)vnBIpUdF0OwJzpK$ zl2}++JgffbQCnXUYkcudlW_RbcroKyZ||K(eIyT+cH^lNx#q3>NCfI~Tie3tj1%K6 zMLkzkWO+FQ8yA;jb5}6)l~fAcBb}GoI&qJ80RL!7NlDS=Hh;}D`05lJ z<1H*KgjdIVRYTP!2x?kwY5Meg`Y(b@R9~`E{LrbMg!7NmHGGUWHnkTVC!; zy%#iA>+V>v2Q3j@SNKP@XvuTx_pgEUbNKitqrrqUccr05u->{AOfTV8>^LJ?s9)W@ zJe0y+Tf|qRI!w zI9h#vX^EVQsuRX%yK~3>ry>T%Nz=&F>@~Q5a+?nUnQ32GO_4s3?c?h^{8=IDj;j0b z@66Z8$fwaXHF`ha%Ui@Rp+*#I`!Gop1X9g>#E%d$oU?MCk4XY*P0-Oh+sR8!M(aB#>i zEmddBc%q>2>UCJyV@XNLuBj=5aH_j97FJevJ9@SeZ{KPL>=9kKpsvU!;5aQlT<`6U zq;@Ce$QXjgtbsi}(U6l1+1}n(2e^PjhZ0}U1O%BzJX7`bFJMn7n?aVSwUH6e{aqX% z8OhgS=jVS?T~m{rEa9C?C+4Q@1Grs7S~?(J#3j>fwWK3DEKI4u0>LgRIi2}8mMS37 zyT!`Naq;e>aOZQPp4+#^$H(6=NKOBIX4dgG1Bf5cK<9%^69ApmLJo-|k`9x?&<|y7 zZP}Oll9+gS-j$d0CoE2tT3l3QW9Q%)FE%-w;=4y}Ho}(>6+@%W$pGJs&AXCMP@W z?5QX#&&OyPHhum23V6rPRtLj`xTBd)i77r1p{&%@0H6STu(oJ*%ak}25`Xh6YszL^ z<8jE!Xi<8!>Gu5B*7o+a=$nj;c*PAkaAKcxPsrtK8ohifaHZSQNmBmPtNd1diH`zA z-PaQZx%l`V<1IIbTx4fumB)jP+gh%}R1NT)<*pcxu89e~n3x!w!AZ~7Y)^SNS62;ue0*0l(qx%vciMZy zrUh{N;{YJBe1|yX2)ED9$oOf*i&ZT--_*>EbHr`wAB0Sg|0`KGBs>CAB_WALNQe^f z76du!Y2%;aqVkH>Rr}SowcpeA-t|lP+O=++K#)7y+VF##zJMCg+1*{H>+Rto3@LGw zlQTTaPIz**G~ZAU=abL(e*`Pl_Pm)bf3eD}nY@RegX#^VW!gyvagQQ&m+3 z<^wWFmDB8*uV25SGWAN$&l3dU0U;xy75)N*``1{BSXnM{S*Zx zjOM7FO{1G(`yl*3He!69Ldr zzf}M1_m#VM@AiD;3k{>>HU*kdZXKyYNd)M9yxv<#%zfSb*SAm4mWR&6Dk!)Om5=t; zeoxg3AwYR(>Faw7gmI|m_NQpmq3lPR6L_nu%azsP_nCl_&w*Nkime2KCYtqBfRYS~ zgo2tH>zzCKhAZFa)|V{0D-bJmu?1^dN=4LqcHiRZvv?i5WG*@$=GB zUe!e5dpyng-q z;AjTh7t5)a-=}A2_;$d$b!v(Z`1|+4!M`_%lKS&2{VFA8ne&3;nl(8vGYDanN!5vi zh}W()4#}$~iOT8dPy-mf$<7V~UdUTR7#bSVO8M1k7BBUu6w#?{&`&q`iXlkFH>C^W z|B{jE?CH71$5)2u-MuY({pa61EDrgbiVbQDXb)P)m4uQq^g#q2&W17&k&v{vv;=+l zKs7lvg=&Sh&Hel-10Ci3rAwdT&`_sECAP!te|CSj6q~ec?(efQF$ICblDG5c&!6q} z+6}1gK?w=h{ZDsNJb%7owa=}EdM*yzDtDNQm-PLE;Cc4zA(T@)d?E+`ck9D>lyFua zUS8YV-P}8?W&O5sh6O0K6v-q2!n3QZ%1%zj!)O@v)ytRJeA7@rii>&5;>r`^bCxWS zdSlJ8xH>pUC7^A#<#(ex>E7}8;mJN@7MAanszeh17tZoIs=5#hgskpxF#%ni!-XZT zCjNphxah?{f;``N>q;tCMk-W~(vRzwv?hPM{~C5PRO(%1WD^7SKpuDoe3PZ)KeCgW z>gp2XrZZ4g#v1*l5FsHU;+Ubwu)FUiX7b6Ni_{?XWcHRl`>lR_d~7{Y!5KtIy4V@X zWNCMGL?IwP0G1Q$;CS#WJ>r9yI~Qo2vhwoekgyBgaY)^`j0s7&{{Mq`3^@>gbE$3P z{&=qQ^{A1*!Ag~_E!F8D`JcWH$ab2#J`j!~L0tN=xY%x2RDU1J{&>|>v!vf}2Osa6 z5rD994m8)jRh_-{sqUH6Jt4s3xYPs^WwA0+fYS=(<>eC-6M=!IgANH#mpRQg6O6Lm zk`7P%pX9{yL#=BQ8p+`2=Ld?{3!A~ryT)G-EXp6gl$dqU=x4n{2v9$+d7|hG<2tWJfM!Fix zP_dShowlXZ9niKBLf*S_dgSOnQ|(sZpk_Z%-qYH8Ox8JhDa}T|URSZv&joR?->9^? z>14C`I+$&nIy(eicSvQ7xMV+mvy!&_2|#Y!HFVJJ3?7(0T{@PD_Zu&i(C zd)ut})1rU=8rYd%G%S-$w|0h)tmoR9#wKPYea{wG3T+N+VQr_=f)#MzVP3dAJd8c0 z>(6DEQ+%D+jsmt!!NRd}B}>gHZBOo@oaPAg>B+|PMRuhRjCi&tg7%$Y95nQK0QYG) zR#%?vuS=EECACsTR*X%^k|*`tryMqc$1ZnES zxEn~34WQStVenHA$xZ$Z)s1Jb6r}+&v-@y#_WJVVWs?-wbX$WC4vAKvMB0DW|)v2_vpc+qUAzn=N%m>$RA|+PmP$5TagS>^r)8Asj6u zUkz4igjxHWSvCJZ#Mv1$)>3y{@(}N<3kJ>P+|Fq}J5X z1Z;0RPy1tifeBKBEX8Np^8>Ia`ZyLn<9CF_75wM;7m0|87c$}u&lqEthsAM<5$`(v ziwQ^7!otG3?Jkb1SFhqwTv>mPN`fFDWpzWtKA<tniA8gJ7nu&~wvA`Un72N~+ zQl!-G-3$Ec-Y!-T4KzA7w$y%{7us{R&mr$d-Ok&Q(>}3{cQG+-KpMb&A#Oay6djH> zo>~mn0Y78{3<^5V*4~6;nOO%3h~~(Wz0#0n3m~j zLp^yvKS@|M3y8uD3=E(t7SzAIgX#xl2rOwEZC4Z-8>_ig-ufQAvK@d|^Z=0k_G@QK zEV?NYmXOLL6;C0ULG1(EMfZB8?~&Ud%!)jCafp>8GUJH~q&W6?$9}vt1l%%RX2&UH5r15FOXn z3^qJLLjc<7tzGXW0C*W~GZREAX^q;0?eg;S;*@To#zW$J_wM-|%!Z=bz76F(#w#DJ zfeKUF$9v(zh1+04j;(KOIHD*Xt3Q4W+5wIYpxU!CGKT+LuJ=3f8YwbT1Msr7v%>`G z3nixL-paYbltBCOc7U68JAGox@%*nq;D4;E+Xadz-ozf0@t%PBTa+)K^|u=kWxXJ; z%YwNuRqGCEefJqK7sHji^6mjXK0d#Oa>#*#@E;W}{r;`s>M8(04^7b3-%pqdrRs^6 zmKi@ywbShLibu$#eNbCWLF2E(jOgud%rF2wg2g#vu97$q-Ud1gCy&!)PWERaLPH5* z%`LsX;XozvzU4e-1;Cjgh-~idE$DNG{NSuOE7+Jm0v>OCd>4$HJB(Ku@dhlxqHC$% zC!c0UkWf%b!TV@EJvlmrBm)FBSolSEB0}I2K~S6S`ZT0A@fQ$zsQ9ffE3&z*q2=`T zX^Gk24@Zo?1XKr*aO1Ei2Rr*i#eoW>9xWXmj%NT> zEl@%2{~inlcz3!L;cuN~2X2VZRvRUnXL9;5LVTMDq=C`onFy)VP7ua(^7G5lBu-Fv zaaeUN?VR?hv_G_o0Nq(UA|j$6@CZoT6?ooxCX{6MQ|$ynfhH|4N+1>*4i~Sl?GhK) zFd$v`-O4N0NEsx1N-erO`}?zUb1#4q22F#9CS0&+@csQm`DI7{BfZ!=Ix?!NB;578 zS73f&AU@#Xg#e&FQ_0N;J&+G{EFkJzo14a9d!u=O&dournE@?=%I~y1#76J+i!pD< zZF%U`*qAn0liXNgTCvSo2aZT6_)A_!r;m>QZ1VrcPXlXrueF`0`^DI;8FS$Ep zbsct>2;$G|!h#$W1Y4AjH}P2WkXw2A+7V_YG%W05QT-kbczC8@>Fd&kH>IxEOeeg5 zF9RlS0XBtbONo+(M$y@s7se6s?@x8}pdGGi5o6YA=u5D{;F%&c|?7WLQ1(^}ZAK zB8uso#FIfK--WK2y4~+exHb1BiSYq>E{LmP1C(G4M!z!fWO(!BJPxnG3n-9Vc9=I@ zY;2!^Re||E^oJxEm^=lSekb(vU*l!05Q2fY9Yjr!$&5*RnO%HJ`oFBa{|Io)B*<(V zB6NsM43mLm($*2 a38UJd6n;jjpNIF45DIdtvV}6n&;JXnbbKcO literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy-members.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy-members.html new file mode 100644 index 0000000..1e3dbff --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Favorites::Destroy Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Favorites::Destroy, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
Destroy()CocoaTweet::API::Favorites::Destroy
id(const std::string &_id)CocoaTweet::API::Favorites::Destroy
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Favorites::Destroy
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html new file mode 100644 index 0000000..1b5309f --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html @@ -0,0 +1,193 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Favorites::Destroy Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Favorites::Destroy Class Reference
+
+
+ +

#include <destroy.h>

+
+Inheritance diagram for CocoaTweet::API::Favorites::Destroy:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Favorites::Destroy:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 Destroy ()
 
void id (const std::string &_id)
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Constructor & Destructor Documentation

+ +

◆ Destroy()

+ +
+
+ + + + + + + +
CocoaTweet::API::Favorites::Destroy::Destroy ()
+
+ +
+
+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Favorites::Destroy::id (const std::string & _id)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Favorites::Destroy::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.map new file mode 100644 index 0000000..4c990c3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.md5 new file mode 100644 index 0000000..b0d6055 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.md5 @@ -0,0 +1 @@ +896ae5ef8c0f018a5a106ec34dbe28e0 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..c82a29fb16b4e204e0d7e7ac2b08d898be11efd2 GIT binary patch literal 9504 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.map new file mode 100644 index 0000000..4c990c3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.md5 new file mode 100644 index 0000000..b0d6055 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.md5 @@ -0,0 +1 @@ +896ae5ef8c0f018a5a106ec34dbe28e0 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Destroy__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..c82a29fb16b4e204e0d7e7ac2b08d898be11efd2 GIT binary patch literal 9504 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite-members.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite-members.html new file mode 100644 index 0000000..79a7a45 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite-members.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Favorites::Favorite Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Favorites::Favorite, including all inherited members.

+ + + + + + +
Create(const std::string &_id) constCocoaTweet::API::Favorites::Favorite
Destroy(const std::string &_id) constCocoaTweet::API::Favorites::Favorite
Favorite()=defaultCocoaTweet::API::Favorites::Favorite
Favorite(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Favorites::Favorite
oauth_CocoaTweet::API::groupInterfaceprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html new file mode 100644 index 0000000..9eb631c --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html @@ -0,0 +1,206 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Favorites::Favorite Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Favorites::Favorite Class Reference
+
+
+ +

#include <favorite.h>

+
+Inheritance diagram for CocoaTweet::API::Favorites::Favorite:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Favorites::Favorite:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

 Favorite ()=default
 
 Favorite (std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 
CocoaTweet::API::Model::Tweet Create (const std::string &_id) const
 
CocoaTweet::API::Model::Tweet Destroy (const std::string &_id) const
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from CocoaTweet::API::groupInterface
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
+

Constructor & Destructor Documentation

+ +

◆ Favorite() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::Favorites::Favorite::Favorite ()
+
+default
+
+ +
+
+ +

◆ Favorite() [2/2]

+ +
+
+ + + + + + + + +
CocoaTweet::API::Favorites::Favorite::Favorite (std::shared_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +
+
+

Member Function Documentation

+ +

◆ Create()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Favorites::Favorite::Create (const std::string & _id) const
+
+ +
+
+ +

◆ Destroy()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Favorites::Favorite::Destroy (const std::string & _id) const
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.map new file mode 100644 index 0000000..f2fe692 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.md5 new file mode 100644 index 0000000..f8e2a9d --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.md5 @@ -0,0 +1 @@ +5ecaf77e7aea97c29855969aba5261b7 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9489f9c282c8c33cad117e2d0906ad17f8f3d252 GIT binary patch literal 5614 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 + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.md5 new file mode 100644 index 0000000..f8e2a9d --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.md5 @@ -0,0 +1 @@ +5ecaf77e7aea97c29855969aba5261b7 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Favorites_1_1Favorite__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9489f9c282c8c33cad117e2d0906ad17f8f3d252 GIT binary patch literal 5614 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Interface::HttpBase Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Interface::HttpBase, including all inherited members.

+ + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)=0CocoaTweet::API::Interface::HttpBaseprotectedpure virtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html new file mode 100644 index 0000000..ae3a119 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html @@ -0,0 +1,307 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Interface::HttpBase Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Interface::HttpBase Class Referenceabstract
+
+
+ +

#include <httpBase.h>

+
+Inheritance diagram for CocoaTweet::API::Interface::HttpBase:
+
+
Inheritance graph
+ + + + + + + + + + + + + + +
[legend]
+ + + + +

+Protected Member Functions

virtual void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)=0
 
+ + + +

+Static Protected Member Functions

static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
+ + + + + + + + + +

+Protected Attributes

std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Member Function Documentation

+ +

◆ curlCallback_()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static size_t CocoaTweet::API::Interface::HttpBase::curlCallback_ (char * _ptr,
size_t _size,
size_t _nmemb,
std::string * _stream 
)
+
+inlinestaticprotected
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void CocoaTweet::API::Interface::HttpBase::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth,
std::function< void(const std::string &)> _callback 
)
+
+protectedpure virtual
+
+
+

Member Data Documentation

+ +

◆ bodyParam_

+ +
+
+ + + + + +
+ + + + +
std::map<std::string, std::string> CocoaTweet::API::Interface::HttpBase::bodyParam_
+
+protected
+
+ +
+
+ +

◆ contentType_

+ +
+
+ + + + + +
+ + + + +
std::string CocoaTweet::API::Interface::HttpBase::contentType_
+
+protected
+
+ +
+
+ +

◆ oauth_

+ +
+
+ + + + + +
+ + + + +
std::weak_ptr<CocoaTweet::OAuth::OAuth1> CocoaTweet::API::Interface::HttpBase::oauth_
+
+protected
+
+ +
+
+ +

◆ url_

+ +
+
+ + + + + +
+ + + + +
std::string CocoaTweet::API::Interface::HttpBase::url_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.map new file mode 100644 index 0000000..6256834 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.md5 new file mode 100644 index 0000000..276901d --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.md5 @@ -0,0 +1 @@ +2c88875be437013441ff7dedcfc5953e \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpBase__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..348356e841d95ff2f095a10645882bda5d3ee04c GIT binary patch literal 61832 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet-members.html b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet-members.html new file mode 100644 index 0000000..40fd70f --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Interface::HttpGet Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Interface::HttpGet, including all inherited members.

+ + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpGetprotectedvirtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html new file mode 100644 index 0000000..7fc6843 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html @@ -0,0 +1,183 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Interface::HttpGet Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Interface::HttpGet Class Reference
+
+
+ +

class for Send request with POST method + More...

+ +

#include <httpGet.h>

+
+Inheritance diagram for CocoaTweet::API::Interface::HttpGet:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Interface::HttpGet:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + +

+Protected Member Functions

void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for Send request with POST method

+

Member Function Documentation

+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void CocoaTweet::API::Interface::HttpGet::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth,
std::function< void(const std::string &)> _callback 
)
+
+protectedvirtual
+
+ +

Send HTTP/POST using OAuth object.

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to OAuth object to authenticate
[in]std::function<void(constunsigned int, const std::string&)> _callback : callback method for processing to response
+
+
+ +

Implements CocoaTweet::API::Interface::HttpBase.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.map new file mode 100644 index 0000000..e12dfeb --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.md5 new file mode 100644 index 0000000..c14c7a5 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.md5 @@ -0,0 +1 @@ +c8ac0579e016fad38f83081ff6bd19de \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..04e1386711603d7af787c73ce7cba55032792a2d GIT binary patch literal 5661 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 + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.md5 new file mode 100644 index 0000000..e007db9 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.md5 @@ -0,0 +1 @@ +914795b6a1072a898bdfd3d5763a371b \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpGet__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..08a6ae312ad5aad0e0839727fdcbd12e897411e4 GIT binary patch literal 9715 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Interface::HttpPost Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Interface::HttpPost, including all inherited members.

+ + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html new file mode 100644 index 0000000..c0a91f4 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html @@ -0,0 +1,190 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Interface::HttpPost Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Interface::HttpPost Class Reference
+
+
+ +

class for Send request with POST method + More...

+ +

#include <httpPost.h>

+
+Inheritance diagram for CocoaTweet::API::Interface::HttpPost:
+
+
Inheritance graph
+ + + + + + + + + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Interface::HttpPost:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + +

+Protected Member Functions

void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for Send request with POST method

+

Member Function Documentation

+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void CocoaTweet::API::Interface::HttpPost::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth,
std::function< void(const std::string &)> _callback 
)
+
+protectedvirtual
+
+ +

Send HTTP/POST using OAuth object.

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to OAuth object to authenticate
[in]std::function<void(constunsigned int, const std::string&)> _callback : callback method for processing to response
+
+
+ +

Implements CocoaTweet::API::Interface::HttpBase.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.map new file mode 100644 index 0000000..1203bbd --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.md5 new file mode 100644 index 0000000..53b3dd4 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.md5 @@ -0,0 +1 @@ +9cba2574fa3084ac8dfc591738b990aa \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa579a754025b23dec00b5d6dd87d7a3d3961eb GIT binary patch literal 5709 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.map new file mode 100644 index 0000000..2629250 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.md5 new file mode 100644 index 0000000..577fb2e --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.md5 @@ -0,0 +1 @@ +876008ed2e45f83bedd1d71f13f728b3 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Interface_1_1HttpPost__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6d069a4d111c3be4fa734183f2fbb9581167ef3c GIT binary patch literal 53508 zcmb@u1yq)6*Dm@Z2#BOe2}l}*gbLCqAR#5)Aqdi4($bB9q#y#)-Q5CWpeWr9f|PWh z`LMokpMC!Q{d?>)&S5RbT0`FVi96<;SIj&3shk8J&NUnq3WX;nDW-@*p<|&?XzSRR z@Hc2bGJ@ehmga%1r67ebOpVyc5;tsL=hFBIkaF}|k_VsX7l zq^K{{EL_*au1HS1(X!zxbbZT(XNz~yUDv(Gd+VKj&*CRP!V6-^Pv6kve5n-gAmnEm zixlhpFEPA3(1?(q6M|55dgSK<%0!YH`4ls^)fi7M17TE1NJNC^Z!U@#Eb!~R=I3`Q z3JMB-q={nXX236N99KxAqoX%M?$Rbn;3L&BPN%*=~)elwg-f7E5(a?5TuR8%OJ zS*YBI|3XAg9%T9}i;k9dD)x(uo0};1tFbX{b#-<9xld6wUT2=+NA9JK$H(p;J3HHc z{2)Zf#BFKvI5KPaHez69h41BcW>gT(!v%)(ggTZQ|Ay>V* z%t=j6O}oYhO(|PWWlSF*rCOvNT%=RaT(vp4h_adcMAWd^Nx6S|v>uh17_8@YQrVU& zB`;3^uh|xJOa662!v1HYyq}Aglai8_dNZ&F3N+B2ot?j?@T+kac?lNgSWh->Y;L{^ z565$GbcCgz=J1tyWRWDC4CTJjiuLKsmv(q?lG*FmuSZbaGj4dJr*TI4z{)Q-mnrFi zbp*`a>`X_fikZ@`=a+BaI$*UC2nq^rFZW-b^gOx)yW#KOzo$+`d4Gfn2nb-jXm8(M ziak=%2v|O~>cc$WXUz0mTqGJA8aB?(#SXQbvt10r!Zh)0I&H91qGDovyJK##jKH!C z3ngQpft~f~>sLR2|BDec!n&D`h6V<-eh;OjF72+3hf?!9(FzDO{1m9Fs`~Wl(?cgG zZqyXK_0m8gWyE#CJQpiN!wjCCPvhg%zkmPcv7NyvD=&X$Y>fHh#fwk#cA2a2{v{

CTjlRS&7i+z}DVH1s>q)!bsj$tc%6bxC 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 z℘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

*7h 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 Z6nU#oCbMFX9t!@qOLMPA*0#f!{s$z5>iPfx literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media-members.html b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media-members.html new file mode 100644 index 0000000..4f4860e --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +

+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Medias::Media Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Medias::Media, including all inherited members.

+ + + + + +
Media()=defaultCocoaTweet::API::Medias::Media
Media(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Medias::Media
oauth_CocoaTweet::API::groupInterfaceprotected
Upload(const std::string &_file) constCocoaTweet::API::Medias::Media
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media.html b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media.html new file mode 100644 index 0000000..279f5bc --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media.html @@ -0,0 +1,203 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Medias::Media Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Medias::Media Class Reference
+
+
+ +

Entory point for statuses/*. + More...

+ +

#include <media.h>

+
+Inheritance diagram for CocoaTweet::API::Medias::Media:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Medias::Media:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

 Media ()=default
 primary constructor to allow for create NON-INITIALIZED object More...
 
 Media (std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 constructor which finally should to be called. More...
 
CocoaTweet::API::Model::MediaStore Upload (const std::string &_file) const
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from CocoaTweet::API::groupInterface
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
+

Detailed Description

+

Entory point for statuses/*.

+

Constructor & Destructor Documentation

+ +

◆ Media() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::Medias::Media::Media ()
+
+default
+
+ +

primary constructor to allow for create NON-INITIALIZED object

+ +
+
+ +

◆ Media() [2/2]

+ +
+
+ + + + + + + + +
CocoaTweet::API::Medias::Media::Media (std::shared_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

constructor which finally should to be called.

+
Parameters
+ + +
[in]std::shared_ptr<CocoaTweet::OAuth::OAuth1>: pointer to OAuth object
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Upload()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::MediaStore CocoaTweet::API::Medias::Media::Upload (const std::string & _file) const
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.map new file mode 100644 index 0000000..ac92b35 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.md5 new file mode 100644 index 0000000..0d71c49 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.md5 @@ -0,0 +1 @@ +a96161298ed6eee5306d99f3fd6f5b64 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f5ae04324704a018fbfbb4b1faeb7c161a6b9a GIT binary patch literal 5683 zcmchbbzD?kx5p2XBHakmB1%XoB?2M>k2I)*ba$t8&JYq0(u%Zz#2}qRw}eV}4>6=5 z9e4BG_kP~@{&WAlGoPt*_UyCIUTgi*KOU}j+6%_F{ z$flGCu1@k;fkK8Sin>h36nAD4e)pYid^>xcb&;$>PYbvm)c~q$6O>){BU)(vc>hXQVQh zc^A~GM4+mcd~@L@DoyD3@87%WSLgB!cB~S@6oUy^FW6%h z;?d<}3AKs_J@-N^Vb0EiK|w*MJlRKmA-g#66tc7oe#%x#Fmt@6gG1MpLlbePTA0;P zu2sF5^?ekUT=&rSa!*{1>pBGo#m&CHzKR*fO1!OJpS{HwJo*iEXf&E%SQt@WE>vYV zg#f==3bN+3wY6Eu2;wi-)`{nACN?L^_c~||h%9GnYD5WeZZL{D=fEa{aBtOIkQ2g_ zg)B(;bZauy8qNDZ1`2!2uI)%l^ptLI_a<;Vy0|bb^;5DoC&LS^P2GYof5sOjbIRX;ni*78x0tn)R+2W}9NWj~~9TC@3gMD<}{w zE-jtuataDkL<%T;(Wt4bGya+NBLC}GdUWFN7$wfOWC4?k8KVADrVk%JXfc;3fPePQ z&ZeP`X1yOI)qCtP-6A0|r{q*Jq@kg)J^8(|d3kZBTdTxrLQYP8Jur$vB)V9)_QPXg zVe1NHdO9<9GtLdH^6F}fPa+QH&b19Nh8x(}Z^24TB1?ydU!j+m+Y^d)s-v+CJ+`Nf zA_WrD(+8E5mEU@MKLH~U2s|2c@|Mlb&E%96`u+WV6Eicj>C=MV;GiHnXuGSwKT4o; zJdsx?IXj!ZIx1}_Qo#N6z)IL=lxK8uvbU(HNXy75Q|9FSWdE(HDTm0#+D~>)G6F3* zIl1(ejg5E(j=rw0(3@}>VY6PU!=8KT{7_Lv98}vQtVRly5jqi!POT9_FItT;*3+jo92`*kTon0c5l1w&Z zNO)i%R%=_E(|j{l)YzS{j0_fFnuUSSPr7@1TVV#iBQ`0|LrE60V?>DZ zWQSjz9hvN-`~OzpARr_RDk*trZDW(b=fB)d4z`JUWMo9E(MJr}5wA1(mq{`5%4?g} zglJ)5fqhUT z5mZ=IWV*7lLIiO?c(8F)=L_sbdW(>7<8jkjLW)4A`CwW<1qDSi@L6+na~@XKK-A%+ zO{74l#M7q}_tJe@>CUbaWFI6rW87U``872)-M1zmSFS_~pf@&pNth*z4(R^8c#u%G zn&ur{Sy?I2Nmp1{XfirFTJ-g6xK8fb>q1Nc3l-s85St~=ZV?d?RLEA~mD|&`K$1Y@ zBX#30e;)Ks&&1!?)bjE1Nk5xkTxXo#rD(T_j;dH}lx_=rscmyMne2jPQ zoT2!BoQw>;EjMpzZ^yY22*t+60uxwIZEtNwrKU25br{#w*SC$0(XI}r%bS?610kK? z+9HO4W8p&Mzf3Bdu^Yi@3az-&O~@{5XOH8ei7I(r{( z21>I8R8~IrJ6WMMH8q_l^*?^zgo%6kgR#3Ttr7#YFE?R zmbzkUS$QEUT3Qz~aMNpRYt5gZc$}iPQQk*njEs@Q48j=&1%%GEjP>qYzt+%+)zu;c z=~6M}7K6sK4W8dBDnh_2-FIfAK!lip$)SL7%6l^M^7z1Hgd)RqCR#O)nUl`YkDu#v znTg+5MBnYQAPt(3-%wzR!`s##Gmwp~t*oD)WJ5#4>1!A*0|Ub&Vc{$!GWrutL*ti? zSfF(C1rq5WF!0TdRNFvgwNB-5`_JU$B#EVz7n6epBFRNu|HZtthyN9#zRK% z&0$WGgM(w<;OdkXc+HRD;SkJN3A?Z`O;1mcqoZR0(0veh>aSnJf%wSE$~Jd(;lFwF z=39Ara8r}itmo>T=>|_q!4x8p8N|xU%7&3s)6+z?x+FqELUeR=EK*X;*Bg?*<+3`^ z(H2S?o1EOO2S=e$dwX5XE<@6*+=p2&-hVUhAe?UWWl&aDzD{;GZru1WIayG}2mvj1 z1d#xzO#yQ43@c3=0?7yqQu-|ZIKtSL@bso|mGVF|`7xg*j-@sth_4T8H_4KDEn*60e?h62Fzd2rtO%aZRg@uJZ z*_C!31V2OST$D#VCA93+%+w@5YJW4tx*p3QVn4r+&3lqQPkXT z9GUgqveDcqNe2~yvrkDsp-e_LK&Ua-Zd zXN!v367{N}%gofQn4uCR0CEzac%Qhutf^m7j@HD4HaW$UP4xIq_eu=lC&3V$$e&jh zXd#0+y&C5gK4Ck;=K38k%X%@>wIA2V!>;-|?>M z-;3Fvhqv}=T3ID!mXs9omo%J9+E3>XYrOAP19QL9*2V%OsnF{f%p#`5f8<}s)t)^Q z%lU(qN_h}#5LLUBy&HkHk|AUd~HDE;Qk_2GVx^N?J*w#*D{;T7~ zsT;s~>o4}j@QI-zO`X@2f;kn`=3ayUQwaR)W*UB+XSpQFkE(e01CVXbec$-^s~gSC>akmUebPDu^3Us8Z7&ib#4PIc_@uCv5;36B03N zYxC2!E^WUOfBaCx!NDxZq{^`CPhnt~Vh=Q&Sv#eEjo2 zCH`;#kT81-i_oTvEr;79Bb6xs^Cjlp{rx3$5(q{P4jcpmag6@taEc=B^*Nld2(BuQ zwST3X@=(7aEG&#*d~$MeNL8w%C+=RU{fxMT*8zd2r>C|}62Px^V}YZkg#|1F0|R@n znxJzIIuqb5k9>T6V^dNlRs{nC1IgZZC@3q#i&g3=j@VUS8hY#SD~`*s%&YKuf?junP#NZ;ALcUR`?g z=u}01l5|}olVu|>C@6p+5r^3jP#lPhi$hRP>*9fgPmP)nk7x3H*vY=AT1((*jUMA^e|SoXuUy0bC+sk_bCK zeg|^gVjHQ{apN!Lj%I ztAmBMgMBGNtO+mGH8rszE-tQs;$mJxLc*GLdLeTla!G~HA0!wbZO3SWqGI+vARkB-%PzBj?R!5~;Tl8QJ3HBg zgeZ-SjIxbgN6gwoYi&d=?Cp`RDFp=&bWvW^Hlsx?$9qd)K;TFrY$?gWuLS@;xQpQH zs`Tg2pUI+5Y)VQ>z@Vfa9v+n#_q^=vVBpFoJs<8Kuji$|s?y=2YVGN{3G%U}wY7|= zr`W6)hF7=IhhEwuSx-+73j%C?yb#K~JLrE&2`~p#*K%4~bU7OL0qKtMg;>ne1p{edhpJ53}&#gu^|KCy0f#BpP#>Z z_^T#44NdOPL%ASwe{9?78Yd{AuC7kfpcX45Hy00l1$4QLo){m8)+AT~@MUCYW82tZ z{7RmHe0p7GjhC9_=jYEO&_lV(np5sD7>tUFs(E;r>S5zC+w}DG_4eB**O~XFELP)S?L zHy}=>qA4<_XYl{g(eJy@ag7C*xpk&CV_V~7kZ zD8iyF(tT+_1#vA?U%%exR7oX(uGw6gMOsb{53~Th?ecPS<;=u>cz#(Y?W8L!|EGQ8 zxCM#J6NQp8zaeljG|cGqC_FRSTkHsnjFi>V(n?o#1F@ZukYH(L^$e7sv};J(fJVz- zNiOKVmQ*p9X1eE~`ekEd`#UWSS*faYYSK9+A zI=ZK)b+z8Uy$&7F{6Hf{ypOiwU{gh0-90?60rHw*USEK5W`3$Qq*Y?M}*k5G2{GX(7$uESf}=)-VH+o z0z3v(@Rcjj?q>NQ;O3C}OuYO?dN%V2!1xGf$&Kf)h31Ad_7Non=wkfBh&aw6~ior(B+fY(P3D2 zJ_(5KaAeqnnM21z>6al-y$@MHW&=Vi15Sfh2fxFt1gHAdGJfD9xdArU{@zolYe zzzp_S-pNS-5p-T4-5rH_wp0*wb7*eJKs($aE# zyc83gmPP^;uTrE%P)KM2jUKgW1Y~PIkQ%O;r@|^IsIetU^4RSR<+LPsT|t1qcZA%e z+}$WFarWr())-3?GVhZH7tYGgRtK!DqoV_YmmDZVTUC>)Of%x-{svM?g@xvQXt}lw z;)T6EpXBj8w%xf?P&~O*A7_Xq;$Q8?fV?v+_QnkUILW8VstkL$aL@R#h=?Esjt%N> zA3jh35js9TCbITT_dQH$)l@cJ&gPF{JE$O6hqp?|L>}fvg&nFV%g4r^R*=)vbM>*e zTl!6gMG|E%Vp5l{ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.md5 new file mode 100644 index 0000000..0d71c49 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.md5 @@ -0,0 +1 @@ +a96161298ed6eee5306d99f3fd6f5b64 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Media__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f5ae04324704a018fbfbb4b1faeb7c161a6b9a GIT binary patch literal 5683 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Medias::Upload Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Medias::Upload, including all inherited members.

+ + + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
media(const std::string &_media)CocoaTweet::API::Medias::Upload
mediaId(const std::string &_mediaId)CocoaTweet::API::Medias::Upload
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Medias::Upload
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
Upload()CocoaTweet::API::Medias::Upload
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload.html b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload.html new file mode 100644 index 0000000..cefd2c8 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload.html @@ -0,0 +1,244 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Medias::Upload Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Medias::Upload Class Reference
+
+
+ +

entry point for using media/upload endpoint + More...

+ +

#include <upload.h>

+
+Inheritance diagram for CocoaTweet::API::Medias::Upload:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Medias::Upload:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

 Upload ()
 default constructor More...
 
void media (const std::string &_media)
 set media file with absolute path More...
 
void mediaId (const std::string &_mediaId)
 set media id(no affect to process. will be obsoleted) More...
 
CocoaTweet::API::Model::MediaStore process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 upload media More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

entry point for using media/upload endpoint

+

Constructor & Destructor Documentation

+ +

◆ Upload()

+ +
+
+ + + + + + + +
CocoaTweet::API::Medias::Upload::Upload ()
+
+ +

default constructor

+ +
+
+

Member Function Documentation

+ +

◆ media()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Medias::Upload::media (const std::string & _media)
+
+ +

set media file with absolute path

+
Parameters
+ + + +
[in]conststd::string& _media : absolute path to media should be uploaded
[out]none
+
+
+ +
+
+ +

◆ mediaId()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Medias::Upload::mediaId (const std::string & _mediaId)
+
+ +

set media id(no affect to process. will be obsoleted)

+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::MediaStore CocoaTweet::API::Medias::Upload::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

upload media

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to OAuth object for authenticate
[out]CocoaTweet::API::Model::MediaStore: media upload result. use id() for post tweet.
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.map new file mode 100644 index 0000000..7616892 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.md5 new file mode 100644 index 0000000..9c6add8 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.md5 @@ -0,0 +1 @@ +d4620f957cf2fc7f3772baf4cbaad717 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1f130c207846757a55c096a5935013989ca4ea49 GIT binary patch literal 9514 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.map new file mode 100644 index 0000000..7616892 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.md5 new file mode 100644 index 0000000..9c6add8 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.md5 @@ -0,0 +1 @@ +d4620f957cf2fc7f3772baf4cbaad717 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Medias_1_1Upload__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1f130c207846757a55c096a5935013989ca4ea49 GIT binary patch literal 9514 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore-members.html b/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore-members.html new file mode 100644 index 0000000..230ec0f --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore-members.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Model::MediaStore Member List
+
+ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html b/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html new file mode 100644 index 0000000..064b6a0 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html @@ -0,0 +1,535 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Model::MediaStore Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Model::MediaStore Class Referencefinal
+
+
+ +

data class for tweet object + More...

+ +

#include <mediaStore.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 MediaStore ()=default
 constructor More...
 
 MediaStore (const MediaStore &)=default
 copy constructor More...
 
 MediaStore (const std::string &_json)
 constructor for create object from json response More...
 
void id (const std::string _id)
 set id of tweet More...
 
void size (const unsigned int _size)
 set media size in byte More...
 
void expires (const unsigned int _ex)
 set remaining time to expire the media More...
 
void state (const std::string _state)
 set media processing status More...
 
void remain (const unsigned int _remain)
 set how second need for upload complete More...
 
const std::string id () const
 get media id More...
 
const unsigned int size () const
 get media size More...
 
const unsigned int expire () const
 get remaining time to expire the media More...
 
const std::string state () const
 get media processing status More...
 
const unsigned int remain () const
 set how second need for upload complete More...
 
+ + + + +

+Static Public Member Functions

static MediaStore parse (const std::string &_json)
 response parser for MediaStore object More...
 
+

Detailed Description

+

data class for tweet object

+

Constructor & Destructor Documentation

+ +

◆ MediaStore() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::Model::MediaStore::MediaStore ()
+
+default
+
+ +

constructor

+ +
+
+ +

◆ MediaStore() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::API::Model::MediaStore::MediaStore (const MediaStore)
+
+default
+
+ +

copy constructor

+ +
+
+ +

◆ MediaStore() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::API::Model::MediaStore::MediaStore (const std::string & _json)
+
+inline
+
+ +

constructor for create object from json response

+
Parameters
+ + +
[in]conststd::string& _json : received content from twitter endpoint
+
+
+ +
+
+

Member Function Documentation

+ +

◆ expire()

+ +
+
+ + + + + + + +
const unsigned int CocoaTweet::API::Model::MediaStore::expire () const
+
+ +

get remaining time to expire the media

+
Parameters
+ + + +
[in]none
[out]constunsigned int : remaining time to expire the media ib sec
+
+
+ +
+
+ +

◆ expires()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::MediaStore::expires (const unsigned int _ex)
+
+ +

set remaining time to expire the media

+
Parameters
+ + + +
[in]constunsigned int : remaining time to expire the media ib sec
[out]none
+
+
+ +
+
+ +

◆ id() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::MediaStore::id () const
+
+ +

get media id

+
Parameters
+ + + +
[in]none
[out]conststd::string : media id
+
+
+ +
+
+ +

◆ id() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::MediaStore::id (const std::string _id)
+
+ +

set id of tweet

+
Parameters
+ + + +
[in]conststd::string _id : media id to set
[out]none
+
+
+ +
+
+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + + +
MediaStore CocoaTweet::API::Model::MediaStore::parse (const std::string & _json)
+
+static
+
+ +

response parser for MediaStore object

+
Parameters
+ + + +
[in]conststd::string& _json : received content from twitter endpoint
[out]CocoaTweet::API::Model::MediaStore
+
+
+ +
+
+ +

◆ remain() [1/2]

+ +
+
+ + + + + + + +
const unsigned int CocoaTweet::API::Model::MediaStore::remain () const
+
+ +

set how second need for upload complete

+
Parameters
+ + + +
[in]none
[out]neededtime to upload complete on server in second
+
+
+ +
+
+ +

◆ remain() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::MediaStore::remain (const unsigned int _remain)
+
+ +

set how second need for upload complete

+
Parameters
+ + + +
[in]neededtime to upload complete on server in second
[out]none
+
+
+ +
+
+ +

◆ size() [1/2]

+ +
+
+ + + + + + + +
const unsigned int CocoaTweet::API::Model::MediaStore::size () const
+
+ +

get media size

+
Parameters
+ + + +
[in]none
[out]constunsigned int : media size in byte
+
+
+ +
+
+ +

◆ size() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::MediaStore::size (const unsigned int _size)
+
+ +

set media size in byte

+
Parameters
+ + + +
[in]constunsigned int _size : media size in byte
[out]none
+
+
+ +
+
+ +

◆ state() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::MediaStore::state () const
+
+ +

get media processing status

+
Parameters
+ + + +
[in]none
[out]conststd::string _state : media processed status
+
+
+ +
+
+ +

◆ state() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::MediaStore::state (const std::string _state)
+
+ +

set media processing status

+
Parameters
+ + + +
[in]conststd::string _state : media processed status
[out]none
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet-members.html b/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet-members.html new file mode 100644 index 0000000..3033a43 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet-members.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Model::Tweet Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Model::Tweet, including all inherited members.

+ + + + + + + + + + + + + +
createdAt(const std::string _at)CocoaTweet::API::Model::Tweet
createdAt() constCocoaTweet::API::Model::Tweet
id(const std::string _id)CocoaTweet::API::Model::Tweet
id() constCocoaTweet::API::Model::Tweet
parse(const std::string &_json)CocoaTweet::API::Model::Tweetstatic
source(const std::string _source)CocoaTweet::API::Model::Tweet
source() constCocoaTweet::API::Model::Tweet
text(const std::string _text)CocoaTweet::API::Model::Tweet
text() constCocoaTweet::API::Model::Tweet
Tweet()=defaultCocoaTweet::API::Model::Tweet
Tweet(const Tweet &)=defaultCocoaTweet::API::Model::Tweet
Tweet(const std::string &_json)CocoaTweet::API::Model::Tweetinline
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet.html b/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet.html new file mode 100644 index 0000000..2193bbc --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Model_1_1Tweet.html @@ -0,0 +1,476 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Model::Tweet Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Model::Tweet Class Referencefinal
+
+
+ +

data class for tweet object + More...

+ +

#include <tweet.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Tweet ()=default
 constructor More...
 
 Tweet (const Tweet &)=default
 copy constructor More...
 
 Tweet (const std::string &_json)
 constructor for create object from json response More...
 
void id (const std::string _id)
 set id of tweet More...
 
void createdAt (const std::string _at)
 set created time of tweet More...
 
void text (const std::string _text)
 set tweet text More...
 
void source (const std::string _source)
 set tweet source More...
 
const std::string id () const
 get tweet id More...
 
const std::string createdAt () const
 get tweet create time More...
 
const std::string text () const
 get tweet text More...
 
const std::string source () const
 get tweet source information More...
 
+ + + + +

+Static Public Member Functions

static Tweet parse (const std::string &_json)
 response parser for tweet object More...
 
+

Detailed Description

+

data class for tweet object

+

Constructor & Destructor Documentation

+ +

◆ Tweet() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::Model::Tweet::Tweet ()
+
+default
+
+ +

constructor

+ +
+
+ +

◆ Tweet() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::API::Model::Tweet::Tweet (const Tweet)
+
+default
+
+ +

copy constructor

+ +
+
+ +

◆ Tweet() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::API::Model::Tweet::Tweet (const std::string & _json)
+
+inline
+
+ +

constructor for create object from json response

+
Parameters
+ + +
[in]conststd::string& _json : received content from twitter endpoint
+
+
+ +
+
+

Member Function Documentation

+ +

◆ createdAt() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::Tweet::createdAt () const
+
+ +

get tweet create time

+
Parameters
+ + + +
[in]none
[out]conststd::string : time of tweet created time
+
+
+ +
+
+ +

◆ createdAt() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::Tweet::createdAt (const std::string _at)
+
+ +

set created time of tweet

+
Parameters
+ + + +
[in]conststd::string _at : tweet created time to set
[out]none
+
+
+ +
+
+ +

◆ id() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::Tweet::id () const
+
+ +

get tweet id

+
Parameters
+ + + +
[in]none
[out]conststd::string : tweet id
+
+
+ +
+
+ +

◆ id() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::Tweet::id (const std::string _id)
+
+ +

set id of tweet

+
Parameters
+ + + +
[in]conststd::string _id : tweet id to set
[out]none
+
+
+ +
+
+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + + +
Tweet CocoaTweet::API::Model::Tweet::parse (const std::string & _json)
+
+static
+
+ +

response parser for tweet object

+
Parameters
+ + + +
[in]conststd::string& _json : received content from twitter endpoint
[out]CocoaTweet::API::Model::Tweet
+
+
+ +
+
+ +

◆ source() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::Tweet::source () const
+
+ +

get tweet source information

+
Parameters
+ + + +
[in]none
[out]conststd::string : source information
+
+
+ +
+
+ +

◆ source() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::Tweet::source (const std::string _source)
+
+ +

set tweet source

+
Parameters
+ + + +
[in]conststd::string _source : source information to set
[out]none
+
+
+ +
+
+ +

◆ text() [1/2]

+ +
+
+ + + + + + + +
const std::string CocoaTweet::API::Model::Tweet::text () const
+
+ +

get tweet text

+
Parameters
+ + + +
[in]none
[out]conststd::string : tweet text
+
+
+ +
+
+ +

◆ text() [2/2]

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Model::Tweet::text (const std::string _text)
+
+ +

set tweet text

+
Parameters
+ + + +
[in]conststd::string _text : text of tweet to set
[out]none
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy-members.html new file mode 100644 index 0000000..6e95636 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Statuses::Destroy Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::Destroy, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
Destroy()CocoaTweet::API::Statuses::Destroy
id(const std::string _id)CocoaTweet::API::Statuses::Destroy
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::Destroy
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html new file mode 100644 index 0000000..5866386 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html @@ -0,0 +1,221 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Destroy Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::Destroy Class Reference
+
+
+ +

class for using status/destroy:id endpoint + More...

+ +

#include <destroy.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::Destroy:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::Destroy:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 Destroy ()
 primary constructor More...
 
void id (const std::string _id)
 set tweet id to destroy More...
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 process request for endpoint More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for using status/destroy:id endpoint

+

Constructor & Destructor Documentation

+ +

◆ Destroy()

+ +
+
+ + + + + + + +
CocoaTweet::API::Statuses::Destroy::Destroy ()
+
+ +

primary constructor

+ +
+
+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Destroy::id (const std::string _id)
+
+ +

set tweet id to destroy

+
Parameters
+ + + +
[in]std::string_id : tweet id which should be destroy
[out]none
+
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Destroy::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

process request for endpoint

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to oauth object
[out]CocoaTweet::API::Model::Tweet: request result
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.map new file mode 100644 index 0000000..21f10e8 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.md5 new file mode 100644 index 0000000..b1b6f85 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.md5 @@ -0,0 +1 @@ +0f2a6c1e00bc32b50a5904fc4421ab47 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..faed2ebd96c36b8ac83825926e8a686badfb41b0 GIT binary patch literal 9660 zcmd6NWmHvNxb6ZJ5Reu(U5ZGT(jlEv5`wgpND6|aiqfGXlF}klf;32Xr*w)m3ewGe z_jk@X_k4GpKlj(Y!+~sethMHvb3VC)HSQ{0#-qYR5ahCwqO2DD?uMTwTx|HiI&?r7 zeqo!dD99q`=zl5IpQ8|j0a22@bI&93_tY~D@{w_z*_ncnZ?U+nInO)X0&z`{uW7_# zDK@ei(qT^Y`!H`p?O}Y=U2#5Y?O@iQ$kfUz-~|@WBT<^@ z_Y$}a8RDl0^O0@6y@86?UcP?)y0lUAOLvdJQg3pr=*D*}6%`fNKa-UHI7BU#Zfl!6 zD}$xu7aV(&#QmihG>-UqY-)Q6)Ya8bHXDiZvZ?9miC#!O|0wES%8E}w@N2KNtBXJ; zkWlXK-G~Q=Cx_d&rYU9?Osr~+T~`LKdpvu#;@yDQzZY0pS=rp(l}ncJaoStIe@|D} zd}F#gD?7X4?|kcoIa%Jo7wsE7E#-PPHmp`%vGr<#w{JhlWy9NN6OxmkDccV1Idv%lwUO=5O78;Y9RPL!a#z>1JYsE)i#SD7V>_r{GI zx2=0Y?}q1{Qh0c z%E6)M8tEnYBR-xAePkM1+PK%RFH(y>$5^#lrq9ZzzPCUN3smW&@1a+ z?5wJ&C|u}_;g^(@w6d~ld0=ET)+>3Q>ry*Z5}lAh9U2~P$t)jcnwgpDvWC?C{P|Nr zBtLtaf7QHCR$m{5kB@K1d;Y0cVC1Wbg01aMxFtGVg3q=d-qX>U8~CJB?lgz_N}4hA z?#GU3^^YP~u5ueUwMX61)Y8I)5j?cCw7s|A6ij9sc8BThY};Gr(LxKHz26g``RM%o z{K&6fP0!6GK;Fc~1xxrGG4S(8CC~}GTywv4m69?zEsg1+wKe(;KF51#Gt0`!nXL`yQH|KMi@N`jm6pcr=auN<>#ntD&2ngX1AG3M+f`_e2>yckfR`=oV~Ur^9G zhTBBfum@#9M@RSgc<;CJgd$0yeisc5jlPTw7A$~{4rMDlyUx|s)pAQ?F@6D`t@yaO z!mX_>iiLO$*UZDCwXYQ`fkgCh)N7XA#%(Y2rn-$aj@(o3nE-xDJv_MZ{NPn&d>YvTC~gp8f4|=$pKVhVqzl5_3PIW zL{wDtPo|-X3H^^BKUg_AbquEsZr;2}jQ5&{kME@v1FX^Oer{^XX|J`+9 zXKjS&?%lhi)m~)-mT=4ZMn~I>@GzvDoq6>ZfBm}f`Mt6~=C@IzPPR2T=yqz1&rpfRLPqr3}}vUsQ?VlGD^AfeCinUDau7 zZf3l7>k1ba7a9!j-6Q`qU5%fr5wyH)bK&B}`j!^#h=>SWLc$if?arr1Zs^T;yiwa4 zOm<^v*ym{HCJc^)gTwUU!&iVd*H~B{kslYBHEI|cg&S2pb+(Rv{v63QsZC12PV!@m zpqHc@%v5U(rxw)E(+fN~@qYE{RZ2~bvAr-dIyySLwb1F(p7`cX-N#!A>YqP<#zKzv zH@L4Bef`RfhmWtRuRj`+{>d{Tuiv{?z!qOEOB4+s_E-G*?6=y4d3cD0g@wzX{-*j~ zU2SG-8ypmbtFN!`6z4NrhY=eeZ@xKO4q1*%VCGZ2$Oim|0^$s`lr*C;=N{#B?Z2Gb=y; zg9_E`VYkyvjSmSq`2{;WyRHO5A{gO3T~s!^$#)N4-=mcqv9Ymr6BCB^kCl{^aPjaS z@y@ih;hvqHDbq`q3CbOR%I6eFZAYVlZ7AwJ2@lJ;oxqnbUvPk#OtW+_44wv*j@cGS)AsuowuTVZocn_g@v`VK1Rl_n`@Kcd+(K? za(r!2rsHX{xK}{6*SaR3(k0x>E%C|Tg1V^kzpW~QdcMH z>FEiIjEp(Xw}*2$J$))4!)3(dec<%qyT@Dh9N4+Qn4Wvn6c)be?R@mSyU zi0l=*`DUOD!2K2b&#O2PT^^XD6x z>d6t3X9rkyIUDll?y^eTcsHpCQyvFN4JMSe=NXonIy!zWs0j_lXJTS<+F8~_R;&84 z>dKwx-y|hPY%ldT&dku))YN3<@J6HXg0@lboEKM6x#IlL2W)NA-dIWSHJcu|>PM8M_G{)iNu`>nUoM zJ+qX#VAYctTwX2&XlM@lO6b|vH9~7jH~Zsh`nhOYDuzhi)D$iLRjwvLh_Amj+VE{`5Jvk~Xf3#0 zmgrXZNhPM37IW@J&wtmQvP$XcJ&6^mzlnoLmFX|A9`}}J_?(1o56n#6ngh$RGk)Cu`X{)EsZCZS zz2AvZC&}AIR$Et9gK;?&)hZSOM5m>_%@{pUU|}S!lrHm-FMwHrOPcAe%Ql@@R`cQZ zb+$)u_vGOf-{U-7BKqNuZhnEG*8cRX(L)U5Qt*5P&Ed?a`((kgA?XSWy%MrjaCli6 z8RiK3+6*4y)zu_M(PMQ^Svm65jDC{ZGf!IeWH!2}uV24LGArPX3p1q=Tn~>Ba>+oj zv5)XNsi;3Gs&h9*-Pn=2TKW8)JkHSY@O+F(e%5!#w~85UUEhZzG)XMs6jGj^jMqrr zW}0!!lQ91|sT7P!?7Zau0^qib%UNh^m*Dvg?=se|VrB>bH80 zG#IVt!NSD1cXu}zSqm1^$_Fma&LZ^m^oMb|aUcSC#LjWv>^M(wLab%GkMsF#cX? zrT3Hd^_7riA^|!qrj1axf0`-mcP2LdY>8Iiz##3(QV&YZgJ(F;Fz~Z_a_J8i53jv- z$_tn;24Y^^Irg#g@bvr{NbhT-Gj(v_0s3TpvZ6@tzNslg8Cp!EL|j>2TwH#2fJOTH zxAcJPobPxy4XC`nvr}b>4BI9>LrGmd5Qy?2=H_)Me|?UCz(AaqNczZ- zkdUVlI}5=3^?)Q3W;XI;F$wYS+8=hcw+DB}@hdF2fPS(dAtCAN=m@!QXjs(Nrnom- zkCp#DJ3B;9L4hAU&oJP|?I(+>x`u{1np1@qt)Lzmh<$p@3pG63TU+K~yroZn8w}^@aXZj392}~1F$vs0nH9dLB5+w?3ck2hzzNc` zv+;ln8(!mIWdPQ2TfLX>y*l)z+~Y6P-6XN#ckf6&JUkfK*;UdjZ`@5pEC@)0FDOLN z)JM>Y7C6pGME^ZFK29$$M_F20BG0?JR6&v9#Kpx;?ts~;P$`GoPJZPIqo^n~ykU8w zj9Xe-njxxv=)=ZLEj_6H(Hb97lm&>z!E&Fdckc>J>oHN3l#Fa_c))l+${h^HDxTaR zB_-7`HjaQ}se;7{|vbNuwmZ13r@LO}7y4OpTl4k>_PIT)LnF=Ew$0&jGfsp&=vz;8{vT^TEPX2vHX za^yX4=D%za_RQ1s+xz$Ax;i?|u!HoKmGSo5`CNV}mf8-ow4f}cQ{P~init0AutzJ$ zRa6L9c^`focWFUwZ*H1`MbjIX4+&~Ehkag0MMZ_O2-DHk_j#oU)0;l9F5dWx>Ih5LTbMbX!9q5s~bv{OtMcRq^fY2!*JayYarKNA>OPmq0k_ zR)+ceV^L94SEw)|tXy1+9gr|EL@PUQFRD$uZA?`Kf{xC8P(kXxG5uPV1!zA_UhohG zBjj@=z{khO^Js{5XSpA%w6t`zzzhrWngBRB1_BcAlDN1yiq0{BoO zSaZAs)K=`LTrdX=1BGsypKnD zTvvxK`D0(kM8c?U;el&*QNj|drThc1@$%(MQ+xaHXWNTrFv3X-Ew_cxtK2Q>lBXBQ z$jCgrymG=hZ{ECg=gu9@MQTdQ`k5J%mHDN;OdE(iUb6@Y|KrI>{P{3jezhVnBTQmq zi2>Me2*29epm)Z?qV^2Gv`1P7{3T%|Npi!f56IUeRV+9b=u@`ozY@k z?>6b0F+2E-vbqInX|O^yp1O0zQ(Jl~w1pQH=wh&2?j%mfm|4 zgHFP`?Z;TLEm`8nkNuxit`g8o&_Kv^kBV6{;@#pE?I9oI9~v(oR&qf*# znnx<0EE!aHj}=*4{Azp4BPiJV?z#%>{y^|6rTY1>`@y03fBA9~WUcesFz2sdzh);K zYhUN(aYFD=0GOC4;)aLblc}kUux3pi93p_=>nA3t*G9fNx+T(5Uhh_URN3nBcVS`S z$LelHd3kZHuXC*bH#1~4Kto7W)B)48>^(8@}Y=)Z41WPQ44ljE?1{^*mO*v5r{Ab>;Y{DOtzgzolaGTldI5ctG>m-oDVf zmo8E4**j|5oQP~ja>x#)U{iq8el=q3bvZaVSW!*wHCW{i4@DIL0ja?9sw#`QhSwgj zt4nC{FfLza$mrHUtJBjDMT8ZuEAL8W7^qVC|1DLQv$nR_>;t9VYaB5!+`3gFKF`qo zc*YlNqh<}0jLcIvofFVIA77j7lfpGIv6EDUJjrb32Y z5<8Nnfb`c)RXr*6aAx!N_MG3GW3>;IiBI*SqIErRlDL35J6VwcE3f~lPzI$k744G^ z<11U+D)p$8&o}D+&ez(BUK>CQePPcX_dhclil6vs#A3fL1SvjwFCelwTkqZWu-B2F z5{t`(BDJ_!t5fssRj@B_1_qQL)cPto=m(^xO8B0<e}zi8l-k@2As_bmL#%+#SVupCre z9LmF|HF*cTBh#&0$pI;AxNy-7QM@!F_nrq}FVtSp*3=Bgzp6aJ4Gsd%*w$GU+@btq z=7gGRm6C+;ur899G5QBhlt6P7im`!0!?_Az)hHHSwhl-W;E z9vtqzE-E^4OcM8ffTN-^xJM8vAXA;__CD`7ruY674oY&`Xd?BE)$&%@zevLY&cGs(pc%a%SK2m zl2M>)I{;G23;^IO8;i7S(zgs)D*uAS{{%^`qn+GaXD8e0>*FQ(khk3N@eyBNUnd4i zf*`J8bhMmP@Ka$x0CpIixPfg&QWBl->F&tWU`tRjxR);70UNPVS@raHL#h2l!Q(N$ z@27hcE|vi6@?cqzx~8TJ5C9%PB{R3U*b*%&B4Q3=jmlo-8Yv?{J^F+e7R->vMc&lT zG=&^3Z#pt&%-v|vO6kej$uka<8X87M##nx9!ra_kr==d+6G(|c*Zdftw}Y%4vU%sh z9NoN^0B01O1{u*F2L8MO5T%)Q#qtV0UDprIzL?5&Ua zLq@bUJq^gnV_Jtio~pcJROwm|6-9yjhB23|NagJcF^e!pUS1N5mazIn;U|!(5LsAQ z0JzPkM@sx8T?C$nFiHU;eNe*%U+X9wJAiD}~ z&B5UzP#QhFHdL|KwzPbVQ1jgSrRff&b+m9^wHx=xxX8 zFo>%z;NVz{eX}fg-=Nbo(K)O=+vNu3g9TLq`jZlezsQg}P-(oD9pq?V@?wcz5$v6Q zfhh*`2he4txh9La{|N(qJqJl~x#w6+o0O>mWbQxt6#q!Dt^+scJ12icCX|TVcSx&Uj$S}@I(sugSMWYmW|qT zLh#TfZUDmg$eZ?u<p{V&#SA&@$m47 zX=uVAS_FKSF)>M=kcXz>_Ty0mG|l>GAr?fGU_D8}3U_Qpv+GH7P?W8bE!Hxu22L|b$vgMga8SJ?$R5vb44^z7ttc{q<6 zY5-oxX)&~$$JsxB@(b?TO_)%E(9YE_{3kDl_Nx!9{;Pn1G%#V0BAX#Yh#t1bw|^%9 z{l#*BIu2Ns_r8^oPsl(F8Y7K1au{M8ODxgKj8W}q%;I7c$U9!{XU@G}gq`fOM;Sms z2?BtOM#38ffsHP86$Bzb=jY9=tgxYS`+jz`hBjlVGJ$C6l_c(kiFocTV?fUWAwq0I zLYcn0oZRaUm)XP5JoI6_=wVBqY+_x-**qbDmGQJ9!`73yZx}YazW*_NN#LR-`nv#O zm&jN^gh-nW<14fq$LZ;CNRM~gkF>W7o~R94iC4NFr>K5 zkh<>f%ViEz4UmHy{Nscmu7W|Lvk*||n{W{{lD;&cT$e|_CO7=YU4T}t`YmMR7*hvv;>@2yLa z4WLCfv~TsTtvGett<^KW$DEKmp(pPAxb|EIDzLH$@RDe6s1FTJl7vslTV@3pb%T39 ze#1Jl>W+VX%WgO&GZQ;MKOagnoui#)xqyHGvzGDrHeteaS6ac0PdsFP zb@Bs>@cE)%3GIWDi*D)vr$>7`w|mWcz=UGg*b zbbd8zyvvv6Am~8HT5fB@sX!oL$Op>t@eb`$GWy@JRKHCCOsaz{A9%L~d`-Ao!foeB zF2e~?z5D8OkrGF^P;bOa`bnS-*5GILoOKf4^-*5cWC(6wiOmxx!<{j#QDh+t|Z7)=Q^Uoo%eQt4R7uS&wSQg!00em(Cw@ze5i(nsl*vhD3 z)e~I4+>f4Y8X;oXEqRms0^Eb5dV|ITtDaFKYt<*i&SJOYAOXj#Z@tV)C!yfDbc zI)a?Fgtozi$|#BCe<&8B20mLu&pWw+LneKuU>5m&a`J)02@WIe*st~|!!GSufmg%} q%m4Zw5&>efCwUW>5qW-&bKpxYt1tUV8NQB%D9PQG&6hTP`M&_*9Z7ru literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.map new file mode 100644 index 0000000..21f10e8 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.md5 new file mode 100644 index 0000000..b1b6f85 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.md5 @@ -0,0 +1 @@ +0f2a6c1e00bc32b50a5904fc4421ab47 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Destroy__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..faed2ebd96c36b8ac83825926e8a686badfb41b0 GIT binary patch literal 9660 zcmd6NWmHvNxb6ZJ5Reu(U5ZGT(jlEv5`wgpND6|aiqfGXlF}klf;32Xr*w)m3ewGe z_jk@X_k4GpKlj(Y!+~sethMHvb3VC)HSQ{0#-qYR5ahCwqO2DD?uMTwTx|HiI&?r7 zeqo!dD99q`=zl5IpQ8|j0a22@bI&93_tY~D@{w_z*_ncnZ?U+nInO)X0&z`{uW7_# zDK@ei(qT^Y`!H`p?O}Y=U2#5Y?O@iQ$kfUz-~|@WBT<^@ z_Y$}a8RDl0^O0@6y@86?UcP?)y0lUAOLvdJQg3pr=*D*}6%`fNKa-UHI7BU#Zfl!6 zD}$xu7aV(&#QmihG>-UqY-)Q6)Ya8bHXDiZvZ?9miC#!O|0wES%8E}w@N2KNtBXJ; zkWlXK-G~Q=Cx_d&rYU9?Osr~+T~`LKdpvu#;@yDQzZY0pS=rp(l}ncJaoStIe@|D} zd}F#gD?7X4?|kcoIa%Jo7wsE7E#-PPHmp`%vGr<#w{JhlWy9NN6OxmkDccV1Idv%lwUO=5O78;Y9RPL!a#z>1JYsE)i#SD7V>_r{GI zx2=0Y?}q1{Qh0c z%E6)M8tEnYBR-xAePkM1+PK%RFH(y>$5^#lrq9ZzzPCUN3smW&@1a+ z?5wJ&C|u}_;g^(@w6d~ld0=ET)+>3Q>ry*Z5}lAh9U2~P$t)jcnwgpDvWC?C{P|Nr zBtLtaf7QHCR$m{5kB@K1d;Y0cVC1Wbg01aMxFtGVg3q=d-qX>U8~CJB?lgz_N}4hA z?#GU3^^YP~u5ueUwMX61)Y8I)5j?cCw7s|A6ij9sc8BThY};Gr(LxKHz26g``RM%o z{K&6fP0!6GK;Fc~1xxrGG4S(8CC~}GTywv4m69?zEsg1+wKe(;KF51#Gt0`!nXL`yQH|KMi@N`jm6pcr=auN<>#ntD&2ngX1AG3M+f`_e2>yckfR`=oV~Ur^9G zhTBBfum@#9M@RSgc<;CJgd$0yeisc5jlPTw7A$~{4rMDlyUx|s)pAQ?F@6D`t@yaO z!mX_>iiLO$*UZDCwXYQ`fkgCh)N7XA#%(Y2rn-$aj@(o3nE-xDJv_MZ{NPn&d>YvTC~gp8f4|=$pKVhVqzl5_3PIW zL{wDtPo|-X3H^^BKUg_AbquEsZr;2}jQ5&{kME@v1FX^Oer{^XX|J`+9 zXKjS&?%lhi)m~)-mT=4ZMn~I>@GzvDoq6>ZfBm}f`Mt6~=C@IzPPR2T=yqz1&rpfRLPqr3}}vUsQ?VlGD^AfeCinUDau7 zZf3l7>k1ba7a9!j-6Q`qU5%fr5wyH)bK&B}`j!^#h=>SWLc$if?arr1Zs^T;yiwa4 zOm<^v*ym{HCJc^)gTwUU!&iVd*H~B{kslYBHEI|cg&S2pb+(Rv{v63QsZC12PV!@m zpqHc@%v5U(rxw)E(+fN~@qYE{RZ2~bvAr-dIyySLwb1F(p7`cX-N#!A>YqP<#zKzv zH@L4Bef`RfhmWtRuRj`+{>d{Tuiv{?z!qOEOB4+s_E-G*?6=y4d3cD0g@wzX{-*j~ zU2SG-8ypmbtFN!`6z4NrhY=eeZ@xKO4q1*%VCGZ2$Oim|0^$s`lr*C;=N{#B?Z2Gb=y; zg9_E`VYkyvjSmSq`2{;WyRHO5A{gO3T~s!^$#)N4-=mcqv9Ymr6BCB^kCl{^aPjaS z@y@ih;hvqHDbq`q3CbOR%I6eFZAYVlZ7AwJ2@lJ;oxqnbUvPk#OtW+_44wv*j@cGS)AsuowuTVZocn_g@v`VK1Rl_n`@Kcd+(K? za(r!2rsHX{xK}{6*SaR3(k0x>E%C|Tg1V^kzpW~QdcMH z>FEiIjEp(Xw}*2$J$))4!)3(dec<%qyT@Dh9N4+Qn4Wvn6c)be?R@mSyU zi0l=*`DUOD!2K2b&#O2PT^^XD6x z>d6t3X9rkyIUDll?y^eTcsHpCQyvFN4JMSe=NXonIy!zWs0j_lXJTS<+F8~_R;&84 z>dKwx-y|hPY%ldT&dku))YN3<@J6HXg0@lboEKM6x#IlL2W)NA-dIWSHJcu|>PM8M_G{)iNu`>nUoM zJ+qX#VAYctTwX2&XlM@lO6b|vH9~7jH~Zsh`nhOYDuzhi)D$iLRjwvLh_Amj+VE{`5Jvk~Xf3#0 zmgrXZNhPM37IW@J&wtmQvP$XcJ&6^mzlnoLmFX|A9`}}J_?(1o56n#6ngh$RGk)Cu`X{)EsZCZS zz2AvZC&}AIR$Et9gK;?&)hZSOM5m>_%@{pUU|}S!lrHm-FMwHrOPcAe%Ql@@R`cQZ zb+$)u_vGOf-{U-7BKqNuZhnEG*8cRX(L)U5Qt*5P&Ed?a`((kgA?XSWy%MrjaCli6 z8RiK3+6*4y)zu_M(PMQ^Svm65jDC{ZGf!IeWH!2}uV24LGArPX3p1q=Tn~>Ba>+oj zv5)XNsi;3Gs&h9*-Pn=2TKW8)JkHSY@O+F(e%5!#w~85UUEhZzG)XMs6jGj^jMqrr zW}0!!lQ91|sT7P!?7Zau0^qib%UNh^m*Dvg?=se|VrB>bH80 zG#IVt!NSD1cXu}zSqm1^$_Fma&LZ^m^oMb|aUcSC#LjWv>^M(wLab%GkMsF#cX? zrT3Hd^_7riA^|!qrj1axf0`-mcP2LdY>8Iiz##3(QV&YZgJ(F;Fz~Z_a_J8i53jv- z$_tn;24Y^^Irg#g@bvr{NbhT-Gj(v_0s3TpvZ6@tzNslg8Cp!EL|j>2TwH#2fJOTH zxAcJPobPxy4XC`nvr}b>4BI9>LrGmd5Qy?2=H_)Me|?UCz(AaqNczZ- zkdUVlI}5=3^?)Q3W;XI;F$wYS+8=hcw+DB}@hdF2fPS(dAtCAN=m@!QXjs(Nrnom- zkCp#DJ3B;9L4hAU&oJP|?I(+>x`u{1np1@qt)Lzmh<$p@3pG63TU+K~yroZn8w}^@aXZj392}~1F$vs0nH9dLB5+w?3ck2hzzNc` zv+;ln8(!mIWdPQ2TfLX>y*l)z+~Y6P-6XN#ckf6&JUkfK*;UdjZ`@5pEC@)0FDOLN z)JM>Y7C6pGME^ZFK29$$M_F20BG0?JR6&v9#Kpx;?ts~;P$`GoPJZPIqo^n~ykU8w zj9Xe-njxxv=)=ZLEj_6H(Hb97lm&>z!E&Fdckc>J>oHN3l#Fa_c))l+${h^HDxTaR zB_-7`HjaQ}se;7{|vbNuwmZ13r@LO}7y4OpTl4k>_PIT)LnF=Ew$0&jGfsp&=vz;8{vT^TEPX2vHX za^yX4=D%za_RQ1s+xz$Ax;i?|u!HoKmGSo5`CNV}mf8-ow4f}cQ{P~init0AutzJ$ zRa6L9c^`focWFUwZ*H1`MbjIX4+&~Ehkag0MMZ_O2-DHk_j#oU)0;l9F5dWx>Ih5LTbMbX!9q5s~bv{OtMcRq^fY2!*JayYarKNA>OPmq0k_ zR)+ceV^L94SEw)|tXy1+9gr|EL@PUQFRD$uZA?`Kf{xC8P(kXxG5uPV1!zA_UhohG zBjj@=z{khO^Js{5XSpA%w6t`zzzhrWngBRB1_BcAlDN1yiq0{BoO zSaZAs)K=`LTrdX=1BGsypKnD zTvvxK`D0(kM8c?U;el&*QNj|drThc1@$%(MQ+xaHXWNTrFv3X-Ew_cxtK2Q>lBXBQ z$jCgrymG=hZ{ECg=gu9@MQTdQ`k5J%mHDN;OdE(iUb6@Y|KrI>{P{3jezhVnBTQmq zi2>Me2*29epm)Z?qV^2Gv`1P7{3T%|Npi!f56IUeRV+9b=u@`ozY@k z?>6b0F+2E-vbqInX|O^yp1O0zQ(Jl~w1pQH=wh&2?j%mfm|4 zgHFP`?Z;TLEm`8nkNuxit`g8o&_Kv^kBV6{;@#pE?I9oI9~v(oR&qf*# znnx<0EE!aHj}=*4{Azp4BPiJV?z#%>{y^|6rTY1>`@y03fBA9~WUcesFz2sdzh);K zYhUN(aYFD=0GOC4;)aLblc}kUux3pi93p_=>nA3t*G9fNx+T(5Uhh_URN3nBcVS`S z$LelHd3kZHuXC*bH#1~4Kto7W)B)48>^(8@}Y=)Z41WPQ44ljE?1{^*mO*v5r{Ab>;Y{DOtzgzolaGTldI5ctG>m-oDVf zmo8E4**j|5oQP~ja>x#)U{iq8el=q3bvZaVSW!*wHCW{i4@DIL0ja?9sw#`QhSwgj zt4nC{FfLza$mrHUtJBjDMT8ZuEAL8W7^qVC|1DLQv$nR_>;t9VYaB5!+`3gFKF`qo zc*YlNqh<}0jLcIvofFVIA77j7lfpGIv6EDUJjrb32Y z5<8Nnfb`c)RXr*6aAx!N_MG3GW3>;IiBI*SqIErRlDL35J6VwcE3f~lPzI$k744G^ z<11U+D)p$8&o}D+&ez(BUK>CQePPcX_dhclil6vs#A3fL1SvjwFCelwTkqZWu-B2F z5{t`(BDJ_!t5fssRj@B_1_qQL)cPto=m(^xO8B0<e}zi8l-k@2As_bmL#%+#SVupCre z9LmF|HF*cTBh#&0$pI;AxNy-7QM@!F_nrq}FVtSp*3=Bgzp6aJ4Gsd%*w$GU+@btq z=7gGRm6C+;ur899G5QBhlt6P7im`!0!?_Az)hHHSwhl-W;E z9vtqzE-E^4OcM8ffTN-^xJM8vAXA;__CD`7ruY674oY&`Xd?BE)$&%@zevLY&cGs(pc%a%SK2m zl2M>)I{;G23;^IO8;i7S(zgs)D*uAS{{%^`qn+GaXD8e0>*FQ(khk3N@eyBNUnd4i zf*`J8bhMmP@Ka$x0CpIixPfg&QWBl->F&tWU`tRjxR);70UNPVS@raHL#h2l!Q(N$ z@27hcE|vi6@?cqzx~8TJ5C9%PB{R3U*b*%&B4Q3=jmlo-8Yv?{J^F+e7R->vMc&lT zG=&^3Z#pt&%-v|vO6kej$uka<8X87M##nx9!ra_kr==d+6G(|c*Zdftw}Y%4vU%sh z9NoN^0B01O1{u*F2L8MO5T%)Q#qtV0UDprIzL?5&Ua zLq@bUJq^gnV_Jtio~pcJROwm|6-9yjhB23|NagJcF^e!pUS1N5mazIn;U|!(5LsAQ z0JzPkM@sx8T?C$nFiHU;eNe*%U+X9wJAiD}~ z&B5UzP#QhFHdL|KwzPbVQ1jgSrRff&b+m9^wHx=xxX8 zFo>%z;NVz{eX}fg-=Nbo(K)O=+vNu3g9TLq`jZlezsQg}P-(oD9pq?V@?wcz5$v6Q zfhh*`2he4txh9La{|N(qJqJl~x#w6+o0O>mWbQxt6#q!Dt^+scJ12icCX|TVcSx&Uj$S}@I(sugSMWYmW|qT zLh#TfZUDmg$eZ?u<p{V&#SA&@$m47 zX=uVAS_FKSF)>M=kcXz>_Ty0mG|l>GAr?fGU_D8}3U_Qpv+GH7P?W8bE!Hxu22L|b$vgMga8SJ?$R5vb44^z7ttc{q<6 zY5-oxX)&~$$JsxB@(b?TO_)%E(9YE_{3kDl_Nx!9{;Pn1G%#V0BAX#Yh#t1bw|^%9 z{l#*BIu2Ns_r8^oPsl(F8Y7K1au{M8ODxgKj8W}q%;I7c$U9!{XU@G}gq`fOM;Sms z2?BtOM#38ffsHP86$Bzb=jY9=tgxYS`+jz`hBjlVGJ$C6l_c(kiFocTV?fUWAwq0I zLYcn0oZRaUm)XP5JoI6_=wVBqY+_x-**qbDmGQJ9!`73yZx}YazW*_NN#LR-`nv#O zm&jN^gh-nW<14fq$LZ;CNRM~gkF>W7o~R94iC4NFr>K5 zkh<>f%ViEz4UmHy{Nscmu7W|Lvk*||n{W{{lD;&cT$e|_CO7=YU4T}t`YmMR7*hvv;>@2yLa z4WLCfv~TsTtvGett<^KW$DEKmp(pPAxb|EIDzLH$@RDe6s1FTJl7vslTV@3pb%T39 ze#1Jl>W+VX%WgO&GZQ;MKOagnoui#)xqyHGvzGDrHeteaS6ac0PdsFP zb@Bs>@cE)%3GIWDi*D)vr$>7`w|mWcz=UGg*b zbbd8zyvvv6Am~8HT5fB@sX!oL$Op>t@eb`$GWy@JRKHCCOsaz{A9%L~d`-Ao!foeB zF2e~?z5D8OkrGF^P;bOa`bnS-*5GILoOKf4^-*5cWC(6wiOmxx!<{j#QDh+t|Z7)=Q^Uoo%eQt4R7uS&wSQg!00em(Cw@ze5i(nsl*vhD3 z)e~I4+>f4Y8X;oXEqRms0^Eb5dV|ITtDaFKYt<*i&SJOYAOXj#Z@tV)C!yfDbc zI)a?Fgtozi$|#BCe<&8B20mLu&pWw+LneKuU>5m&a`J)02@WIe*st~|!!GSufmg%} q%m4Zw5&>efCwUW>5qW-&bKpxYt1tUV8NQB%D9PQG&6hTP`M&_*9Z7ru literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet-members.html new file mode 100644 index 0000000..1aae219 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Statuses::Retweet Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::Retweet, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
id(const std::string &_id)CocoaTweet::API::Statuses::Retweet
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::Retweet
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
Retweet()CocoaTweet::API::Statuses::Retweet
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html new file mode 100644 index 0000000..c9874e1 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html @@ -0,0 +1,193 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Retweet Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::Retweet Class Reference
+
+
+ +

#include <retweet.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::Retweet:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::Retweet:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 Retweet ()
 
void id (const std::string &_id)
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Constructor & Destructor Documentation

+ +

◆ Retweet()

+ +
+
+ + + + + + + +
CocoaTweet::API::Statuses::Retweet::Retweet ()
+
+ +
+
+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Retweet::id (const std::string & _id)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Retweet::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.map new file mode 100644 index 0000000..ae9b6ba --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.md5 new file mode 100644 index 0000000..64c0523 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.md5 @@ -0,0 +1 @@ +404d2c5bc9e5255f06846c1907138f35 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cba2336045bd7a0445d50463b68d496ce16ca7c5 GIT binary patch literal 9395 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 CtUap$ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.map new file mode 100644 index 0000000..ae9b6ba --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.md5 new file mode 100644 index 0000000..64c0523 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.md5 @@ -0,0 +1 @@ +404d2c5bc9e5255f06846c1907138f35 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Retweet__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cba2336045bd7a0445d50463b68d496ce16ca7c5 GIT binary patch literal 9395 zcmeHNXHZqmmOTh6l98MR6cJEB5Ky9I0SSVNNE9WbfaDAUmvD)SC`b?l2?CO%1W`b8 z&N=6t2I6QHUrM~Fv@had>yJ$dN|@Ut2I z&ElSe|9=E^+=d_Lo+-*nBd3_Z2|vERMUYF#J?Xm|j-Qr?om9z<56-W>dL3v(<5kam zh9iRwkJKFto%p@jJMlu`MgEJdWf!Gz?qB0D;pbFC-&0k8@`g0HD3PU>_4yUNn7{;o z-idGu5}&)I>k?LBhBL>xB$yV#dbCMp#VDpn)q~k9l*RxT4J)x81HY<^EgYxQb2^77|}S5-)asA6)6r%y&MQ zl+dhJ9NuVZYFb;!$TlmZPbMG1z4V2XLDZRie}A7OK>GXl?``(C6-<|uUY{H}mG95Q ze9z65Y>gA;b=|Z2_OytIkdQE1%U53|UhHh0HJ;wNb2_^p$LHq*VB9SAO*S?*?@6Jh zp^`kQr~3MrDn*TqjHqwhT(+^Xc|JhJrJ1l(>Z5!rGPwOsG3rKjW253MHns^n|HqFX z*S5ERC)|BwwX^i3tE)?Yb>v5CX6El4!#e()K;`-Nr1R8+~< z%F4=39UT$PvBFW^y}cQ?R(}PM(IBD zTSsTVaJn&y5Bc`xiw|$Drmij{pP-;|b8|D?v9Pe9siZ{k+Sc|tB_*ZB#IJyF-@c*a z^`5wBYEolYRhE~RQyZc)b;{loQuBD~$sQWiQVTn6T&ClFhGTAF@w~9G@Z0zAswr+q zd+S^R0`HmJH>NI33WdCQ{=DAuaY4&YXIV)}4(9RV;^Gj2T9{6MsQ5{$ZJEY0r=Xx9 zB@Hhr}@3B0uT)v!YrycpjSfe{3q^(Vrl9qPB;OKR{X_j7PNN(;;X=!Qp z*p~-e^O%q%D@Iw3|2(Uqp`qXN?TPE*wk~4cgsjgbCnvA1tyO*GGwzDs-CLj3 zM`JQ>ety0$$MF2l^5EBeMh_1Uaw@8%@^X44EHcvf?wfPWoSZ>SjKcO@9v7%cNxc#i zS)LmkV{U+KmX(*s{qi8KVdwa8x2C2Bd$8!$c|!sxCnvMjQ3yGgb}@;ptgL@XNbURU zPrKqCtJ|*(1$_B(S>xeDW)_w+c}C4=43)<1(*_NJLOHp(o+EwBgGK$B zPmAE1hQ?(_T_=H;L-jv@{=9?s*iovXHjImllH)b zfBlmFxGgIumzSE#o?Ia6f{AQb+Fb_jB_%^kOF|^|+cym%42lpC5R6St{R*WMvbr?- z=+UEdZfRb5@=^mWVv0+cM_@-LRLu(0YI8h%22#{iEmkg<(z z&3C3|XUn~OdE?BPGYA3+fFLd|E+>jb6%}HP;_hh3p2+3c$mr<6z(71|8XB)jAZ0Q7F;?!Ax&&#VRc|98z9_|&T=U&peXxUm@>vvid5O4uuFRxBosj#xO z)hN+@QTMRlWk!Y}RG^h1npw)P>d&7GWe%&4gzi_mAGdXM{M5t4lCZYs9i5q)!U>S} zj)=Hey*cv3g=&0!d~a_u)OxmsK|cAx<*QdSwy%g^x`cdHiLXsl|H|`nNN8($kjmcP zzVEvMHe~u67#%?lc2|i-MMVLS>W4J-(FPq~?r{uaNvNpwWxZEO?klz9%+meAkyj4I zZ&xgBUPh{_rx#jYF0yxch_BVVX;P`Pu!N6{2`SIpJY@JQ$;{`r1jJX*2!+(lG{=O) zwm>;0rl#UP%b|Xptt%rbd8VVIV{BsLjGmsJw4B^zORR8eYN`aFg}1l2zPUNRoSYoa z`SXS?pKcesAKx)EH(y^a8l8Y*FJ3;e#J4J(-Nn+suG9p&oiE^4W=Ur`d#1JDhK68OGo#x5Zf~|^ZE_F3NEr4 zsHT%|{q911d}IiZ?VRezXh;$@O-+Budu96T(~C>!ox$Xm3RP74Wcre5QW`CJd;Rs< zsw#=8sj0Dn0`s+<9lyv(3IJFG1B2?ThgDwKJhyKBUK_80pkP6=d>m!4UmXcHsPQuZ zJhQU4zI*pB*3r?CM$6*VluxVJApzXTBPduW$K>X7O+6*`VNp&FuWT@_FQcflKEw<0 zw4SUTU!SbI`58;Al7N^|gc^qUo|993w7<#gvSV=~ke0qvTr707Rzu9g%j;ECRMar= z;K2hDa`G;N^6+rdqvK` zE|7wgzcVxtSN8M%85Xz?rLSl zBNXx`E{^e2Y;5?45A2&y2UG6Hj4dspb$>V;Y|XV7JFc^gK7w5B>(ks?9c6m|{yi=c zQ7u3lj^!%{$Qa-8)=G$;oE{g&}1y zv)Ny7C~Y4tw#E*ky#8}#xXk+W#0`>6Hznv8e_8g_xT|6?uT2iSGzmiF;AoY;TwpV; z;C{y`6uX{oc4h{H-E4d>>%*A2u3V8BKQLxmP3Qf1I}$t`t2jPbqCb zrTOt4hRG;grEaZ&GxE+45h|)EqMBB*k+#B$!nhw46ciu$jEP3GzR~^2%i{x(LH!P* zs_E<`dp*-s4SRZS?6*VGDPLk+xx@zJdDSg{iNTnn=H?i|@v*T>4(?P`R6Z!wWPLa* zqT!Hq-t*pDHfG5C+17YeWu>^Qn;SD_ke;L9fjBE(Fn#ob8273*;xy^mv&w(__U+V+ zjGEba52A2+pRlknqQ>Xw&)>cg9PX~7Vq)l!?%_F=*gL*^dybgn4^G940Y34wGJnse zw3*XcT7PAzL|$IrGd7lCXQ}@U*;VB=mEUJhUGAvs=`rc*>S9tF&lrcVamn^5$jp(?0#24@_S<)=j} zmjzymoOL-Isc${i9GnibpA!xaF+h*Eea1&T8yZl>t|gL<6yZDU{C8%0^%~Wl?2{n+ zCaIxGavt3_GG9dTfk6$E%zQl|?Y8ut>X1{0x>r%m+qB%+WCq zk11=`MbG-%tHBl7TABQlf+xR$$lBPP1j&W|(orW@^S@)UfP~K(p!AO2TrcK0Zneynqe(CsDV7N3P%*Y9;?Fg>p4XtbhTV*Xa{&i zMGZ51+lTc&fBwA8`jh-**K149I%4JJK)$I>U8loe`1<#3rLXb}3Qi6?jQRp2(skQ@ zXc?9C?k63Vk8N_2TqujUI1@`aE|BYi8*-2^4nHdKQD{FW}1dBs7ATv*`>XRoI zh>3}n;zVe=ySsI?=QqZZUK<)Ho=`@}rpswOh zI_5D%$BH;b1XJ^R-x3hG`Sj`2N1B@Konr1sj+AtCjl|+k8$Q1E?UC-p|YUsqovv*NZ*hp?} zE{{purROhRtk)RUg-mmgv#_wJYH0W@Em^<~hHGQhxEC&XX>dI3ukbi^$0$=^`ub>Q zZf=$3pY`>)ph)_1Ujz+onl%9D3xD^{Cq115gcn9+>7%a=-FSG2hZI^4 z`rR_`8Ea3HgCXwRp;c2;gI{=gNj(?-VqeOHu{~lklCAvx{rv<8CpY(Fq5JplUBIqV zP*mKv25Lxvl(`)Wl-Vs(Vpjnr$7$tk1^V|yQ&SVQ-Wq30ZP?V=`8GKvC3j#z%Lw=y z=<9uz_aMV_@5c!6)>3Drrs^Y_FJ4>`&z5E}n3 zh%yXg28H?_XiMJ6+?)v|1x0dxp>b$N?k@Vyt<*{1SkrHrnOF!2CA_a`si~e`URa+# zecH3eK2J0?*wE0BkewZhg?$b;jtU`S6!HJJiut#S`L~KWB#_Y3q6Nt|*N${77l_hY zt&QFNxZbsk{@We=S9Y*TPi~jAyR%c9{xDu>}MK9Kr2eUnyIisD5+)NF+wU(i=!T(0^ZmyUB^) zL3rku1Jz7)d0;+~q8w|@f}{G|3*BH^;^O1i_*@{fS{)HB=t*884Fp#~zdcc=?}v-v z%4lUMfYIjgQv7VY?~1=<(yxwW#r>Ag8-8A=+dS?&c0jt7vp0`-N9(|*!YHdNitnpN zMi}Kn=;wKcC+k9UEc$PLh>rd_I7lb>Y6OmdqKcCP^S=K6&*0Sb<(rZz$B6_8JFHZ- zwPEZikg9UvGL0=S2g8FMN?TUYlAE6fDhx#q!L41`+R)b4zC$2>_~A`r9ikyBIS#ta z?Qq9ned71p*4D32w_mRfzN)nQ>wBGNr$i|e=G43jjqeT&l{=9U5fL4I|Ht>Rkhg62 zC5?>OfZPy+ueNt^Ajw6^nTfKMc2T%+-!3U?SJSiHT4K>5`qL-+uI}#f%~o-g{AEdb zdH)8xRA--wt~7NJlyYF0M90K1hs*D+>^3YgGpL!AdX}$j1~O875O%n6@!~~&V`G%4 z%gz`WpGTcJ>Fh2(&md&q^Yf)uRY{z8SAxN4_>!Dl4I0)|^b4yqzXYndtjrK1;5ZxW zkgtP>B}yydU#kknw*SfdJfafY`G`WrOJ)gt|FpaRNm&`-RLJ%WHeFk%@vlK873dI|qAEJ)5^7MJ)z(!dudjeX+-ZON3j?T&5|<*%{rwmE z1Z|y@R!e=^12+Qlr9QXw%7q*?oC=a(3?M&GJY!zM(!uB}TSqVQfjBLH+nmj?YPyl- zU1YaO3C9K(UNF%$&W!5q#iAFCjXeBab?r&E0V#?gX{Of3@!>)gO)p3eFYMU@4bpIw zWResSW4Y&y(LL0Uk$lg+x!kZJFWlAmM6SR8`Y*xJ@}NI&hYNJ@Oi?#l|C@IFo1OpFZunO~`P(4* zzr7{!4=F8e1Jb4##Lbtd*3{OfuxMwy8zq8w+S>eC3iS-6L}2v2sJ)Cr{JBD~?gFJy zM1L&RscFs4&B3VMk?EH9Z&4?wJy8CiCj4b><%#jp$>C~WfjL!{c8Pawt!&@mAS?KY z>M2TIK+D-4Cl{uqu%Vg6bq&hEe{nyU|9T_s3I_)sGcz+T0Rg$lYL-qJ#){^8T1en= zI5_%zU}9n-EIytX!5C9PLHH-@p&nJu&B3o6Y;Av`nA}r)N~Kvy!K|_ZYbQTHUw^Lc z^M~87*+9aK%r85}S@zzd#c$rNa z+G?hW#@%tcArj-h0h$&(P%-AIwc41vr}TjbYt-Y^4b_HJ0VJ%CqnH3l3>SMcF?Lg& zsEfX-=`}|;#rIs*oZ02x*Pj+9fLB>;zf8NcGTewtDeJ7CrZFV=^XJb89)mOBYo3Qc z)O2(;{rxl^r-!5aRU*z?xZtz{6TS-;BM5?^($YKbx54z(bKAyPgS@64mtEI?Q#l@N zrD<*6fX#7tcVFAxm2-3yvR@uJTl=A-^mH@+6vKv()_?|&&Ca3#auEd6q6i?nD#;R# zAhfi!Yu%6aFjiG{b+u-p1r4UP)0+M5IR5nL>dT>GFF1IrTU&{lT-UG=Opgh(la=V5 z8i~d85g;TfZ)p1i?SA+EJ;zWAESv=*2Mw=c=k4?%(|4Jh<29&apwB5P@kEd@TTA_9 zVEM}{C_E@-XxOPtbOM*n&)fS>L~q%=I#& zcb!b9l+<-~L*Q{G@t&<(U>G`Y&3SHyu$aKY_h>#n`M zfcx?GQ zEC=|hsj0^@i$;Eeg~#i0;(E7HH7Ysz3Ozmjcf&d&Sf1fnl^4&=n-hZ+mZ;q0(T|o? z0n&ZtPJ9t>-;OUV1cF=wBSi%xiYvur4oh=$AIz7xDzX|!!%>NaK>Lea`8AmHM>~VB zG{5U(fdh|CM@QEbFU~aE5?ce_shW;XaGr7Nvp*46=0+>Up>st_Pfx(a#1y&NU=bF_ zc#e=3V-901Q8le1h$ZyA)KpcG98L7oqL&8H?JBk!KZ7K|`a#|yTHXRR0Rn@PBdES!6YLiv$na3jbL;*IDIA-7VpYLU|^_( zs$aiw07NLtl|v@OK7AtK5ZC_0`9wl$O#S930FI7IBNW02Pr~R5md)^9Dp&T3W(s z9khQm0Jbp)2gjab>0>>&hcA|4P3-LKo+Tx>b)BXuz>F~1oM}FqZU&nI@vMA~Pe{1@ z9Sym55+SKp78DfJpfz>ddIBdsBZC)uA0O9^TRw&FcZs>~@enbIp}|*SG14rclYawn z?MtKzuhyW5!TK`8WHvSQJ(ZM{toGInK8d+${k2+oB_$t-GRCdxP~@&|Xuv}eF?hrJ zF+CduvvWcrQnIq=fO`saeJw53G8Jw+xWwa z(LH&_D#6!&C?N=rHs)P`^6j3d@`{Qzu-LJcl@SBsuKv@F!eQ8k8Fat>?+zna7pApM zZ3sOvNode?bap;u#DB4AHgO|M_C_nTcz*igTLZpY^yi)hH!3(dn4OcerYG}hcx)^o zcpn5zV)S$Z7GvCX6$cBP5VQ3tZ80&iy`{WXtHqw{B2F7Pb)ihqT+3>3f?}wqmde)s zp>Ja1Z{C|VK34t4tXs^YkLRQ_fB6BZZ)~udXHi}~V-?T~08E-FTHPJ>z_c9NhK9c7 zG9bFn^H+dEzOBqb*iRq0Lwg?yyFh?I$8a1lyVz;d=xWIO4ZEJMu1jKKj8xpZ(mFZ} zaUxD&i-vqoPsfw;BM2{JSXlCK8Wgh{lXz}qlvq*0=&(8>qo9B{Y7aeOi{VlVz#S7) zQwXGtx;h!Ack7mEp?klr@A_=7o(BUE^IvcRu2r9BN=Qq)u(Pv6E%=h&)zuZrA6Yp* zSj>iI{)LdqHILI>4`}PoM1_Zid4h3IX>Dx{ysiou`o8e>h8ai_?!?5z?~ovXj@8}W z6kxgGtul%>0tc`0Ba{M83(XHK1n^nNb}mfG#Ir|O8V(F;ZEbo+F;`q;W8cDB>%smAKNfQ%xDAl!@m{%JPokPRJYTDXp&=m*z8-UoRb8yl=5wlBTXO4$|s zUoUa|C##B6hm}B=408}dvrSr7mW7j3vF#@8O4!Gb``#Q~$J?jvswVvU@X`dhSp*@B zqJeNwK5LG?rBK!qCN6*%jJL2Q`O?tB0v#4cVnu&-vnHu+q_wo|Fq%E39o1G^2K)xo z)~Bx<=l0mg7uPjeoh>ab6_;LJTnTL9=SW@fCCImbZ*i!c2g!4pjqPW3HJ0ZBW68#x z?&cM`=#l+q=jX0^cTK&m zug{;!eGf~*JX9Mxq`!Xu9><(ka2}ITQ?qv-?hlo`rWSV>@z_nz+${jxRcX~cN0X~) zw;*@g!RT0;cVSw|pT4W{BMD(*+yBZ@@ebprr>53C#6OU1h}*c}OwG)|mP^uYlO(DG zFBmcSG}J~SNuIR&k9ThV5iS};b@lYiB_9MiVWKAGPxvACI}6@ILhi{ZOJ_;yd;bR| CtUap$ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status-members.html new file mode 100644 index 0000000..574eeee --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status-members.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Statuses::Status Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::Status, including all inherited members.

+ + + + + + + + + + + +
Destroy(const std::string &_id) constCocoaTweet::API::Statuses::Status
oauth_CocoaTweet::API::groupInterfaceprotected
Retweet(const std::string &_id) constCocoaTweet::API::Statuses::Status
Status()=defaultCocoaTweet::API::Statuses::Status
Status(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::Status
Unretweet(const std::string &_id) constCocoaTweet::API::Statuses::Status
Update(const std::string &_status) constCocoaTweet::API::Statuses::Status
Update(const std::string &_status, const Options _options) constCocoaTweet::API::Statuses::Status
Update(const std::string &_status, std::vector< std::string > _mediaId) constCocoaTweet::API::Statuses::Status
UserTimeline(const std::string &_screenName) constCocoaTweet::API::Statuses::Status
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status.html new file mode 100644 index 0000000..263034a --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status.html @@ -0,0 +1,391 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Status Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::Status Class Reference
+
+
+ +

Entory point for statuses/*. + More...

+ +

#include <status.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::Status:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::Status:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + +

+Classes

struct  Options
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Status ()=default
 primary constructor to allow for create NON-INITIALIZED object More...
 
 Status (std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 constructor which finally should to be called. More...
 
CocoaTweet::API::Model::Tweet Update (const std::string &_status) const
 send request to statuses/update with specified status More...
 
CocoaTweet::API::Model::Tweet Update (const std::string &_status, const Options _options) const
 send request to statuses/update with specified status More...
 
CocoaTweet::API::Model::Tweet Update (const std::string &_status, std::vector< std::string > _mediaId) const
 send request to statuses/update with specified status More...
 
CocoaTweet::API::Model::Tweet Destroy (const std::string &_id) const
 send request to statuses/destroy with specified id More...
 
CocoaTweet::API::Model::Tweet Retweet (const std::string &_id) const
 
CocoaTweet::API::Model::Tweet Unretweet (const std::string &_id) const
 
std::vector< CocoaTweet::API::Model::TweetUserTimeline (const std::string &_screenName) const
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from CocoaTweet::API::groupInterface
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
+

Detailed Description

+

Entory point for statuses/*.

+

Constructor & Destructor Documentation

+ +

◆ Status() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
CocoaTweet::API::Statuses::Status::Status ()
+
+default
+
+ +

primary constructor to allow for create NON-INITIALIZED object

+ +
+
+ +

◆ Status() [2/2]

+ +
+
+ + + + + + + + +
CocoaTweet::API::Statuses::Status::Status (std::shared_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

constructor which finally should to be called.

+
Parameters
+ + +
[in]std::shared_ptr<CocoaTweet::OAuth::OAuth1>: pointer to OAuth object
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Destroy()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Destroy (const std::string & _id) const
+
+ +

send request to statuses/destroy with specified id

+

this function throws CocoaTweet::Exception::* if something happen

Parameters
+ + + +
[in]conststd::string& : tweet id which should be delete
[out]CocoaTweet::API::Model::Tweet: Destroy result
+
+
+ +
+
+ +

◆ Retweet()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Retweet (const std::string & _id) const
+
+ +
+
+ +

◆ Unretweet()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Unretweet (const std::string & _id) const
+
+ +
+
+ +

◆ Update() [1/3]

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Update (const std::string & _status) const
+
+ +

send request to statuses/update with specified status

+

this function throws CocoaTweet::Exception::* if something happen

Parameters
+ + + +
[in]conststd::string& : tweet text
[out]CocoaTweet::API::Model::Tweet: Tweet result
+
+
+ +
+
+ +

◆ Update() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Update (const std::string & _status,
const Options _options 
) const
+
+ +

send request to statuses/update with specified status

+

this function throws CocoaTweet::Exception::* if something happen

Parameters
+ + + + +
[in]conststd::string& : tweet text
[in]constCocoaTweet::API::Statuses::Status::Options option : status update options for more parameters
[out]CocoaTweet::API::Model::Tweet: Tweet result
+
+
+ +
+
+ +

◆ Update() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Status::Update (const std::string & _status,
std::vector< std::string > _mediaId 
) const
+
+ +

send request to statuses/update with specified status

+

this function throws CocoaTweet::Exception::* if something happen

Parameters
+ + + + +
[in]conststd::string& : tweet text
[in]std::vector<std::string>_mediaId : media id which posted with tweet
[out]CocoaTweet::API::Model::Tweet: Tweet result
+
+
+ +
+
+ +

◆ UserTimeline()

+ +
+
+ + + + + + + + +
std::vector< CocoaTweet::API::Model::Tweet > CocoaTweet::API::Statuses::Status::UserTimeline (const std::string & _screenName) const
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.map new file mode 100644 index 0000000..bda0807 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.md5 new file mode 100644 index 0000000..22f6183 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.md5 @@ -0,0 +1 @@ +5cb4645d94cc726cbb62c0bc1eafd278 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..153066fda24184e047571b40ec42cc23d2d70448 GIT binary patch literal 5751 zcmd5=c{tSHzaLqXeOHermRnR=&-ybP;NOoQ;V3*Hopm{ zQYViJpsOdtSp>Hg_+95$=lf`P%PNpUd7?;d>k&`5^-u=Jjg|EB4X7Ve_H^B9@G2jN zYvems1BXNfL3ReRyH=A^FqTthb2=T4C7JYFMN6pT^@AnUf=~X-=hGZWnxL3W!3p^( z@oPa194y^IRAl6$+!qvD9)-zs$ky}Tyh&+_I?9z>QKb6)*wfRq#%Drh;qzw^E?G|( z`CCd<%U8delu5|dM|G!qzVlWLL*?e?a?8jxw2OK6f+2K-nRyugb5xtks;U`nUjnld z594#6J$;|2s<*4?o2ibfj?a!ao%UArJLcaQK6|!Yf6wS!MeNbf_}g#iq9m`eMVLD{ zpdZHZnRk7>W9{I8daS%V8h2B>*(qfd#+&W$b!TUL`@7_n_dtGwlatf56dffU*V0D` z+aZBQS)N#`C;3`!Z4vDCIpro_KbH?eSvOYGGyNXZqZTJs8z>h2@jT3u@a}ugu-t+yo>gYcvSmNund~ zSZ^P$w@1T7(R0K2xpuEdIDJ3I5-#y$I8ga3@3}* z4#Up2D6P!RTj*eNC3^%ZDX9w4mpxl!FJ8Q$ffSdP&i8U&xzYs|hXsK7B;z4+-0ORm zT^$95LhUB%T)TUFqr;VW78Vw;XGguhHfy%_xXlqaSsyxx-TG)%Bz*lKIq%re_^L}L zx77aJcR zoR!4`w$P;ZwL*SFQc{vxWM*k8Ehi`EaFg$S;*2qJXJ=;}y}hchUi|}^UK{zsA?d)? zlP25csGTmCn*L5zN$Hx95dFx=2>+csZMVxC0{Z%N3iNK3E~}!s{FQiG8hwtNIeyG{ zCAe-(wYDmi7*$d8@$rSdd-pv}*2|@5jD2QirsDHwMFj;C5m8b6dd-xZwAJS1x5Ja2 z-p5a$hSp4aYOL=4Zrhls$GjTg1I-f@8p`xTD=UkElk*~$V|I2HV%>xjn`p25GxK$qXWQ#TYU(dYMSs6;RXYm{ zi!h|5pdf52;nSxsNX7Q{8v|Y4?~sayhKA>h>z(MU(uQx}zO6acj_!_xFU-%ky^o7~ z=Hny#<@0BY&dyE&0Rgbx!@J7^BTr3z+BlBSW0f*>wmjn1Z+xk&w5)NM=uht9Kr)2~ zt&i1c+r#$2uN9B8RWL(C1^}<12fHUH)4&DaE+cE>ilzo&($~{-(ZKNu36*#8cXJ>Y zds0^=MB3Zh@XK{3FofztJ`ruLt*y|p>6w|9YWp#)f0|iZlD&NS5;Zl9K^|3t_TadD z`TO8t70$ySU7n_uBtp){#s>K2wn2%Xi6GACz|RkoBJ0J*E@64=!DdzKP%8y*fzPQHvX zH8(e}nUg}#`QqGs{Lp4z_xe0NrEnf!?jy>wvythecstY8H$G|hPqiy2Y?C*Th}A8b zH0i{<=pSW>`k0iI$Y?nNm4}CiwT;d9RB87Lw{@eO+}xJ7HuA>CMq8q{Pg^BA_clh?kpN zA-_)hlLResKh@Q#?^9EP>O=@NPS^OOpRUEkFf{D+NZ0zF%Oxi#zXm!N6cUn^o2zVl z4>CM5G6N_Y@!S&h>e1u1k@bOmZBhs}8a9>N118t;>zA^Fg9EJW~&aMQz^QvABGQGSU?sL4KSyo1O=#D$?pF!oRM|&2#5E7_5k-M~LVvRhpM9~K0XNrr9SA=6S{Dy%vrx;`1zL=40(n3#a@sn?wnwoI?Q8A)|f~UwJ-HC8gP^%TDZuxf7gs0Cv$bnLXL`Bhl z6f#A-PkMx&FDV)mRtAgl(Y`070K;$Bt8kS=ci?bFaN|Zbpi449zBc#sJfDN<6%-c- z78l zZBHm;`%Mznof8qut2)~e%S&ps5Oqb8qEaR^D>jM2Kf{bq=^B6HMMf&>1ylblp1n(K zVXq5(AV94pV)m|`=3p?il=KU{BK?RdeQqInEiLq@SXE2OhU3or%(n4yQUikl?)b(_ z@hh0d;s*rAc8*hDEAC4)kD8;dnDqkh%1h;iAGrTfD5xOn-@g7xaAQqAzn%G(**yun}?KQydq(*E5g2|zScy)`JWfN>~V4 zOV8+LwMdz|nfV?y1Ffda;#Z_dU0Yit`6qNz^uHPSf5(Dz3BS5toPAG zP}RbM$6=~5YJcA?5_TVYiCwT25EEe>z4)rWkG9UN@y$Fn;L}j>76C*Z%h1pezmQP- zSLel;xVY?^=vpAKuV=oKqrB#@QAAb?g`o-(2)pD+ntZKPMKiN&S}9V$?5X$l5|u7F5EXQFOP3+{429= zA&c`uH_@|f{q1B<-Ns_E-+O!M0n-5mR(tr61o;U0?fi7p7x_C&`DB0co7c?ZVkjj& z6aoPrFcd@r{&;nWJkTe%jqz|`AuVdhPAJ`ebFz0RT~Jn5wi&Yo!Ks{al8DOw-%++LqDI)D?XYm1F9Dc8$tSlrw9d`N36%q(A&0qnE z;D8ZZ%{=%! zKi>kd0%2fc3IGuoxR%`Z9bm}Kd(&ivMMZxc;^({&eCJpRcJh!py^6E~PHT8eNA+_?ic z|4#PS%L|DsL!5}Y&i{;uG;4nYrK(HK&dLf%zg(o@?&S2_C?O3&kd(L&XSMF;LSmSWJOK4_! zc?6l(xZiXS6wt5N@CoCr>N2NMh4WtRP^dv-4tgbv5wH zk)yxCGAYz^->3Iq@Kel$Kn#tI9~9~-=IUlPG^Eh$A$9;|Sq$W99{!Ef7Jl)QB{3<9 zI5R2VvxcEMjq6OUZEXtInOeHKE(tZAh=8PkhRRZFXlO)2WiLa_Y;7;0=U$&2IsyOX zCatZnACGm(K>k^w#d3W9{CVq_$su^b@YMgWs+X=!QwjV*b5W%UWGCdHuGr#UHN zdIc0pjIP%bx_|Yk*JS17 zkVV7pt5{j_y?OJda>4%9D-tBlk5Kwh3oYV|qTpRK?t!`&^#3??iY793nybZp4r@|M)=~92^W> z^V*NWeiJKAP1>Q7XMwA@^6bn^5-*51?b28s`Up_A$uzS)hm3c6LfH zUff_}WP>pF#c*7o+n>bd=+xa4g*l|UOy3csn-4R^3%l)AdQ zTP>8ZjH)VD;6Z@`PNeYY z5p<3Fn4_g-5GcXi-_E!bmqTU7h&HN=7h7h2gyN^p&)C&-nE=@xE@ej_o-Gw#9VJrz z;o;k$;NX_YNvLB3p5okP4Dc#oI*>jTKy|sUUd1@gsQ~!5aEW& aIeqvOGes8tBTjIV40))mrBtS97VsaF?kg++ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.map new file mode 100644 index 0000000..bda0807 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.md5 new file mode 100644 index 0000000..22f6183 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.md5 @@ -0,0 +1 @@ +5cb4645d94cc726cbb62c0bc1eafd278 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Status__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..153066fda24184e047571b40ec42cc23d2d70448 GIT binary patch literal 5751 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 aIeqvOGes8tBTjIV40))mrBtS97VsaF?kg++ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet-members.html new file mode 100644 index 0000000..e38cba2 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Statuses::Unretweet Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::Unretweet, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
id(const std::string &_id)CocoaTweet::API::Statuses::Unretweet
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::Unretweet
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
Unretweet()CocoaTweet::API::Statuses::Unretweet
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html new file mode 100644 index 0000000..3ed72ea --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html @@ -0,0 +1,193 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Unretweet Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::Unretweet Class Reference
+
+
+ +

#include <unretweet.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::Unretweet:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::Unretweet:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 Unretweet ()
 
void id (const std::string &_id)
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Constructor & Destructor Documentation

+ +

◆ Unretweet()

+ +
+
+ + + + + + + +
CocoaTweet::API::Statuses::Unretweet::Unretweet ()
+
+ +
+
+

Member Function Documentation

+ +

◆ id()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Unretweet::id (const std::string & _id)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Unretweet::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.map new file mode 100644 index 0000000..6373b70 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.md5 new file mode 100644 index 0000000..5c81e86 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.md5 @@ -0,0 +1 @@ +df981c3e779157dfe53f1076a9dffc3b \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..160f7d183c38647552dff0c011eeb666f5b60623 GIT binary patch literal 9479 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 PgxtTUESoEB9P~c`?MGR3 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.map new file mode 100644 index 0000000..6373b70 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.md5 new file mode 100644 index 0000000..5c81e86 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.md5 @@ -0,0 +1 @@ +df981c3e779157dfe53f1076a9dffc3b \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..160f7d183c38647552dff0c011eeb666f5b60623 GIT binary patch literal 9479 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 PgxtTUESoEB9P~c`?MGR3 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update-members.html new file mode 100644 index 0000000..4045e90 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update-members.html @@ -0,0 +1,102 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::Statuses::Update Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::Update, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
attachmentUrl(const std::string _url)CocoaTweet::API::Statuses::Update
autoPopulateReplyMetaData(bool _meta)CocoaTweet::API::Statuses::Update
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
coord(std::pair< std::string, std::string > _coord)CocoaTweet::API::Statuses::Update
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
displayCoord(bool _disp)CocoaTweet::API::Statuses::Update
enableDMCommands(bool _enable)CocoaTweet::API::Statuses::Update
excludeReplyUserId(const std::vector< std::string > _ex)CocoaTweet::API::Statuses::Update
failDMCommands(bool _fail)CocoaTweet::API::Statuses::Update
mediaId(const std::vector< std::string > _media)CocoaTweet::API::Statuses::Update
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::Update
CocoaTweet::API::Interface::HttpPost::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpPostprotectedvirtual
replyToStatusId(const std::string _reply)CocoaTweet::API::Statuses::Update
status(const std::string _status)CocoaTweet::API::Statuses::Update
trimUser(bool _trim)CocoaTweet::API::Statuses::Update
Update()CocoaTweet::API::Statuses::Update
url_CocoaTweet::API::Interface::HttpBaseprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update.html new file mode 100644 index 0000000..a2785be --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update.html @@ -0,0 +1,421 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Update Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::Update Class Reference
+
+
+ +

class for using statuses/update endpoint + More...

+ +

#include <update.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::Update:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::Update:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Update ()
 primary constructor More...
 
void status (const std::string _status)
 set tweet text for sending request to statuses/update More...
 
void mediaId (const std::vector< std::string > _media)
 
void replyToStatusId (const std::string _reply)
 
void autoPopulateReplyMetaData (bool _meta)
 
void excludeReplyUserId (const std::vector< std::string > _ex)
 
void attachmentUrl (const std::string _url)
 
void coord (std::pair< std::string, std::string > _coord)
 
void displayCoord (bool _disp)
 
void trimUser (bool _trim)
 
void enableDMCommands (bool _enable)
 
void failDMCommands (bool _fail)
 
CocoaTweet::API::Model::Tweet process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 process request for endpoint More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpPost
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for using statuses/update endpoint

+

Constructor & Destructor Documentation

+ +

◆ Update()

+ +
+
+ + + + + + + +
CocoaTweet::API::Statuses::Update::Update ()
+
+ +

primary constructor

+ +
+
+

Member Function Documentation

+ +

◆ attachmentUrl()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::attachmentUrl (const std::string _url)
+
+ +
+
+ +

◆ autoPopulateReplyMetaData()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::autoPopulateReplyMetaData (bool _meta)
+
+ +
+
+ +

◆ coord()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::coord (std::pair< std::string, std::string > _coord)
+
+ +
+
+ +

◆ displayCoord()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::displayCoord (bool _disp)
+
+ +
+
+ +

◆ enableDMCommands()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::enableDMCommands (bool _enable)
+
+ +
+
+ +

◆ excludeReplyUserId()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::excludeReplyUserId (const std::vector< std::string > _ex)
+
+ +
+
+ +

◆ failDMCommands()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::failDMCommands (bool _fail)
+
+ +
+
+ +

◆ mediaId()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::mediaId (const std::vector< std::string > _media)
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + + + + +
CocoaTweet::API::Model::Tweet CocoaTweet::API::Statuses::Update::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

process request for endpoint

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to oauth object
[out]CocoaTweet::API::Model::Tweet: request result
+
+
+ +
+
+ +

◆ replyToStatusId()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::replyToStatusId (const std::string _reply)
+
+ +
+
+ +

◆ status()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::status (const std::string _status)
+
+ +

set tweet text for sending request to statuses/update

+
Parameters
+ + + +
[in]conststd::string _status : tweet text
[out]none
+
+
+ +
+
+ +

◆ trimUser()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::Update::trimUser (bool _trim)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.map new file mode 100644 index 0000000..29e42c7 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.md5 new file mode 100644 index 0000000..59b6194 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.md5 @@ -0,0 +1 @@ +23b82a467b03d7bf27042ce69c1fff45 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e334ccdabade88a6ad9f211efc9381155d3327 GIT binary patch literal 9653 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 E09jOxZ2$lO literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.map new file mode 100644 index 0000000..29e42c7 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.md5 new file mode 100644 index 0000000..59b6194 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.md5 @@ -0,0 +1 @@ +23b82a467b03d7bf27042ce69c1fff45 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1Update__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e334ccdabade88a6ad9f211efc9381155d3327 GIT binary patch literal 9653 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 E09jOxZ2$lO literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline-members.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline-members.html new file mode 100644 index 0000000..ea376ca --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + + +
+
+
CocoaTweet::API::Statuses::UserTimeline Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::Statuses::UserTimeline, including all inherited members.

+ + + + + + + + + + +
bodyParam_CocoaTweet::API::Interface::HttpBaseprotected
contentType_CocoaTweet::API::Interface::HttpBaseprotected
curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)CocoaTweet::API::Interface::HttpBaseinlineprotectedstatic
oauth_CocoaTweet::API::Interface::HttpBaseprotected
process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)CocoaTweet::API::Statuses::UserTimeline
CocoaTweet::API::Interface::HttpGet::process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)CocoaTweet::API::Interface::HttpGetprotectedvirtual
screenName(const std::string &_screenName)CocoaTweet::API::Statuses::UserTimeline
url_CocoaTweet::API::Interface::HttpBaseprotected
UserTimeline()CocoaTweet::API::Statuses::UserTimeline
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html new file mode 100644 index 0000000..4144551 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html @@ -0,0 +1,220 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::UserTimeline Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::Statuses::UserTimeline Class Reference
+
+
+ +

class for using statuses/user_timeline endpoint + More...

+ +

#include <userTimeline.h>

+
+Inheritance diagram for CocoaTweet::API::Statuses::UserTimeline:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::API::Statuses::UserTimeline:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 UserTimeline ()
 primary constructor More...
 
void screenName (const std::string &_screenName)
 set screen name to get timeline More...
 
std::vector< CocoaTweet::API::Model::Tweetprocess (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
 process request for endpoint More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from CocoaTweet::API::Interface::HttpGet
void process (std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
 Send HTTP/POST using OAuth object. More...
 
- Static Protected Member Functions inherited from CocoaTweet::API::Interface::HttpBase
static size_t curlCallback_ (char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
 
- Protected Attributes inherited from CocoaTweet::API::Interface::HttpBase
std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
std::map< std::string, std::string > bodyParam_
 
std::string url_
 
std::string contentType_
 
+

Detailed Description

+

class for using statuses/user_timeline endpoint

+

Constructor & Destructor Documentation

+ +

◆ UserTimeline()

+ +
+
+ + + + + + + +
CocoaTweet::API::Statuses::UserTimeline::UserTimeline ()
+
+ +

primary constructor

+ +
+
+

Member Function Documentation

+ +

◆ process()

+ +
+
+ + + + + + + + +
std::vector< CocoaTweet::API::Model::Tweet > CocoaTweet::API::Statuses::UserTimeline::process (std::weak_ptr< CocoaTweet::OAuth::OAuth1_oauth)
+
+ +

process request for endpoint

+
Parameters
+ + + +
[in]std::weak_ptr<CocoaTweet::OAuth::OAuth1>_oauth : pointer to oauth object
[out]std::vector<CocoaTweet::API::Model::Tweet>: request result
+
+
+ +
+
+ +

◆ screenName()

+ +
+
+ + + + + + + + +
void CocoaTweet::API::Statuses::UserTimeline::screenName (const std::string & _screenName)
+
+ +

set screen name to get timeline

+
Parameters
+ + +
[in]conststd::string& _screenName : screen name for getting tweet
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.map new file mode 100644 index 0000000..19c3323 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.md5 new file mode 100644 index 0000000..739af63 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.md5 @@ -0,0 +1 @@ +434abdeea649003f1453628190bb2131 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..21cd5ca86eb1b518f67b86a9d057e2918db4618f GIT binary patch literal 9637 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.map new file mode 100644 index 0000000..19c3323 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.md5 new file mode 100644 index 0000000..739af63 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.md5 @@ -0,0 +1 @@ +434abdeea649003f1453628190bb2131 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..21cd5ca86eb1b518f67b86a9d057e2918db4618f GIT binary patch literal 9637 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1API_1_1groupInterface-members.html b/help/html/classCocoaTweet_1_1API_1_1groupInterface-members.html new file mode 100644 index 0000000..4791d72 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1groupInterface-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::API::groupInterface Member List
+
+
+ +

This is the complete list of members for CocoaTweet::API::groupInterface, including all inherited members.

+ + +
oauth_CocoaTweet::API::groupInterfaceprotected
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1groupInterface.html b/help/html/classCocoaTweet_1_1API_1_1groupInterface.html new file mode 100644 index 0000000..9cf1e1d --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1groupInterface.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::groupInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::API::groupInterface Class Reference
+
+
+ +

#include <groupInterface.h>

+
+Inheritance diagram for CocoaTweet::API::groupInterface:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+ + + + +

+Protected Attributes

std::weak_ptr< CocoaTweet::OAuth::OAuth1oauth_
 
+

Member Data Documentation

+ +

◆ oauth_

+ +
+
+ + + + + +
+ + + + +
std::weak_ptr<CocoaTweet::OAuth::OAuth1> CocoaTweet::API::groupInterface::oauth_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.map b/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.map new file mode 100644 index 0000000..2286555 --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.md5 b/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.md5 new file mode 100644 index 0000000..1788e5b --- /dev/null +++ b/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.md5 @@ -0,0 +1 @@ +e890c6b051e17b9eb20feb6067812ae6 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.png b/help/html/classCocoaTweet_1_1API_1_1groupInterface__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e6a5b943b29a5b0170382d2814ca18de8ba8ee GIT binary patch literal 18282 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException-members.html b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException-members.html new file mode 100644 index 0000000..d07a6f2 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + + +
+
+
CocoaTweet::Exception::AuthenticateException Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::AuthenticateException, including all inherited members.

+ + + +
CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException.html b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException.html new file mode 100644 index 0000000..fd3626c --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::AuthenticateException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::AuthenticateException Class Referencefinal
+
+
+ +

#include <authenticateException.h>

+
+Inheritance diagram for CocoaTweet::Exception::AuthenticateException:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::AuthenticateException:
+
+
Collaboration graph
+ + + + + +
[legend]
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.map new file mode 100644 index 0000000..c12a8ca --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.md5 new file mode 100644 index 0000000..cdc14d6 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.md5 @@ -0,0 +1 @@ +3e6f9789833c5c7c4302cf44e801b33c \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3c7b6e6fdb85f16dd37815b32f41cf877c3460 GIT binary patch literal 7383 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 + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.md5 new file mode 100644 index 0000000..cdc14d6 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.md5 @@ -0,0 +1 @@ +3e6f9789833c5c7c4302cf44e801b33c \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1AuthenticateException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3c7b6e6fdb85f16dd37815b32f41cf877c3460 GIT binary patch literal 7383 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::Exception::Exception Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::Exception, including all inherited members.

+ + + + + + +
Exception(const char *_msg)CocoaTweet::Exception::Exceptioninline
Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninline
msg_CocoaTweet::Exception::Exceptionprotected
what()CocoaTweet::Exception::Exceptioninline
~Exception()=defaultCocoaTweet::Exception::Exceptionvirtual
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception.html b/help/html/classCocoaTweet_1_1Exception_1_1Exception.html new file mode 100644 index 0000000..cb8ba96 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1Exception.html @@ -0,0 +1,257 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::Exception Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::Exception Class Reference
+
+
+ +

#include <exception.h>

+
+Inheritance diagram for CocoaTweet::Exception::Exception:
+
+
Inheritance graph
+ + + + + + + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::Exception:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

 Exception (const char *_msg)
 
 Exception (const std::string &_msg)
 
const std::string & what ()
 
virtual ~Exception ()=default
 
+ + + +

+Protected Attributes

std::string msg_
 
+

Constructor & Destructor Documentation

+ +

◆ Exception() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::Exception::Exception::Exception (const char * _msg)
+
+inline
+
+ +
+
+ +

◆ Exception() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
CocoaTweet::Exception::Exception::Exception (const std::string & _msg)
+
+inline
+
+ +
+
+ +

◆ ~Exception()

+ +
+
+ + + + + +
+ + + + + + + +
virtual CocoaTweet::Exception::Exception::~Exception ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ what()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& CocoaTweet::Exception::Exception::what ()
+
+inline
+
+ +
+
+

Member Data Documentation

+ +

◆ msg_

+ +
+
+ + + + + +
+ + + + +
std::string CocoaTweet::Exception::Exception::msg_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.map new file mode 100644 index 0000000..a62f1ee --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.md5 new file mode 100644 index 0000000..9136030 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.md5 @@ -0,0 +1 @@ +6cda3aca055f5e0c68919a93822315ec \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1Exception__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..69cf25f62f25f2e149f4641fc57e8c569f7014e8 GIT binary patch literal 4798 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 F`yVE@xy}Fp literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.map new file mode 100644 index 0000000..05ab346 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.md5 new file mode 100644 index 0000000..3b37d9f --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.md5 @@ -0,0 +1 @@ +2f2cc4688ee9223a3db69a3887b9da8a \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1Exception__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..5a7dd1cee8c1d4b5f873348e010a8db181038778 GIT binary patch literal 40398 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::Exception::RateLimitException Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::RateLimitException, including all inherited members.

+ + + +
CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException.html b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException.html new file mode 100644 index 0000000..1edbe0e --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::RateLimitException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::RateLimitException Class Referencefinal
+
+
+ +

#include <rateLimitException.h>

+
+Inheritance diagram for CocoaTweet::Exception::RateLimitException:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::RateLimitException:
+
+
Collaboration graph
+ + + + + +
[legend]
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.map new file mode 100644 index 0000000..ee35550 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.md5 new file mode 100644 index 0000000..84eb747 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.md5 @@ -0,0 +1 @@ +23279fd92c0b336d3b9d27876dac7416 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b247ef77f994d5d376385a3871dd58ce54720b50 GIT binary patch literal 8041 zcmc(EbyQVtx962R@@jP zQj}Z*($y88Zd>UX9k2(!v|PEUoUbR@$zk=<#P9vr@{ej?Q}5ZavQ;&)Ok)N!HFg~w z1UWhx1=9E%Pj7jMNA%7mZ9bA%N zBI2jRdC$Y6BBPUut9f#gPAW}pz^pi&!_C7(Bp~soqN3u~+8Dob97byR;|h#BtQ521 zs9$~0Xg(#7k&_GRV}4P7T!E*KgO8fwf-9GpcH`t=Q<{l%y5SYhd+vZtg&-o-R5&#+ z=FH5@dv57;cN#l6Il0rVCX)Bu=|k-kQ}gpr4v&wmGE#+J#?9QodfGPgtH_KXCpR}O zKR<%kv~@Z{@*F{wl0`4Gv9TS_N2@ZC;_{d@<05yAjhSzYi!)Q;^FHlkqPy*`X8zpR z*x3DSZ{%`qUS{T-pLeVxi@Y^`B57t+*%jhg~z8UqNzH|)>s z6dWCSGn5mtqvWy3$;rEtM93o;#NUqHlb6SR{P-~wjLE1TNs@Setf{IxQ9tfCIQTI3 z{rjx#Q@4#tV^LAjwbP@WoUE*n>({Rr%7#)pt`idz+Z=5CsZG<;(sJylY9~+k481%&cu^=+Y)ni`M@PqK-QP2Np=ZCPxl%MyX8%pxYo7;3sHLOR&L!zMD=>aZFClGzER57jt#UpYm9uU)d^-e7<*i zbtIpWUqIlAMQ_SN#?s;?J;2XGJ&t{~cy88C#wk0!Lw#oG(Jri5o@UxQx(?7E<4$q!7 zuZ?|kJUey?*jZXwxNB(0$PyKtI9z6L7*iIPoJ@r9@bkaA!{i6wrKLh0ot;t9(M{bb z-*ay$FO%PWX%3E#GZ{goN5VJ2k%g6zYVjB#Sn5bc7^o zjVzFbwoDesMMR{eFd(T}S&E-+i)GjOCJ`RvMy#aU9%OO13FP?|zfVBIa2qjITAcF7BS(-2Un%%4di=k9x!FH3 zP-s2EZRf$k!6AQ*?1{N~ZGYv9I$vCaygGP}(?OYpv$ONy@bK)f8n4M>*p0mK{Bg7L z-XxJ%pYO-9T)lchP*4z>Br_}PJud=XUs;jH( zlshm#(9oz@5EmEc_1d@j^!amIP7a}%>so!GY1>0x6yp8&?BH-A&Twn~J9&;_9fOC5 z$JX}t+p4;~vC&bZwb4SI0wWB30s>~r(3#Cm5@-t;WN9;-Wi(6#U9{9RG!5O|L_aHC znqcUc$jL9j7jnnQh)E?$7z5tBv2pj=GXZvX_CDBZcTZ0f=y>IEa~T;d8(Z6%#YJdy z|6a+zbTFTnd3oH>B?Ufbp3SYTQcxl)Dk`{ygw5~RG|I(Tybd;60QzQDR`6+QX+M4X zR6jQMXt{E=D_M-HGnPww^H)uw{ggy=OH0G(sLss!Fcm#L5sZeAh7SuM0P0IxMn-0U z*jwzXk>Xfwy~ z-F8n6B9WlZUUm}2T5&FWSzX;$?xRom0tpVU`3N@&@!dEMm%mUvwI-;icGxjzs429$ zPO+gyO6zrz?0e`ROHtAB!=t6_D|wlwsSeqXJUuV*@r9_P4vRAGz5M;V^GaS8`up$%^{!HvS@DbB*IQQt^umc5&(rV5eNs{QPX4&!Emv81F(Euf{@MdN(Os`s+zRyY z96AXleR7wN4%y!W2$tPX%O4nfDTiZ8p6v!TZbdJq!~Hbrkg97g9UUn%Wm6la4`k^{ z0`!PdB=cMT%%L8Zv-5kVrr)zQnWmU}7bn@Yy+Cf3pX{N>m?&RPufXy^s6W}H8r_P zUf=NAU!%doe9`EeEL!rb?3I|P=xh+9&(nUsxweQnJvVRfYR?cGOplZ3q$EN^L&I*0 zYjUCfC-dK$36TOad&3|;PL}9?UBB`fhH2Od%47RUR|0>K zm%g4}cH#KL%cP`C-$=rE!)Q?|17;;8IVrz?KfPg5B=z9yyGM^66{<>}75_L22?>dh zh#=t?5;6x$=#J-oCGLF~X?=@>!}R?8ybBPWhK8oF!g;AEBm_Suc5iFT2#LSLWTd5~ zWiyne31ldgX}mrE-KHl=B#gI}m`=F<_+YcQ@ZHk$#n{83O|Y=gpfzdbNeF_V)JJekUmJLx=w)2}D=wTwPquFfcHj zA}oA-B!GZ9`S{)@3IU=n&d)bnSzE_2XqcUt0?`9XkN*CVo{*NtOe^|~RSf7W{e&N$ zS8Ccu9MfBooJ>zZOl%I~sH?9pa&L3$L$aug;>J09zr2Cz`{xTP_wP%qs1TcXJw5$C zA;}sag{4k-QRPuW)t2F)ek)-z%BH?r+;u}XJ;dUIB{@ru3fv9S-b|2UQaEp ztV~2qFX|84#OUw&S@`hW?CeXRp2;dV5`>hIF~aBU*s*SVZfA~0jeMaBYO8}drHC`xcQ+X8?yIFO+Ot;NnqhCcpv9W={ z!MK37#_*oL;bARLrI>Y+e;7rl#Om_)_V)DpI+2^3+q-w~GOHy!dT0@VUnWjY!h_AJ zHjrXG&ySx~MD!afko%C$D=H~HLEv2n6g|-i37{<2)@YnVtzGK8q_RH~#K_l5?d;@aqE~8T z9L9TtG8F#&!-rljjwtzfHP$C6yGgb29%|EnOGEsKsM~pYd3@UKmA)VwCvX2h(g@|M zr1`aMqvNdT#RZ(A^@%c$$q#Y)lUYe9F)^`H<0kC9vmfblpp8I`98rJW>#()4Aw=4H zd$ollzy*9!Nj5SwYf<(B1zk~^ltlN`+BzNdrm_JgVq$8_YctA2O-+4=iIj}vT zv}Q!v(ap}yMMXyXMO~F^{P~l9sV7-lR`%lCw{Od9ZCzc3kovB!FfWZSxw+xME%Wp9 zthV;V9?v&Y#J!x>cb0nP?CiJ$iRtmFsHp5bf$oPqVN6eAzZDj$FPCFxC8H41*D{lT z_jY%Y)D}A_0kO#oIK=)jF_-r@er7u`{7bty=_5#cd;9cwPEHO}lze1D!q~i7Xh_KP z+}taGn)HGKQcy&+D7%Nt-LvJ6a}FDmB1t07*qgN{+@5$?fMd`TIM~E=xJW^9 zv43nVCBtp^KBlMSHJx8<`En7IAUe2sRzBD#A zVy2{|#EW|g_4oIyX=w$51fL!)G*yht{YQz(j^ye8sBpHpcJrp`Tx&S{kOT<(cX4r7 zq3f#@BWO{?Q{Fq_UG#YWlN3{&z^ES_q<}(;JW7KP&gGeJ8*qH{+_MU9F+n#1J3BrB z6}OC)6}$GgkEU6QHT9tq2e;}@U*1$rF*-Zm16lhjE-tR|%p;*_XPEtcUy$V>$i`7n zp*rAZ5nfdtmbWKhs zxorMQhK`ExvdFg?v#&i0Oo)#!fEE09>FT|L00Jtf&1pley54STQ}pfu%uW7`DK8hs z_LG&7Y46fDFzBJ=(rvb}v5Bv(m7taI78dh9Ea+HY>iu9*T3VW;@kK?sQV&z)`3C6H zZ_Z0SywcLr;LJL@>#T;@&8@9F>C0N*d@b?>Q!^T8==1$v_>~qyLc;i(8u6385kuOa zACBGbze`4UR6>qQw#L~@YSXTL%0=_IRZYX?Px=+E>+dt} zKNYHUD&x1co!8eJo@r9Px_Ox06hxaE<>uXT;(%JZt8n)&h7#aQN^Q@77*jv!87wTU z`tk8AXz^O@v9qs1}dc_kNYw?~=;lUGZpBrLepHbYA}irZCW6 z^(ORSMyqA9JCSyB=^W545@2C(b>ym$5G6Q12PY>fP}~_x35`E5ja9kb!X{xL)YjI9 zCSbaL{UWdpVo)9R4ZuAykyeJ~lEmLr=dSmH1eKMQlcfMFp=O=2j`jvX73Cy;SlHOJ z&9BM(1_tIfVh8_!8ruJTgpSw`e_~Nf<8?Dw^n3QK3PCdH;3FMVFqq`(<~U!a(|?v* zWh|CrhfRszQZshfl~@`++t&>}qoEIJth&DY{54nhhdk~K2nT)`dSiUu9#bHAO1e=t z<&#+Z>H!hM##F?YxLc+pA(#73R(p#t?UC^eU%HoT9Xo&I?0wQooB1`XF;yXYy4EZ- z!~*wB;Sl%^a|)d2)Z+4chNG4`0i?c#Ak)9?5HtpiAPhH z)XIm}JY+BO^(Gyi2&KkS_7gJ<+NjfG1?YA6tERlGsOz?}j&j+c%j)bD)X{9aGo$sb z_!SOw=7A$`D|NqWQlFYEJq}1bSpl-324l{v2b+6TJ1^{+2K3N9i!;T zAygWZy`sZ9X|=sH(==IQTR|=TqdO5yhW62=7P#$nQjZZ6Sbpv?FVFFCfcJ+5>rm>) zOkCY$vGgywTqx!3Q;`%&56l_{@h6MVcSj6^S-2vwRZ8B9$wkcmK0VSIY)5fLQ_5cW zg6peZj%WYBc?lklM}GQr?ew7T?+~bC^M|_lo!t67W*rpDagFy2ooZ?F?v}Th@Pf4S zbNl7-MKffDRT24=n0Vp(bqK<=AxU#M*|)8*#jo44Yzeu%k`)w5866)V9K)gAVVf@T zuK*1lqW$}_+0{zWe0h&6`i+i3BF{`u_q|;ZOsGB^ zE459;=CI0?ZG3*TZH9$|(*!R4gU>M=ptHJ~n%_5zUKTbsJTSRjg$XxSCoA~D{g#iQ zwFkgrf%_km@WCDS8>%T`y%Hx%5FOs{CPtYO0@?akRf$QQ?P}OnLa^rj{CUO5=g*%H z_b2S5-oC{|+*fnUw#Fu$rfq_)Hu1h_6a_!^Ck49EjA;rZ4oVvxh za&PEfKu(jDl|{)LY0u>axuIr*L2&jwZQrijA z%a;RyRn{iTNRTVlc3n+DBr~h41d@`H)h8QOh@Z>qa2luz2$dj}(MoT7ICc&prU{rF zkQdl|{QSn|=GeZzzST#IiTDR?y}cwL;J3E6)RvP@j*n;8%ckxDr*2GEyaFD&3Ucbr zn>UIFhL^iHoToqpqs6D!X3fZNZw{>-G}<>dH5Ecw2P)O5`@P`fllOwwktr!}3JQ4E zrs^0kU=!9urlP4UBp^V6hldv&5z#hc=o=1XH#1q`96rns(ct{jQhIqgH4^#u?Muid z9d5D!>O#N?s(7(9>cfW!Xt$C+w1qy+y}7879a;9*CxY(2!ZwBwlW#)v8Q3IM{hEx73_e@+UWL#~Q`} zA-ALULLk7AxNCQA3qwv zbuAG4zO#T0&CJPZ2EeJ{4u19Og3sw6xdc61DCqQi;Ziy})MdWD=SMf8e$+HH(qST% zZkum%ayVhN>}p_t4woeVe%&hJ1H^}LwW0s>{Y!LoVfJ-rv8!4F|9B4fA4|19XQEKt zm+0xkp`61Q#C2!RtChw)tckdsL_7dt3p{qrA)0Ok0NSkkE1{LEdl9-Oj825CK6Jvt z)6+Aa-+~wvTM+m$7FO0^y|yB=P9uoK>+A0v9v)5uI!)$}wZ^UwWmBO)20PaPE^ngL zwh5qDGfPiS4(AmP$vx0##I&?T=<+V9@ITToDd&R8W5r!Uxy6(CnIa8>|ZHM6wzWxFtDWJ$tf`&ynsO$bCUIXZ=y5Y@Z@H48=|2o4LI->|N| zecC@Zmf)4Drl}c_t5?=IF+mFk5Ema`N?kolQE=q%-s~)!_*X`ot<60pfx2} zLsD|`S8N&?^-WC|fQ=$6Mvk{dDTYSl0WQ&RwCG8i$$-ZZ8+!k__~`+gA61h-00KTE zBcoD04+i>FgkhR>!WVKh|Dd2Icr*}IyqFs|MDnz`W#^7;TwE2rQ$f#x-MnMTF0$}j0~JPD^9xC8`E zz^$Z|l&#&)D}!t~k1NQAhlhj1!&~6C1AwEpD30>yeGWH`K$ka+k_=PN59qb>4Z?v@ z1vs@@m~-<*u}XM>grp#FO8fF9=-`(Z3AjY`5d|R;(T^{xjD)m8gv-mz$_BTHEHyu% z7j4xoHa6A-ifr_o1<5bZRjv*Ep+V-{EaGLGkhmao*NsUU(0IT5KZkY|Ytv*YNb3%L zQTDHT6BTud@|Hmun%55h%t0#g&{E#|Y$gu* z5U6>jU)T5WbC$HIUUU)j$L+qz;YG`662}|L@BLR+tdfKsr9Ly~ZU-7>@qN-T@IBBx zneSk|!lDST4GOGwRa-Zc&*l@Dk9j8l&#A+T9iFAQH+6p&p?<}GmFPdp5~5sl3k!LO z8f_uxajPd{wv8$*ENqmV8=1zt&V2i>Dl6W95%y=20TK)p4c4yPaCVL;$g0TXNg2KT EKkd+k)c^nh literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.map new file mode 100644 index 0000000..ee35550 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.md5 new file mode 100644 index 0000000..84eb747 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.md5 @@ -0,0 +1 @@ +23279fd92c0b336d3b9d27876dac7416 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1RateLimitException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b247ef77f994d5d376385a3871dd58ce54720b50 GIT binary patch literal 8041 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 EKkd+k)c^nh literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException-members.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException-members.html new file mode 100644 index 0000000..82ae27b --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::Exception::TweetDuplicateException Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::TweetDuplicateException, including all inherited members.

+ + + +
CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html new file mode 100644 index 0000000..8cfbfc1 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::TweetDuplicateException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::TweetDuplicateException Class Referencefinal
+
+
+ +

#include <tweetDuplicateException.h>

+
+Inheritance diagram for CocoaTweet::Exception::TweetDuplicateException:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::TweetDuplicateException:
+
+
Collaboration graph
+ + + + + +
[legend]
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.map new file mode 100644 index 0000000..1dba615 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.md5 new file mode 100644 index 0000000..6b48b77 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.md5 @@ -0,0 +1 @@ +9fe5a1220d5e2c01339a8d9900c182ea \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..917cf2880e9cbb029749f09acb044921ff4db639 GIT binary patch literal 7568 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.map new file mode 100644 index 0000000..1dba615 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.md5 new file mode 100644 index 0000000..6b48b77 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.md5 @@ -0,0 +1 @@ +9fe5a1220d5e2c01339a8d9900c182ea \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetDuplicateException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..917cf2880e9cbb029749f09acb044921ff4db639 GIT binary patch literal 7568 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException-members.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException-members.html new file mode 100644 index 0000000..7e3d039 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::Exception::TweetNotFoundException Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::TweetNotFoundException, including all inherited members.

+ + + +
CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html new file mode 100644 index 0000000..dc9d419 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::TweetNotFoundException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::TweetNotFoundException Class Referencefinal
+
+
+ +

#include <tweetNotFoundException.h>

+
+Inheritance diagram for CocoaTweet::Exception::TweetNotFoundException:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::TweetNotFoundException:
+
+
Collaboration graph
+ + + + + +
[legend]
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.map new file mode 100644 index 0000000..d6d3edd --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.md5 new file mode 100644 index 0000000..49ad080 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.md5 @@ -0,0 +1 @@ +04e6fe1b5dee9ee40dd8adf45414c846 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dc255ec4a678c8d4d96af80bd93e25e1ee7cfe58 GIT binary patch literal 7482 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.map new file mode 100644 index 0000000..d6d3edd --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.md5 new file mode 100644 index 0000000..49ad080 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.md5 @@ -0,0 +1 @@ +04e6fe1b5dee9ee40dd8adf45414c846 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetNotFoundException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dc255ec4a678c8d4d96af80bd93e25e1ee7cfe58 GIT binary patch literal 7482 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 literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException-members.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException-members.html new file mode 100644 index 0000000..6e6da9d --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CocoaTweet::Exception::TweetTooLongException Member List
+
+
+ +

This is the complete list of members for CocoaTweet::Exception::TweetTooLongException, including all inherited members.

+ + + +
CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException.html b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException.html new file mode 100644 index 0000000..c8cc653 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::TweetTooLongException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
CocoaTweet +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
CocoaTweet::Exception::TweetTooLongException Class Referencefinal
+
+
+ +

#include <tweetTooLongException.h>

+
+Inheritance diagram for CocoaTweet::Exception::TweetTooLongException:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for CocoaTweet::Exception::TweetTooLongException:
+
+
Collaboration graph
+ + + + + +
[legend]
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.map new file mode 100644 index 0000000..2407884 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.md5 new file mode 100644 index 0000000..63974e3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.md5 @@ -0,0 +1 @@ +d122f07ddce8d329d613695780cbd75c \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd1e4c4ed024c938a6b2fb061a83b5eed186fd7 GIT binary patch literal 7034 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
    @^7|gc^j#ZUZ26q?%FaU$O z`$$8`?+>|;@I*~(LugZgyv2^8T`1er=ZVfQ>Z%Z zAX>`B#kK07)S0i53fyq>;d~^1eQd;HD3&AMUmwk#^5${M)YKHf=yX}Xno0(18NECg zQd0hXs(Ub4e4o9vv~;9GHpuNkke*K~M1Tpu#L7>vHX|Y<*C%VYK~0;Iw-0-g$ j(zJi;>3?+fp}d2GcHGx{ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.map new file mode 100644 index 0000000..2407884 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.md5 new file mode 100644 index 0000000..63974e3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.md5 @@ -0,0 +1 @@ +d122f07ddce8d329d613695780cbd75c \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1TweetTooLongException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd1e4c4ed024c938a6b2fb061a83b5eed186fd7 GIT binary patch literal 7034 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
      @^7|gc^j#ZUZ26q?%FaU$O z`$$8`?+>|;@I*~(LugZgyv2^8T`1er=ZVfQ>Z%Z zAX>`B#kK07)S0i53fyq>;d~^1eQd;HD3&AMUmwk#^5${M)YKHf=yX}Xno0(18NECg zQd0hXs(Ub4e4o9vv~;9GHpuNkke*K~M1Tpu#L7>vHX|Y<*C%VYK~0;Iw-0-g$ j(zJi;>3?+fp}d2GcHGx{ literal 0 HcmV?d00001 diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException-members.html b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException-members.html new file mode 100644 index 0000000..f5d3847 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CocoaTweet::Exception::UnsupportedMediaTypeException Member List
      +
      +
      + +

      This is the complete list of members for CocoaTweet::Exception::UnsupportedMediaTypeException, including all inherited members.

      + + + +
      CocoaTweet::Exception::Exception::Exception(const char *_msg)CocoaTweet::Exception::Exceptioninlineprivate
      CocoaTweet::Exception::Exception::Exception(const std::string &_msg)CocoaTweet::Exception::Exceptioninlineprivate
      + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html new file mode 100644 index 0000000..5f2a721 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception::UnsupportedMediaTypeException Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::Exception::UnsupportedMediaTypeException Class Referencefinal
      +
      +
      + +

      #include <unsupportedMediaTypeException.h>

      +
      +Inheritance diagram for CocoaTweet::Exception::UnsupportedMediaTypeException:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for CocoaTweet::Exception::UnsupportedMediaTypeException:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this class was generated from the following file: +
      + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.map b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.map new file mode 100644 index 0000000..4f75e00 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.md5 new file mode 100644 index 0000000..e2eb030 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.md5 @@ -0,0 +1 @@ +27f1a3a031f35dbf923869f5de535042 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f95f0a08cac63b64131a00ab55a8abb6d85921e8 GIT binary patch literal 8023 zcmcJUbySsYm&Ol*a1iN|kS;|*1VI`ONQaVA5+b1j(k%!F6{HcQ;eez9(jDT9(jAi0 z-60LLeZOyJzHiN}`EQPE0qc0+d7gXk`?`Mnx&!a4$rE0py@Ws@2o)7%H4q3aEcp2+ z@&bG{Z~l4+-*C;8GGjuJa@UGClzj*lEAQXC)QhA<&<5LZ}bN)d?EE1L*k(Mc?X zYXdf7y;V8f^0WUXqx_*FDqsc8NC#P(ko;HOk=hV{D(#*`)PboDNy#Kt!2d;ZC zUaKJr556iI^Ax{VPECzyfb0kd-a<%)A&3zb*bImlcw*f~kLq8lruRI3_AH0$!tU)! zEbDKrt=Dhgj(kd)LN@uT-qh68{%F@aS9>>DEuR1O?XmIkoT!~8tUtePOiVBA@K-~F zl%k^bNQreAqof@2rcspuKmSe}Z~ey}D;*sjB&M}hNnTza*PqX#J+`9a?pIHLe}DN9 z+5zY4!or@>Q3G{#yTxuyXlN)qJ3A5+6m*G@FofT-Gu(M>Z0xy>jk_2FD!Z<3Vsv!0 zp~2+m7gGiX231wnXGM!#H%;_f5D+ZflAKFg4e9rjor)3$!0EF zy}jMrt6^YZfQN@yl-Oahvb;P|?^Bh4GWY!NsMep~=b49;>kT zzrkETxwErVJ&a7~_`SbR-7j$G4k0ly=U<+a1D|w}n6xyOqLVPmGbyCDmR7jx)w?fz zZ*cMw(G$sUza{Nm!BSa3;o{;hbS51itrXn6abqygV1ISEIN$j$eQ0DPSyT&~DDb6uZg~9*{Ek_x7?>x@ug`WROA%3k$Pz za!R^wHgtB{9_=o5baWt@Y2xZ}&1ah!0_qDoZ!N!)&u!d_Yf6&(h)|*Ug*kt}Six zyBQMa!m%Dq?CejDf3HEutgWqyF%)EE1avL1qG1(_i;6@AAVfQ&ZAZLC?`lNWp|!o6)jsnwebO z+zD}U<8|H!A1$Wt*gttP*PEd{(BI!bFrb@ncgLGXN{6bmhe_8 z#aY712WkEDF4o_om>QeLazJw>C}QMJA=AvQhONC*_b!I4sc+HQRNJN_BO??P6rj1s z3VC=S4>>WLrpwDC>%VwIL+kdMsByKPEm18mFKa0;dVlQ3R^iYj38J5rl|A{sK(3xL z=zW|=IH13IaS&UJjC%jAoJ?18wEf+U>_I=?Nvu{bp8V69Fb6*-^CwTp$QU$l;u$w! zzu#)(4O?=eMU{jSO#~1S=fwE``RvOjJ67%jl?kVIgtGhMlkkegigz6p5^tmxZUOdc~Kt zwDp!Kja;^=%Wl3G7{s_dPUA;&?yIR$trI=C0B^zlw6*n#QkIpw8rB?y8?s}c;=85R zFD*`TvWdMsPafLKsHz(D+`n{WOg8U}ca$(%Zv3J$kHt7LDk?CnYt>R50Uxh)TEa)A zZJd{s??grxP1J9kC`(JFumr?aVugl;v{|E!-bBLrfC6AsVj!t7-msW&giE@SEg4%6TKl z^5>Vz?d^E2PpPpx3tgISWE$t^&0bz!pY!r^bfj;7%At~C&(F{Azmz(GJvcb19CHJs ze^H9&y(ePu-x~1m+jJt}=Kj>&tN^x)pYj@yLCkG(b@g**rl8yABtAI@8jUU~DcK#L z(l;=$P79A-n;W$PTgp;TIWs98F1B>lh>VXPsaBH6zRAk^ZG618fLIAX#TO5X0iUro zH+R}!ABSF!jlIJ2!Sir?u1<71RoWki_&ybn;o|(foUN;q)9$!5`^?(f&69_g^X+k3 z*CJ3ydx3`3-EWdfw-3P{PebU0g1ky|bDs_uJ%OHA;c(nr9VG=LtWij zH%4Zt!1&kCpIn&ju}Vi$lmM-&v9Tl<*W0cI0!Gy2t9R7Av~+Y)0iv$!vdCJGy&$Hy z!NHet{d*=R)JSAyWc=apF@1vPM0N=nMdk7u3@@Jj*jES5j71RZ%fC zG(7OCtJqHQIU61uI{{$8kp_3#bux$2cP5LkEG@--_&`lb8U6mf)B2dOND@!}@pK6@ zy0Nj*&(9A`_S2_N{{Awmsv+h!({g0Y6!3KP^e0DqD`4LR`lUe!Y}2?CiH=phc1-DEOtnx$NZRWL;~$e}3xQ8zUp50A=(73ObHcEpgJJ zQs(t#Vf*R7((b)O`h6)Z6n2Bh6`|;=~jF{l0?hMLMYa54hVWU z@5O%u4$@(7eA?y}-_%S18aFpLT^qj@Uvz|d@h~0{JyRQ?-a8U-ea6*syslSu7OBQ~ zU)hN?(a{4#L!7Pvm-ncssHyvwoMdFat!v34o4$Wnix*JT(~FZ!clY#k zyi0FyX3?1#7at!V6Judxvo<;T0vz}I_wSzj>k-8}U|8tzvNFNS=NWxVdwY9LO-<9S zo&rQk^Qfm!pPC=OCZtnRQsPicw6e66k9oUVXHIy7O8I_NlbPZbEH-;KQWUV**nKT6 zS>)bQ-n$92RL_R~el26;^Y%D?Bjet`ae;}G6N&NjyHIrB*f{0KOoXv6<7X8$oBG4~ z1VCnq6rasWX?%iTz?Bm$oVNM zDyqT(9Uj~+N$Vq#Qg6{gD=+^83Kzwx9vQ$=%`1(4)W^&QT)-+H`aV^4OyMjl^nRPv zJ|aX;^ySGxAUS85&1g(Y%CE7p#Hgs^$3H>|sCm9T{JhkcWj9ii1O5K_b9-CcGw^*_ zIiM6Eqm{wDwzjqzhe}dXQs{Y7-O9f?hnVKJ?4w5#tgJJWU;WAcQb`git*es|5s5#U zP7!vTKRZ3XSZ?Ly?7YyCQ0}re@`2Y_P)JD9>!2GbB`;6aP#C44smagHtvp!;FueV& zw6E;$@6};V9UUs@NOJO-nVG1hB-Pf%5oj3_6ig}gr@swkWMr(YxZZrTx3^!)RrRfi zSZ&D?X;`eb)^U{@PaptP{?*c=2>kotf&IzB7Be$5z#xvamW~dOQI!^~r;(BOTx+zS zo`aE5QdU+LJRi&lZ{Fa!KbAF|J3ZciW@Xjf)@GomcX)6RUM`J;EWkth#ol>F1vI;H z6*dYpIxQ^?r(p1ZkWkAUXbuMl2P`6E4R8OFrl|9Be@B84uyavyaf^twv^4y$x%xd9 z<3!y54TS`!j#1NcksTHU>zWb8scLOx5l%bwi=q;Q#0c*Y??&b#A%8Ul7uC1*FOnyytb$M}7fy0XgWnp14 zT5gvjXhZA&HCDj7H%Zi$1f~3er=z|71hCOsAU-;p^61zwyQ<0qoCc6cM&>b4wYk!p z=hvB-0LnwZnglb5AAvB{O2}$pyQNb5A{Vj<+11%`m~vCXb}5!ZUuayITR<4%d0dvg zn{jzlY6C&qsZPD=YsJ(UNDR;7c(7?YwSWyztEQ|>00U%5h_;4CQDNcM&W=Hi8=pJD zBJ8}GA7SO?<(7pHfep*b%8;1sY%X&0DCoyqaqTw^%03%a>qtw#dhT_4v?uDa%0xY^ zsHixbLIU(}ROAX+6^EKUVa<3bZd zL!xnQjl;~$90jG&!ff~49FXF*FAS-{p=D(!#ydMm z-=G1zf0N}};N%us*G|1RJZsCbZVeyiYTO0XY_hWJ}dz=&Q4>`xB=1MnG=Sn1r*UP!StT9QS ztH?#62JBP9@{b>{iyF+%xYLN7HqEu2^5Q$f+o}^8$_gqH0l#{%`Y>mBXUP@y?#Ii~ z@qvLR<#Qc$?v#|$4;AEe$_jIp^kn>5obO(U6Ar>37<9QrKzF)eck{w2aeKgjg8%;) z9{$U0@qb+6aP%Bg>AEp-ezq@pX}|<|yfs5c^~rYeer|vXy0mn!{`}PL>-w)VM)1+$ zrgzkq?Xf)@xtr|T@_41?>G8C=0h1_OTiYx$((@?0p?srL%tb_Y>dF$~%0I)S|K{KW zt*zZ%6(yxK{Qv=`>AL%_Zf7U%kR-vBZD5d4R`wfq3iXYLsi~>m)zdgNKIan?6Lrrj zgM-@v_&m0xAb;WE;VHK4iZSfy>e>JxXk>>8bAEolHv1!YQpr_Om(S|NZ-^OZUf~fl ztd3RoH8nk%`5pp@2+}QNJ67SkksK1DYS(t`Gdnle*W25?1{o5Jc?I=nRbin6ssN!C z?mHGw?;vVXVd7FGe|`1GyGlsM1yc>&tIPmv&9^0KnB z^75=`wPZ1xt5>g*lc(q809h@ptR%$7DrEH;=1UAP^bM+_g0|-$Uqzv=g$j766waJK;9{34Z{xhs30$)9EGx z@Gekg0)ltRFQ+xs!-lW{+6s*8&!*q;%GOl@xdOv9H#cu?Zh}KYj1@TtHwk4TCL)r6 zcnqjDMa-QAvt8$X46zqLDD<57+DIv^Uy#_~UxDOc=D>}lD3C~?1U7ZQ_I4G1etwZ8 zH9_r1k6uDj2TZWIyo`&36Fy85G55=BCj?{`!W}52gjpt^*TE)O0E38A_Q#L2py{yc zSXfx_z|&Q{YIG+cZb`xU!{Ke3?yar_|Mn>Y|;zo^}EbeU7H}%cU%+gX*VW2bA z)#VgxL@0(Wpk&?<-9rux4&IJySL4;z)$Lo_C1sThuZAJ*PuLj0zwxWBx!KCv+Bs_* z(9dqX3Lpq*XmDgCh=f+iHt{YWY(OX)B%!N63u9tpeuOdFSzEWXv}|o{Nh6`hSkP2A z_1R8hU?39`6b!lnJ~+;ZXTS2weP=#N+|#8!mXDlMjiO|%6vl`MS}^>J0dVCzWPP$^ za%886?#$?BQ7Ri7oAC`+j@_Twz<+?F3W|y}{1z%%A7WKF!hU?p&*xZs@aRz}i3Vgm zTW($w^=WB-CvI%IFZb7t?%(hBIY0iT7{zhz`t|QkO@Rpn%;@%x4u}QQ)6&c!0R!5~ z%yikBzK83N$;x^|Ld$1{6C$UqpkQ+AO5;Xuem<36C<#jz4cWUt(ZJAB5TaJ55FU}YsGF>&#vq$GboKj?pGep1w{SFfPm!4yES zVQK*ZoHcM+{b_1qGP$r&{(QIyv@3E4Cn8!t_{!AO6e$J8EQ~?WJb?Sk_gOeOgICgM$NE>xY{LF6U?7o}QlS>gp~2 z-PYpaiHRq(Em07LY>bpX>rR!1Z3kR9Uiyq$IEj4N+a9=GO-(H#BH|s@O(j*;@p3yx z;gkrNOTJ)_Pucm%I8HTQ)YaAfn&jq72FDI?*%rFbQU%4&hIl~zrw%Wgv;V`qcOu-G zQ#T+u_^5y3QG@d&tNZcqyvd%QQnus=Op~v$F3F}J+u(RO@{~9&L0{@Zye!=Ung9n3 z&4xo#nF$fr_Tdkn8XFr+s}m3qjE{}s64E+Bm=X3&)4?RC;M?rOfN!Sa-J&oH!4u$% zg~!G=n-xO#d9?WAl!W64C;b^8!{URqhrSi`c98izf4*Anx)B@_0?TY>ZjL6=uW{Rg z*$StpoLxD_u+9ryT+clJN?;2eYaqr9vYyq|RVYVUNeL4g{kUaXqXSe8pOCPlwH0nS zMbfA4#RddPni?9(l0LR(W}w{;Gv5haUH89yxg{NtTy~83J>RsQGwe?Qu_c} zE#~&6rsgD;@3G+XpPOIh{+bJ_j!`C}tgfhlv#YXaB&vqFl`xQVbFX|VsG|j6iHR8m zUlFZ^)SXXUycUCD=Hu%b9n(X;BIH`32fuUQLs;aV0r*Mt@AmTNK)gJ zG4$gjoq+8fk@)L7C;dbMLwA2an}0Q%Ax}95BVAF>5+~-q4Hd)pQ&3gi+ujZe3)8*- z=SAWqcWacHG>)4}k4ISRhFAtw9qn7?JGxq0C1quU0|OEMJYILPIy*ao&*%i7FA5l+ zbK3moQpwNCvV8h99(LdHMm-eGK<9TsSNY0;LZ{t3+3Vk?82PEmK5!*N;U#2R{lN$zQ&(F_J!4yHge}rD$+20Qf3fkV;0e(n&_3CR7C3iE8 zk%@_kmDS>(pFQtFNjJ_Wy_^#KZn;As39thPC~$bkMsKy;pYzM-ycTSCv%KifCcDH; z0pdbU&FOXwFmgvgpfg4C9Bu;n<{P~52x&_oRC)Ur3HlimLq$hNcYFLM#y-MK#QRd? zboHU|OZt?DF8YS~SGK=j7#SU=SnZ-}e&|b^g2j&e6%IfC93ubM9B}@D ztl=FfpxU|jfgM9PL{bzE7ZBGTe-EZ + + + + diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.md5 b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.md5 new file mode 100644 index 0000000..e2eb030 --- /dev/null +++ b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.md5 @@ -0,0 +1 @@ +27f1a3a031f35dbf923869f5de535042 \ No newline at end of file diff --git a/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.png b/help/html/classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f95f0a08cac63b64131a00ab55a8abb6d85921e8 GIT binary patch literal 8023 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CocoaTweet::OAuth::Key Member List
      +
      +
      + +

      This is the complete list of members for CocoaTweet::OAuth::Key, including all inherited members.

      + + + + + + + + + + +
      accessToken() constCocoaTweet::OAuth::Keyinline
      accessTokenSecret() constCocoaTweet::OAuth::Keyinline
      consumerKey() constCocoaTweet::OAuth::Keyinline
      consumerSecret() constCocoaTweet::OAuth::Keyinline
      fromJsonFile(const std::string _jsonFile)CocoaTweet::OAuth::Keystatic
      Key()CocoaTweet::OAuth::Keyinline
      Key(const std::string &_consumerKey, const std::string &_consumerSecret, const std::string &_accessToken, const std::string &_accessTokenSecret)CocoaTweet::OAuth::Keyinline
      noSecret() constCocoaTweet::OAuth::Keyinline
      secret() constCocoaTweet::OAuth::Keyinline
      + + + + diff --git a/help/html/classCocoaTweet_1_1OAuth_1_1Key.html b/help/html/classCocoaTweet_1_1OAuth_1_1Key.html new file mode 100644 index 0000000..50bf8f3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1OAuth_1_1Key.html @@ -0,0 +1,366 @@ + + + + + + + +CocoaTweet: CocoaTweet::OAuth::Key Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::OAuth::Key Class Reference
      +
      +
      + +

      #include <key.h>

      + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       Key ()
       
       Key (const std::string &_consumerKey, const std::string &_consumerSecret, const std::string &_accessToken, const std::string &_accessTokenSecret)
       
      const std::string & consumerKey () const
       
      const std::string & consumerSecret () const
       
      const std::string & accessToken () const
       
      const std::string & accessTokenSecret () const
       
      std::map< std::string, std::string > noSecret () const
       
      const std::map< std::string, std::string > secret () const
       
      + + + +

      +Static Public Member Functions

      static Key fromJsonFile (const std::string _jsonFile)
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ Key() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      CocoaTweet::OAuth::Key::Key ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ Key() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CocoaTweet::OAuth::Key::Key (const std::string & _consumerKey,
      const std::string & _consumerSecret,
      const std::string & _accessToken,
      const std::string & _accessTokenSecret 
      )
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ accessToken()

      + +
      +
      + + + + + +
      + + + + + + + +
      const std::string& CocoaTweet::OAuth::Key::accessToken () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ accessTokenSecret()

      + +
      +
      + + + + + +
      + + + + + + + +
      const std::string& CocoaTweet::OAuth::Key::accessTokenSecret () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ consumerKey()

      + +
      +
      + + + + + +
      + + + + + + + +
      const std::string& CocoaTweet::OAuth::Key::consumerKey () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ consumerSecret()

      + +
      +
      + + + + + +
      + + + + + + + +
      const std::string& CocoaTweet::OAuth::Key::consumerSecret () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ fromJsonFile()

      + +
      +
      + + + + + +
      + + + + + + + + +
      Key CocoaTweet::OAuth::Key::fromJsonFile (const std::string _jsonFile)
      +
      +static
      +
      + +
      +
      + +

      ◆ noSecret()

      + +
      +
      + + + + + +
      + + + + + + + +
      std::map<std::string, std::string> CocoaTweet::OAuth::Key::noSecret () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ secret()

      + +
      +
      + + + + + +
      + + + + + + + +
      const std::map<std::string, std::string> CocoaTweet::OAuth::Key::secret () const
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following files:
        +
      • src/cocoatweet/oauth/key.h
      • +
      • src/cocoatweet/oauth/key.cc
      • +
      +
      + + + + diff --git a/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1-members.html b/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1-members.html new file mode 100644 index 0000000..b149aa3 --- /dev/null +++ b/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1-members.html @@ -0,0 +1,94 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CocoaTweet::OAuth::OAuth1 Member List
      +
      +
      + +

      This is the complete list of members for CocoaTweet::OAuth::OAuth1, including all inherited members.

      + + + + + + + + + + + + +
      base64(const std::string &_raw)CocoaTweet::OAuth::OAuth1
      hmacSha1(std::string _key, std::string _data)CocoaTweet::OAuth::OAuth1
      key() constCocoaTweet::OAuth::OAuth1
      method() constCocoaTweet::OAuth::OAuth1
      nonce() constCocoaTweet::OAuth::OAuth1
      OAuth1()CocoaTweet::OAuth::OAuth1
      OAuth1(const Key _key)CocoaTweet::OAuth::OAuth1
      oauthParam() constCocoaTweet::OAuth::OAuth1
      signature(const std::map< std::string, std::string > &_param, const std::string &_method, const std::string &_url)CocoaTweet::OAuth::OAuth1
      timestamp() constCocoaTweet::OAuth::OAuth1
      version() constCocoaTweet::OAuth::OAuth1
      + + + + diff --git a/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1.html b/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1.html new file mode 100644 index 0000000..0dbfa38 --- /dev/null +++ b/help/html/classCocoaTweet_1_1OAuth_1_1OAuth1.html @@ -0,0 +1,334 @@ + + + + + + + +CocoaTweet: CocoaTweet::OAuth::OAuth1 Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::OAuth::OAuth1 Class Reference
      +
      +
      + +

      #include <oauth.h>

      + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       OAuth1 ()
       
       OAuth1 (const Key _key)
       
      std::map< std::string, std::string > signature (const std::map< std::string, std::string > &_param, const std::string &_method, const std::string &_url)
       
      const std::string nonce () const
       
      const std::string timestamp () const
       
      const std::string method () const
       
      const std::string version () const
       
      const Key key () const
       
      std::map< std::string, std::string > oauthParam () const
       
      std::string hmacSha1 (std::string _key, std::string _data)
       
      const std::string base64 (const std::string &_raw)
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ OAuth1() [1/2]

      + +
      +
      + + + + + + + +
      CocoaTweet::OAuth::OAuth1::OAuth1 ()
      +
      + +
      +
      + +

      ◆ OAuth1() [2/2]

      + +
      +
      + + + + + + + + +
      CocoaTweet::OAuth::OAuth1::OAuth1 (const Key _key)
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ base64()

      + +
      +
      + + + + + + + + +
      const std::string CocoaTweet::OAuth::OAuth1::base64 (const std::string & _raw)
      +
      + +
      +
      + +

      ◆ hmacSha1()

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      std::string CocoaTweet::OAuth::OAuth1::hmacSha1 (std::string _key,
      std::string _data 
      )
      +
      + +
      +
      + +

      ◆ key()

      + +
      +
      + + + + + + + +
      const Key CocoaTweet::OAuth::OAuth1::key () const
      +
      + +
      +
      + +

      ◆ method()

      + +
      +
      + + + + + + + +
      const std::string CocoaTweet::OAuth::OAuth1::method () const
      +
      + +
      +
      + +

      ◆ nonce()

      + +
      +
      + + + + + + + +
      const std::string CocoaTweet::OAuth::OAuth1::nonce () const
      +
      + +
      +
      + +

      ◆ oauthParam()

      + +
      +
      + + + + + + + +
      std::map< std::string, std::string > CocoaTweet::OAuth::OAuth1::oauthParam () const
      +
      + +
      +
      + +

      ◆ signature()

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      std::map< std::string, std::string > CocoaTweet::OAuth::OAuth1::signature (const std::map< std::string, std::string > & _param,
      const std::string & _method,
      const std::string & _url 
      )
      +
      + +
      +
      + +

      ◆ timestamp()

      + +
      +
      + + + + + + + +
      const std::string CocoaTweet::OAuth::OAuth1::timestamp () const
      +
      + +
      +
      + +

      ◆ version()

      + +
      +
      + + + + + + + +
      const std::string CocoaTweet::OAuth::OAuth1::version () const
      +
      + +
      +
      +
      The documentation for this class was generated from the following files: +
      + + + + diff --git a/help/html/classes.html b/help/html/classes.html new file mode 100644 index 0000000..a229175 --- /dev/null +++ b/help/html/classes.html @@ -0,0 +1,155 @@ + + + + + + + +CocoaTweet: Class Index + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Class Index
      +
      +
      +
      a | c | d | e | f | g | h | k | m | n | o | r | s | t | u
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        a  
      +
        e  
      +
      HttpGet (CocoaTweet::API::Interface)   
        o  
      +
      TweetDuplicateException (CocoaTweet::Exception)   
      HttpPost (CocoaTweet::API::Interface)   TweetNotFoundException (CocoaTweet::Exception)   
      API (CocoaTweet::API)   Exception (CocoaTweet::Exception)   
        k  
      +
      OAuth1 (CocoaTweet::OAuth)   TweetTooLongException (CocoaTweet::Exception)   
      AuthenticateException (CocoaTweet::Exception)   
        f  
      +
      Status::Options (CocoaTweet::API::Statuses)   
        u  
      +
        c  
      +
      Key (CocoaTweet::OAuth)   
        r  
      +
      Favorite (CocoaTweet::API::Favorites)   
        m  
      +
      Unretweet (CocoaTweet::API::Statuses)   
      Create (CocoaTweet::API::Favorites)   
        g  
      +
      RateLimitException (CocoaTweet::Exception)   UnsupportedMediaTypeException (CocoaTweet::Exception)   
        d  
      +
      Media (CocoaTweet::API::Medias)   Retweet (CocoaTweet::API::Statuses)   Update (CocoaTweet::API::Statuses)   
      groupInterface (CocoaTweet::API)   MediaStore (CocoaTweet::API::Model)   
        s  
      +
      Upload (CocoaTweet::API::Medias)   
      Destroy (CocoaTweet::API::Favorites)   
        h  
      +
        n  
      +
      UserTimeline (CocoaTweet::API::Statuses)   
      Destroy (CocoaTweet::API::Statuses)   Status (CocoaTweet::API::Statuses)   
      DirectMessage (CocoaTweet::API::DirectMessages)   HttpBase (CocoaTweet::API::Interface)   New (CocoaTweet::API::DirectMessages)   
        t  
      +
      Tweet (CocoaTweet::API::Model)   
      +
      a | c | d | e | f | g | h | k | m | n | o | r | s | t | u
      +
      + + + + diff --git a/help/html/classnlohmann_1_1basic__json-members.html b/help/html/classnlohmann_1_1basic__json-members.html new file mode 100644 index 0000000..bf9a528 --- /dev/null +++ b/help/html/classnlohmann_1_1basic__json-members.html @@ -0,0 +1,528 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::basic_json Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::basic_json, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      ::nlohmann::detail::binary_reader classnlohmann::basic_jsonfriend
      ::nlohmann::detail::binary_writer classnlohmann::basic_jsonfriend
      ::nlohmann::detail::iter_impl classnlohmann::basic_jsonfriend
      ::nlohmann::detail::json_sax_dom_callback_parser classnlohmann::basic_jsonfriend
      ::nlohmann::detail::json_sax_dom_parser classnlohmann::basic_jsonfriend
      ::nlohmann::detail::parser classnlohmann::basic_jsonfriend
      accept(detail::input_adapter &&i)nlohmann::basic_jsoninlinestatic
      accept(IteratorType first, IteratorType last)nlohmann::basic_jsoninlinestatic
      accept(InputType &&i, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      accept(IteratorType first, IteratorType last, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      accept(detail::span_input_adapter &&i, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      allocator_type typedefnlohmann::basic_json
      allocator_type typedefnlohmann::basic_json
      array(initializer_list_t init={})nlohmann::basic_jsoninlinestatic
      array(initializer_list_t init={})nlohmann::basic_jsoninlinestatic
      array_t typedefnlohmann::basic_json
      array_t typedefnlohmann::basic_json
      at(size_type idx)nlohmann::basic_jsoninline
      at(size_type idx) constnlohmann::basic_jsoninline
      at(const typename object_t::key_type &key)nlohmann::basic_jsoninline
      at(const typename object_t::key_type &key) constnlohmann::basic_jsoninline
      at(const json_pointer &ptr)nlohmann::basic_jsoninline
      at(const json_pointer &ptr) constnlohmann::basic_jsoninline
      at(size_type idx)nlohmann::basic_jsoninline
      at(size_type idx) constnlohmann::basic_jsoninline
      at(const typename object_t::key_type &key)nlohmann::basic_jsoninline
      at(const typename object_t::key_type &key) constnlohmann::basic_jsoninline
      at(const json_pointer &ptr)nlohmann::basic_jsoninline
      at(const json_pointer &ptr) constnlohmann::basic_jsoninline
      back()nlohmann::basic_jsoninline
      back() constnlohmann::basic_jsoninline
      back()nlohmann::basic_jsoninline
      back() constnlohmann::basic_jsoninline
      basic_json(const value_t v)nlohmann::basic_jsoninline
      basic_json(std::nullptr_t=nullptr) noexceptnlohmann::basic_jsoninline
      basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))nlohmann::basic_jsoninline
      basic_json(const BasicJsonType &val)nlohmann::basic_jsoninline
      basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)nlohmann::basic_jsoninline
      basic_json(size_type cnt, const basic_json &val)nlohmann::basic_jsoninline
      basic_json(InputIT first, InputIT last)nlohmann::basic_jsoninline
      basic_json(const basic_json &other)nlohmann::basic_jsoninline
      basic_json(basic_json &&other) noexceptnlohmann::basic_jsoninline
      basic_json(const value_t v)nlohmann::basic_jsoninline
      basic_json(std::nullptr_t=nullptr) noexceptnlohmann::basic_jsoninline
      basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))nlohmann::basic_jsoninline
      basic_json(const BasicJsonType &val)nlohmann::basic_jsoninline
      basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)nlohmann::basic_jsoninline
      basic_json(size_type cnt, const basic_json &val)nlohmann::basic_jsoninline
      basic_json(InputIT first, InputIT last)nlohmann::basic_jsoninline
      basic_json(const JsonRef &ref)nlohmann::basic_jsoninline
      basic_json(const basic_json &other)nlohmann::basic_jsoninline
      basic_json(basic_json &&other) noexceptnlohmann::basic_jsoninline
      begin() noexceptnlohmann::basic_jsoninline
      begin() const noexceptnlohmann::basic_jsoninline
      begin() noexceptnlohmann::basic_jsoninline
      begin() const noexceptnlohmann::basic_jsoninline
      binary(const typename binary_t::container_type &init)nlohmann::basic_jsoninlinestatic
      binary(const typename binary_t::container_type &init, std::uint8_t subtype)nlohmann::basic_jsoninlinestatic
      binary(typename binary_t::container_type &&init)nlohmann::basic_jsoninlinestatic
      binary(typename binary_t::container_type &&init, std::uint8_t subtype)nlohmann::basic_jsoninlinestatic
      binary_t typedefnlohmann::basic_json
      boolean_t typedefnlohmann::basic_json
      boolean_t typedefnlohmann::basic_json
      cbegin() const noexceptnlohmann::basic_jsoninline
      cbegin() const noexceptnlohmann::basic_jsoninline
      cbor_tag_handler_t typedefnlohmann::basic_json
      cend() const noexceptnlohmann::basic_jsoninline
      cend() const noexceptnlohmann::basic_jsoninline
      clear() noexceptnlohmann::basic_jsoninline
      clear() noexceptnlohmann::basic_jsoninline
      const_iterator typedefnlohmann::basic_json
      const_iterator typedefnlohmann::basic_json
      const_pointer typedefnlohmann::basic_json
      const_pointer typedefnlohmann::basic_json
      const_reference typedefnlohmann::basic_json
      const_reference typedefnlohmann::basic_json
      const_reverse_iterator typedefnlohmann::basic_json
      const_reverse_iterator typedefnlohmann::basic_json
      contains(KeyT &&key) constnlohmann::basic_jsoninline
      contains(const json_pointer &ptr) constnlohmann::basic_jsoninline
      contains(KeyT &&key) constnlohmann::basic_jsoninline
      contains(const json_pointer &ptr) constnlohmann::basic_jsoninline
      count(KeyT &&key) constnlohmann::basic_jsoninline
      count(KeyT &&key) constnlohmann::basic_jsoninline
      crbegin() const noexceptnlohmann::basic_jsoninline
      crbegin() const noexceptnlohmann::basic_jsoninline
      crend() const noexceptnlohmann::basic_jsoninline
      crend() const noexceptnlohmann::basic_jsoninline
      detail::external_constructornlohmann::basic_jsonfriend
      detail::external_constructornlohmann::basic_jsonfriend
      diff(const basic_json &source, const basic_json &target, const std::string &path="")nlohmann::basic_jsoninlinestatic
      diff(const basic_json &source, const basic_json &target, const std::string &path="")nlohmann::basic_jsoninlinestatic
      difference_type typedefnlohmann::basic_json
      difference_type typedefnlohmann::basic_json
      dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) constnlohmann::basic_jsoninline
      dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) constnlohmann::basic_jsoninline
      emplace(Args &&... args)nlohmann::basic_jsoninline
      emplace(Args &&... args)nlohmann::basic_jsoninline
      emplace_back(Args &&... args)nlohmann::basic_jsoninline
      emplace_back(Args &&... args)nlohmann::basic_jsoninline
      empty() const noexceptnlohmann::basic_jsoninline
      empty() const noexceptnlohmann::basic_jsoninline
      end() noexceptnlohmann::basic_jsoninline
      end() const noexceptnlohmann::basic_jsoninline
      end() noexceptnlohmann::basic_jsoninline
      end() const noexceptnlohmann::basic_jsoninline
      erase(IteratorType pos)nlohmann::basic_jsoninline
      erase(IteratorType first, IteratorType last)nlohmann::basic_jsoninline
      erase(const typename object_t::key_type &key)nlohmann::basic_jsoninline
      erase(const size_type idx)nlohmann::basic_jsoninline
      erase(IteratorType pos)nlohmann::basic_jsoninline
      erase(IteratorType first, IteratorType last)nlohmann::basic_jsoninline
      erase(const typename object_t::key_type &key)nlohmann::basic_jsoninline
      erase(const size_type idx)nlohmann::basic_jsoninline
      error_handler_t typedefnlohmann::basic_json
      error_handler_t typedefnlohmann::basic_json
      exception typedefnlohmann::basic_json
      exception typedefnlohmann::basic_json
      find(KeyT &&key)nlohmann::basic_jsoninline
      find(KeyT &&key) constnlohmann::basic_jsoninline
      find(KeyT &&key)nlohmann::basic_jsoninline
      find(KeyT &&key) constnlohmann::basic_jsoninline
      flatten() constnlohmann::basic_jsoninline
      flatten() constnlohmann::basic_jsoninline
      from_bson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_bson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_bson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_bson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_cbor(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_cbor(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_jsoninlinestatic
      from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_jsoninlinestatic
      from_cbor(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_jsoninlinestatic
      from_cbor(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_jsoninlinestatic
      from_msgpack(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_msgpack(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_msgpack(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_msgpack(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      from_ubjson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      front()nlohmann::basic_jsoninline
      front() constnlohmann::basic_jsoninline
      front()nlohmann::basic_jsoninline
      front() constnlohmann::basic_jsoninline
      get() constnlohmann::basic_jsoninline
      get() constnlohmann::basic_jsoninline
      get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))nlohmann::basic_jsoninline
      get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))nlohmann::basic_jsoninline
      get() noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())nlohmann::basic_jsoninline
      get() const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())nlohmann::basic_jsoninline
      get() constnlohmann::basic_jsoninline
      get() constnlohmann::basic_jsoninline
      get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))nlohmann::basic_jsoninline
      get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))nlohmann::basic_jsoninline
      get() noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())nlohmann::basic_jsoninline
      get() const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())nlohmann::basic_jsoninline
      get_allocator()nlohmann::basic_jsoninlinestatic
      get_allocator()nlohmann::basic_jsoninlinestatic
      get_binary()nlohmann::basic_jsoninline
      get_binary() constnlohmann::basic_jsoninline
      get_ptr() noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_jsoninline
      get_ptr() const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_jsoninline
      get_ptr() noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_jsoninline
      get_ptr() const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_jsoninline
      get_ref()nlohmann::basic_jsoninline
      get_ref() constnlohmann::basic_jsoninline
      get_ref()nlohmann::basic_jsoninline
      get_ref() constnlohmann::basic_jsoninline
      get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))nlohmann::basic_jsoninline
      get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))nlohmann::basic_jsoninline
      get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))nlohmann::basic_jsoninline
      get_to(ValueType &v) constnlohmann::basic_jsoninline
      get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))nlohmann::basic_jsoninline
      initializer_list_t typedefnlohmann::basic_json
      initializer_list_t typedefnlohmann::basic_json
      input_format_t typedefnlohmann::basic_json
      input_format_t typedefnlohmann::basic_json
      insert(const_iterator pos, const basic_json &val)nlohmann::basic_jsoninline
      insert(const_iterator pos, basic_json &&val)nlohmann::basic_jsoninline
      insert(const_iterator pos, size_type cnt, const basic_json &val)nlohmann::basic_jsoninline
      insert(const_iterator pos, const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      insert(const_iterator pos, initializer_list_t ilist)nlohmann::basic_jsoninline
      insert(const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      insert(const_iterator pos, const basic_json &val)nlohmann::basic_jsoninline
      insert(const_iterator pos, basic_json &&val)nlohmann::basic_jsoninline
      insert(const_iterator pos, size_type cnt, const basic_json &val)nlohmann::basic_jsoninline
      insert(const_iterator pos, const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      insert(const_iterator pos, initializer_list_t ilist)nlohmann::basic_jsoninline
      insert(const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      insert_iterator(const_iterator pos, Args &&... args)nlohmann::basic_jsoninline
      insert_iterator(const_iterator pos, Args &&... args)nlohmann::basic_jsoninline
      invalid_iterator typedefnlohmann::basic_json
      invalid_iterator typedefnlohmann::basic_json
      is_array() const noexceptnlohmann::basic_jsoninline
      is_array() const noexceptnlohmann::basic_jsoninline
      is_binary() const noexceptnlohmann::basic_jsoninline
      is_boolean() const noexceptnlohmann::basic_jsoninline
      is_boolean() const noexceptnlohmann::basic_jsoninline
      is_discarded() const noexceptnlohmann::basic_jsoninline
      is_discarded() const noexceptnlohmann::basic_jsoninline
      is_null() const noexceptnlohmann::basic_jsoninline
      is_null() const noexceptnlohmann::basic_jsoninline
      is_number() const noexceptnlohmann::basic_jsoninline
      is_number() const noexceptnlohmann::basic_jsoninline
      is_number_float() const noexceptnlohmann::basic_jsoninline
      is_number_float() const noexceptnlohmann::basic_jsoninline
      is_number_integer() const noexceptnlohmann::basic_jsoninline
      is_number_integer() const noexceptnlohmann::basic_jsoninline
      is_number_unsigned() const noexceptnlohmann::basic_jsoninline
      is_number_unsigned() const noexceptnlohmann::basic_jsoninline
      is_object() const noexceptnlohmann::basic_jsoninline
      is_object() const noexceptnlohmann::basic_jsoninline
      is_primitive() const noexceptnlohmann::basic_jsoninline
      is_primitive() const noexceptnlohmann::basic_jsoninline
      is_string() const noexceptnlohmann::basic_jsoninline
      is_string() const noexceptnlohmann::basic_jsoninline
      is_structured() const noexceptnlohmann::basic_jsoninline
      is_structured() const noexceptnlohmann::basic_jsoninline
      items() noexceptnlohmann::basic_jsoninline
      items() const noexceptnlohmann::basic_jsoninline
      items() noexceptnlohmann::basic_jsoninline
      items() const noexceptnlohmann::basic_jsoninline
      iterator typedefnlohmann::basic_json
      iterator typedefnlohmann::basic_json
      iterator_wrapper(reference ref) noexceptnlohmann::basic_jsoninlinestatic
      iterator_wrapper(const_reference ref) noexceptnlohmann::basic_jsoninlinestatic
      iterator_wrapper(reference ref) noexceptnlohmann::basic_jsoninlinestatic
      iterator_wrapper(const_reference ref) noexceptnlohmann::basic_jsoninlinestatic
      json_pointer typedefnlohmann::basic_json
      json_pointer typedefnlohmann::basic_json
      json_sax_t typedefnlohmann::basic_json
      json_sax_t typedefnlohmann::basic_json
      json_serializer typedefnlohmann::basic_json
      json_serializer typedefnlohmann::basic_json
      max_size() const noexceptnlohmann::basic_jsoninline
      max_size() const noexceptnlohmann::basic_jsoninline
      merge_patch(const basic_json &apply_patch)nlohmann::basic_jsoninline
      merge_patch(const basic_json &apply_patch)nlohmann::basic_jsoninline
      meta()nlohmann::basic_jsoninlinestatic
      meta()nlohmann::basic_jsoninlinestatic
      number_float_t typedefnlohmann::basic_json
      number_float_t typedefnlohmann::basic_json
      number_integer_t typedefnlohmann::basic_json
      number_integer_t typedefnlohmann::basic_json
      number_unsigned_t typedefnlohmann::basic_json
      number_unsigned_t typedefnlohmann::basic_json
      object(initializer_list_t init={})nlohmann::basic_jsoninlinestatic
      object(initializer_list_t init={})nlohmann::basic_jsoninlinestatic
      object_comparator_t typedefnlohmann::basic_json
      object_comparator_t typedefnlohmann::basic_json
      object_t typedefnlohmann::basic_json
      object_t typedefnlohmann::basic_json
      operator value_t() const noexceptnlohmann::basic_jsoninline
      operator value_t() const noexceptnlohmann::basic_jsoninline
      operator ValueType() constnlohmann::basic_jsoninline
      operator ValueType() constnlohmann::basic_jsoninline
      operator!=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator!=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator!=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator!=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator!=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator!=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator+=(basic_json &&val)nlohmann::basic_jsoninline
      operator+=(const basic_json &val)nlohmann::basic_jsoninline
      operator+=(const typename object_t::value_type &val)nlohmann::basic_jsoninline
      operator+=(initializer_list_t init)nlohmann::basic_jsoninline
      operator+=(basic_json &&val)nlohmann::basic_jsoninline
      operator+=(const basic_json &val)nlohmann::basic_jsoninline
      operator+=(const typename object_t::value_type &val)nlohmann::basic_jsoninline
      operator+=(initializer_list_t init)nlohmann::basic_jsoninline
      operator<(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator<(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator<(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<<(std::ostream &o, const basic_json &j)nlohmann::basic_jsonfriend
      operator<<(basic_json &j, std::istream &i)nlohmann::basic_jsonfriend
      operator<<(std::ostream &o, const basic_json &j)nlohmann::basic_jsonfriend
      operator<<(basic_json &j, std::istream &i)nlohmann::basic_jsonfriend
      operator<=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator<=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator<=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator<=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_jsoninline
      operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_jsoninline
      operator==(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator==(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator==(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator==(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator==(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator==(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator>(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const_reference lhs, const ScalarType rhs) noexceptnlohmann::basic_jsonfriend
      operator>=(const ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_jsonfriend
      operator>>(const basic_json &j, std::ostream &o)nlohmann::basic_jsonfriend
      operator>>(std::istream &i, basic_json &j)nlohmann::basic_jsonfriend
      operator>>(const basic_json &j, std::ostream &o)nlohmann::basic_jsonfriend
      operator>>(std::istream &i, basic_json &j)nlohmann::basic_jsonfriend
      operator[](size_type idx)nlohmann::basic_jsoninline
      operator[](size_type idx) constnlohmann::basic_jsoninline
      operator[](const typename object_t::key_type &key)nlohmann::basic_jsoninline
      operator[](const typename object_t::key_type &key) constnlohmann::basic_jsoninline
      operator[](T *key)nlohmann::basic_jsoninline
      operator[](T *key) constnlohmann::basic_jsoninline
      operator[](const json_pointer &ptr)nlohmann::basic_jsoninline
      operator[](const json_pointer &ptr) constnlohmann::basic_jsoninline
      operator[](size_type idx)nlohmann::basic_jsoninline
      operator[](size_type idx) constnlohmann::basic_jsoninline
      operator[](const typename object_t::key_type &key)nlohmann::basic_jsoninline
      operator[](const typename object_t::key_type &key) constnlohmann::basic_jsoninline
      operator[](T *key)nlohmann::basic_jsoninline
      operator[](T *key) constnlohmann::basic_jsoninline
      operator[](const json_pointer &ptr)nlohmann::basic_jsoninline
      operator[](const json_pointer &ptr) constnlohmann::basic_jsoninline
      other_error typedefnlohmann::basic_json
      other_error typedefnlohmann::basic_json
      out_of_range typedefnlohmann::basic_json
      out_of_range typedefnlohmann::basic_json
      parse(detail::input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)nlohmann::basic_jsoninlinestatic
      parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      parse(detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      parse_error typedefnlohmann::basic_json
      parse_error typedefnlohmann::basic_json
      parse_event_t typedefnlohmann::basic_json
      parse_event_t typedefnlohmann::basic_json
      parser_callback_t typedefnlohmann::basic_json
      parser_callback_t typedefnlohmann::basic_json
      patch(const basic_json &json_patch) constnlohmann::basic_jsoninline
      patch(const basic_json &json_patch) constnlohmann::basic_jsoninline
      pointer typedefnlohmann::basic_json
      pointer typedefnlohmann::basic_json
      push_back(basic_json &&val)nlohmann::basic_jsoninline
      push_back(const basic_json &val)nlohmann::basic_jsoninline
      push_back(const typename object_t::value_type &val)nlohmann::basic_jsoninline
      push_back(initializer_list_t init)nlohmann::basic_jsoninline
      push_back(basic_json &&val)nlohmann::basic_jsoninline
      push_back(const basic_json &val)nlohmann::basic_jsoninline
      push_back(const typename object_t::value_type &val)nlohmann::basic_jsoninline
      push_back(initializer_list_t init)nlohmann::basic_jsoninline
      rbegin() noexceptnlohmann::basic_jsoninline
      rbegin() const noexceptnlohmann::basic_jsoninline
      rbegin() noexceptnlohmann::basic_jsoninline
      rbegin() const noexceptnlohmann::basic_jsoninline
      reference typedefnlohmann::basic_json
      reference typedefnlohmann::basic_json
      rend() noexceptnlohmann::basic_jsoninline
      rend() const noexceptnlohmann::basic_jsoninline
      rend() noexceptnlohmann::basic_jsoninline
      rend() const noexceptnlohmann::basic_jsoninline
      reverse_iterator typedefnlohmann::basic_json
      reverse_iterator typedefnlohmann::basic_json
      sax_parse(detail::input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true)nlohmann::basic_jsoninlinestatic
      sax_parse(IteratorType first, IteratorType last, SAX *sax)nlohmann::basic_jsoninlinestatic
      sax_parse(InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      sax_parse(IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      sax_parse(detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_jsoninlinestatic
      size() const noexceptnlohmann::basic_jsoninline
      size() const noexceptnlohmann::basic_jsoninline
      size_type typedefnlohmann::basic_json
      size_type typedefnlohmann::basic_json
      string_t typedefnlohmann::basic_json
      string_t typedefnlohmann::basic_json
      swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_jsoninline
      swap(array_t &other)nlohmann::basic_jsoninline
      swap(object_t &other)nlohmann::basic_jsoninline
      swap(string_t &other)nlohmann::basic_jsoninline
      swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_jsoninline
      swap(reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_jsonfriend
      swap(array_t &other)nlohmann::basic_jsoninline
      swap(object_t &other)nlohmann::basic_jsoninline
      swap(string_t &other)nlohmann::basic_jsoninline
      swap(binary_t &other)nlohmann::basic_jsoninline
      swap(typename binary_t::container_type &other)nlohmann::basic_jsoninline
      to_bson(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_bson(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_bson(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_bson(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_cbor(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_jsoninlinestatic
      to_msgpack(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_jsoninlinestatic
      type() const noexceptnlohmann::basic_jsoninline
      type() const noexceptnlohmann::basic_jsoninline
      type_error typedefnlohmann::basic_json
      type_error typedefnlohmann::basic_json
      type_name() const noexceptnlohmann::basic_jsoninline
      type_name() const noexceptnlohmann::basic_jsoninline
      unflatten() constnlohmann::basic_jsoninline
      unflatten() constnlohmann::basic_jsoninline
      update(const_reference j)nlohmann::basic_jsoninline
      update(const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      update(const_reference j)nlohmann::basic_jsoninline
      update(const_iterator first, const_iterator last)nlohmann::basic_jsoninline
      value(const typename object_t::key_type &key, const ValueType &default_value) constnlohmann::basic_jsoninline
      value(const typename object_t::key_type &key, const char *default_value) constnlohmann::basic_jsoninline
      value(const json_pointer &ptr, const ValueType &default_value) constnlohmann::basic_jsoninline
      value(const json_pointer &ptr, const char *default_value) constnlohmann::basic_jsoninline
      value(const typename object_t::key_type &key, const ValueType &default_value) constnlohmann::basic_jsoninline
      value(const typename object_t::key_type &key, const char *default_value) constnlohmann::basic_jsoninline
      value(const json_pointer &ptr, const ValueType &default_value) constnlohmann::basic_jsoninline
      value(const json_pointer &ptr, const char *default_value) constnlohmann::basic_jsoninline
      value_t typedefnlohmann::basic_json
      value_t typedefnlohmann::basic_json
      value_type typedefnlohmann::basic_json
      value_type typedefnlohmann::basic_json
      ~basic_json() noexceptnlohmann::basic_jsoninline
      ~basic_json() noexceptnlohmann::basic_jsoninline
      + + + + diff --git a/help/html/classnlohmann_1_1basic__json.html b/help/html/classnlohmann_1_1basic__json.html new file mode 100644 index 0000000..66f48ec --- /dev/null +++ b/help/html/classnlohmann_1_1basic__json.html @@ -0,0 +1,23936 @@ + + + + + + + +CocoaTweet: nlohmann::basic_json Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::basic_json Class Reference
      +
      +
      + +

      a class to store JSON values + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using value_t = detail::value_t
       
      using json_pointer = ::nlohmann::json_pointer< basic_json >
       JSON Pointer, see nlohmann::json_pointer. More...
       
      template<typename T , typename SFINAE >
      using json_serializer = JSONSerializer< T, SFINAE >
       
      using error_handler_t = detail::error_handler_t
       how to treat decoding errors More...
       
      using initializer_list_t = std::initializer_list< detail::json_ref< basic_json > >
       helper type for initializer lists of basic_json values More...
       
      using input_format_t = detail::input_format_t
       
      using json_sax_t = json_sax< basic_json >
       SAX interface type, see nlohmann::json_sax. More...
       
      using parse_event_t = typename parser::parse_event_t
       parser event types More...
       
      using parser_callback_t = typename parser::parser_callback_t
       per-element parser callback type More...
       
      using value_t = detail::value_t
       
      using json_pointer = ::nlohmann::json_pointer< basic_json >
       JSON Pointer, see nlohmann::json_pointer. More...
       
      template<typename T , typename SFINAE >
      using json_serializer = JSONSerializer< T, SFINAE >
       
      using error_handler_t = detail::error_handler_t
       how to treat decoding errors More...
       
      using cbor_tag_handler_t = detail::cbor_tag_handler_t
       how to treat CBOR tags More...
       
      using initializer_list_t = std::initializer_list< detail::json_ref< basic_json > >
       helper type for initializer lists of basic_json values More...
       
      using input_format_t = detail::input_format_t
       
      using json_sax_t = json_sax< basic_json >
       SAX interface type, see nlohmann::json_sax. More...
       
      using parse_event_t = detail::parse_event_t
       parser event types More...
       
      using parser_callback_t = detail::parser_callback_t< basic_json >
       per-element parser callback type More...
       
      + + + + + + + +

      +Public Member Functions

      const JSON_HEDLEY_RETURNS_NON_NULL char * type_name () const noexcept
       return the type as string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * type_name () const noexcept
       return the type as string More...
       
      + + + + + + + + + + + + + +

      +Static Public Member Functions

      static allocator_type get_allocator ()
       returns the allocator associated with the container More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta ()
       returns version information on the library More...
       
      static allocator_type get_allocator ()
       returns the allocator associated with the container More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta ()
       returns version information on the library More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Friends

      template<detail::value_t >
      struct detail::external_constructor
       
      template<typename BasicJsonType >
      class ::nlohmann::detail::iter_impl
       
      template<typename BasicJsonType , typename CharType >
      class ::nlohmann::detail::binary_writer
       
      template<typename BasicJsonType , typename SAX >
      class ::nlohmann::detail::binary_reader
       
      template<typename BasicJsonType >
      class ::nlohmann::detail::json_sax_dom_parser
       
      template<typename BasicJsonType >
      class ::nlohmann::detail::json_sax_dom_callback_parser
       
      template<typename BasicJsonType , typename InputType >
      class ::nlohmann::detail::parser
       
      template<detail::value_t >
      struct detail::external_constructor
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +exceptions

      Classes to implement user-defined exceptions.

      +
      using exception = detail::exception
       general exception of the basic_json class More...
       
      using parse_error = detail::parse_error
       exception indicating a parse error More...
       
      using invalid_iterator = detail::invalid_iterator
       exception indicating errors with iterators More...
       
      using type_error = detail::type_error
       exception indicating executing a member function with a wrong type More...
       
      using out_of_range = detail::out_of_range
       exception indicating access out of the defined range More...
       
      using other_error = detail::other_error
       exception indicating other library errors More...
       
      using exception = detail::exception
       general exception of the basic_json class More...
       
      using parse_error = detail::parse_error
       exception indicating a parse error More...
       
      using invalid_iterator = detail::invalid_iterator
       exception indicating errors with iterators More...
       
      using type_error = detail::type_error
       exception indicating executing a member function with a wrong type More...
       
      using out_of_range = detail::out_of_range
       exception indicating access out of the defined range More...
       
      using other_error = detail::other_error
       exception indicating other library errors More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +container types

      The canonic container types to use basic_json like any other STL container.

      +
      using value_type = basic_json
       the type of elements in a basic_json container More...
       
      using reference = value_type &
       the type of an element reference More...
       
      using const_reference = const value_type &
       the type of an element const reference More...
       
      using difference_type = std::ptrdiff_t
       a type to represent differences between iterators More...
       
      using size_type = std::size_t
       a type to represent container sizes More...
       
      using allocator_type = AllocatorType< basic_json >
       the allocator type More...
       
      using pointer = typename std::allocator_traits< allocator_type >::pointer
       the type of an element pointer More...
       
      using const_pointer = typename std::allocator_traits< allocator_type >::const_pointer
       the type of an element const pointer More...
       
      using iterator = iter_impl< basic_json >
       an iterator for a basic_json container More...
       
      using const_iterator = iter_impl< const basic_json >
       a const iterator for a basic_json container More...
       
      using reverse_iterator = json_reverse_iterator< typename basic_json::iterator >
       a reverse iterator for a basic_json container More...
       
      using const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator >
       a const reverse iterator for a basic_json container More...
       
      using value_type = basic_json
       the type of elements in a basic_json container More...
       
      using reference = value_type &
       the type of an element reference More...
       
      using const_reference = const value_type &
       the type of an element const reference More...
       
      using difference_type = std::ptrdiff_t
       a type to represent differences between iterators More...
       
      using size_type = std::size_t
       a type to represent container sizes More...
       
      using allocator_type = AllocatorType< basic_json >
       the allocator type More...
       
      using pointer = typename std::allocator_traits< allocator_type >::pointer
       the type of an element pointer More...
       
      using const_pointer = typename std::allocator_traits< allocator_type >::const_pointer
       the type of an element const pointer More...
       
      using iterator = iter_impl< basic_json >
       an iterator for a basic_json container More...
       
      using const_iterator = iter_impl< const basic_json >
       a const iterator for a basic_json container More...
       
      using reverse_iterator = json_reverse_iterator< typename basic_json::iterator >
       a reverse iterator for a basic_json container More...
       
      using const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator >
       a const reverse iterator for a basic_json container More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +JSON value data types

      The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json.

      +
      using object_comparator_t = std::less< StringType >
       
      using object_t = ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >>
       a type for an object More...
       
      using array_t = ArrayType< basic_json, AllocatorType< basic_json > >
       a type for an array More...
       
      using string_t = StringType
       a type for a string More...
       
      using boolean_t = BooleanType
       a type for a boolean More...
       
      using number_integer_t = NumberIntegerType
       a type for a number (integer) More...
       
      using number_unsigned_t = NumberUnsignedType
       a type for a number (unsigned) More...
       
      using number_float_t = NumberFloatType
       a type for a number (floating-point) More...
       
      using object_comparator_t = std::less< StringType >
       
      using object_t = ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >>
       a type for an object More...
       
      using array_t = ArrayType< basic_json, AllocatorType< basic_json > >
       a type for an array More...
       
      using string_t = StringType
       a type for a string More...
       
      using boolean_t = BooleanType
       a type for a boolean More...
       
      using number_integer_t = NumberIntegerType
       a type for a number (integer) More...
       
      using number_unsigned_t = NumberUnsignedType
       a type for a number (unsigned) More...
       
      using number_float_t = NumberFloatType
       a type for a number (floating-point) More...
       
      using binary_t = nlohmann::byte_container_with_subtype< BinaryType >
       a type for a packed binary type More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +constructors and destructors

      Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor.

      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array (initializer_list_t init={})
       explicitly create an array from an initializer list More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object (initializer_list_t init={})
       explicitly create an object from an initializer list More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (const typename binary_t::container_type &init)
       explicitly create a binary array (without subtype) More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (const typename binary_t::container_type &init, std::uint8_t subtype)
       explicitly create a binary array (with subtype) More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (typename binary_t::container_type &&init)
       explicitly create a binary array (without subtype) More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (typename binary_t::container_type &&init, std::uint8_t subtype)
       explicitly create a binary array (with subtype) More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array (initializer_list_t init={})
       explicitly create an array from an initializer list More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object (initializer_list_t init={})
       explicitly create an object from an initializer list More...
       
       basic_json (const value_t v)
       create an empty value with a given type More...
       
       basic_json (std::nullptr_t=nullptr) noexcept
       create a null object More...
       
      template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< not detail::is_basic_json< U >::value and detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
       basic_json (CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))
       create a JSON value More...
       
      template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value and not std::is_same< basic_json, BasicJsonType >::value, int > = 0>
       basic_json (const BasicJsonType &val)
       create a JSON value from an existing one More...
       
       basic_json (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
       create a container (array or object) from an initializer list More...
       
       basic_json (size_type cnt, const basic_json &val)
       construct an array with count copies of given value More...
       
      template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value or std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
       basic_json (InputIT first, InputIT last)
       construct a JSON container given an iterator range More...
       
       basic_json (const basic_json &other)
       copy constructor More...
       
       basic_json (basic_json &&other) noexcept
       move constructor More...
       
      basic_jsonoperator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
       copy assignment More...
       
       ~basic_json () noexcept
       destructor More...
       
       basic_json (const value_t v)
       create an empty value with a given type More...
       
       basic_json (std::nullptr_t=nullptr) noexcept
       create a null object More...
       
      template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
       basic_json (CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))
       create a JSON value More...
       
      template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0>
       basic_json (const BasicJsonType &val)
       create a JSON value from an existing one More...
       
       basic_json (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
       create a container (array or object) from an initializer list More...
       
       basic_json (size_type cnt, const basic_json &val)
       construct an array with count copies of given value More...
       
      template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
       basic_json (InputIT first, InputIT last)
       construct a JSON container given an iterator range More...
       
      template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json >>::value, int > = 0>
       basic_json (const JsonRef &ref)
       
       basic_json (const basic_json &other)
       copy constructor More...
       
       basic_json (basic_json &&other) noexcept
       move constructor More...
       
      basic_jsonoperator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
       copy assignment More...
       
       ~basic_json () noexcept
       destructor More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +object inspection

      Functions to inspect the type of a JSON value.

      +
      string_t dump (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
       serialization More...
       
      constexpr value_t type () const noexcept
       return the type of the JSON value (explicit) More...
       
      constexpr bool is_primitive () const noexcept
       return whether type is primitive More...
       
      constexpr bool is_structured () const noexcept
       return whether type is structured More...
       
      constexpr bool is_null () const noexcept
       return whether value is null More...
       
      constexpr bool is_boolean () const noexcept
       return whether value is a boolean More...
       
      constexpr bool is_number () const noexcept
       return whether value is a number More...
       
      constexpr bool is_number_integer () const noexcept
       return whether value is an integer number More...
       
      constexpr bool is_number_unsigned () const noexcept
       return whether value is an unsigned integer number More...
       
      constexpr bool is_number_float () const noexcept
       return whether value is a floating-point number More...
       
      constexpr bool is_object () const noexcept
       return whether value is an object More...
       
      constexpr bool is_array () const noexcept
       return whether value is an array More...
       
      constexpr bool is_string () const noexcept
       return whether value is a string More...
       
      constexpr bool is_discarded () const noexcept
       return whether value is discarded More...
       
      constexpr operator value_t () const noexcept
       return the type of the JSON value (implicit) More...
       
      string_t dump (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
       serialization More...
       
      constexpr value_t type () const noexcept
       return the type of the JSON value (explicit) More...
       
      constexpr bool is_primitive () const noexcept
       return whether type is primitive More...
       
      constexpr bool is_structured () const noexcept
       return whether type is structured More...
       
      constexpr bool is_null () const noexcept
       return whether value is null More...
       
      constexpr bool is_boolean () const noexcept
       return whether value is a boolean More...
       
      constexpr bool is_number () const noexcept
       return whether value is a number More...
       
      constexpr bool is_number_integer () const noexcept
       return whether value is an integer number More...
       
      constexpr bool is_number_unsigned () const noexcept
       return whether value is an unsigned integer number More...
       
      constexpr bool is_number_float () const noexcept
       return whether value is a floating-point number More...
       
      constexpr bool is_object () const noexcept
       return whether value is an object More...
       
      constexpr bool is_array () const noexcept
       return whether value is an array More...
       
      constexpr bool is_string () const noexcept
       return whether value is a string More...
       
      constexpr bool is_binary () const noexcept
       return whether value is a binary array More...
       
      constexpr bool is_discarded () const noexcept
       return whether value is discarded More...
       
      constexpr operator value_t () const noexcept
       return the type of the JSON value (implicit) More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +value access

      Direct access to the stored value of a JSON value.

      +
      template<typename BasicJsonType , detail::enable_if_t< std::is_same< typename std::remove_const< BasicJsonType >::type, basic_json_t >::value, int > = 0>
      basic_json get () const
       get special-case overload More...
       
      template<typename BasicJsonType , detail::enable_if_t< not std::is_same< BasicJsonType, basic_json >::value and detail::is_basic_json< BasicJsonType >::value, int > = 0>
      BasicJsonType get () const
       get special-case overload More...
       
      template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not detail::is_basic_json< ValueType >::value and detail::has_from_json< basic_json_t, ValueType >::value and not detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType get () const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))
       get a value (explicit) More...
       
      template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not std::is_same< basic_json_t, ValueType >::value and detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType get () const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))
       get a value (explicit); special case More...
       
      template<typename ValueType , detail::enable_if_t< not detail::is_basic_json< ValueType >::value and detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType & get_to (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))
       get a value (explicit) More...
       
      template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
      Array get_to (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      auto get_ptr () noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
       get a pointer value (implicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value and std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
      constexpr auto get_ptr () const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
       get a pointer value (implicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      auto get () noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())
       get a pointer value (explicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      constexpr auto get () const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())
       get a pointer value (explicit) More...
       
      template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
      ReferenceType get_ref ()
       get a reference value (implicit) More...
       
      template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value and std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
      ReferenceType get_ref () const
       get a reference value (implicit) More...
       
      template<typename ValueType , typename std::enable_if< not std::is_pointer< ValueType >::value and not std::is_same< ValueType, detail::json_ref< basic_json >>::value and not std::is_same< ValueType, typename string_t::value_type >::value and not detail::is_basic_json< ValueType >::value and not std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value and not std::is_same< ValueType, typename std::string_view >::value and detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
       operator ValueType () const
       get a value (implicit) More...
       
      template<typename BasicJsonType , detail::enable_if_t< std::is_same< typename std::remove_const< BasicJsonType >::type, basic_json_t >::value, int > = 0>
      basic_json get () const
       get special-case overload More...
       
      template<typename BasicJsonType , detail::enable_if_t< !std::is_same< BasicJsonType, basic_json >::value &&detail::is_basic_json< BasicJsonType >::value, int > = 0>
      BasicJsonType get () const
       get special-case overload More...
       
      template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value &&!detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType get () const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))
       get a value (explicit) More...
       
      template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< !std::is_same< basic_json_t, ValueType >::value &&detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType get () const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))
       get a value (explicit); special case More...
       
      template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
      ValueType & get_to (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))
       get a value (explicit) More...
       
      template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0>
      ValueType & get_to (ValueType &v) const
       
      template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
      Array get_to (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      auto get_ptr () noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
       get a pointer value (implicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
      constexpr auto get_ptr () const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
       get a pointer value (implicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      auto get () noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())
       get a pointer value (explicit) More...
       
      template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      constexpr auto get () const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())
       get a pointer value (explicit) More...
       
      template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
      ReferenceType get_ref ()
       get a reference value (implicit) More...
       
      template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
      ReferenceType get_ref () const
       get a reference value (implicit) More...
       
      template<typename ValueType , typename std::enable_if< !std::is_pointer< ValueType >::value &&!std::is_same< ValueType, detail::json_ref< basic_json >>::value &&!std::is_same< ValueType, typename string_t::value_type >::value &&!detail::is_basic_json< ValueType >::value &&!std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value &&detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
      JSON_EXPLICIT operator ValueType () const
       get a value (implicit) More...
       
      binary_tget_binary ()
       
      const binary_tget_binary () const
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +element access

      Access to the JSON value.

      +
      reference at (size_type idx)
       access specified array element with bounds checking More...
       
      const_reference at (size_type idx) const
       access specified array element with bounds checking More...
       
      reference at (const typename object_t::key_type &key)
       access specified object element with bounds checking More...
       
      const_reference at (const typename object_t::key_type &key) const
       access specified object element with bounds checking More...
       
      reference operator[] (size_type idx)
       access specified array element More...
       
      const_reference operator[] (size_type idx) const
       access specified array element More...
       
      reference operator[] (const typename object_t::key_type &key)
       access specified object element More...
       
      const_reference operator[] (const typename object_t::key_type &key) const
       read-only access specified object element More...
       
      template<typename T >
      reference operator[] (T *key)
       access specified object element More...
       
      template<typename T >
      const_reference operator[] (T *key) const
       read-only access specified object element More...
       
      template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
      ValueType value (const typename object_t::key_type &key, const ValueType &default_value) const
       access specified object element with default value More...
       
      string_t value (const typename object_t::key_type &key, const char *default_value) const
       overload for a default value of type const char* More...
       
      template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
      ValueType value (const json_pointer &ptr, const ValueType &default_value) const
       access specified object element via JSON Pointer with default value More...
       
      string_t value (const json_pointer &ptr, const char *default_value) const
       overload for a default value of type const char* More...
       
      reference front ()
       access the first element More...
       
      const_reference front () const
       access the first element More...
       
      reference back ()
       access the last element More...
       
      const_reference back () const
       access the last element More...
       
      template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      IteratorType erase (IteratorType pos)
       remove element given an iterator More...
       
      template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      IteratorType erase (IteratorType first, IteratorType last)
       remove elements given an iterator range More...
       
      size_type erase (const typename object_t::key_type &key)
       remove element from a JSON object given a key More...
       
      void erase (const size_type idx)
       remove element from a JSON array given an index More...
       
      reference at (size_type idx)
       access specified array element with bounds checking More...
       
      const_reference at (size_type idx) const
       access specified array element with bounds checking More...
       
      reference at (const typename object_t::key_type &key)
       access specified object element with bounds checking More...
       
      const_reference at (const typename object_t::key_type &key) const
       access specified object element with bounds checking More...
       
      reference operator[] (size_type idx)
       access specified array element More...
       
      const_reference operator[] (size_type idx) const
       access specified array element More...
       
      reference operator[] (const typename object_t::key_type &key)
       access specified object element More...
       
      const_reference operator[] (const typename object_t::key_type &key) const
       read-only access specified object element More...
       
      template<typename T >
      reference operator[] (T *key)
       access specified object element More...
       
      template<typename T >
      const_reference operator[] (T *key) const
       read-only access specified object element More...
       
      template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, ValueType >::value, int >::type = 0>
      ValueType value (const typename object_t::key_type &key, const ValueType &default_value) const
       access specified object element with default value More...
       
      string_t value (const typename object_t::key_type &key, const char *default_value) const
       overload for a default value of type const char* More...
       
      template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value, int >::type = 0>
      ValueType value (const json_pointer &ptr, const ValueType &default_value) const
       access specified object element via JSON Pointer with default value More...
       
      string_t value (const json_pointer &ptr, const char *default_value) const
       overload for a default value of type const char* More...
       
      reference front ()
       access the first element More...
       
      const_reference front () const
       access the first element More...
       
      reference back ()
       access the last element More...
       
      const_reference back () const
       access the last element More...
       
      template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      IteratorType erase (IteratorType pos)
       remove element given an iterator More...
       
      template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      IteratorType erase (IteratorType first, IteratorType last)
       remove elements given an iterator range More...
       
      size_type erase (const typename object_t::key_type &key)
       remove element from a JSON object given a key More...
       
      void erase (const size_type idx)
       remove element from a JSON array given an index More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +lookup

      template<typename KeyT >
      iterator find (KeyT &&key)
       find an element in a JSON object More...
       
      template<typename KeyT >
      const_iterator find (KeyT &&key) const
       find an element in a JSON object More...
       
      template<typename KeyT >
      size_type count (KeyT &&key) const
       returns the number of occurrences of a key in a JSON object More...
       
      template<typename KeyT , typename std::enable_if< not std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
      bool contains (KeyT &&key) const
       check the existence of an element in a JSON object More...
       
      bool contains (const json_pointer &ptr) const
       check the existence of an element in a JSON object given a JSON pointer More...
       
      template<typename KeyT >
      iterator find (KeyT &&key)
       find an element in a JSON object More...
       
      template<typename KeyT >
      const_iterator find (KeyT &&key) const
       find an element in a JSON object More...
       
      template<typename KeyT >
      size_type count (KeyT &&key) const
       returns the number of occurrences of a key in a JSON object More...
       
      template<typename KeyT , typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
      bool contains (KeyT &&key) const
       check the existence of an element in a JSON object More...
       
      bool contains (const json_pointer &ptr) const
       check the existence of an element in a JSON object given a JSON pointer More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +iterators

      static iteration_proxy< iteratoriterator_wrapper (reference ref) noexcept
       wrapper to access iterator member functions in range-based for More...
       
      static iteration_proxy< const_iteratoriterator_wrapper (const_reference ref) noexcept
       wrapper to access iterator member functions in range-based for More...
       
      static iteration_proxy< iteratoriterator_wrapper (reference ref) noexcept
       wrapper to access iterator member functions in range-based for More...
       
      static iteration_proxy< const_iteratoriterator_wrapper (const_reference ref) noexcept
       wrapper to access iterator member functions in range-based for More...
       
      iterator begin () noexcept
       returns an iterator to the first element More...
       
      const_iterator begin () const noexcept
       returns a const iterator to the first element More...
       
      const_iterator cbegin () const noexcept
       returns a const iterator to the first element More...
       
      iterator end () noexcept
       returns an iterator to one past the last element More...
       
      const_iterator end () const noexcept
       returns a const iterator to one past the last element More...
       
      const_iterator cend () const noexcept
       returns a const iterator to one past the last element More...
       
      reverse_iterator rbegin () noexcept
       returns an iterator to the reverse-beginning More...
       
      const_reverse_iterator rbegin () const noexcept
       returns a const reverse iterator to the last element More...
       
      reverse_iterator rend () noexcept
       returns an iterator to the reverse-end More...
       
      const_reverse_iterator rend () const noexcept
       returns a const reverse iterator to one before the first More...
       
      const_reverse_iterator crbegin () const noexcept
       returns a const reverse iterator to the last element More...
       
      const_reverse_iterator crend () const noexcept
       returns a const reverse iterator to one before the first More...
       
      iteration_proxy< iteratoritems () noexcept
       helper to access iterator member functions in range-based for More...
       
      iteration_proxy< const_iteratoritems () const noexcept
       helper to access iterator member functions in range-based for More...
       
      iterator begin () noexcept
       returns an iterator to the first element More...
       
      const_iterator begin () const noexcept
       returns a const iterator to the first element More...
       
      const_iterator cbegin () const noexcept
       returns a const iterator to the first element More...
       
      iterator end () noexcept
       returns an iterator to one past the last element More...
       
      const_iterator end () const noexcept
       returns a const iterator to one past the last element More...
       
      const_iterator cend () const noexcept
       returns a const iterator to one past the last element More...
       
      reverse_iterator rbegin () noexcept
       returns an iterator to the reverse-beginning More...
       
      const_reverse_iterator rbegin () const noexcept
       returns a const reverse iterator to the last element More...
       
      reverse_iterator rend () noexcept
       returns an iterator to the reverse-end More...
       
      const_reverse_iterator rend () const noexcept
       returns a const reverse iterator to one before the first More...
       
      const_reverse_iterator crbegin () const noexcept
       returns a const reverse iterator to the last element More...
       
      const_reverse_iterator crend () const noexcept
       returns a const reverse iterator to one before the first More...
       
      iteration_proxy< iteratoritems () noexcept
       helper to access iterator member functions in range-based for More...
       
      iteration_proxy< const_iteratoritems () const noexcept
       helper to access iterator member functions in range-based for More...
       
      + + + + + + + + + + + + + + + + + + + +

      +capacity

      bool empty () const noexcept
       checks whether the container is empty. More...
       
      size_type size () const noexcept
       returns the number of elements More...
       
      size_type max_size () const noexcept
       returns the maximum possible number of elements More...
       
      bool empty () const noexcept
       checks whether the container is empty. More...
       
      size_type size () const noexcept
       returns the number of elements More...
       
      size_type max_size () const noexcept
       returns the maximum possible number of elements More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +modifiers

      void swap (reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
       exchanges the values More...
       
      void clear () noexcept
       clears the contents More...
       
      void push_back (basic_json &&val)
       add an object to an array More...
       
      reference operator+= (basic_json &&val)
       add an object to an array More...
       
      void push_back (const basic_json &val)
       add an object to an array More...
       
      reference operator+= (const basic_json &val)
       add an object to an array More...
       
      void push_back (const typename object_t::value_type &val)
       add an object to an object More...
       
      reference operator+= (const typename object_t::value_type &val)
       add an object to an object More...
       
      void push_back (initializer_list_t init)
       add an object to an object More...
       
      reference operator+= (initializer_list_t init)
       add an object to an object More...
       
      template<class... Args>
      reference emplace_back (Args &&... args)
       add an object to an array More...
       
      template<class... Args>
      std::pair< iterator, bool > emplace (Args &&... args)
       add an object to an object if key does not exist More...
       
      template<typename... Args>
      iterator insert_iterator (const_iterator pos, Args &&... args)
       
      iterator insert (const_iterator pos, const basic_json &val)
       inserts element More...
       
      iterator insert (const_iterator pos, basic_json &&val)
       inserts element More...
       
      iterator insert (const_iterator pos, size_type cnt, const basic_json &val)
       inserts elements More...
       
      iterator insert (const_iterator pos, const_iterator first, const_iterator last)
       inserts elements More...
       
      iterator insert (const_iterator pos, initializer_list_t ilist)
       inserts elements More...
       
      void insert (const_iterator first, const_iterator last)
       inserts elements More...
       
      void update (const_reference j)
       updates a JSON object from another object, overwriting existing keys More...
       
      void update (const_iterator first, const_iterator last)
       updates a JSON object from another object, overwriting existing keys More...
       
      void swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
       exchanges the values More...
       
      void swap (array_t &other)
       exchanges the values More...
       
      void swap (object_t &other)
       exchanges the values More...
       
      void swap (string_t &other)
       exchanges the values More...
       
      void clear () noexcept
       clears the contents More...
       
      void push_back (basic_json &&val)
       add an object to an array More...
       
      reference operator+= (basic_json &&val)
       add an object to an array More...
       
      void push_back (const basic_json &val)
       add an object to an array More...
       
      reference operator+= (const basic_json &val)
       add an object to an array More...
       
      void push_back (const typename object_t::value_type &val)
       add an object to an object More...
       
      reference operator+= (const typename object_t::value_type &val)
       add an object to an object More...
       
      void push_back (initializer_list_t init)
       add an object to an object More...
       
      reference operator+= (initializer_list_t init)
       add an object to an object More...
       
      template<class... Args>
      reference emplace_back (Args &&... args)
       add an object to an array More...
       
      template<class... Args>
      std::pair< iterator, bool > emplace (Args &&... args)
       add an object to an object if key does not exist More...
       
      template<typename... Args>
      iterator insert_iterator (const_iterator pos, Args &&... args)
       
      iterator insert (const_iterator pos, const basic_json &val)
       inserts element More...
       
      iterator insert (const_iterator pos, basic_json &&val)
       inserts element More...
       
      iterator insert (const_iterator pos, size_type cnt, const basic_json &val)
       inserts elements More...
       
      iterator insert (const_iterator pos, const_iterator first, const_iterator last)
       inserts elements More...
       
      iterator insert (const_iterator pos, initializer_list_t ilist)
       inserts elements More...
       
      void insert (const_iterator first, const_iterator last)
       inserts elements More...
       
      void update (const_reference j)
       updates a JSON object from another object, overwriting existing keys More...
       
      void update (const_iterator first, const_iterator last)
       updates a JSON object from another object, overwriting existing keys More...
       
      void swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
       exchanges the values More...
       
      void swap (array_t &other)
       exchanges the values More...
       
      void swap (object_t &other)
       exchanges the values More...
       
      void swap (string_t &other)
       exchanges the values More...
       
      void swap (binary_t &other)
       exchanges the values More...
       
      void swap (typename binary_t::container_type &other)
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +lexicographical comparison operators

      bool operator== (const_reference lhs, const_reference rhs) noexcept
       comparison: equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator== (const_reference lhs, const ScalarType rhs) noexcept
       comparison: equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator== (const ScalarType lhs, const_reference rhs) noexcept
       comparison: equal More...
       
      bool operator!= (const_reference lhs, const_reference rhs) noexcept
       comparison: not equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator!= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: not equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator!= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: not equal More...
       
      bool operator< (const_reference lhs, const_reference rhs) noexcept
       comparison: less than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator< (const_reference lhs, const ScalarType rhs) noexcept
       comparison: less than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator< (const ScalarType lhs, const_reference rhs) noexcept
       comparison: less than More...
       
      bool operator<= (const_reference lhs, const_reference rhs) noexcept
       comparison: less than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator<= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: less than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator<= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: less than or equal More...
       
      bool operator> (const_reference lhs, const_reference rhs) noexcept
       comparison: greater than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator> (const_reference lhs, const ScalarType rhs) noexcept
       comparison: greater than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator> (const ScalarType lhs, const_reference rhs) noexcept
       comparison: greater than More...
       
      bool operator>= (const_reference lhs, const_reference rhs) noexcept
       comparison: greater than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator>= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: greater than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator>= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: greater than or equal More...
       
      bool operator== (const_reference lhs, const_reference rhs) noexcept
       comparison: equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator== (const_reference lhs, const ScalarType rhs) noexcept
       comparison: equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator== (const ScalarType lhs, const_reference rhs) noexcept
       comparison: equal More...
       
      bool operator!= (const_reference lhs, const_reference rhs) noexcept
       comparison: not equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator!= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: not equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator!= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: not equal More...
       
      bool operator< (const_reference lhs, const_reference rhs) noexcept
       comparison: less than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator< (const_reference lhs, const ScalarType rhs) noexcept
       comparison: less than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator< (const ScalarType lhs, const_reference rhs) noexcept
       comparison: less than More...
       
      bool operator<= (const_reference lhs, const_reference rhs) noexcept
       comparison: less than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator<= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: less than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator<= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: less than or equal More...
       
      bool operator> (const_reference lhs, const_reference rhs) noexcept
       comparison: greater than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator> (const_reference lhs, const ScalarType rhs) noexcept
       comparison: greater than More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator> (const ScalarType lhs, const_reference rhs) noexcept
       comparison: greater than More...
       
      bool operator>= (const_reference lhs, const_reference rhs) noexcept
       comparison: greater than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator>= (const_reference lhs, const ScalarType rhs) noexcept
       comparison: greater than or equal More...
       
      template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      bool operator>= (const ScalarType lhs, const_reference rhs) noexcept
       comparison: greater than or equal More...
       
      + + + + + + + + + + + + + +

      +serialization

      std::ostream & operator<< (std::ostream &o, const basic_json &j)
       serialize to stream More...
       
      std::ostream & operator>> (const basic_json &j, std::ostream &o)
       serialize to stream More...
       
      std::ostream & operator<< (std::ostream &o, const basic_json &j)
       serialize to stream More...
       
      std::ostream & operator>> (const basic_json &j, std::ostream &o)
       serialize to stream More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +deserialization

      std::istream & operator<< (basic_json &j, std::istream &i)
       deserialize from stream More...
       
      std::istream & operator>> (std::istream &i, basic_json &j)
       deserialize from stream More...
       
      std::istream & operator<< (basic_json &j, std::istream &i)
       deserialize from stream More...
       
      std::istream & operator>> (std::istream &i, basic_json &j)
       deserialize from stream More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (detail::input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
       deserialize from a compatible input More...
       
      static bool accept (detail::input_adapter &&i)
       
      template<typename SAX >
      static bool sax_parse (detail::input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true)
       generate SAX events More...
       
      template<class IteratorType , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      static basic_json parse (IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
       deserialize from an iterator range with contiguous storage More...
       
      template<class IteratorType , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      static bool accept (IteratorType first, IteratorType last)
       
      template<class IteratorType , class SAX , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      static bool sax_parse (IteratorType first, IteratorType last, SAX *sax)
       
      template<typename InputType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
       deserialize from a compatible input More...
       
      template<typename IteratorType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
       deserialize from a pair of character iterators More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
       
      template<typename InputType >
      static bool accept (InputType &&i, const bool ignore_comments=false)
       check if the input is valid JSON More...
       
      template<typename IteratorType >
      static bool accept (IteratorType first, IteratorType last, const bool ignore_comments=false)
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT bool accept (detail::span_input_adapter &&i, const bool ignore_comments=false)
       
      template<typename InputType , typename SAX >
      static bool sax_parse (InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
       generate SAX events More...
       
      template<class IteratorType , class SAX >
      static bool sax_parse (IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
       
      template<typename SAX >
      static bool sax_parse (detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +binary serialization/deserialization support

      static std::vector< uint8_t > to_cbor (const basic_json &j)
       create a CBOR serialization of a given JSON value More...
       
      static void to_cbor (const basic_json &j, detail::output_adapter< uint8_t > o)
       
      static void to_cbor (const basic_json &j, detail::output_adapter< char > o)
       
      static std::vector< uint8_t > to_msgpack (const basic_json &j)
       create a MessagePack serialization of a given JSON value More...
       
      static void to_msgpack (const basic_json &j, detail::output_adapter< uint8_t > o)
       
      static void to_msgpack (const basic_json &j, detail::output_adapter< char > o)
       
      static std::vector< uint8_t > to_ubjson (const basic_json &j, const bool use_size=false, const bool use_type=false)
       create a UBJSON serialization of a given JSON value More...
       
      static void to_ubjson (const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
       
      static void to_ubjson (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
       
      static std::vector< uint8_t > to_bson (const basic_json &j)
       Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation. More...
       
      static void to_bson (const basic_json &j, detail::output_adapter< uint8_t > o)
       Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
       
      static void to_bson (const basic_json &j, detail::output_adapter< char > o)
       Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in CBOR format More...
       
      template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in CBOR format More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in MessagePack format More...
       
      template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in MessagePack format More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in UBJSON format More...
       
      template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in UBJSON format More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       Create a JSON value from an input in BSON format. More...
       
      template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
       Create a JSON value from an input in BSON format. More...
       
      static std::vector< uint8_t > to_cbor (const basic_json &j)
       create a CBOR serialization of a given JSON value More...
       
      static void to_cbor (const basic_json &j, detail::output_adapter< uint8_t > o)
       
      static void to_cbor (const basic_json &j, detail::output_adapter< char > o)
       
      static std::vector< uint8_t > to_msgpack (const basic_json &j)
       create a MessagePack serialization of a given JSON value More...
       
      static void to_msgpack (const basic_json &j, detail::output_adapter< uint8_t > o)
       
      static void to_msgpack (const basic_json &j, detail::output_adapter< char > o)
       
      static std::vector< uint8_t > to_ubjson (const basic_json &j, const bool use_size=false, const bool use_type=false)
       create a UBJSON serialization of a given JSON value More...
       
      static void to_ubjson (const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
       
      static void to_ubjson (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
       
      static std::vector< uint8_t > to_bson (const basic_json &j)
       Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation. More...
       
      static void to_bson (const basic_json &j, detail::output_adapter< uint8_t > o)
       Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
       
      static void to_bson (const basic_json &j, detail::output_adapter< char > o)
       Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
       
      template<typename InputType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
       create a JSON value from an input in CBOR format More...
       
      template<typename IteratorType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
       
      template<typename T >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
       
      template<typename InputType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in MessagePack format More...
       
      template<typename IteratorType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in MessagePack format More...
       
      template<typename T >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       
      template<typename InputType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in UBJSON format More...
       
      template<typename IteratorType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
       create a JSON value from an input in UBJSON format More...
       
      template<typename T >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       
      template<typename InputType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
       Create a JSON value from an input in BSON format. More...
       
      template<typename IteratorType >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
       Create a JSON value from an input in BSON format. More...
       
      template<typename T >
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +JSON Pointer functions

      reference operator[] (const json_pointer &ptr)
       access specified element via JSON Pointer More...
       
      const_reference operator[] (const json_pointer &ptr) const
       access specified element via JSON Pointer More...
       
      reference at (const json_pointer &ptr)
       access specified element via JSON Pointer More...
       
      const_reference at (const json_pointer &ptr) const
       access specified element via JSON Pointer More...
       
      basic_json flatten () const
       return flattened JSON value More...
       
      basic_json unflatten () const
       unflatten a previously flattened JSON value More...
       
      reference operator[] (const json_pointer &ptr)
       access specified element via JSON Pointer More...
       
      const_reference operator[] (const json_pointer &ptr) const
       access specified element via JSON Pointer More...
       
      reference at (const json_pointer &ptr)
       access specified element via JSON Pointer More...
       
      const_reference at (const json_pointer &ptr) const
       access specified element via JSON Pointer More...
       
      basic_json flatten () const
       return flattened JSON value More...
       
      basic_json unflatten () const
       unflatten a previously flattened JSON value More...
       
      + + + + + + + + + + + + + +

      +JSON Patch functions

      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff (const basic_json &source, const basic_json &target, const std::string &path="")
       creates a diff as a JSON patch More...
       
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff (const basic_json &source, const basic_json &target, const std::string &path="")
       creates a diff as a JSON patch More...
       
      basic_json patch (const basic_json &json_patch) const
       applies a JSON patch More...
       
      basic_json patch (const basic_json &json_patch) const
       applies a JSON patch More...
       
      + + + + + + + +

      +JSON Merge Patch functions

      void merge_patch (const basic_json &apply_patch)
       applies a JSON Merge Patch More...
       
      void merge_patch (const basic_json &apply_patch)
       applies a JSON Merge Patch More...
       
      +

      Detailed Description

      +

      a class to store JSON values

      +
      Template Parameters
      + + + + + + + + + + +
      ObjectTypetype for JSON objects (std::map by default; will be used in object_t)
      ArrayTypetype for JSON arrays (std::vector by default; will be used in array_t)
      StringTypetype for JSON strings and object keys (std::string by default; will be used in string_t)
      BooleanTypetype for JSON booleans (bool by default; will be used in boolean_t)
      NumberIntegerTypetype for JSON integer numbers (int64_t by default; will be used in number_integer_t)
      NumberUnsignedTypetype for JSON unsigned integer numbers (uint64_t by default; will be used in number_unsigned_t)
      NumberFloatTypetype for JSON floating-point numbers (double by default; will be used in number_float_t)
      AllocatorTypetype of the allocator to use (std::allocator by default)
      JSONSerializerthe serializer to resolve internal calls to to_json() and from_json() (adl_serializer by default)
      +
      +
      +

      @requirement The class satisfies the following concept requirements:

      +
      Invariant
      The member variables m_value and m_type have the following relationship:
        +
      • If m_type == value_t::object, then m_value.object != nullptr.
      • +
      • If m_type == value_t::array, then m_value.array != nullptr.
      • +
      • If m_type == value_t::string, then m_value.string != nullptr. The invariants are checked by member function assert_invariant().
      • +
      +
      +
      See also
      RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format
      +
      Since
      version 1.0.0
      +
      Template Parameters
      + + + + + + + + + + + +
      ObjectTypetype for JSON objects (std::map by default; will be used in object_t)
      ArrayTypetype for JSON arrays (std::vector by default; will be used in array_t)
      StringTypetype for JSON strings and object keys (std::string by default; will be used in string_t)
      BooleanTypetype for JSON booleans (bool by default; will be used in boolean_t)
      NumberIntegerTypetype for JSON integer numbers (int64_t by default; will be used in number_integer_t)
      NumberUnsignedTypetype for JSON unsigned integer numbers (uint64_t by default; will be used in number_unsigned_t)
      NumberFloatTypetype for JSON floating-point numbers (double by default; will be used in number_float_t)
      BinaryTypetype for packed binary data for compatibility with binary serialization formats (std::vector<std::uint8_t> by default; will be used in binary_t)
      AllocatorTypetype of the allocator to use (std::allocator by default)
      JSONSerializerthe serializer to resolve internal calls to to_json() and from_json() (adl_serializer by default)
      +
      +
      +

      @requirement The class satisfies the following concept requirements:

      +
      Invariant
      The member variables m_value and m_type have the following relationship:
        +
      • If m_type == value_t::object, then m_value.object != nullptr.
      • +
      • If m_type == value_t::array, then m_value.array != nullptr.
      • +
      • If m_type == value_t::string, then m_value.string != nullptr. The invariants are checked by member function assert_invariant().
      • +
      +
      +
      See also
      RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format
      +
      Since
      version 1.0.0
      +

      Member Typedef Documentation

      + +

      ◆ allocator_type [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::allocator_type = AllocatorType<basic_json>
      +
      + +

      the allocator type

      + +
      +
      + +

      ◆ allocator_type [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::allocator_type = AllocatorType<basic_json>
      +
      + +

      the allocator type

      + +
      +
      + +

      ◆ array_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::array_t = ArrayType<basic_json, AllocatorType<basic_json> >
      +
      + +

      a type for an array

      +

      RFC 7159 describes JSON arrays as follows:

      +

      An array is an ordered sequence of zero or more values.

      +
      +

      To store objects in C++, a type is defined by the template parameters explained below.

      +
      Template Parameters
      + + + +
      ArrayTypecontainer type to store arrays (e.g., std::vector or std::list)
      AllocatorTypeallocator to use for arrays (e.g., std::allocator)
      +
      +
      +

      +Default type

      +

      With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:

      +
      std::vector<
      +
      basic_json, // value_type
      +
      std::allocator<basic_json> // allocator_type
      +
      >
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the maximum depth of nesting.

      +
      +

      In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

      +

      +Storage

      +

      Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

      +
      See also
      object_ttype for an object value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ array_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::array_t = ArrayType<basic_json, AllocatorType<basic_json> >
      +
      + +

      a type for an array

      +

      RFC 7159 describes JSON arrays as follows:

      +

      An array is an ordered sequence of zero or more values.

      +
      +

      To store objects in C++, a type is defined by the template parameters explained below.

      +
      Template Parameters
      + + + +
      ArrayTypecontainer type to store arrays (e.g., std::vector or std::list)
      AllocatorTypeallocator to use for arrays (e.g., std::allocator)
      +
      +
      +

      +Default type

      +

      With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:

      +
      std::vector<
      +
      basic_json, // value_type
      +
      std::allocator<basic_json> // allocator_type
      +
      >
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the maximum depth of nesting.

      +
      +

      In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

      +

      +Storage

      +

      Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

      +
      See also
      object_ttype for an object value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ binary_t

      + +
      +
      + +

      a type for a packed binary type

      +

      This type is a type designed to carry binary data that appears in various serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and BSON's generic binary subtype. This type is NOT a part of standard JSON and exists solely for compatibility with these binary types. As such, it is simply defined as an ordered sequence of zero or more byte values.

      +

      Additionally, as an implementation detail, the subtype of the binary data is carried around as a std::uint8_t, which is compatible with both of the binary data formats that use binary subtyping, (though the specific numbering is incompatible with each other, and it is up to the user to translate between them).

      +

      CBOR's RFC 7049 describes this type as:

      +

      Major type 2: a byte string. The string's length in bytes is represented following the rules for positive integers (major type 0).

      +
      +

      MessagePack's documentation on the bin type family describes this type as:

      +

      Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes in addition to the size of the byte array.

      +
      +

      BSON's specifications describe several binary types; however, this type is intended to represent the generic binary type which has the description:

      +

      Generic binary subtype - This is the most commonly used binary subtype and should be the 'default' for drivers and tools.

      +
      +

      None of these impose any limitations on the internal representation other than the basic unit of storage be some type of array whose parts are decomposable into bytes.

      +

      The default representation of this binary format is a std::vector<std::uint8_t>, which is a very common way to represent a byte array in modern C++.

      +

      +Default type

      +

      The default values for BinaryType is std::vector<std::uint8_t>

      +

      +Storage

      +

      Binary Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of the type binary_t* must be dereferenced.

      +

      +Notes on subtypes

      +
        +
      • CBOR
          +
        • Binary values are represented as byte strings. No subtypes are supported and will be ignored when CBOR is written.
        • +
        +
      • +
      • MessagePack
          +
        • If a subtype is given and the binary array contains exactly 1, 2, 4, 8, or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) is used. For other sizes, the ext family (ext8, ext16, ext32) is used. The subtype is then added as singed 8-bit integer.
        • +
        • If no subtype is given, the bin family (bin8, bin16, bin32) is used.
        • +
        +
      • +
      • BSON
          +
        • If a subtype is given, it is used and added as unsigned 8-bit integer.
        • +
        • If no subtype is given, the generic binary subtype 0x00 is used.
        • +
        +
      • +
      +
      See also
      binary – create a binary array
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ boolean_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::boolean_t = BooleanType
      +
      + +

      a type for a boolean

      +

      RFC 7159 implicitly describes a boolean as a type which differentiates the two literals true and false.

      +

      To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.

      +

      +Default type

      +

      With the default values for BooleanType (bool), the default value for boolean_t is:

      +
      bool
      +

      +Storage

      +

      Boolean values are stored directly inside a basic_json type.

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ boolean_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::boolean_t = BooleanType
      +
      + +

      a type for a boolean

      +

      RFC 7159 implicitly describes a boolean as a type which differentiates the two literals true and false.

      +

      To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.

      +

      +Default type

      +

      With the default values for BooleanType (bool), the default value for boolean_t is:

      +
      bool
      +

      +Storage

      +

      Boolean values are stored directly inside a basic_json type.

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ cbor_tag_handler_t

      + +
      +
      + +

      how to treat CBOR tags

      + +
      +
      + +

      ◆ const_iterator [1/2]

      + +
      +
      + +

      a const iterator for a basic_json container

      + +
      +
      + +

      ◆ const_iterator [2/2]

      + +
      +
      + +

      a const iterator for a basic_json container

      + +
      +
      + +

      ◆ const_pointer [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer
      +
      + +

      the type of an element const pointer

      + +
      +
      + +

      ◆ const_pointer [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer
      +
      + +

      the type of an element const pointer

      + +
      +
      + +

      ◆ const_reference [1/2]

      + +
      +
      + +

      the type of an element const reference

      + +
      +
      + +

      ◆ const_reference [2/2]

      + +
      +
      + +

      the type of an element const reference

      + +
      +
      + +

      ◆ const_reverse_iterator [1/2]

      + +
      +
      + +

      a const reverse iterator for a basic_json container

      + +
      +
      + +

      ◆ const_reverse_iterator [2/2]

      + +
      +
      + +

      a const reverse iterator for a basic_json container

      + +
      +
      + +

      ◆ difference_type [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::difference_type = std::ptrdiff_t
      +
      + +

      a type to represent differences between iterators

      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::difference_type = std::ptrdiff_t
      +
      + +

      a type to represent differences between iterators

      + +
      +
      + +

      ◆ error_handler_t [1/2]

      + +
      +
      + +

      how to treat decoding errors

      + +
      +
      + +

      ◆ error_handler_t [2/2]

      + +
      +
      + +

      how to treat decoding errors

      + +
      +
      + +

      ◆ exception [1/2]

      + +
      +
      + +

      general exception of the basic_json class

      +

      This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

      +

      Subclasses:

        +
      • parse_error for exceptions indicating a parse error
      • +
      • invalid_iterator for exceptions indicating errors with iterators
      • +
      • type_error for exceptions indicating executing a member function with a wrong type
      • +
      • out_of_range for exceptions indicating access out of the defined range
      • +
      • other_error for exceptions indicating other library errors
      • +
      +

      @liveexample{The following code shows how arbitrary library exceptions can be caught.,exception}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ exception [2/2]

      + +
      +
      + +

      general exception of the basic_json class

      +

      This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

      +

      Subclasses:

        +
      • parse_error for exceptions indicating a parse error
      • +
      • invalid_iterator for exceptions indicating errors with iterators
      • +
      • type_error for exceptions indicating executing a member function with a wrong type
      • +
      • out_of_range for exceptions indicating access out of the defined range
      • +
      • other_error for exceptions indicating other library errors
      • +
      +

      @liveexample{The following code shows how arbitrary library exceptions can be caught.,exception}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ initializer_list_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::initializer_list_t = std::initializer_list<detail::json_ref<basic_json> >
      +
      + +

      helper type for initializer lists of basic_json values

      + +
      +
      + +

      ◆ initializer_list_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::initializer_list_t = std::initializer_list<detail::json_ref<basic_json> >
      +
      + +

      helper type for initializer lists of basic_json values

      + +
      +
      + +

      ◆ input_format_t [1/2]

      + + + +

      ◆ input_format_t [2/2]

      + + + +

      ◆ invalid_iterator [1/2]

      + +
      +
      + +

      exception indicating errors with iterators

      +

      This exception is thrown if iterators passed to a library function do not match the expected semantics.

      +

      Exceptions have ids 2xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion.
      json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from.
      json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid.
      json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid.
      json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range.
      json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key.
      json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to.
      json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container.
      json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered.
      json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin().
      +

      @liveexample{The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ invalid_iterator [2/2]

      + +
      +
      + +

      exception indicating errors with iterators

      +

      This exception is thrown if iterators passed to a library function do not match the expected semantics.

      +

      Exceptions have ids 2xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion.
      json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from.
      json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid.
      json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid.
      json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range.
      json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key.
      json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to.
      json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container.
      json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered.
      json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin().
      +

      @liveexample{The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ iterator [1/2]

      + +
      +
      + +

      an iterator for a basic_json container

      + +
      +
      + +

      ◆ iterator [2/2]

      + +
      +
      + +

      an iterator for a basic_json container

      + +
      +
      + +

      ◆ json_pointer [1/2]

      + + + +

      ◆ json_pointer [2/2]

      + + + +

      ◆ json_sax_t [1/2]

      + +
      +
      + +

      SAX interface type, see nlohmann::json_sax.

      + +
      +
      + +

      ◆ json_sax_t [2/2]

      + +
      +
      + +

      SAX interface type, see nlohmann::json_sax.

      + +
      +
      + +

      ◆ json_serializer [1/2]

      + +
      +
      +
      +template<typename T , typename SFINAE >
      + + + + +
      using nlohmann::basic_json::json_serializer = JSONSerializer<T, SFINAE>
      +
      + +
      +
      + +

      ◆ json_serializer [2/2]

      + +
      +
      +
      +template<typename T , typename SFINAE >
      + + + + +
      using nlohmann::basic_json::json_serializer = JSONSerializer<T, SFINAE>
      +
      + +
      +
      + +

      ◆ number_float_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_float_t = NumberFloatType
      +
      + +

      a type for a number (floating-point)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberFloatType (double), the default value for number_float_t is:

      +
      double
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 states:

      +

      This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

      +
      +

      This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

      +

      +Storage

      +

      Floating-point number values are stored directly inside a basic_json type.

      +
      See also
      number_integer_ttype for number values (integer)
      +
      +number_unsigned_ttype for number values (unsigned integer)
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ number_float_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_float_t = NumberFloatType
      +
      + +

      a type for a number (floating-point)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberFloatType (double), the default value for number_float_t is:

      +
      double
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 states:

      +

      This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

      +
      +

      This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

      +

      +Storage

      +

      Floating-point number values are stored directly inside a basic_json type.

      +
      See also
      number_integer_ttype for number values (integer)
      +
      +number_unsigned_ttype for number values (unsigned integer)
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ number_integer_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_integer_t = NumberIntegerType
      +
      + +

      a type for a number (integer)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberIntegerType (int64_t), the default value for number_integer_t is:

      +
      int64_t
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the range and precision of numbers.

      +
      +

      When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_unsigned_t or number_float_t.

      +

      RFC 7159 further states:

      +

      Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

      +
      +

      As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

      +

      +Storage

      +

      Integer number values are stored directly inside a basic_json type.

      +
      See also
      number_float_ttype for number values (floating-point)
      +
      +number_unsigned_ttype for number values (unsigned integer)
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ number_integer_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_integer_t = NumberIntegerType
      +
      + +

      a type for a number (integer)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberIntegerType (int64_t), the default value for number_integer_t is:

      +
      int64_t
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the range and precision of numbers.

      +
      +

      When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_unsigned_t or number_float_t.

      +

      RFC 7159 further states:

      +

      Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

      +
      +

      As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

      +

      +Storage

      +

      Integer number values are stored directly inside a basic_json type.

      +
      See also
      number_float_ttype for number values (floating-point)
      +
      +number_unsigned_ttype for number values (unsigned integer)
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ number_unsigned_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_unsigned_t = NumberUnsignedType
      +
      + +

      a type for a number (unsigned)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberUnsignedType (uint64_t), the default value for number_unsigned_t is:

      +
      uint64_t
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the range and precision of numbers.

      +
      +

      When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_integer_t or number_float_t.

      +

      RFC 7159 further states:

      +

      Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

      +
      +

      As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.

      +

      +Storage

      +

      Integer number values are stored directly inside a basic_json type.

      +
      See also
      number_float_ttype for number values (floating-point)
      +
      +number_integer_ttype for number values (integer)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ number_unsigned_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::number_unsigned_t = NumberUnsignedType
      +
      + +

      a type for a number (unsigned)

      +

      RFC 7159 describes numbers as follows:

      +

      The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

      +
      +

      This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

      +

      To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.

      +

      +Default type

      +

      With the default values for NumberUnsignedType (uint64_t), the default value for number_unsigned_t is:

      +
      uint64_t
      +

      +Default behavior

      +
        +
      • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
      • +
      • Not-a-number (NaN) values will be serialized to null.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the range and precision of numbers.

      +
      +

      When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_integer_t or number_float_t.

      +

      RFC 7159 further states:

      +

      Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

      +
      +

      As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.

      +

      +Storage

      +

      Integer number values are stored directly inside a basic_json type.

      +
      See also
      number_float_ttype for number values (floating-point)
      +
      +number_integer_ttype for number values (integer)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ object_comparator_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::object_comparator_t = std::less<StringType>
      +
      + +
      +
      + +

      ◆ object_comparator_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::object_comparator_t = std::less<StringType>
      +
      + +
      +
      + +

      ◆ object_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::object_t = ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >>
      +
      + +

      a type for an object

      +

      RFC 7159 describes JSON objects as follows:

      +

      An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.

      +
      +

      To store objects in C++, a type is defined by the template parameters described below.

      +
      Template Parameters
      + + + + +
      ObjectTypethe container to store objects (e.g., std::map or std::unordered_map)
      StringTypethe type of the keys or names (e.g., std::string). The comparison function std::less<StringType> is used to order elements inside the container.
      AllocatorTypethe allocator to use for objects (e.g., std::allocator)
      +
      +
      +

      +Default type

      +

      With the default values for ObjectType (std::map), StringType (std::string), and AllocatorType (std::allocator), the default value for object_t is:

      +
      std::map<
      +
      std::string, // key_type
      +
      basic_json, // value_type
      +
      std::less<std::string>, // key_compare
      +
      std::allocator<std::pair<const std::string, basic_json>> // allocator_type
      +
      >
      +

      +Behavior

      +

      The choice of object_t influences the behavior of the JSON class. With the default type, objects have the following behavior:

      +
        +
      • When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings.
      • +
      • When the names within an object are not unique, it is unspecified which one of the values for a given key will be chosen. For instance, {"key": 2, "key": 1} could be equal to either {"key": 1} or {"key": 2}.
      • +
      • Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see dump) in this order. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be stored and serialized as {"a": 2, "b": 1}.
      • +
      • When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be treated as equal.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the maximum depth of nesting.

      +
      +

      In this class, the object's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON object.

      +

      +Storage

      +

      Objects are stored as pointers in a basic_json type. That is, for any access to object values, a pointer of type object_t* must be dereferenced.

      +
      See also
      array_ttype for an array value
      +
      Since
      version 1.0.0
      +
      Note
      The order name/value pairs are added to the object is not preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as std::map with std::less is used by default. Please note this behavior conforms to RFC 7159, because any order implements the specified "unordered" nature of JSON objects.
      + +
      +
      + +

      ◆ object_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::object_t = ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >>
      +
      + +

      a type for an object

      +

      RFC 7159 describes JSON objects as follows:

      +

      An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.

      +
      +

      To store objects in C++, a type is defined by the template parameters described below.

      +
      Template Parameters
      + + + + +
      ObjectTypethe container to store objects (e.g., std::map or std::unordered_map)
      StringTypethe type of the keys or names (e.g., std::string). The comparison function std::less<StringType> is used to order elements inside the container.
      AllocatorTypethe allocator to use for objects (e.g., std::allocator)
      +
      +
      +

      +Default type

      +

      With the default values for ObjectType (std::map), StringType (std::string), and AllocatorType (std::allocator), the default value for object_t is:

      +
      std::map<
      +
      std::string, // key_type
      +
      basic_json, // value_type
      +
      std::less<std::string>, // key_compare
      +
      std::allocator<std::pair<const std::string, basic_json>> // allocator_type
      +
      >
      +

      +Behavior

      +

      The choice of object_t influences the behavior of the JSON class. With the default type, objects have the following behavior:

      +
        +
      • When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings.
      • +
      • When the names within an object are not unique, it is unspecified which one of the values for a given key will be chosen. For instance, {"key": 2, "key": 1} could be equal to either {"key": 1} or {"key": 2}.
      • +
      • Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see dump) in this order. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be stored and serialized as {"a": 2, "b": 1}.
      • +
      • When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be treated as equal.
      • +
      +

      +Limits

      +

      RFC 7159 specifies:

      +

      An implementation may set limits on the maximum depth of nesting.

      +
      +

      In this class, the object's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON object.

      +

      +Storage

      +

      Objects are stored as pointers in a basic_json type. That is, for any access to object values, a pointer of type object_t* must be dereferenced.

      +
      See also
      array_ttype for an array value
      +
      Since
      version 1.0.0
      +
      Note
      The order name/value pairs are added to the object is not preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as std::map with std::less is used by default. Please note this behavior conforms to RFC 7159, because any order implements the specified "unordered" nature of JSON objects.
      + +
      +
      + +

      ◆ other_error [1/2]

      + +
      +
      + +

      exception indicating other library errors

      +

      This exception is thrown in case of errors that cannot be classified with the other exception types.

      +

      Exceptions have ids 5xx.

      + + + + + +
      name / id example message description
      json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.
      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +

      @liveexample{The following code shows how an other_error exception can be caught.,other_error}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ other_error [2/2]

      + +
      +
      + +

      exception indicating other library errors

      +

      This exception is thrown in case of errors that cannot be classified with the other exception types.

      +

      Exceptions have ids 5xx.

      + + + + + +
      name / id example message description
      json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.
      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +

      @liveexample{The following code shows how an other_error exception can be caught.,other_error}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ out_of_range [1/2]

      + +
      +
      + +

      exception indicating access out of the defined range

      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807.
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ out_of_range [2/2]

      + +
      +
      + +

      exception indicating access out of the defined range

      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807.
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ parse_error [1/2]

      + +
      +
      + +

      exception indicating a parse error

      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed.
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ parse_error [2/2]

      + +
      +
      + +

      exception indicating a parse error

      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed.
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ parse_event_t [1/2]

      + +
      +
      + +

      parser event types

      +

      The parser callback distinguishes the following events:

        +
      • object_start: the parser read { and started to process a JSON object
      • +
      • key: the parser read a key of a value in an object
      • +
      • object_end: the parser read } and finished processing a JSON object
      • +
      • array_start: the parser read [ and started to process a JSON array
      • +
      • array_end: the parser read ] and finished processing a JSON array
      • +
      • value: the parser finished reading a JSON value
      • +
      +
      + +
      +Example when certain parse events are triggered
      +
      See also
      parser_callback_t for more information and examples
      + +
      +
      + +

      ◆ parse_event_t [2/2]

      + +
      +
      + +

      parser event types

      +

      The parser callback distinguishes the following events:

        +
      • object_start: the parser read { and started to process a JSON object
      • +
      • key: the parser read a key of a value in an object
      • +
      • object_end: the parser read } and finished processing a JSON object
      • +
      • array_start: the parser read [ and started to process a JSON array
      • +
      • array_end: the parser read ] and finished processing a JSON array
      • +
      • value: the parser finished reading a JSON value
      • +
      +
      + +
      +Example when certain parse events are triggered
      +
      See also
      parser_callback_t for more information and examples
      + +
      +
      + +

      ◆ parser_callback_t [1/2]

      + +
      +
      + +

      per-element parser callback type

      +

      With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

      +

      We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

      + + + + + + + + + + + + + + + +
      parameter event description parameter depth parameter parsed
      parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
      parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
      parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
      parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
      parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
      parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value
      +
      + +
      +Example when certain parse events are triggered
      +

      Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:

      +
        +
      • Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.
      • +
      • In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped.
      • +
      +
      Parameters
      + + + + +
      [in]depththe depth of the recursion during parsing
      [in]eventan event of type parse_event_t indicating the context in the callback function has been called
      [in,out]parsedthe current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events
      +
      +
      +
      Returns
      Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object.
      +
      See also
      parse for examples
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ parser_callback_t [2/2]

      + +
      +
      + +

      per-element parser callback type

      +

      With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

      +

      We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

      + + + + + + + + + + + + + + + +
      parameter event description parameter depth parameter parsed
      parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
      parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
      parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
      parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
      parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
      parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value
      +
      + +
      +Example when certain parse events are triggered
      +

      Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:

      +
        +
      • Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.
      • +
      • In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped.
      • +
      +
      Parameters
      + + + + +
      [in]depththe depth of the recursion during parsing
      [in]eventan event of type parse_event_t indicating the context in the callback function has been called
      [in,out]parsedthe current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events
      +
      +
      +
      Returns
      Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object.
      +
      See also
      parse for examples
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ pointer [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::pointer = typename std::allocator_traits<allocator_type>::pointer
      +
      + +

      the type of an element pointer

      + +
      +
      + +

      ◆ pointer [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::pointer = typename std::allocator_traits<allocator_type>::pointer
      +
      + +

      the type of an element pointer

      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      + +

      the type of an element reference

      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      + +

      the type of an element reference

      + +
      +
      + +

      ◆ reverse_iterator [1/2]

      + +
      +
      + +

      a reverse iterator for a basic_json container

      + +
      +
      + +

      ◆ reverse_iterator [2/2]

      + +
      +
      + +

      a reverse iterator for a basic_json container

      + +
      +
      + +

      ◆ size_type [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::size_type = std::size_t
      +
      + +

      a type to represent container sizes

      + +
      +
      + +

      ◆ size_type [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::size_type = std::size_t
      +
      + +

      a type to represent container sizes

      + +
      +
      + +

      ◆ string_t [1/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::string_t = StringType
      +
      + +

      a type for a string

      +

      RFC 7159 describes JSON strings as follows:

      +

      A string is a sequence of zero or more Unicode characters.

      +
      +

      To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization.

      +
      Template Parameters
      + + +
      StringTypethe container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t.
      +
      +
      +

      +Default type

      +

      With the default values for StringType (std::string), the default value for string_t is:

      +
      std::string
      +

      +Encoding

      +

      Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

      +

      +String comparison

      +

      RFC 7159 states:

      +

      Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

      +
      +

      This implementation is interoperable as it does compare strings code unit by code unit.

      +

      +Storage

      +

      String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ string_t [2/2]

      + +
      +
      + + + + +
      using nlohmann::basic_json::string_t = StringType
      +
      + +

      a type for a string

      +

      RFC 7159 describes JSON strings as follows:

      +

      A string is a sequence of zero or more Unicode characters.

      +
      +

      To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization.

      +
      Template Parameters
      + + +
      StringTypethe container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t.
      +
      +
      +

      +Default type

      +

      With the default values for StringType (std::string), the default value for string_t is:

      +
      std::string
      +

      +Encoding

      +

      Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

      +

      +String comparison

      +

      RFC 7159 states:

      +

      Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

      +
      +

      This implementation is interoperable as it does compare strings code unit by code unit.

      +

      +Storage

      +

      String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ type_error [1/2]

      + +
      +
      + +

      exception indicating executing a member function with a wrong type

      +

      This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

      +

      Exceptions have ids 3xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead.
      json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types.
      json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &.
      json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types.
      json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types.
      json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types.
      json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types.
      json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types.
      json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types.
      json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types.
      json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types.
      json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types.
      json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined.
      json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers.
      json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive.
      json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded.
      json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON)
      +

      @liveexample{The following code shows how a type_error exception can be caught.,type_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ type_error [2/2]

      + +
      +
      + +

      exception indicating executing a member function with a wrong type

      +

      This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

      +

      Exceptions have ids 3xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead.
      json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types.
      json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &.
      json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types.
      json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types.
      json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types.
      json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types.
      json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types.
      json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types.
      json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types.
      json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types.
      json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types.
      json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined.
      json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers.
      json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive.
      json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded.
      json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON)
      +

      @liveexample{The following code shows how a type_error exception can be caught.,type_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ value_t [1/2]

      + +
      +
      + +
      +
      + +

      ◆ value_t [2/2]

      + +
      +
      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      + +

      the type of elements in a basic_json container

      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      + +

      the type of elements in a basic_json container

      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ basic_json() [1/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const value_t v)
      +
      +inline
      +
      + +

      create an empty value with a given type

      +

      Create an empty JSON value with a given type. The value will be default initialized with an empty value which depends on the type:

      + + + + + + + + + + + + + + + +
      Value type initial value
      null null
      boolean false
      string ""
      number 0
      object {}
      array []
      +
      Parameters
      + + +
      [in]vthe type of the value to create
      +
      +
      +

      @complexity Constant.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows the constructor for different value_t values,basic_json__value_t}

      +
      See also
      clear() – restores the postcondition of this constructor
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [2/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (std::nullptr_t  = nullptr)
      +
      +inlinenoexcept
      +
      + +

      create a null object

      +

      Create a null JSON value. It either takes a null pointer as parameter (explicitly creating null) or no parameter (implicitly creating null). The passed null pointer itself is not read – it is only used to choose the right constructor.

      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this constructor never throws exceptions.

      +

      @liveexample{The following code shows the constructor with and without a null pointer parameter.,basic_json__nullptr_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [3/19]

      + +
      +
      +
      +template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< not detail::is_basic_json< U >::value and detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (CompatibleType && val)
      +
      +inlinenoexcept
      +
      + +

      create a JSON value

      +

      This is a "catch all" constructor for all compatible JSON types; that is, types for which a to_json() method exists. The constructor forwards the parameter val to that method (to json_serializer<U>::to_json method with U = uncvref_t<CompatibleType>, to be exact).

      +

      Template type CompatibleType includes, but is not limited to, the following types:

        +
      • arrays: array_t and all kinds of compatible containers such as std::vector, std::deque, std::list, std::forward_list, std::array, std::valarray, std::set, std::unordered_set, std::multiset, and std::unordered_multiset with a value_type from which a basic_json value can be constructed.
      • +
      • objects: object_t and all kinds of compatible associative containers such as std::map, std::unordered_map, std::multimap, and std::unordered_multimap with a key_type compatible to string_t and a value_type from which a basic_json value can be constructed.
      • +
      • strings: string_t, string literals, and all compatible string containers can be used.
      • +
      • numbers: number_integer_t, number_unsigned_t, number_float_t, and all convertible number types such as int, size_t, int64_t, float or double can be used.
      • +
      • boolean: boolean_t / bool can be used.
      • +
      +

      See the examples below.

      +
      Template Parameters
      + + + +
      CompatibleTypea type such that:
        +
      • CompatibleType is not derived from std::istream,
      • +
      • CompatibleType is not basic_json (to avoid hijacking copy/move constructors),
      • +
      • CompatibleType is not a different basic_json type (i.e. with different template arguments)
      • +
      • CompatibleType is not a basic_json nested type (e.g., json_pointer, iterator, etc ...)
      • +
      • json_serializer has a to_json(basic_json_t&, CompatibleType&&) method
      • +
      +
      U= uncvref_t<CompatibleType>
      +
      +
      +
      Parameters
      + + +
      [in]valthe value to be forwarded to the respective constructor
      +
      +
      +

      @complexity Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

      +

      @exceptionsafety Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows the constructor with several compatible types.,basic_json__CompatibleType}

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ basic_json() [4/19]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value and not std::is_same< basic_json, BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const BasicJsonType & val)
      +
      +inline
      +
      + +

      create a JSON value from an existing one

      +

      This is a constructor for existing basic_json types. It does not hijack copy/move constructors, since the parameter has different template arguments than the current ones.

      +

      The constructor tries to convert the internal m_value of the parameter.

      +
      Template Parameters
      + + +
      BasicJsonTypea type such that:
        +
      • BasicJsonType is a basic_json type.
      • +
      • BasicJsonType has different template arguments than basic_json_t.
      • +
      +
      +
      +
      +
      Parameters
      + + +
      [in]valthe basic_json value to be converted.
      +
      +
      +

      @complexity Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

      +

      @exceptionsafety Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ basic_json() [5/19]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (initializer_list_t init,
      bool type_deduction = true,
      value_t manual_type = value_t::array 
      )
      +
      +inline
      +
      + +

      create a container (array or object) from an initializer list

      +

      Creates a JSON value of type array or object from the passed initializer list init. In case type_deduction is true (default), the type of the JSON value to be created is deducted from the initializer list init according to the following rules:

      +
        +
      1. If the list is empty, an empty JSON object value {} is created.
      2. +
      3. If the list consists of pairs whose first element is a string, a JSON object value is created where the first elements of the pairs are treated as keys and the second elements are as values.
      4. +
      5. In all other cases, an array is created.
      6. +
      +

      The rules aim to create the best fit between a C++ initializer list and JSON values. The rationale is as follows:

      +
        +
      1. The empty initializer list is written as {} which is exactly an empty JSON object.
      2. +
      3. C++ has no way of describing mapped types other than to list a list of pairs. As JSON requires that keys must be of type string, rule 2 is the weakest constraint one can pose on initializer lists to interpret them as an object.
      4. +
      5. In all other cases, the initializer list could not be interpreted as JSON object type, so interpreting it as JSON array type is safe.
      6. +
      +

      With the rules described above, the following JSON values cannot be expressed by an initializer list:

      + +
      Note
      When used without parentheses around an empty initializer list, basic_json() is called instead of this function, yielding the JSON null value.
      +
      Parameters
      + + + + +
      [in]initinitializer list with JSON values
      [in]type_deductioninternal parameter; when set to true, the type of the JSON value is deducted from the initializer list init; when set to false, the type provided via manual_type is forced. This mode is used by the functions array(initializer_list_t) and object(initializer_list_t).
      [in]manual_typeinternal parameter; when type_deduction is set to false, the created JSON value will use the provided type (only value_t::array and value_t::object are valid); when type_deduction is set to true, this parameter has no effect
      +
      +
      +
      Exceptions
      + + +
      type_error.301if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string. In this case, the constructor could not create an object. If type_deduction would have be true, an array would have been created. See object(initializer_list_t) for an example.
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The example below shows how JSON values are created from initializer lists.,basic_json__list_init_t}

      +
      See also
      array(initializer_list_t) – create a JSON array value from an initializer list
      +
      +object(initializer_list_t) – create a JSON object value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [6/19]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (size_type cnt,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      construct an array with count copies of given value

      +

      Constructs a JSON array value by creating cnt copies of a passed value. In case cnt is 0, an empty array is created.

      +
      Parameters
      + + + +
      [in]cntthe number of JSON copies of val to create
      [in]valthe JSON value to copy
      +
      +
      +
      Postcondition
      std::distance(begin(),end()) == cnt holds.
      +

      @complexity Linear in cnt.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows examples for the basic_json(size_type\, const basic_json&) constructor.,basic_json__size_type_basic_json}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [7/19]

      + +
      +
      +
      +template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value or std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (InputIT first,
      InputIT last 
      )
      +
      +inline
      +
      + +

      construct a JSON container given an iterator range

      +

      Constructs the JSON value with the contents of the range [first, last). The semantics depends on the different types a JSON value can have:

        +
      • In case of a null type, invalid_iterator.206 is thrown.
      • +
      • In case of other primitive types (number, boolean, or string), first must be begin() and last must be end(). In this case, the value is copied. Otherwise, invalid_iterator.204 is thrown.
      • +
      • In case of structured types (array, object), the constructor behaves as similar versions for std::vector or std::map; that is, a JSON array or object is constructed from the values in the range.
      • +
      +
      Template Parameters
      + + +
      InputITan input iterator type (iterator or const_iterator)
      +
      +
      +
      Parameters
      + + + +
      [in]firstbegin of the range to copy from (included)
      [in]lastend of the range to copy from (excluded)
      +
      +
      +
      Precondition
      Iterators first and last must be initialized. This precondition is enforced with an assertion (see warning). If assertions are switched off, a violation of this precondition yields undefined behavior.
      +
      +Range [first, last) is valid. Usually, this precondition cannot be checked efficiently. Only certain edge cases are detected; see the description of the exceptions below. A violation of this precondition yields undefined behavior.
      +
      Warning
      A precondition is enforced with a runtime assertion that will result in calling std::abort if this precondition is not met. Assertions can be disabled by defining NDEBUG at compile time. See https://en.cppreference.com/w/cpp/error/assert for more information.
      +
      Exceptions
      + + + + +
      invalid_iterator.201if iterators first and last are not compatible (i.e., do not belong to the same JSON value). In this case, the range [first, last) is undefined.
      invalid_iterator.204if iterators first and last belong to a primitive type (number, boolean, or string), but first does not point to the first element any more. In this case, the range [first, last) is undefined. See example code below.
      invalid_iterator.206if iterators first and last belong to a null value. In this case, the range [first, last) is undefined.
      +
      +
      +

      @complexity Linear in distance between first and last.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The example below shows several ways to create JSON values by specifying a subrange with iterators.,basic_json__InputIt_InputIt}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [8/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const basic_jsonother)
      +
      +inline
      +
      + +

      copy constructor

      +

      Creates a copy of a given JSON value.

      +
      Parameters
      + + +
      [in]otherthe JSON value to copy
      +
      +
      +
      Postcondition
      *this == other
      +

      @complexity Linear in the size of other.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      • As postcondition, it holds: other == basic_json(other).
      • +
      +

      @liveexample{The following code shows an example for the copy constructor.,basic_json__basic_json}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [9/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (basic_json && other)
      +
      +inlinenoexcept
      +
      + +

      move constructor

      +

      Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value.

      +
      Parameters
      + + +
      [in,out]othervalue to move to this object
      +
      +
      +
      Postcondition
      *this has the same value as other before the call.
      +
      +other is a JSON null value.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this constructor never throws exceptions.

      +

      @requirement This function helps basic_json satisfying the MoveConstructible requirements.

      +

      @liveexample{The code below shows the move constructor explicitly called via std::move.,basic_json__moveconstructor}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ ~basic_json() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::basic_json::~basic_json ()
      +
      +inlinenoexcept
      +
      + +

      destructor

      +

      Destroys the JSON value and frees all allocated memory.

      +

      @complexity Linear.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      • All stored elements are destroyed and all memory is freed.
      • +
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [10/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const value_t v)
      +
      +inline
      +
      + +

      create an empty value with a given type

      +

      Create an empty JSON value with a given type. The value will be default initialized with an empty value which depends on the type:

      + + + + + + + + + + + + + + + + + +
      Value type initial value
      null null
      boolean false
      string ""
      number 0
      object {}
      array []
      binary empty array
      +
      Parameters
      + + +
      [in]vthe type of the value to create
      +
      +
      +

      @complexity Constant.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows the constructor for different value_t values,basic_json__value_t}

      +
      See also
      clear() – restores the postcondition of this constructor
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [11/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (std::nullptr_t  = nullptr)
      +
      +inlinenoexcept
      +
      + +

      create a null object

      +

      Create a null JSON value. It either takes a null pointer as parameter (explicitly creating null) or no parameter (implicitly creating null). The passed null pointer itself is not read – it is only used to choose the right constructor.

      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this constructor never throws exceptions.

      +

      @liveexample{The following code shows the constructor with and without a null pointer parameter.,basic_json__nullptr_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [12/19]

      + +
      +
      +
      +template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (CompatibleType && val)
      +
      +inlinenoexcept
      +
      + +

      create a JSON value

      +

      This is a "catch all" constructor for all compatible JSON types; that is, types for which a to_json() method exists. The constructor forwards the parameter val to that method (to json_serializer<U>::to_json method with U = uncvref_t<CompatibleType>, to be exact).

      +

      Template type CompatibleType includes, but is not limited to, the following types:

        +
      • arrays: array_t and all kinds of compatible containers such as std::vector, std::deque, std::list, std::forward_list, std::array, std::valarray, std::set, std::unordered_set, std::multiset, and std::unordered_multiset with a value_type from which a basic_json value can be constructed.
      • +
      • objects: object_t and all kinds of compatible associative containers such as std::map, std::unordered_map, std::multimap, and std::unordered_multimap with a key_type compatible to string_t and a value_type from which a basic_json value can be constructed.
      • +
      • strings: string_t, string literals, and all compatible string containers can be used.
      • +
      • numbers: number_integer_t, number_unsigned_t, number_float_t, and all convertible number types such as int, size_t, int64_t, float or double can be used.
      • +
      • boolean: boolean_t / bool can be used.
      • +
      • binary: binary_t / std::vector<uint8_t> may be used, unfortunately because string literals cannot be distinguished from binary character arrays by the C++ type system, all types compatible with const char* will be directed to the string constructor instead. This is both for backwards compatibility, and due to the fact that a binary type is not a standard JSON type.
      • +
      +

      See the examples below.

      +
      Template Parameters
      + + + +
      CompatibleTypea type such that:
        +
      • CompatibleType is not derived from std::istream,
      • +
      • CompatibleType is not basic_json (to avoid hijacking copy/move constructors),
      • +
      • CompatibleType is not a different basic_json type (i.e. with different template arguments)
      • +
      • CompatibleType is not a basic_json nested type (e.g., json_pointer, iterator, etc ...)
      • +
      • json_serializer has a to_json(basic_json_t&, CompatibleType&&) method
      • +
      +
      U= uncvref_t<CompatibleType>
      +
      +
      +
      Parameters
      + + +
      [in]valthe value to be forwarded to the respective constructor
      +
      +
      +

      @complexity Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

      +

      @exceptionsafety Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows the constructor with several compatible types.,basic_json__CompatibleType}

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ basic_json() [13/19]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const BasicJsonType & val)
      +
      +inline
      +
      + +

      create a JSON value from an existing one

      +

      This is a constructor for existing basic_json types. It does not hijack copy/move constructors, since the parameter has different template arguments than the current ones.

      +

      The constructor tries to convert the internal m_value of the parameter.

      +
      Template Parameters
      + + +
      BasicJsonTypea type such that:
        +
      • BasicJsonType is a basic_json type.
      • +
      • BasicJsonType has different template arguments than basic_json_t.
      • +
      +
      +
      +
      +
      Parameters
      + + +
      [in]valthe basic_json value to be converted.
      +
      +
      +

      @complexity Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

      +

      @exceptionsafety Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ basic_json() [14/19]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (initializer_list_t init,
      bool type_deduction = true,
      value_t manual_type = value_t::array 
      )
      +
      +inline
      +
      + +

      create a container (array or object) from an initializer list

      +

      Creates a JSON value of type array or object from the passed initializer list init. In case type_deduction is true (default), the type of the JSON value to be created is deducted from the initializer list init according to the following rules:

      +
        +
      1. If the list is empty, an empty JSON object value {} is created.
      2. +
      3. If the list consists of pairs whose first element is a string, a JSON object value is created where the first elements of the pairs are treated as keys and the second elements are as values.
      4. +
      5. In all other cases, an array is created.
      6. +
      +

      The rules aim to create the best fit between a C++ initializer list and JSON values. The rationale is as follows:

      +
        +
      1. The empty initializer list is written as {} which is exactly an empty JSON object.
      2. +
      3. C++ has no way of describing mapped types other than to list a list of pairs. As JSON requires that keys must be of type string, rule 2 is the weakest constraint one can pose on initializer lists to interpret them as an object.
      4. +
      5. In all other cases, the initializer list could not be interpreted as JSON object type, so interpreting it as JSON array type is safe.
      6. +
      +

      With the rules described above, the following JSON values cannot be expressed by an initializer list:

      + +
      Note
      When used without parentheses around an empty initializer list, basic_json() is called instead of this function, yielding the JSON null value.
      +
      Parameters
      + + + + +
      [in]initinitializer list with JSON values
      [in]type_deductioninternal parameter; when set to true, the type of the JSON value is deducted from the initializer list init; when set to false, the type provided via manual_type is forced. This mode is used by the functions array(initializer_list_t) and object(initializer_list_t).
      [in]manual_typeinternal parameter; when type_deduction is set to false, the created JSON value will use the provided type (only value_t::array and value_t::object are valid); when type_deduction is set to true, this parameter has no effect
      +
      +
      +
      Exceptions
      + + +
      type_error.301if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string. In this case, the constructor could not create an object. If type_deduction would have be true, an array would have been created. See object(initializer_list_t) for an example.
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The example below shows how JSON values are created from initializer lists.,basic_json__list_init_t}

      +
      See also
      array(initializer_list_t) – create a JSON array value from an initializer list
      +
      +object(initializer_list_t) – create a JSON object value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [15/19]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (size_type cnt,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      construct an array with count copies of given value

      +

      Constructs a JSON array value by creating cnt copies of a passed value. In case cnt is 0, an empty array is created.

      +
      Parameters
      + + + +
      [in]cntthe number of JSON copies of val to create
      [in]valthe JSON value to copy
      +
      +
      +
      Postcondition
      std::distance(begin(),end()) == cnt holds.
      +

      @complexity Linear in cnt.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows examples for the basic_json(size_type\, const basic_json&) constructor.,basic_json__size_type_basic_json}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [16/19]

      + +
      +
      +
      +template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::basic_json::basic_json (InputIT first,
      InputIT last 
      )
      +
      +inline
      +
      + +

      construct a JSON container given an iterator range

      +

      Constructs the JSON value with the contents of the range [first, last). The semantics depends on the different types a JSON value can have:

        +
      • In case of a null type, invalid_iterator.206 is thrown.
      • +
      • In case of other primitive types (number, boolean, or string), first must be begin() and last must be end(). In this case, the value is copied. Otherwise, invalid_iterator.204 is thrown.
      • +
      • In case of structured types (array, object), the constructor behaves as similar versions for std::vector or std::map; that is, a JSON array or object is constructed from the values in the range.
      • +
      +
      Template Parameters
      + + +
      InputITan input iterator type (iterator or const_iterator)
      +
      +
      +
      Parameters
      + + + +
      [in]firstbegin of the range to copy from (included)
      [in]lastend of the range to copy from (excluded)
      +
      +
      +
      Precondition
      Iterators first and last must be initialized. This precondition is enforced with an assertion (see warning). If assertions are switched off, a violation of this precondition yields undefined behavior.
      +
      +Range [first, last) is valid. Usually, this precondition cannot be checked efficiently. Only certain edge cases are detected; see the description of the exceptions below. A violation of this precondition yields undefined behavior.
      +
      Warning
      A precondition is enforced with a runtime assertion that will result in calling std::abort if this precondition is not met. Assertions can be disabled by defining NDEBUG at compile time. See https://en.cppreference.com/w/cpp/error/assert for more information.
      +
      Exceptions
      + + + + +
      invalid_iterator.201if iterators first and last are not compatible (i.e., do not belong to the same JSON value). In this case, the range [first, last) is undefined.
      invalid_iterator.204if iterators first and last belong to a primitive type (number, boolean, or string), but first does not point to the first element any more. In this case, the range [first, last) is undefined. See example code below.
      invalid_iterator.206if iterators first and last belong to a null value. In this case, the range [first, last) is undefined.
      +
      +
      +

      @complexity Linear in distance between first and last.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The example below shows several ways to create JSON values by specifying a subrange with iterators.,basic_json__InputIt_InputIt}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [17/19]

      + +
      +
      +
      +template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json >>::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const JsonRef & ref)
      +
      +inline
      +
      + +
      +
      + +

      ◆ basic_json() [18/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (const basic_jsonother)
      +
      +inline
      +
      + +

      copy constructor

      +

      Creates a copy of a given JSON value.

      +
      Parameters
      + + +
      [in]otherthe JSON value to copy
      +
      +
      +
      Postcondition
      *this == other
      +

      @complexity Linear in the size of other.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      • As postcondition, it holds: other == basic_json(other).
      • +
      +

      @liveexample{The following code shows an example for the copy constructor.,basic_json__basic_json}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ basic_json() [19/19]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::basic_json::basic_json (basic_json && other)
      +
      +inlinenoexcept
      +
      + +

      move constructor

      +

      Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value.

      +
      Parameters
      + + +
      [in,out]othervalue to move to this object
      +
      +
      +
      Postcondition
      *this has the same value as other before the call.
      +
      +other is a JSON null value.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this constructor never throws exceptions.

      +

      @requirement This function helps basic_json satisfying the MoveConstructible requirements.

      +

      @liveexample{The code below shows the move constructor explicitly called via std::move.,basic_json__moveconstructor}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ ~basic_json() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::basic_json::~basic_json ()
      +
      +inlinenoexcept
      +
      + +

      destructor

      +

      Destroys the JSON value and frees all allocated memory.

      +

      @complexity Linear.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      • All stored elements are destroyed and all memory is freed.
      • +
      +
      Since
      version 1.0.0
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ accept() [1/5]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static bool nlohmann::basic_json::accept (detail::input_adapter && i)
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ accept() [2/5]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT bool nlohmann::basic_json::accept (detail::span_input_adapter && i,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ accept() [3/5]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::accept (InputType && i,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +

      check if the input is valid JSON

      +

      Unlike the parse(InputType&&, const parser_callback_t,const bool) function, this function neither throws an exception in case of invalid JSON input (i.e., a parse error) nor creates diagnostic information.

      +
      Template Parameters
      + + +
      InputTypeA compatible input, for instance
        +
      • an std::istream object
      • +
      • a FILE pointer
      • +
      • a C-style array of characters
      • +
      • a pointer to a null-terminated string of single byte characters
      • +
      • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
      • +
      +
      +
      +
      +
      Parameters
      + + + +
      [in]iinput to read from
      [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
      +
      +
      +
      Returns
      Whether the input read from i is valid JSON.
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the accept() function reading from a string.,accept__string}

      + +
      +
      + +

      ◆ accept() [4/5]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::accept (IteratorType first,
      IteratorType last 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ accept() [5/5]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::accept (IteratorType first,
      IteratorType last,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ array() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::array (initializer_list_t init = {})
      +
      +inlinestatic
      +
      + +

      explicitly create an array from an initializer list

      +

      Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

      +
      Note
      This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(initializer_list_t, bool, value_t)). These cases are:
        +
      1. creating an array whose elements are all pairs whose first element is a string – in this case, the initializer list constructor would create an object, taking the first elements as keys
      2. +
      3. creating an empty array – passing the empty initializer list to the initializer list constructor yields an empty object
      4. +
      +
      +
      Parameters
      + + +
      [in]initinitializer list with JSON values to create an array from (optional)
      +
      +
      +
      Returns
      JSON array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows an example for the array function.,array}

      +
      See also
      basic_json(initializer_list_t, bool, value_t) – create a JSON value from an initializer list
      +
      +object(initializer_list_t) – create a JSON object value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ array() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::array (initializer_list_t init = {})
      +
      +inlinestatic
      +
      + +

      explicitly create an array from an initializer list

      +

      Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

      +
      Note
      This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(initializer_list_t, bool, value_t)). These cases are:
        +
      1. creating an array whose elements are all pairs whose first element is a string – in this case, the initializer list constructor would create an object, taking the first elements as keys
      2. +
      3. creating an empty array – passing the empty initializer list to the initializer list constructor yields an empty object
      4. +
      +
      +
      Parameters
      + + +
      [in]initinitializer list with JSON values to create an array from (optional)
      +
      +
      +
      Returns
      JSON array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows an example for the array function.,array}

      +
      See also
      basic_json(initializer_list_t, bool, value_t) – create a JSON value from an initializer list
      +
      +object(initializer_list_t) – create a JSON object value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ at() [1/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (const json_pointerptr)
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Returns a reference to the element at with specified JSON pointer ptr, with bounds checking.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +
      Exceptions
      + + + + + + + +
      parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
      parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
      out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
      out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
      out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
      out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 2.0.0
      +

      @liveexample{The behavior is shown in the example.,at_json_pointer}

      + +
      +
      + +

      ◆ at() [2/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (const json_pointerptr)
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Returns a reference to the element at with specified JSON pointer ptr, with bounds checking.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +
      Exceptions
      + + + + + + + +
      parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
      parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
      out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
      out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
      out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
      out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 2.0.0
      +

      @liveexample{The behavior is shown in the example.,at_json_pointer}

      + +
      +
      + +

      ◆ at() [3/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (const json_pointerptr) const
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Returns a const reference to the element at with specified JSON pointer ptr, with bounds checking.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +
      Exceptions
      + + + + + + + +
      parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
      parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
      out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
      out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
      out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
      out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 2.0.0
      +

      @liveexample{The behavior is shown in the example.,at_json_pointer_const}

      + +
      +
      + +

      ◆ at() [4/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (const json_pointerptr) const
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Returns a const reference to the element at with specified JSON pointer ptr, with bounds checking.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +
      Exceptions
      + + + + + + + +
      parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
      parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
      out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
      out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
      out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
      out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 2.0.0
      +

      @liveexample{The behavior is shown in the example.,at_json_pointer_const}

      + +
      +
      + +

      ◆ at() [5/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      access specified object element with bounds checking

      +

      Returns a reference to the element at with specified key key, with bounds checking.

      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
      out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Logarithmic in the size of the container.

      +
      See also
      operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how object elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__object_t_key_type}

      + +
      +
      + +

      ◆ at() [6/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      access specified object element with bounds checking

      +

      Returns a reference to the element at with specified key key, with bounds checking.

      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
      out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Logarithmic in the size of the container.

      +
      See also
      operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how object elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__object_t_key_type}

      + +
      +
      + +

      ◆ at() [7/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (const typename object_t::key_type & key) const
      +
      +inline
      +
      + +

      access specified object element with bounds checking

      +

      Returns a const reference to the element at with specified key key, with bounds checking.

      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
      out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Logarithmic in the size of the container.

      +
      See also
      operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how object elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__object_t_key_type_const}

      + +
      +
      + +

      ◆ at() [8/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (const typename object_t::key_type & key) const
      +
      +inline
      +
      + +

      access specified object element with bounds checking

      +

      Returns a const reference to the element at with specified key key, with bounds checking.

      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
      out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Logarithmic in the size of the container.

      +
      See also
      operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how object elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__object_t_key_type_const}

      + +
      +
      + +

      ◆ at() [9/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (size_type idx)
      +
      +inline
      +
      + +

      access specified array element with bounds checking

      +

      Returns a reference to the element at specified location idx, with bounds checking.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      reference to the element at index idx
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
      out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how array elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__size_type}

      + +
      +
      + +

      ◆ at() [10/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::at (size_type idx)
      +
      +inline
      +
      + +

      access specified array element with bounds checking

      +

      Returns a reference to the element at specified location idx, with bounds checking.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      reference to the element at index idx
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
      out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how array elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__size_type}

      + +
      +
      + +

      ◆ at() [11/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (size_type idx) const
      +
      +inline
      +
      + +

      access specified array element with bounds checking

      +

      Returns a const reference to the element at specified location idx, with bounds checking.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      const reference to the element at index idx
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
      out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how array elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__size_type_const}

      + +
      +
      + +

      ◆ at() [12/12]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::at (size_type idx) const
      +
      +inline
      +
      + +

      access specified array element with bounds checking

      +

      Returns a const reference to the element at specified location idx, with bounds checking.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      const reference to the element at index idx
      +
      Exceptions
      + + + +
      type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
      out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
      +
      +
      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 1.0.0
      +

      @liveexample{The example below shows how array elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__size_type_const}

      + +
      +
      + +

      ◆ back() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reference nlohmann::basic_json::back ()
      +
      +inline
      +
      + +

      access the last element

      +

      Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

      auto tmp = c.end();
      +
      --tmp;
      +
      return *tmp;
      +
      Returns
      In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on a null value. See example below.
      +
      +
      +

      @liveexample{The following code shows an example for back().,back}

      +
      See also
      front() – access the first element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ back() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reference nlohmann::basic_json::back ()
      +
      +inline
      +
      + +

      access the last element

      +

      Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

      auto tmp = c.end();
      +
      --tmp;
      +
      return *tmp;
      +
      Returns
      In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on a null value. See example below.
      +
      +
      +

      @liveexample{The following code shows an example for back().,back}

      +
      See also
      front() – access the first element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ back() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reference nlohmann::basic_json::back () const
      +
      +inline
      +
      + +

      access the last element

      +

      Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

      auto tmp = c.end();
      +
      --tmp;
      +
      return *tmp;
      +
      Returns
      In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on a null value. See example below.
      +
      +
      +

      @liveexample{The following code shows an example for back().,back}

      +
      See also
      front() – access the first element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ back() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reference nlohmann::basic_json::back () const
      +
      +inline
      +
      + +

      access the last element

      +

      Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

      auto tmp = c.end();
      +
      --tmp;
      +
      return *tmp;
      +
      Returns
      In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on a null value. See example below.
      +
      +
      +

      @liveexample{The following code shows an example for back().,back}

      +
      See also
      front() – access the first element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ begin() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::begin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to the first element

      +

      Returns a const iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).begin().
      • +
      +

      @liveexample{The following code shows an example for cbegin().,cbegin}

      +
      See also
      begin() – returns an iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ begin() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::begin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to the first element

      +

      Returns a const iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).begin().
      • +
      +

      @liveexample{The following code shows an example for cbegin().,cbegin}

      +
      See also
      begin() – returns an iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ begin() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iterator nlohmann::basic_json::begin ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the first element

      +

      Returns an iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      +

      @liveexample{The following code shows an example for begin().,begin}

      +
      See also
      cbegin() – returns a const iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ begin() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iterator nlohmann::basic_json::begin ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the first element

      +

      Returns an iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      +

      @liveexample{The following code shows an example for begin().,begin}

      +
      See also
      cbegin() – returns a const iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ binary() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::binary (const typename binary_t::container_typeinit)
      +
      +inlinestatic
      +
      + +

      explicitly create a binary array (without subtype)

      +

      Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

      +
      Note
      Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
      +
      Parameters
      + + +
      [in]initcontainer containing bytes to use as binary type
      +
      +
      +
      Returns
      JSON binary array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ binary() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::binary (const typename binary_t::container_typeinit,
      std::uint8_t subtype 
      )
      +
      +inlinestatic
      +
      + +

      explicitly create a binary array (with subtype)

      +

      Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

      +
      Note
      Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
      +
      Parameters
      + + + +
      [in]initcontainer containing bytes to use as binary type
      [in]subtypesubtype to use in MessagePack and BSON
      +
      +
      +
      Returns
      JSON binary array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ binary() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::binary (typename binary_t::container_type && init)
      +
      +inlinestatic
      +
      + +

      explicitly create a binary array (without subtype)

      +

      Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

      +
      Note
      Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
      +
      Parameters
      + + +
      [in]initcontainer containing bytes to use as binary type
      +
      +
      +
      Returns
      JSON binary array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ binary() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::binary (typename binary_t::container_type && init,
      std::uint8_t subtype 
      )
      +
      +inlinestatic
      +
      + +

      explicitly create a binary array (with subtype)

      +

      Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

      +
      Note
      Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
      +
      Parameters
      + + + +
      [in]initcontainer containing bytes to use as binary type
      [in]subtypesubtype to use in MessagePack and BSON
      +
      +
      +
      Returns
      JSON binary array value
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ cbegin() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::cbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to the first element

      +

      Returns a const iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).begin().
      • +
      +

      @liveexample{The following code shows an example for cbegin().,cbegin}

      +
      See also
      begin() – returns an iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ cbegin() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::cbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to the first element

      +

      Returns a const iterator to the first element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator to the first element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).begin().
      • +
      +

      @liveexample{The following code shows an example for cbegin().,cbegin}

      +
      See also
      begin() – returns an iterator to the beginning
      +
      +end() – returns an iterator to the end
      +
      +cend() – returns a const iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ cend() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::cend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to one past the last element

      +

      Returns a const iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).end().
      • +
      +

      @liveexample{The following code shows an example for cend().,cend}

      +
      See also
      end() – returns an iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ cend() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::cend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to one past the last element

      +

      Returns a const iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).end().
      • +
      +

      @liveexample{The following code shows an example for cend().,cend}

      +
      See also
      end() – returns an iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ clear() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::basic_json::clear ()
      +
      +inlinenoexcept
      +
      + +

      clears the contents

      +

      Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called with the current value type from type():

      + + + + + + + + + + + + + + + +
      Value type initial value
      null null
      boolean false
      string ""
      number 0
      object {}
      array []
      +
      Postcondition
      Has the same effect as calling
      *this = basic_json(type());
      +
      +

      @liveexample{The example below shows the effect of clear() to different JSON types.,clear}

      +

      @complexity Linear in the size of the JSON value.

      +

      @iterators All iterators, pointers and references related to this container are invalidated.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      See also
      basic_json(value_t) – constructor that creates an object with the same value than calling clear()
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ clear() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::basic_json::clear ()
      +
      +inlinenoexcept
      +
      + +

      clears the contents

      +

      Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called with the current value type from type():

      + + + + + + + + + + + + + + + + + +
      Value type initial value
      null null
      boolean false
      string ""
      number 0
      binary An empty byte vector
      object {}
      array []
      +
      Postcondition
      Has the same effect as calling
      *this = basic_json(type());
      +
      +

      @liveexample{The example below shows the effect of clear() to different JSON types.,clear}

      +

      @complexity Linear in the size of the JSON value.

      +

      @iterators All iterators, pointers and references related to this container are invalidated.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      See also
      basic_json(value_t) – constructor that creates an object with the same value than calling clear()
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ contains() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      bool nlohmann::basic_json::contains (const json_pointerptr) const
      +
      +inline
      +
      + +

      check the existence of an element in a JSON object given a JSON pointer

      +

      Check whether the given JSON pointer ptr can be resolved in the current JSON value.

      +
      Note
      This method can be executed on any JSON value type.
      +
      Parameters
      + + +
      [in]ptrJSON pointer to check its existence.
      +
      +
      +
      Returns
      true if the JSON pointer can be resolved to a stored value, false otherwise.
      +
      Postcondition
      If j.contains(ptr) returns true, it is safe to call j[ptr].
      +
      Exceptions
      + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      +
      +
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The following code shows an example for contains().,contains_json_pointer}

      +
      See also
      contains(KeyT &&) const – checks the existence of a key
      +
      Since
      version 3.7.0
      + +
      +
      + +

      ◆ contains() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      bool nlohmann::basic_json::contains (const json_pointerptr) const
      +
      +inline
      +
      + +

      check the existence of an element in a JSON object given a JSON pointer

      +

      Check whether the given JSON pointer ptr can be resolved in the current JSON value.

      +
      Note
      This method can be executed on any JSON value type.
      +
      Parameters
      + + +
      [in]ptrJSON pointer to check its existence.
      +
      +
      +
      Returns
      true if the JSON pointer can be resolved to a stored value, false otherwise.
      +
      Postcondition
      If j.contains(ptr) returns true, it is safe to call j[ptr].
      +
      Exceptions
      + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      +
      +
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The following code shows an example for contains().,contains_json_pointer}

      +
      See also
      contains(KeyT &&) const – checks the existence of a key
      +
      Since
      version 3.7.0
      + +
      +
      + +

      ◆ contains() [3/4]

      + +
      +
      +
      +template<typename KeyT , typename std::enable_if< not std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + +
      bool nlohmann::basic_json::contains (KeyT && key) const
      +
      +inline
      +
      + +

      check the existence of an element in a JSON object

      +

      Check whether an element exists in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, false is returned.

      +
      Note
      This method always returns false when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value to check its existence.
      +
      +
      +
      Returns
      true if an element with specified key exists. If no such element with such key is found or the JSON value is not an object, false is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The following code shows an example for contains().,contains}

      +
      See also
      find(KeyT&&) – returns an iterator to an object element
      +
      +contains(const json_pointer&) const – checks the existence for a JSON pointer
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ contains() [4/4]

      + +
      +
      +
      +template<typename KeyT , typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + +
      bool nlohmann::basic_json::contains (KeyT && key) const
      +
      +inline
      +
      + +

      check the existence of an element in a JSON object

      +

      Check whether an element exists in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, false is returned.

      +
      Note
      This method always returns false when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value to check its existence.
      +
      +
      +
      Returns
      true if an element with specified key exists. If no such element with such key is found or the JSON value is not an object, false is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The following code shows an example for contains().,contains}

      +
      See also
      find(KeyT&&) – returns an iterator to an object element
      +
      +contains(const json_pointer&) const – checks the existence for a JSON pointer
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ count() [1/2]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::basic_json::count (KeyT && key) const
      +
      +inline
      +
      + +

      returns the number of occurrences of a key in a JSON object

      +

      Returns the number of elements with key key. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).

      +
      Note
      This method always returns 0 when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to count
      +
      +
      +
      Returns
      Number of elements with key key. If the JSON value is not an object, the return value will be 0.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how count() is used.,count}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ count() [2/2]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::basic_json::count (KeyT && key) const
      +
      +inline
      +
      + +

      returns the number of occurrences of a key in a JSON object

      +

      Returns the number of elements with key key. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).

      +
      Note
      This method always returns 0 when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to count
      +
      +
      +
      Returns
      Number of elements with key key. If the JSON value is not an object, the return value will be 0.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how count() is used.,count}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ crbegin() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::crbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to the last element

      +

      Returns a const iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
      • +
      +

      @liveexample{The following code shows an example for crbegin().,crbegin}

      +
      See also
      rbegin() – returns a reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ crbegin() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::crbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to the last element

      +

      Returns a const iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
      • +
      +

      @liveexample{The following code shows an example for crbegin().,crbegin}

      +
      See also
      rbegin() – returns a reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ crend() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::crend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to one before the first

      +

      Returns a const reverse iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rend().
      • +
      +

      @liveexample{The following code shows an example for crend().,crend}

      +
      See also
      rend() – returns a reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ crend() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::crend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to one before the first

      +

      Returns a const reverse iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rend().
      • +
      +

      @liveexample{The following code shows an example for crend().,crend}

      +
      See also
      rend() – returns a reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ diff() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::diff (const basic_jsonsource,
      const basic_jsontarget,
      const std::string & path = "" 
      )
      +
      +inlinestatic
      +
      + +

      creates a diff as a JSON patch

      +

      Creates a JSON Patch so that value source can be changed into the value target by calling patch function.

      +
      Invariant
      For two JSON values source and target, the following code yields always true:
      source.patch(diff(source, target)) == target;
      +
      +
      Note
      Currently, only remove, add, and replace operations are generated.
      +
      Parameters
      + + + + +
      [in]sourceJSON value to compare from
      [in]targetJSON value to compare against
      [in]pathhelper value to create JSON pointers
      +
      +
      +
      Returns
      a JSON patch to convert the source to target
      +

      @complexity Linear in the lengths of source and target.

      +

      @liveexample{The following code shows how a JSON patch is created as a diff for two JSON values.,diff}

      +
      See also
      patch – apply a JSON patch
      +
      +merge_patch – apply a JSON Merge Patch
      +
      +RFC 6902 (JSON Patch)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ diff() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::diff (const basic_jsonsource,
      const basic_jsontarget,
      const std::string & path = "" 
      )
      +
      +inlinestatic
      +
      + +

      creates a diff as a JSON patch

      +

      Creates a JSON Patch so that value source can be changed into the value target by calling patch function.

      +
      Invariant
      For two JSON values source and target, the following code yields always true:
      source.patch(diff(source, target)) == target;
      +
      +
      Note
      Currently, only remove, add, and replace operations are generated.
      +
      Parameters
      + + + + +
      [in]sourceJSON value to compare from
      [in]targetJSON value to compare against
      [in]pathhelper value to create JSON pointers
      +
      +
      +
      Returns
      a JSON patch to convert the source to target
      +

      @complexity Linear in the lengths of source and target.

      +

      @liveexample{The following code shows how a JSON patch is created as a diff for two JSON values.,diff}

      +
      See also
      patch – apply a JSON patch
      +
      +merge_patch – apply a JSON Merge Patch
      +
      +RFC 6902 (JSON Patch)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ dump() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::dump (const int indent = -1,
      const char indent_char = ' ',
      const bool ensure_ascii = false,
      const error_handler_t error_handler = error_handler_t::strict 
      ) const
      +
      +inline
      +
      + +

      serialization

      +

      Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent and ensure_ascii parameters.

      +
      Parameters
      + + + + + +
      [in]indentIf indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation.
      [in]indent_charThe character to use for indentation if indent is greater than 0. The default is (space).
      [in]ensure_asciiIf ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only.
      [in]error_handlerhow to react on decoding errors; there are three possible values: strict (throws and exception in case a decoding error occurs; default), replace (replace invalid UTF-8 sequences with U+FFFD), and ignore (ignore invalid UTF-8 sequences during serialization).
      +
      +
      +
      Returns
      string containing the serialization of the JSON value
      +
      Exceptions
      + + +
      type_error.316if a string stored inside the JSON value is not UTF-8 encoded
      +
      +
      +

      @complexity Linear.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @liveexample{The following example shows the effect of different indent\, indent_char\, and ensure_ascii parameters to the result of the serialization.,dump}

      +
      See also
      https://docs.python.org/2/library/json.html#json.dump
      +
      Since
      version 1.0.0; indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0; error handlers added in version 3.4.0.
      + +
      +
      + +

      ◆ dump() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::dump (const int indent = -1,
      const char indent_char = ' ',
      const bool ensure_ascii = false,
      const error_handler_t error_handler = error_handler_t::strict 
      ) const
      +
      +inline
      +
      + +

      serialization

      +

      Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent and ensure_ascii parameters.

      +
      Parameters
      + + + + + +
      [in]indentIf indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation.
      [in]indent_charThe character to use for indentation if indent is greater than 0. The default is (space).
      [in]ensure_asciiIf ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only.
      [in]error_handlerhow to react on decoding errors; there are three possible values: strict (throws and exception in case a decoding error occurs; default), replace (replace invalid UTF-8 sequences with U+FFFD), and ignore (ignore invalid UTF-8 sequences during serialization; all bytes are copied to the output unchanged).
      +
      +
      +
      Returns
      string containing the serialization of the JSON value
      +
      Exceptions
      + + +
      type_error.316if a string stored inside the JSON value is not UTF-8 encoded and error_handler is set to strict
      +
      +
      +
      Note
      Binary values are serialized as object containing two keys:
        +
      • "bytes": an array of bytes as integers
      • +
      • "subtype": the subtype as integer or "null" if the binary has no subtype
      • +
      +
      +

      @complexity Linear.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @liveexample{The following example shows the effect of different indent\, indent_char\, and ensure_ascii parameters to the result of the serialization.,dump}

      +
      See also
      https://docs.python.org/2/library/json.html#json.dump
      +
      Since
      version 1.0.0; indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0; error handlers added in version 3.4.0; serialization of binary values added in version 3.8.0.
      + +
      +
      + +

      ◆ emplace() [1/2]

      + +
      +
      +
      +template<class... Args>
      + + + + + +
      + + + + + + + + +
      std::pair<iterator, bool> nlohmann::basic_json::emplace (Args &&... args)
      +
      +inline
      +
      + +

      add an object to an object if key does not exist

      +

      Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args.

      +
      Parameters
      + + +
      [in]argsarguments to forward to a constructor of basic_json
      +
      +
      +
      Template Parameters
      + + +
      Argscompatible types to create a basic_json object
      +
      +
      +
      Returns
      a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place.
      +
      Exceptions
      + + +
      type_error.311when called on a type other than JSON object or null; example: "cannot use emplace() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.,emplace}

      +
      Since
      version 2.0.8
      + +
      +
      + +

      ◆ emplace() [2/2]

      + +
      +
      +
      +template<class... Args>
      + + + + + +
      + + + + + + + + +
      std::pair<iterator, bool> nlohmann::basic_json::emplace (Args &&... args)
      +
      +inline
      +
      + +

      add an object to an object if key does not exist

      +

      Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args.

      +
      Parameters
      + + +
      [in]argsarguments to forward to a constructor of basic_json
      +
      +
      +
      Template Parameters
      + + +
      Argscompatible types to create a basic_json object
      +
      +
      +
      Returns
      a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place.
      +
      Exceptions
      + + +
      type_error.311when called on a type other than JSON object or null; example: "cannot use emplace() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.,emplace}

      +
      Since
      version 2.0.8
      + +
      +
      + +

      ◆ emplace_back() [1/2]

      + +
      +
      +
      +template<class... Args>
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::emplace_back (Args &&... args)
      +
      +inline
      +
      + +

      add an object to an array

      +

      Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args.

      +
      Parameters
      + + +
      [in]argsarguments to forward to a constructor of basic_json
      +
      +
      +
      Template Parameters
      + + +
      Argscompatible types to create a basic_json object
      +
      +
      +
      Returns
      reference to the inserted element
      +
      Exceptions
      + + +
      type_error.311when called on a type other than JSON array or null; example: "cannot use emplace_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,emplace_back}

      +
      Since
      version 2.0.8, returns reference since 3.7.0
      + +
      +
      + +

      ◆ emplace_back() [2/2]

      + +
      +
      +
      +template<class... Args>
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::emplace_back (Args &&... args)
      +
      +inline
      +
      + +

      add an object to an array

      +

      Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args.

      +
      Parameters
      + + +
      [in]argsarguments to forward to a constructor of basic_json
      +
      +
      +
      Template Parameters
      + + +
      Argscompatible types to create a basic_json object
      +
      +
      +
      Returns
      reference to the inserted element
      +
      Exceptions
      + + +
      type_error.311when called on a type other than JSON array or null; example: "cannot use emplace_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,emplace_back}

      +
      Since
      version 2.0.8, returns reference since 3.7.0
      + +
      +
      + +

      ◆ empty() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      bool nlohmann::basic_json::empty () const
      +
      +inlinenoexcept
      +
      + +

      checks whether the container is empty.

      +

      Checks if a JSON value has no elements (i.e. whether its size is 0).

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
      Value type return value
      null true
      boolean false
      string false
      number false
      object result of function object_t::empty()
      array result of function array_t::empty()
      +
      +

      @liveexample{The following code uses empty() to check if a JSON object contains any elements.,empty}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      Note
      This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string.
      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of begin() == end().
      • +
      +
      See also
      size() – returns the number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ empty() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      bool nlohmann::basic_json::empty () const
      +
      +inlinenoexcept
      +
      + +

      checks whether the container is empty.

      +

      Checks if a JSON value has no elements (i.e. whether its size is 0).

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
      Value type return value
      null true
      boolean false
      string false
      number false
      binary false
      object result of function object_t::empty()
      array result of function array_t::empty()
      +
      +

      @liveexample{The following code uses empty() to check if a JSON object contains any elements.,empty}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      Note
      This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string.
      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of begin() == end().
      • +
      +
      See also
      size() – returns the number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ end() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::end () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to one past the last element

      +

      Returns a const iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).end().
      • +
      +

      @liveexample{The following code shows an example for cend().,cend}

      +
      See also
      end() – returns an iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ end() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_iterator nlohmann::basic_json::end () const
      +
      +inlinenoexcept
      +
      + +

      returns a const iterator to one past the last element

      +

      Returns a const iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      const iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).end().
      • +
      +

      @liveexample{The following code shows an example for cend().,cend}

      +
      See also
      end() – returns an iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ end() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iterator nlohmann::basic_json::end ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to one past the last element

      +

      Returns an iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      +

      @liveexample{The following code shows an example for end().,end}

      +
      See also
      cend() – returns a const iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ end() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iterator nlohmann::basic_json::end ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to one past the last element

      +

      Returns an iterator to one past the last element.

      +
      + +
      +Illustration from cppreference.com
      +
      Returns
      iterator one past the last element
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      +

      @liveexample{The following code shows an example for end().,end}

      +
      See also
      cend() – returns a const iterator to the end
      +
      +begin() – returns an iterator to the beginning
      +
      +cbegin() – returns a const iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [1/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::erase (const size_type idx)
      +
      +inline
      +
      + +

      remove element from a JSON array given an index

      +

      Removes element from a JSON array at the index idx.

      +
      Parameters
      + + +
      [in]idxindex of the element to remove
      +
      +
      +
      Exceptions
      + + + +
      type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
      out_of_range.401when idx >= size(); example: "array index 17 +is out of range"
      +
      +
      +

      @complexity Linear in distance between idx and the end of the container.

      +

      @liveexample{The example shows the effect of erase().,erase__size_type}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [2/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::erase (const size_type idx)
      +
      +inline
      +
      + +

      remove element from a JSON array given an index

      +

      Removes element from a JSON array at the index idx.

      +
      Parameters
      + + +
      [in]idxindex of the element to remove
      +
      +
      +
      Exceptions
      + + + +
      type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
      out_of_range.401when idx >= size(); example: "array index 17 +is out of range"
      +
      +
      +

      @complexity Linear in distance between idx and the end of the container.

      +

      @liveexample{The example shows the effect of erase().,erase__size_type}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [3/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::basic_json::erase (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      remove element from a JSON object given a key

      +

      Removes elements from a JSON object with the key value key.

      +
      Parameters
      + + +
      [in]keyvalue of the elements to remove
      +
      +
      +
      Returns
      Number of elements removed. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).
      +
      Postcondition
      References and iterators to the erased elements are invalidated. Other references and iterators are not affected.
      +
      Exceptions
      + + +
      type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
      +
      +
      +

      @complexity log(size()) + count(key)

      +

      @liveexample{The example shows the effect of erase().,erase__key_type}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [4/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::basic_json::erase (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      remove element from a JSON object given a key

      +

      Removes elements from a JSON object with the key value key.

      +
      Parameters
      + + +
      [in]keyvalue of the elements to remove
      +
      +
      +
      Returns
      Number of elements removed. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).
      +
      Postcondition
      References and iterators to the erased elements are invalidated. Other references and iterators are not affected.
      +
      Exceptions
      + + +
      type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
      +
      +
      +

      @complexity log(size()) + count(key)

      +

      @liveexample{The example shows the effect of erase().,erase__key_type}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [5/8]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      IteratorType nlohmann::basic_json::erase (IteratorType first,
      IteratorType last 
      )
      +
      +inline
      +
      + +

      remove elements given an iterator range

      +

      Removes the element specified by the range [first; last). The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.

      +

      If called on a primitive type other than null, the resulting JSON value will be null.

      +
      Parameters
      + + + +
      [in]firstiterator to the beginning of the range to remove
      [in]lastiterator past the end of the range to remove
      +
      +
      +
      Returns
      Iterator following the last removed element. If the iterator second refers to the last element, the end() iterator is returned.
      +
      Template Parameters
      + + +
      IteratorTypean iterator or const_iterator
      +
      +
      +
      Postcondition
      Invalidates iterators and references at or after the point of the erase, including the end() iterator.
      +
      Exceptions
      + + + + +
      type_error.307if called on a null value; example: "cannot use +erase() with null"
      invalid_iterator.203if called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value"
      invalid_iterator.204if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range"
      +
      +
      +

      @complexity The complexity depends on the type:

        +
      • objects: log(size()) + std::distance(first, last)
      • +
      • arrays: linear in the distance between first and last, plus linear in the distance between last and end of the container
      • +
      • strings: linear in the length of the string
      • +
      • other types: constant
      • +
      +

      @liveexample{The example shows the result of erase() for different JSON types.,erase__IteratorType_IteratorType}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [6/8]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      IteratorType nlohmann::basic_json::erase (IteratorType first,
      IteratorType last 
      )
      +
      +inline
      +
      + +

      remove elements given an iterator range

      +

      Removes the element specified by the range [first; last). The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.

      +

      If called on a primitive type other than null, the resulting JSON value will be null.

      +
      Parameters
      + + + +
      [in]firstiterator to the beginning of the range to remove
      [in]lastiterator past the end of the range to remove
      +
      +
      +
      Returns
      Iterator following the last removed element. If the iterator second refers to the last element, the end() iterator is returned.
      +
      Template Parameters
      + + +
      IteratorTypean iterator or const_iterator
      +
      +
      +
      Postcondition
      Invalidates iterators and references at or after the point of the erase, including the end() iterator.
      +
      Exceptions
      + + + + +
      type_error.307if called on a null value; example: "cannot use +erase() with null"
      invalid_iterator.203if called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value"
      invalid_iterator.204if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range"
      +
      +
      +

      @complexity The complexity depends on the type:

        +
      • objects: log(size()) + std::distance(first, last)
      • +
      • arrays: linear in the distance between first and last, plus linear in the distance between last and end of the container
      • +
      • strings and binary: linear in the length of the member
      • +
      • other types: constant
      • +
      +

      @liveexample{The example shows the result of erase() for different JSON types.,erase__IteratorType_IteratorType}

      +
      See also
      erase(IteratorType) – removes the element at a given position
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [7/8]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value or std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + +
      IteratorType nlohmann::basic_json::erase (IteratorType pos)
      +
      +inline
      +
      + +

      remove element given an iterator

      +

      Removes the element specified by iterator pos. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for pos.

      +

      If called on a primitive type other than null, the resulting JSON value will be null.

      +
      Parameters
      + + +
      [in]positerator to the element to remove
      +
      +
      +
      Returns
      Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned.
      +
      Template Parameters
      + + +
      IteratorTypean iterator or const_iterator
      +
      +
      +
      Postcondition
      Invalidates iterators and references at or after the point of the erase, including the end() iterator.
      +
      Exceptions
      + + + + +
      type_error.307if called on a null value; example: "cannot use +erase() with null"
      invalid_iterator.202if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current +value"
      invalid_iterator.205if called on a primitive type with invalid iterator (i.e., any iterator which is not begin()); example: "iterator +out of range"
      +
      +
      +

      @complexity The complexity depends on the type:

        +
      • objects: amortized constant
      • +
      • arrays: linear in distance between pos and the end of the container
      • +
      • strings: linear in the length of the string
      • +
      • other types: constant
      • +
      +

      @liveexample{The example shows the result of erase() for different JSON types.,erase__IteratorType}

      +
      See also
      erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ erase() [8/8]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + +
      IteratorType nlohmann::basic_json::erase (IteratorType pos)
      +
      +inline
      +
      + +

      remove element given an iterator

      +

      Removes the element specified by iterator pos. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for pos.

      +

      If called on a primitive type other than null, the resulting JSON value will be null.

      +
      Parameters
      + + +
      [in]positerator to the element to remove
      +
      +
      +
      Returns
      Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned.
      +
      Template Parameters
      + + +
      IteratorTypean iterator or const_iterator
      +
      +
      +
      Postcondition
      Invalidates iterators and references at or after the point of the erase, including the end() iterator.
      +
      Exceptions
      + + + + +
      type_error.307if called on a null value; example: "cannot use +erase() with null"
      invalid_iterator.202if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current +value"
      invalid_iterator.205if called on a primitive type with invalid iterator (i.e., any iterator which is not begin()); example: "iterator +out of range"
      +
      +
      +

      @complexity The complexity depends on the type:

        +
      • objects: amortized constant
      • +
      • arrays: linear in distance between pos and the end of the container
      • +
      • strings and binary: linear in the length of the member
      • +
      • other types: constant
      • +
      +

      @liveexample{The example shows the result of erase() for different JSON types.,erase__IteratorType}

      +
      See also
      erase(IteratorType, IteratorType) – removes the elements in the given range
      +
      +erase(const typename object_t::key_type&) – removes the element from an object at the given key
      +
      +erase(const size_type) – removes the element from an array at the given index
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ find() [1/4]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      iterator nlohmann::basic_json::find (KeyT && key)
      +
      +inline
      +
      + +

      find an element in a JSON object

      +

      Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

      +
      Note
      This method always returns end() when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to search for.
      +
      +
      +
      Returns
      Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how find() is used.,find__key_type}

      +
      See also
      contains(KeyT&&) const – checks whether a key exists
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ find() [2/4]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      iterator nlohmann::basic_json::find (KeyT && key)
      +
      +inline
      +
      + +

      find an element in a JSON object

      +

      Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

      +
      Note
      This method always returns end() when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to search for.
      +
      +
      +
      Returns
      Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how find() is used.,find__key_type}

      +
      See also
      contains(KeyT&&) const – checks whether a key exists
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ find() [3/4]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      const_iterator nlohmann::basic_json::find (KeyT && key) const
      +
      +inline
      +
      + +

      find an element in a JSON object

      +

      find an element in a JSON object Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

      +
      Note
      This method always returns end() when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to search for.
      +
      +
      +
      Returns
      Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how find() is used.,find__key_type}

      +
      See also
      contains(KeyT&&) const – checks whether a key exists
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ find() [4/4]

      + +
      +
      +
      +template<typename KeyT >
      + + + + + +
      + + + + + + + + +
      const_iterator nlohmann::basic_json::find (KeyT && key) const
      +
      +inline
      +
      + +

      find an element in a JSON object

      +

      find an element in a JSON object Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

      +
      Note
      This method always returns end() when executed on a JSON type that is not an object.
      +
      Parameters
      + + +
      [in]keykey value of the element to search for.
      +
      +
      +
      Returns
      Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
      +

      @complexity Logarithmic in the size of the JSON object.

      +

      @liveexample{The example shows how find() is used.,find__key_type}

      +
      See also
      contains(KeyT&&) const – checks whether a key exists
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ flatten() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::flatten () const
      +
      +inline
      +
      + +

      return flattened JSON value

      +

      The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive. The original JSON value can be restored using the unflatten() function.

      +
      Returns
      an object that maps JSON pointers to primitive values
      +
      Note
      Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function.
      +

      @complexity Linear in the size the JSON value.

      +

      @liveexample{The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.,flatten}

      +
      See also
      unflatten() for the reverse function
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ flatten() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::flatten () const
      +
      +inline
      +
      + +

      return flattened JSON value

      +

      The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive. The original JSON value can be restored using the unflatten() function.

      +
      Returns
      an object that maps JSON pointers to primitive values
      +
      Note
      Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function.
      +

      @complexity Linear in the size the JSON value.

      +

      @liveexample{The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.,flatten}

      +
      See also
      unflatten() for the reverse function
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ from_bson() [1/6]

      + +
      +
      +
      +template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (A1 && a1,
      A2 && a2,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      Create a JSON value from an input in BSON format.

      +

      Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

      +

      The library maps BSON record types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BSON type BSON marker byte JSON value type
      double 0x01 number_float
      string 0x02 string
      document 0x03 object
      array 0x04 array
      binary 0x05 still unsupported
      undefined 0x06 still unsupported
      ObjectId 0x07 still unsupported
      boolean 0x08 boolean
      UTC Date-Time 0x09 still unsupported
      null 0x0A null
      Regular Expr. 0x0B still unsupported
      DB Pointer 0x0C still unsupported
      JavaScript Code 0x0D still unsupported
      Symbol 0x0E still unsupported
      JavaScript Code 0x0F still unsupported
      int32 0x10 number_integer
      Timestamp 0x11 still unsupported
      128-bit decimal float 0x13 still unsupported
      Max Key 0x7F still unsupported
      Min Key 0xFF still unsupported
      +
      Warning
      The mapping is incomplete. The unsupported mappings are indicated in the table above.
      +
      Parameters
      + + + + +
      [in]ian input in BSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + +
      parse_error.114if an unsupported BSON record type is encountered
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +to_bson(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      + +
      +
      + +

      ◆ from_bson() [2/6]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (const T * ptr,
      std::size_t len,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_bson() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (detail::input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      Create a JSON value from an input in BSON format.

      +

      Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

      +

      The library maps BSON record types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BSON type BSON marker byte JSON value type
      double 0x01 number_float
      string 0x02 string
      document 0x03 object
      array 0x04 array
      binary 0x05 still unsupported
      undefined 0x06 still unsupported
      ObjectId 0x07 still unsupported
      boolean 0x08 boolean
      UTC Date-Time 0x09 still unsupported
      null 0x0A null
      Regular Expr. 0x0B still unsupported
      DB Pointer 0x0C still unsupported
      JavaScript Code 0x0D still unsupported
      Symbol 0x0E still unsupported
      JavaScript Code 0x0F still unsupported
      int32 0x10 number_integer
      Timestamp 0x11 still unsupported
      128-bit decimal float 0x13 still unsupported
      Max Key 0x7F still unsupported
      Min Key 0xFF still unsupported
      +
      Warning
      The mapping is incomplete. The unsupported mappings are indicated in the table above.
      +
      Parameters
      + + + + +
      [in]ian input in BSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + +
      parse_error.114if an unsupported BSON record type is encountered
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +to_bson(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      + +
      +
      + +

      ◆ from_bson() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (detail::span_input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_bson() [5/6]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (InputType && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      Create a JSON value from an input in BSON format.

      +

      Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

      +

      The library maps BSON record types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BSON type BSON marker byte JSON value type
      double 0x01 number_float
      string 0x02 string
      document 0x03 object
      array 0x04 array
      binary 0x05 still unsupported
      undefined 0x06 still unsupported
      ObjectId 0x07 still unsupported
      boolean 0x08 boolean
      UTC Date-Time 0x09 still unsupported
      null 0x0A null
      Regular Expr. 0x0B still unsupported
      DB Pointer 0x0C still unsupported
      JavaScript Code 0x0D still unsupported
      Symbol 0x0E still unsupported
      JavaScript Code 0x0F still unsupported
      int32 0x10 number_integer
      Timestamp 0x11 still unsupported
      128-bit decimal float 0x13 still unsupported
      Max Key 0x7F still unsupported
      Min Key 0xFF still unsupported
      +
      Warning
      The mapping is incomplete. The unsupported mappings are indicated in the table above.
      +
      Parameters
      + + + + +
      [in]ian input in BSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + +
      parse_error.114if an unsupported BSON record type is encountered
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +to_bson(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      + +
      +
      + +

      ◆ from_bson() [6/6]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_bson (IteratorType first,
      IteratorType last,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      Create a JSON value from an input in BSON format.

      +

      Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

      +

      The library maps BSON record types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      BSON type BSON marker byte JSON value type
      double 0x01 number_float
      string 0x02 string
      document 0x03 object
      array 0x04 array
      binary 0x05 still unsupported
      undefined 0x06 still unsupported
      ObjectId 0x07 still unsupported
      boolean 0x08 boolean
      UTC Date-Time 0x09 still unsupported
      null 0x0A null
      Regular Expr. 0x0B still unsupported
      DB Pointer 0x0C still unsupported
      JavaScript Code 0x0D still unsupported
      Symbol 0x0E still unsupported
      JavaScript Code 0x0F still unsupported
      int32 0x10 number_integer
      Timestamp 0x11 still unsupported
      128-bit decimal float 0x13 still unsupported
      Max Key 0x7F still unsupported
      Min Key 0xFF still unsupported
      +
      Warning
      The mapping is incomplete. The unsupported mappings are indicated in the table above.
      +
      Parameters
      + + + + +
      [in]ian input in BSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + +
      parse_error.114if an unsupported BSON record type is encountered
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +to_bson(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      + +
      +
      + +

      ◆ from_cbor() [1/6]

      + +
      +
      +
      +template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (A1 && a1,
      A2 && a2,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in CBOR format

      +

      Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

      +

      The library maps CBOR types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CBOR type JSON value type first byte
      Integer number_unsigned 0x00..0x17
      Unsigned integer number_unsigned 0x18
      Unsigned integer number_unsigned 0x19
      Unsigned integer number_unsigned 0x1A
      Unsigned integer number_unsigned 0x1B
      Negative integer number_integer 0x20..0x37
      Negative integer number_integer 0x38
      Negative integer number_integer 0x39
      Negative integer number_integer 0x3A
      Negative integer number_integer 0x3B
      Negative integer number_integer 0x40..0x57
      UTF-8 string string 0x60..0x77
      UTF-8 string string 0x78
      UTF-8 string string 0x79
      UTF-8 string string 0x7A
      UTF-8 string string 0x7B
      UTF-8 string string 0x7F
      array array 0x80..0x97
      array array 0x98
      array array 0x99
      array array 0x9A
      array array 0x9B
      array array 0x9F
      map object 0xA0..0xB7
      map object 0xB8
      map object 0xB9
      map object 0xBA
      map object 0xBB
      map object 0xBF
      False false 0xF4
      True true 0xF5
      Null null 0xF6
      Half-Precision Float number_float 0xF9
      Single-Precision Float number_float 0xFA
      Double-Precision Float number_float 0xFB
      +
      Warning
      The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112):
        +
      • byte strings (0x40..0x5F)
      • +
      • date/time (0xC0..0xC1)
      • +
      • bignum (0xC2..0xC3)
      • +
      • decimal fraction (0xC4)
      • +
      • bigfloat (0xC5)
      • +
      • tagged items (0xC6..0xD4, 0xD8..0xDB)
      • +
      • expected conversions (0xD5..0xD7)
      • +
      • simple values (0xE0..0xF3, 0xF8)
      • +
      • undefined (0xF7)
      • +
      +
      +
      +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113).
      +
      Note
      Any CBOR output created to_cbor can be successfully parsed by from_cbor.
      +
      Parameters
      + + + + +
      [in]ian input in CBOR format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

      +
      See also
      http://cbor.io
      +
      +to_cbor(const basic_json&) for the analogous serialization
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_cbor() [2/6]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (const T * ptr,
      std::size_t len,
      const bool strict = true,
      const bool allow_exceptions = true,
      const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_cbor() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (detail::input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in CBOR format

      +

      Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

      +

      The library maps CBOR types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CBOR type JSON value type first byte
      Integer number_unsigned 0x00..0x17
      Unsigned integer number_unsigned 0x18
      Unsigned integer number_unsigned 0x19
      Unsigned integer number_unsigned 0x1A
      Unsigned integer number_unsigned 0x1B
      Negative integer number_integer 0x20..0x37
      Negative integer number_integer 0x38
      Negative integer number_integer 0x39
      Negative integer number_integer 0x3A
      Negative integer number_integer 0x3B
      Negative integer number_integer 0x40..0x57
      UTF-8 string string 0x60..0x77
      UTF-8 string string 0x78
      UTF-8 string string 0x79
      UTF-8 string string 0x7A
      UTF-8 string string 0x7B
      UTF-8 string string 0x7F
      array array 0x80..0x97
      array array 0x98
      array array 0x99
      array array 0x9A
      array array 0x9B
      array array 0x9F
      map object 0xA0..0xB7
      map object 0xB8
      map object 0xB9
      map object 0xBA
      map object 0xBB
      map object 0xBF
      False false 0xF4
      True true 0xF5
      Null null 0xF6
      Half-Precision Float number_float 0xF9
      Single-Precision Float number_float 0xFA
      Double-Precision Float number_float 0xFB
      +
      Warning
      The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112):
        +
      • byte strings (0x40..0x5F)
      • +
      • date/time (0xC0..0xC1)
      • +
      • bignum (0xC2..0xC3)
      • +
      • decimal fraction (0xC4)
      • +
      • bigfloat (0xC5)
      • +
      • tagged items (0xC6..0xD4, 0xD8..0xDB)
      • +
      • expected conversions (0xD5..0xD7)
      • +
      • simple values (0xE0..0xF3, 0xF8)
      • +
      • undefined (0xF7)
      • +
      +
      +
      +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113).
      +
      Note
      Any CBOR output created to_cbor can be successfully parsed by from_cbor.
      +
      Parameters
      + + + + +
      [in]ian input in CBOR format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

      +
      See also
      http://cbor.io
      +
      +to_cbor(const basic_json&) for the analogous serialization
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_cbor() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (detail::span_input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true,
      const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_cbor() [5/6]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (InputType && i,
      const bool strict = true,
      const bool allow_exceptions = true,
      const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in CBOR format

      +

      Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

      +

      The library maps CBOR types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CBOR type JSON value type first byte
      Integer number_unsigned 0x00..0x17
      Unsigned integer number_unsigned 0x18
      Unsigned integer number_unsigned 0x19
      Unsigned integer number_unsigned 0x1A
      Unsigned integer number_unsigned 0x1B
      Negative integer number_integer 0x20..0x37
      Negative integer number_integer 0x38
      Negative integer number_integer 0x39
      Negative integer number_integer 0x3A
      Negative integer number_integer 0x3B
      Byte string binary 0x40..0x57
      Byte string binary 0x58
      Byte string binary 0x59
      Byte string binary 0x5A
      Byte string binary 0x5B
      UTF-8 string string 0x60..0x77
      UTF-8 string string 0x78
      UTF-8 string string 0x79
      UTF-8 string string 0x7A
      UTF-8 string string 0x7B
      UTF-8 string string 0x7F
      array array 0x80..0x97
      array array 0x98
      array array 0x99
      array array 0x9A
      array array 0x9B
      array array 0x9F
      map object 0xA0..0xB7
      map object 0xB8
      map object 0xB9
      map object 0xBA
      map object 0xBB
      map object 0xBF
      False false 0xF4
      True true 0xF5
      Null null 0xF6
      Half-Precision Float number_float 0xF9
      Single-Precision Float number_float 0xFA
      Double-Precision Float number_float 0xFB
      +
      Warning
      The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112):
        +
      • date/time (0xC0..0xC1)
      • +
      • bignum (0xC2..0xC3)
      • +
      • decimal fraction (0xC4)
      • +
      • bigfloat (0xC5)
      • +
      • expected conversions (0xD5..0xD7)
      • +
      • simple values (0xE0..0xF3, 0xF8)
      • +
      • undefined (0xF7)
      • +
      +
      +
      +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113).
      +
      Note
      Any CBOR output created to_cbor can be successfully parsed by from_cbor.
      +
      Parameters
      + + + + + +
      [in]ian input in CBOR format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      [in]tag_handlerhow to treat CBOR tags (optional, error by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

      +
      See also
      http://cbor.io
      +
      +to_cbor(const basic_json&) for the analogous serialization
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0; added tag_handler parameter since 3.9.0.
      + +
      +
      + +

      ◆ from_cbor() [6/6]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_cbor (IteratorType first,
      IteratorType last,
      const bool strict = true,
      const bool allow_exceptions = true,
      const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
      )
      +
      +inlinestatic
      +
      + +

      + +
      +
      + +

      ◆ from_msgpack() [1/6]

      + +
      +
      +
      +template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (A1 && a1,
      A2 && a2,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in MessagePack format

      +

      Deserializes a given input i to a JSON value using the MessagePack serialization format.

      +

      The library maps MessagePack types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      MessagePack type JSON value type first byte
      positive fixint number_unsigned 0x00..0x7F
      fixmap object 0x80..0x8F
      fixarray array 0x90..0x9F
      fixstr string 0xA0..0xBF
      nil null 0xC0
      false false 0xC2
      true true 0xC3
      float 32 number_float 0xCA
      float 64 number_float 0xCB
      uint 8 number_unsigned 0xCC
      uint 16 number_unsigned 0xCD
      uint 32 number_unsigned 0xCE
      uint 64 number_unsigned 0xCF
      int 8 number_integer 0xD0
      int 16 number_integer 0xD1
      int 32 number_integer 0xD2
      int 64 number_integer 0xD3
      str 8 string 0xD9
      str 16 string 0xDA
      str 32 string 0xDB
      array 16 array 0xDC
      array 32 array 0xDD
      map 16 object 0xDE
      map 32 object 0xDF
      negative fixint number_integer 0xE0-0xFF
      +
      Warning
      The mapping is incomplete in the sense that not all MessagePack types can be converted to a JSON value. The following MessagePack types are not supported and will yield parse errors:
        +
      • bin 8 - bin 32 (0xC4..0xC6)
      • +
      • ext 8 - ext 32 (0xC7..0xC9)
      • +
      • fixext 1 - fixext 16 (0xD4..0xD8)
      • +
      +
      +
      Note
      Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      Parameters
      + + + + +
      [in]ian input in MessagePack format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

      +
      See also
      http://msgpack.org
      +
      +to_msgpack(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_msgpack() [2/6]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (const T * ptr,
      std::size_t len,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_msgpack() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (detail::input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in MessagePack format

      +

      Deserializes a given input i to a JSON value using the MessagePack serialization format.

      +

      The library maps MessagePack types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      MessagePack type JSON value type first byte
      positive fixint number_unsigned 0x00..0x7F
      fixmap object 0x80..0x8F
      fixarray array 0x90..0x9F
      fixstr string 0xA0..0xBF
      nil null 0xC0
      false false 0xC2
      true true 0xC3
      float 32 number_float 0xCA
      float 64 number_float 0xCB
      uint 8 number_unsigned 0xCC
      uint 16 number_unsigned 0xCD
      uint 32 number_unsigned 0xCE
      uint 64 number_unsigned 0xCF
      int 8 number_integer 0xD0
      int 16 number_integer 0xD1
      int 32 number_integer 0xD2
      int 64 number_integer 0xD3
      str 8 string 0xD9
      str 16 string 0xDA
      str 32 string 0xDB
      array 16 array 0xDC
      array 32 array 0xDD
      map 16 object 0xDE
      map 32 object 0xDF
      negative fixint number_integer 0xE0-0xFF
      +
      Warning
      The mapping is incomplete in the sense that not all MessagePack types can be converted to a JSON value. The following MessagePack types are not supported and will yield parse errors:
        +
      • bin 8 - bin 32 (0xC4..0xC6)
      • +
      • ext 8 - ext 32 (0xC7..0xC9)
      • +
      • fixext 1 - fixext 16 (0xD4..0xD8)
      • +
      +
      +
      Note
      Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      Parameters
      + + + + +
      [in]ian input in MessagePack format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

      +
      See also
      http://msgpack.org
      +
      +to_msgpack(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_msgpack() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (detail::span_input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_msgpack() [5/6]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (InputType && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in MessagePack format

      +

      Deserializes a given input i to a JSON value using the MessagePack serialization format.

      +

      The library maps MessagePack types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      MessagePack type JSON value type first byte
      positive fixint number_unsigned 0x00..0x7F
      fixmap object 0x80..0x8F
      fixarray array 0x90..0x9F
      fixstr string 0xA0..0xBF
      nil null 0xC0
      false false 0xC2
      true true 0xC3
      float 32 number_float 0xCA
      float 64 number_float 0xCB
      uint 8 number_unsigned 0xCC
      uint 16 number_unsigned 0xCD
      uint 32 number_unsigned 0xCE
      uint 64 number_unsigned 0xCF
      int 8 number_integer 0xD0
      int 16 number_integer 0xD1
      int 32 number_integer 0xD2
      int 64 number_integer 0xD3
      str 8 string 0xD9
      str 16 string 0xDA
      str 32 string 0xDB
      array 16 array 0xDC
      array 32 array 0xDD
      map 16 object 0xDE
      map 32 object 0xDF
      bin 8 binary 0xC4
      bin 16 binary 0xC5
      bin 32 binary 0xC6
      ext 8 binary 0xC7
      ext 16 binary 0xC8
      ext 32 binary 0xC9
      fixext 1 binary 0xD4
      fixext 2 binary 0xD5
      fixext 4 binary 0xD6
      fixext 8 binary 0xD7
      fixext 16 binary 0xD8
      negative fixint number_integer 0xE0-0xFF
      +
      Note
      Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      Parameters
      + + + + +
      [in]ian input in MessagePack format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

      +
      See also
      http://msgpack.org
      +
      +to_msgpack(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_msgpack() [6/6]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_msgpack (IteratorType first,
      IteratorType last,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in MessagePack format

      +

      Deserializes a given input i to a JSON value using the MessagePack serialization format.

      +

      The library maps MessagePack types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      MessagePack type JSON value type first byte
      positive fixint number_unsigned 0x00..0x7F
      fixmap object 0x80..0x8F
      fixarray array 0x90..0x9F
      fixstr string 0xA0..0xBF
      nil null 0xC0
      false false 0xC2
      true true 0xC3
      float 32 number_float 0xCA
      float 64 number_float 0xCB
      uint 8 number_unsigned 0xCC
      uint 16 number_unsigned 0xCD
      uint 32 number_unsigned 0xCE
      uint 64 number_unsigned 0xCF
      int 8 number_integer 0xD0
      int 16 number_integer 0xD1
      int 32 number_integer 0xD2
      int 64 number_integer 0xD3
      str 8 string 0xD9
      str 16 string 0xDA
      str 32 string 0xDB
      array 16 array 0xDC
      array 32 array 0xDD
      map 16 object 0xDE
      map 32 object 0xDF
      negative fixint number_integer 0xE0-0xFF
      +
      Warning
      The mapping is incomplete in the sense that not all MessagePack types can be converted to a JSON value. The following MessagePack types are not supported and will yield parse errors:
        +
      • bin 8 - bin 32 (0xC4..0xC6)
      • +
      • ext 8 - ext 32 (0xC7..0xC9)
      • +
      • fixext 1 - fixext 16 (0xD4..0xD8)
      • +
      +
      +
      Note
      Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      Parameters
      + + + + +
      [in]ian input in MessagePack format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
      parse_error.113if a string was expected as map key, but not found
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

      +
      See also
      http://msgpack.org
      +
      +to_msgpack(const basic_json&) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_ubjson() [1/6]

      + +
      +
      +
      +template<typename A1 , typename A2 , detail::enable_if_t< std::is_constructible< detail::input_adapter, A1, A2 >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (A1 && a1,
      A2 && a2,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in UBJSON format

      +

      Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

      +

      The library maps UBJSON types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      UBJSON type JSON value type marker
      no-op no value, next value is read N
      null null Z
      false false F
      true true T
      float32 number_float d
      float64 number_float D
      uint8 number_unsigned U
      int8 number_integer i
      int16 number_integer I
      int32 number_integer l
      int64 number_integer L
      string string S
      char string C
      array array (optimized values are supported) [
      object object (optimized values are supported) {
      +
      Note
      The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
      +
      Parameters
      + + + + +
      [in]ian input in UBJSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if a parse error occurs
      parse_error.113if a string could not be parsed successfully
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

      +
      See also
      http://ubjson.org
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 3.1.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_ubjson() [2/6]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (const T * ptr,
      std::size_t len,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_ubjson() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (detail::input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in UBJSON format

      +

      Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

      +

      The library maps UBJSON types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      UBJSON type JSON value type marker
      no-op no value, next value is read N
      null null Z
      false false F
      true true T
      float32 number_float d
      float64 number_float D
      uint8 number_unsigned U
      int8 number_integer i
      int16 number_integer I
      int32 number_integer l
      int64 number_integer L
      string string S
      char string C
      array array (optimized values are supported) [
      object object (optimized values are supported) {
      +
      Note
      The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
      +
      Parameters
      + + + + +
      [in]ian input in UBJSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if a parse error occurs
      parse_error.113if a string could not be parsed successfully
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

      +
      See also
      http://ubjson.org
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 3.1.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_ubjson() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (detail::span_input_adapter && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ from_ubjson() [5/6]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (InputType && i,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in UBJSON format

      +

      Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

      +

      The library maps UBJSON types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      UBJSON type JSON value type marker
      no-op no value, next value is read N
      null null Z
      false false F
      true true T
      float32 number_float d
      float64 number_float D
      uint8 number_unsigned U
      int8 number_integer i
      int16 number_integer I
      int32 number_integer l
      int64 number_integer L
      high-precision number number_integer, number_unsigned, or number_float - depends on number string 'H'
      string string S
      char string C
      array array (optimized values are supported) [
      object object (optimized values are supported) {
      +
      Note
      The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
      +
      Parameters
      + + + + +
      [in]ian input in UBJSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if a parse error occurs
      parse_error.113if a string could not be parsed successfully
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

      +
      See also
      http://ubjson.org
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 3.1.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ from_ubjson() [6/6]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::from_ubjson (IteratorType first,
      IteratorType last,
      const bool strict = true,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      create a JSON value from an input in UBJSON format

      +

      Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

      +

      The library maps UBJSON types to JSON value types as follows:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      UBJSON type JSON value type marker
      no-op no value, next value is read N
      null null Z
      false false F
      true true T
      float32 number_float d
      float64 number_float D
      uint8 number_unsigned U
      int8 number_integer i
      int16 number_integer I
      int32 number_integer l
      int64 number_integer L
      string string S
      char string C
      array array (optimized values are supported) [
      object object (optimized values are supported) {
      +
      Note
      The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
      +
      Parameters
      + + + + +
      [in]ian input in UBJSON format convertible to an input adapter
      [in]strictwhether to expect the input to be consumed until EOF (true by default)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
      parse_error.112if a parse error occurs
      parse_error.113if a string could not be parsed successfully
      +
      +
      +

      @complexity Linear in the size of the input i.

      +

      @liveexample{The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

      +
      See also
      http://ubjson.org
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the related CBOR format
      +
      +from_msgpack(detail::input_adapter&&, const bool, const bool) for the related MessagePack format
      +
      +from_bson(detail::input_adapter&&, const bool, const bool) for the related BSON format
      +
      Since
      version 3.1.0; added allow_exceptions parameter since 3.2.0
      + +
      +
      + +

      ◆ front() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reference nlohmann::basic_json::front ()
      +
      +inline
      +
      + +

      access the first element

      +

      Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

      +
      Returns
      In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on null value
      +
      +
      +

      @liveexample{The following code shows an example for front().,front}

      +
      See also
      back() – access the last element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ front() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reference nlohmann::basic_json::front ()
      +
      +inline
      +
      + +

      access the first element

      +

      Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

      +
      Returns
      In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on null value
      +
      +
      +

      @liveexample{The following code shows an example for front().,front}

      +
      See also
      back() – access the last element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ front() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reference nlohmann::basic_json::front () const
      +
      +inline
      +
      + +

      access the first element

      +

      Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

      +
      Returns
      In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on null value
      +
      +
      +

      @liveexample{The following code shows an example for front().,front}

      +
      See also
      back() – access the last element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ front() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reference nlohmann::basic_json::front () const
      +
      +inline
      +
      + +

      access the first element

      +

      Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

      +
      Returns
      In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, or boolean values, a reference to the value is returned.
      +

      @complexity Constant.

      +
      Precondition
      The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
      +
      Postcondition
      The JSON value remains unchanged.
      +
      Exceptions
      + + +
      invalid_iterator.214when called on null value
      +
      +
      +

      @liveexample{The following code shows an example for front().,front}

      +
      See also
      back() – access the last element
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get() [1/12]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< std::is_same< typename std::remove_const< BasicJsonType >::type, basic_json_t >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::get () const
      +
      +inline
      +
      + +

      get special-case overload

      +

      This overloads avoids a lot of template boilerplate, it can be seen as the identity method

      +
      Template Parameters
      + + +
      BasicJsonType== basic_json
      +
      +
      +
      Returns
      a copy of *this
      +

      @complexity Constant.

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [2/12]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< not std::is_same< BasicJsonType, basic_json >::value and detail::is_basic_json< BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      BasicJsonType nlohmann::basic_json::get () const
      +
      +inline
      +
      + +

      get special-case overload

      +

      This overloads converts the current basic_json in a different basic_json type

      +
      Template Parameters
      + + +
      BasicJsonType== basic_json
      +
      +
      +
      Returns
      a copy of *this, converted into
      +
      Template Parameters
      + + +
      BasicJsonType@complexity Depending on the implementation of the called from_json() method.
      +
      +
      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ get() [3/12]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< std::is_same< typename std::remove_const< BasicJsonType >::type, basic_json_t >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::get () const
      +
      +inline
      +
      + +

      get special-case overload

      +

      This overloads avoids a lot of template boilerplate, it can be seen as the identity method

      +
      Template Parameters
      + + +
      BasicJsonType== basic_json
      +
      +
      +
      Returns
      a copy of *this
      +

      @complexity Constant.

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [4/12]

      + +
      +
      +
      +template<typename BasicJsonType , detail::enable_if_t< !std::is_same< BasicJsonType, basic_json >::value &&detail::is_basic_json< BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      BasicJsonType nlohmann::basic_json::get () const
      +
      +inline
      +
      + +

      get special-case overload

      +

      This overloads converts the current basic_json in a different basic_json type

      +
      Template Parameters
      + + +
      BasicJsonType== basic_json
      +
      +
      +
      Returns
      a copy of *this, converted into
      +
      Template Parameters
      + + +
      BasicJsonType@complexity Depending on the implementation of the called from_json() method.
      +
      +
      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ get() [5/12]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      constexpr auto nlohmann::basic_json::get () const -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>()) +
      +
      +inlineconstexprnoexcept
      +
      + +

      get a pointer value (explicit)

      +

      get a pointer value (explicit) Explicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      The pointer becomes invalid if the underlying JSON object changes.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

      +
      See also
      get_ptr() for explicit pointer-member access
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get() [6/12]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      constexpr auto nlohmann::basic_json::get () const -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>()) +
      +
      +inlineconstexprnoexcept
      +
      + +

      get a pointer value (explicit)

      +

      get a pointer value (explicit) Explicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      The pointer becomes invalid if the underlying JSON object changes.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

      +
      See also
      get_ptr() for explicit pointer-member access
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get() [7/12]

      + +
      +
      +
      +template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not std::is_same< basic_json_t, ValueType >::value and detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      ValueType nlohmann::basic_json::get () const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit); special case

      +

      Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      This overloads is chosen if:

      +
      Note
      If json_serializer<ValueType> has both overloads of from_json(), this one is chosen.
      +
      Template Parameters
      + + + +
      ValueTypeCVthe provided value type
      ValueTypethe returned value type
      +
      +
      +
      Returns
      copy of the JSON value, converted to ValueType
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [8/12]

      + +
      +
      +
      +template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< !std::is_same< basic_json_t, ValueType >::value &&detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      ValueType nlohmann::basic_json::get () const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit); special case

      +

      Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      This overloads is chosen if:

      +
      Note
      If json_serializer<ValueType> has both overloads of from_json(), this one is chosen.
      +
      Template Parameters
      + + + +
      ValueTypeCVthe provided value type
      ValueTypethe returned value type
      +
      +
      +
      Returns
      copy of the JSON value, converted to ValueType
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [9/12]

      + +
      +
      +
      +template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< not detail::is_basic_json< ValueType >::value and detail::has_from_json< basic_json_t, ValueType >::value and not detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      ValueType nlohmann::basic_json::get () const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit)

      +

      Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      ValueType ret;
      + +
      return ret;
      +

      This overloads is chosen if:

      +
      Template Parameters
      + + + +
      ValueTypeCVthe provided value type
      ValueTypethe returned value type
      +
      +
      +
      Returns
      copy of the JSON value, converted to ValueType
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [10/12]

      + +
      +
      +
      +template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>, detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value &&!detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + +
      ValueType nlohmann::basic_json::get () const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit)

      +

      Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      ValueType ret;
      + +
      return ret;
      +

      This overloads is chosen if:

      +
      Template Parameters
      + + + +
      ValueTypeCVthe provided value type
      ValueTypethe returned value type
      +
      +
      +
      Returns
      copy of the JSON value, converted to ValueType
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}

      +
      Since
      version 2.1.0
      + +
      +
      + +

      ◆ get() [11/12]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      auto nlohmann::basic_json::get () -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>()) +
      +
      +inlinenoexcept
      +
      + +

      get a pointer value (explicit)

      +

      Explicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      The pointer becomes invalid if the underlying JSON object changes.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

      +
      See also
      get_ptr() for explicit pointer-member access
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get() [12/12]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      auto nlohmann::basic_json::get () -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>()) +
      +
      +inlinenoexcept
      +
      + +

      get a pointer value (explicit)

      +

      Explicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      The pointer becomes invalid if the underlying JSON object changes.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

      +
      See also
      get_ptr() for explicit pointer-member access
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get_allocator() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      static allocator_type nlohmann::basic_json::get_allocator ()
      +
      +inlinestatic
      +
      + +

      returns the allocator associated with the container

      + +
      +
      + +

      ◆ get_allocator() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      static allocator_type nlohmann::basic_json::get_allocator ()
      +
      +inlinestatic
      +
      + +

      returns the allocator associated with the container

      + +
      +
      + +

      ◆ get_binary() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      binary_t& nlohmann::basic_json::get_binary ()
      +
      +inline
      +
      +
      Returns
      reference to the binary value
      +
      Exceptions
      + + +
      type_error.302if the value is not binary
      +
      +
      +
      See also
      is_binary() to check if the value is binary
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ get_binary() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const binary_t& nlohmann::basic_json::get_binary () const
      +
      +inline
      +
      + +

      +
      Returns
      reference to the binary value
      +
      Exceptions
      + + +
      type_error.302if the value is not binary
      +
      +
      +
      See also
      is_binary() to check if the value is binary
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ get_ptr() [1/4]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value and std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      constexpr auto nlohmann::basic_json::get_ptr () const -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
      +
      +inlineconstexprnoexcept
      +
      + +

      get a pointer value (implicit)

      +

      get a pointer value (implicit) Implicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the pointee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get_ptr() [2/4]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      constexpr auto nlohmann::basic_json::get_ptr () const -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
      +
      +inlineconstexprnoexcept
      +
      + +

      get a pointer value (implicit)

      +

      get a pointer value (implicit) Implicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the pointee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get_ptr() [3/4]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      auto nlohmann::basic_json::get_ptr () -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
      +
      +inlinenoexcept
      +
      + +

      get a pointer value (implicit)

      +

      Implicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the pointee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get_ptr() [4/4]

      + +
      +
      +
      +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      auto nlohmann::basic_json::get_ptr () -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
      +
      +inlinenoexcept
      +
      + +

      get a pointer value (implicit)

      +

      Implicit pointer access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the pointee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
      +
      +
      +
      Returns
      pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ get_ref() [1/4]

      + +
      +
      +
      +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      ReferenceType nlohmann::basic_json::get_ref ()
      +
      +inline
      +
      + +

      get a reference value (implicit)

      +

      Implicit reference access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the referee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
      +
      +
      +
      Returns
      reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
      +
      Exceptions
      + + +
      type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example shows several calls to get_ref().,get_ref}

      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ get_ref() [2/4]

      + +
      +
      +
      +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      ReferenceType nlohmann::basic_json::get_ref ()
      +
      +inline
      +
      + +

      get a reference value (implicit)

      +

      Implicit reference access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the referee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
      +
      +
      +
      Returns
      reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
      +
      Exceptions
      + + +
      type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example shows several calls to get_ref().,get_ref}

      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ get_ref() [3/4]

      + +
      +
      +
      +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value and std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      ReferenceType nlohmann::basic_json::get_ref () const
      +
      +inline
      +
      + +

      get a reference value (implicit)

      +

      get a reference value (implicit) Implicit reference access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the referee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
      +
      +
      +
      Returns
      reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
      +
      Exceptions
      + + +
      type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example shows several calls to get_ref().,get_ref}

      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ get_ref() [4/4]

      + +
      +
      +
      +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      ReferenceType nlohmann::basic_json::get_ref () const
      +
      +inline
      +
      + +

      get a reference value (implicit)

      +

      get a reference value (implicit) Implicit reference access to the internally stored JSON value. No copies are made.

      +
      Warning
      Writing data to the referee of the result yields an undefined state.
      +
      Template Parameters
      + + +
      ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
      +
      +
      +
      Returns
      reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
      +
      Exceptions
      + + +
      type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example shows several calls to get_ref().,get_ref}

      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ get_to() [1/5]

      + +
      +
      +
      +template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      Array nlohmann::basic_json::get_to (T(&) v[N]) const
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ get_to() [2/5]

      + +
      +
      +
      +template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      Array nlohmann::basic_json::get_to (T(&) v[N]) const
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ get_to() [3/5]

      + +
      +
      +
      +template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      ValueType& nlohmann::basic_json::get_to (ValueType & v) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ get_to() [4/5]

      + +
      +
      +
      +template<typename ValueType , detail::enable_if_t< not detail::is_basic_json< ValueType >::value and detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      ValueType& nlohmann::basic_json::get_to (ValueType & v) const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit)

      +

      Explicit type conversion between the JSON value and a compatible value. The value is filled into the input parameter by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      ValueType v;
      + +

      This overloads is chosen if:

      +
      Template Parameters
      + + +
      ValueTypethe input parameter type.
      +
      +
      +
      Returns
      the input parameter, allowing chaining calls.
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get_to}

      +
      Since
      version 3.3.0
      + +
      +
      + +

      ◆ get_to() [5/5]

      + +
      +
      +
      +template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      ValueType& nlohmann::basic_json::get_to (ValueType & v) const
      +
      +inlinenoexcept
      +
      + +

      get a value (explicit)

      +

      Explicit type conversion between the JSON value and a compatible value. The value is filled into the input parameter by calling the json_serializer<ValueType> from_json() method.

      +

      The function is equivalent to executing

      ValueType v;
      + +

      This overloads is chosen if:

      +
      Template Parameters
      + + +
      ValueTypethe input parameter type.
      +
      +
      +
      Returns
      the input parameter, allowing chaining calls.
      +
      Exceptions
      + + +
      whatjson_serializer<ValueType> from_json() method throws
      +
      +
      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get_to}

      +
      Since
      version 3.3.0
      + +
      +
      + +

      ◆ insert() [1/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::basic_json::insert (const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from range [first, last).

      +
      Parameters
      + + + +
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + +
      type_error.309if called on JSON values other than objects; example: "cannot use insert() with string"
      invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      +
      +
      +

      @complexity Logarithmic: O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how insert() is used.,insert__range_object}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ insert() [2/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::basic_json::insert (const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from range [first, last).

      +
      Parameters
      + + + +
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + +
      type_error.309if called on JSON values other than objects; example: "cannot use insert() with string"
      invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      +
      +
      +

      @complexity Logarithmic: O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how insert() is used.,insert__range_object}

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ insert() [3/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      basic_json && val 
      )
      +
      +inline
      +
      + +

      inserts element

      +

      inserts element Inserts element val before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the inserted val.
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Constant plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [4/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      basic_json && val 
      )
      +
      +inline
      +
      + +

      inserts element

      +

      inserts element Inserts element val before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the inserted val.
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Constant plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [5/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      inserts element

      +

      Inserts element val before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the inserted val.
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Constant plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [6/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      inserts element

      +

      Inserts element val before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the inserted val.
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Constant plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [7/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from range [first, last) before iterator pos.

      +
      Parameters
      + + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      invalid_iterator.211if first or last are iterators into container for which insert is called; example: "passed iterators may not +belong to container"
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if first==last
      +

      @complexity Linear in std::distance(first, last) plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__range}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [8/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from range [first, last) before iterator pos.

      +
      Parameters
      + + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      invalid_iterator.211if first or last are iterators into container for which insert is called; example: "passed iterators may not +belong to container"
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if first==last
      +

      @complexity Linear in std::distance(first, last) plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__range}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [9/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      initializer_list_t ilist 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from initializer list ilist before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]ilistinitializer list to insert the values from
      +
      +
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if ilist is empty
      +

      @complexity Linear in ilist.size() plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__ilist}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [10/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      initializer_list_t ilist 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts elements from initializer list ilist before iterator pos.

      +
      Parameters
      + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]ilistinitializer list to insert the values from
      +
      +
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if ilist is empty
      +

      @complexity Linear in ilist.size() plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__ilist}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [11/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      size_type cnt,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts cnt copies of val before iterator pos.

      +
      Parameters
      + + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]cntnumber of copies of val to insert
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if cnt==0
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Linear in cnt plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__count}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert() [12/12]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert (const_iterator pos,
      size_type cnt,
      const basic_jsonval 
      )
      +
      +inline
      +
      + +

      inserts elements

      +

      Inserts cnt copies of val before iterator pos.

      +
      Parameters
      + + + + +
      [in]positerator before which the content will be inserted; may be the end() iterator
      [in]cntnumber of copies of val to insert
      [in]valelement to insert
      +
      +
      +
      Returns
      iterator pointing to the first element inserted, or pos if cnt==0
      +
      Exceptions
      + + + +
      type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
      invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
      +
      +
      +

      @complexity Linear in cnt plus linear in the distance between pos and end of the container.

      +

      @liveexample{The example shows how insert() is used.,insert__count}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ insert_iterator() [1/2]

      + +
      +
      +
      +template<typename... Args>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert_iterator (const_iterator pos,
      Args &&... args 
      )
      +
      +inline
      +
      +

      Helper for insertion of an iterator

      Note
      : This uses std::distance to support GCC 4.8, see https://github.com/nlohmann/json/pull/1257
      + +
      +
      + +

      ◆ insert_iterator() [2/2]

      + +
      +
      +
      +template<typename... Args>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iterator nlohmann::basic_json::insert_iterator (const_iterator pos,
      Args &&... args 
      )
      +
      +inline
      +
      +

      Helper for insertion of an iterator

      Note
      : This uses std::distance to support GCC 4.8, see https://github.com/nlohmann/json/pull/1257
      + +
      +
      + +

      ◆ is_array() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_array () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an array

      +

      This function returns true if and only if the JSON value is an array.

      +
      Returns
      true if type is array, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_array() for all JSON types.,is_array}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_array() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_array () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an array

      +

      This function returns true if and only if the JSON value is an array.

      +
      Returns
      true if type is array, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_array() for all JSON types.,is_array}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_binary()

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_binary () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a binary array

      +

      This function returns true if and only if the JSON value is a binary array.

      +
      Returns
      true if type is binary array, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_binary() for all JSON types.,is_binary}

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ is_boolean() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_boolean () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a boolean

      +

      This function returns true if and only if the JSON value is a boolean.

      +
      Returns
      true if type is boolean, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_boolean() for all JSON types.,is_boolean}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_boolean() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_boolean () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a boolean

      +

      This function returns true if and only if the JSON value is a boolean.

      +
      Returns
      true if type is boolean, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_boolean() for all JSON types.,is_boolean}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_discarded() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_discarded () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is discarded

      +

      This function returns true if and only if the JSON value was discarded during parsing with a callback function (see parser_callback_t).

      +
      Note
      This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases.
      +
      Returns
      true if type is discarded, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_discarded() for all JSON types.,is_discarded}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_discarded() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_discarded () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is discarded

      +

      This function returns true if and only if the JSON value was discarded during parsing with a callback function (see parser_callback_t).

      +
      Note
      This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases.
      +
      Returns
      true if type is discarded, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_discarded() for all JSON types.,is_discarded}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_null() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_null () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is null

      +

      This function returns true if and only if the JSON value is null.

      +
      Returns
      true if type is null, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_null() for all JSON types.,is_null}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_null() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_null () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is null

      +

      This function returns true if and only if the JSON value is null.

      +
      Returns
      true if type is null, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_null() for all JSON types.,is_null}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a number

      +

      This function returns true if and only if the JSON value is a number. This includes both integer (signed and unsigned) and floating-point values.

      +
      Returns
      true if type is number (regardless whether integer, unsigned integer or floating-type), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number() for all JSON types.,is_number}

      +
      See also
      is_number_integer() – check if value is an integer or unsigned integer number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a number

      +

      This function returns true if and only if the JSON value is a number. This includes both integer (signed and unsigned) and floating-point values.

      +
      Returns
      true if type is number (regardless whether integer, unsigned integer or floating-type), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number() for all JSON types.,is_number}

      +
      See also
      is_number_integer() – check if value is an integer or unsigned integer number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number_float() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_float () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a floating-point number

      +

      This function returns true if and only if the JSON value is a floating-point number. This excludes signed and unsigned integer values.

      +
      Returns
      true if type is a floating-point number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_float() for all JSON types.,is_number_float}

      +
      See also
      is_number() – check if value is number
      +
      +is_number_integer() – check if value is an integer number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number_float() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_float () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a floating-point number

      +

      This function returns true if and only if the JSON value is a floating-point number. This excludes signed and unsigned integer values.

      +
      Returns
      true if type is a floating-point number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_float() for all JSON types.,is_number_float}

      +
      See also
      is_number() – check if value is number
      +
      +is_number_integer() – check if value is an integer number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number_integer() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_integer () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an integer number

      +

      This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.

      +
      Returns
      true if type is an integer or unsigned integer number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_integer() for all JSON types.,is_number_integer}

      +
      See also
      is_number() – check if value is a number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number_integer() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_integer () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an integer number

      +

      This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.

      +
      Returns
      true if type is an integer or unsigned integer number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_integer() for all JSON types.,is_number_integer}

      +
      See also
      is_number() – check if value is a number
      +
      +is_number_unsigned() – check if value is an unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_number_unsigned() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_unsigned () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an unsigned integer number

      +

      This function returns true if and only if the JSON value is an unsigned integer number. This excludes floating-point and signed integer values.

      +
      Returns
      true if type is an unsigned integer number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_unsigned() for all JSON types.,is_number_unsigned}

      +
      See also
      is_number() – check if value is a number
      +
      +is_number_integer() – check if value is an integer or unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ is_number_unsigned() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_number_unsigned () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an unsigned integer number

      +

      This function returns true if and only if the JSON value is an unsigned integer number. This excludes floating-point and signed integer values.

      +
      Returns
      true if type is an unsigned integer number, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_number_unsigned() for all JSON types.,is_number_unsigned}

      +
      See also
      is_number() – check if value is a number
      +
      +is_number_integer() – check if value is an integer or unsigned integer number
      +
      +is_number_float() – check if value is a floating-point number
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ is_object() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_object () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an object

      +

      This function returns true if and only if the JSON value is an object.

      +
      Returns
      true if type is object, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_object() for all JSON types.,is_object}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_object() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_object () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is an object

      +

      This function returns true if and only if the JSON value is an object.

      +
      Returns
      true if type is object, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_object() for all JSON types.,is_object}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_primitive() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_primitive () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether type is primitive

      +

      This function returns true if and only if the JSON type is primitive (string, number, boolean, or null).

      +
      Returns
      true if type is primitive (string, number, boolean, or null), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_primitive() for all JSON types.,is_primitive}

      +
      See also
      is_structured() – returns whether JSON value is structured
      +
      +is_null() – returns whether JSON value is null
      +
      +is_string() – returns whether JSON value is a string
      +
      +is_boolean() – returns whether JSON value is a boolean
      +
      +is_number() – returns whether JSON value is a number
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_primitive() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_primitive () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether type is primitive

      +

      This function returns true if and only if the JSON type is primitive (string, number, boolean, or null).

      +
      Returns
      true if type is primitive (string, number, boolean, or null), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_primitive() for all JSON types.,is_primitive}

      +
      See also
      is_structured() – returns whether JSON value is structured
      +
      +is_null() – returns whether JSON value is null
      +
      +is_string() – returns whether JSON value is a string
      +
      +is_boolean() – returns whether JSON value is a boolean
      +
      +is_number() – returns whether JSON value is a number
      +
      +is_binary() – returns whether JSON value is a binary array
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_string() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_string () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a string

      +

      This function returns true if and only if the JSON value is a string.

      +
      Returns
      true if type is string, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_string() for all JSON types.,is_string}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_string() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_string () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether value is a string

      +

      This function returns true if and only if the JSON value is a string.

      +
      Returns
      true if type is string, false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_string() for all JSON types.,is_string}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_structured() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_structured () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether type is structured

      +

      This function returns true if and only if the JSON type is structured (array or object).

      +
      Returns
      true if type is structured (array or object), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_structured() for all JSON types.,is_structured}

      +
      See also
      is_primitive() – returns whether value is primitive
      +
      +is_array() – returns whether value is an array
      +
      +is_object() – returns whether value is an object
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ is_structured() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::basic_json::is_structured () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether type is structured

      +

      This function returns true if and only if the JSON type is structured (array or object).

      +
      Returns
      true if type is structured (array or object), false otherwise.
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies is_structured() for all JSON types.,is_structured}

      +
      See also
      is_primitive() – returns whether value is primitive
      +
      +is_array() – returns whether value is an array
      +
      +is_object() – returns whether value is an object
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ items() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iteration_proxy<const_iterator> nlohmann::basic_json::items () const
      +
      +inlinenoexcept
      +
      + +

      helper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without items() function:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without items() function:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with items() function:

      +
      for (auto& el : j_object.items())
      +
      {
      +
      std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
      +
      }
      +

      The items() function also allows to use structured bindings (C++17):

      +
      for (auto& [key, val] : j_object.items())
      +
      {
      +
      std::cout << "key: " << key << ", value:" << val << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the function is used.,items}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 3.1.0, structured bindings support since 3.5.0.
      + +
      +
      + +

      ◆ items() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iteration_proxy<const_iterator> nlohmann::basic_json::items () const
      +
      +inlinenoexcept
      +
      + +

      helper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without items() function:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without items() function:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with items() function:

      +
      for (auto& el : j_object.items())
      +
      {
      +
      std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
      +
      }
      +

      The items() function also allows to use structured bindings (C++17):

      +
      for (auto& [key, val] : j_object.items())
      +
      {
      +
      std::cout << "key: " << key << ", value:" << val << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the function is used.,items}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 3.1.0, structured bindings support since 3.5.0.
      + +
      +
      + +

      ◆ items() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iteration_proxy<iterator> nlohmann::basic_json::items ()
      +
      +inlinenoexcept
      +
      + +

      helper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without items() function:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without items() function:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with items() function:

      +
      for (auto& el : j_object.items())
      +
      {
      +
      std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
      +
      }
      +

      The items() function also allows to use structured bindings (C++17):

      +
      for (auto& [key, val] : j_object.items())
      +
      {
      +
      std::cout << "key: " << key << ", value:" << val << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the function is used.,items}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 3.1.0, structured bindings support since 3.5.0.
      + +
      +
      + +

      ◆ items() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      iteration_proxy<iterator> nlohmann::basic_json::items ()
      +
      +inlinenoexcept
      +
      + +

      helper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without items() function:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without items() function:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with items() function:

      +
      for (auto& el : j_object.items())
      +
      {
      +
      std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
      +
      }
      +

      The items() function also allows to use structured bindings (C++17):

      +
      for (auto& [key, val] : j_object.items())
      +
      {
      +
      std::cout << "key: " << key << ", value:" << val << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
      +
      Warning
      Using items() on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See https://github.com/nlohmann/json/issues/2040 for more information.
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the function is used.,items}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Since
      version 3.1.0, structured bindings support since 3.5.0.
      + +
      +
      + +

      ◆ iterator_wrapper() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static iteration_proxy<const_iterator> nlohmann::basic_json::iterator_wrapper (const_reference ref)
      +
      +inlinestaticnoexcept
      +
      + +

      wrapper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without iterator_wrapper:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without iterator proxy:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with iterator proxy:

      +
      for (auto it : json::iterator_wrapper(j_object))
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example).
      +
      Parameters
      + + +
      [in]refreference to a JSON value
      +
      +
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the wrapper is used,iterator_wrapper}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Note
      The name of this function is not yet final and may change in the future.
      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
      + +
      +
      + +

      ◆ iterator_wrapper() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static iteration_proxy<const_iterator> nlohmann::basic_json::iterator_wrapper (const_reference ref)
      +
      +inlinestaticnoexcept
      +
      + +

      wrapper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without iterator_wrapper:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without iterator proxy:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with iterator proxy:

      +
      for (auto it : json::iterator_wrapper(j_object))
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example).
      +
      Parameters
      + + +
      [in]refreference to a JSON value
      +
      +
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the wrapper is used,iterator_wrapper}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Note
      The name of this function is not yet final and may change in the future.
      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
      + +
      +
      + +

      ◆ iterator_wrapper() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static iteration_proxy<iterator> nlohmann::basic_json::iterator_wrapper (reference ref)
      +
      +inlinestaticnoexcept
      +
      + +

      wrapper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without iterator_wrapper:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without iterator proxy:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with iterator proxy:

      +
      for (auto it : json::iterator_wrapper(j_object))
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example).
      +
      Parameters
      + + +
      [in]refreference to a JSON value
      +
      +
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the wrapper is used,iterator_wrapper}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Note
      The name of this function is not yet final and may change in the future.
      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
      + +
      +
      + +

      ◆ iterator_wrapper() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static iteration_proxy<iterator> nlohmann::basic_json::iterator_wrapper (reference ref)
      +
      +inlinestaticnoexcept
      +
      + +

      wrapper to access iterator member functions in range-based for

      +

      This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

      +

      For loop without iterator_wrapper:

      +
      for (auto it = j_object.begin(); it != j_object.end(); ++it)
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +

      Range-based for loop without iterator proxy:

      +
      for (auto it : j_object)
      +
      {
      +
      // "it" is of type json::reference and has no key() member
      +
      std::cout << "value: " << it << '\n';
      +
      }
      +

      Range-based for loop with iterator proxy:

      +
      for (auto it : json::iterator_wrapper(j_object))
      +
      {
      +
      std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
      +
      }
      +
      Note
      When iterating over an array, key() will return the index of the element as string (see example).
      +
      Parameters
      + + +
      [in]refreference to a JSON value
      +
      +
      +
      Returns
      iteration proxy object wrapping ref with an interface to use in range-based for loops
      +

      @liveexample{The following code shows how the wrapper is used,iterator_wrapper}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

      +

      @complexity Constant.

      +
      Note
      The name of this function is not yet final and may change in the future.
      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
      + +
      +
      + +

      ◆ max_size() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      size_type nlohmann::basic_json::max_size () const
      +
      +inlinenoexcept
      +
      + +

      returns the maximum possible number of elements

      +

      Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
      Value type return value
      null 0 (same as size())
      boolean 1 (same as size())
      string 1 (same as size())
      number 1 (same as size())
      object result of function object_t::max_size()
      array result of function array_t::max_size()
      +
      +

      @liveexample{The following code calls max_size() on the different value types. Note the output is implementation specific.,max_size}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of returning b.size() where b is the largest possible JSON value.
      • +
      +
      See also
      size() – returns the number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ max_size() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      size_type nlohmann::basic_json::max_size () const
      +
      +inlinenoexcept
      +
      + +

      returns the maximum possible number of elements

      +

      Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
      Value type return value
      null 0 (same as size())
      boolean 1 (same as size())
      string 1 (same as size())
      number 1 (same as size())
      binary 1 (same as size())
      object result of function object_t::max_size()
      array result of function array_t::max_size()
      +
      +

      @liveexample{The following code calls max_size() on the different value types. Note the output is implementation specific.,max_size}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of returning b.size() where b is the largest possible JSON value.
      • +
      +
      See also
      size() – returns the number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ merge_patch() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::merge_patch (const basic_jsonapply_patch)
      +
      +inline
      +
      + +

      applies a JSON Merge Patch

      +

      The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

      +

      The function implements the following algorithm from Section 2 of RFC 7396 (JSON Merge Patch):

      +
      define MergePatch(Target, Patch):
      +
      if Patch is an Object:
      +
      if Target is not an Object:
      +
      Target = {} // Ignore the contents and set it to an empty Object
      +
      for each Name/Value pair in Patch:
      +
      if Value is null:
      +
      if Name exists in Target:
      +
      remove the Name/Value pair from Target
      +
      else:
      +
      Target[Name] = MergePatch(Target[Name], Value)
      +
      return Target
      +
      else:
      +
      return Patch
      +

      Thereby, Target is the current object; that is, the patch is applied to the current value.

      +
      Parameters
      + + +
      [in]apply_patchthe patch to apply
      +
      +
      +

      @complexity Linear in the lengths of patch.

      +

      @liveexample{The following code shows how a JSON Merge Patch is applied to a JSON document.,merge_patch}

      +
      See also
      patch – apply a JSON patch
      +
      +RFC 7396 (JSON Merge Patch)
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ merge_patch() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::merge_patch (const basic_jsonapply_patch)
      +
      +inline
      +
      + +

      applies a JSON Merge Patch

      +

      The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

      +

      The function implements the following algorithm from Section 2 of RFC 7396 (JSON Merge Patch):

      +
      define MergePatch(Target, Patch):
      +
      if Patch is an Object:
      +
      if Target is not an Object:
      +
      Target = {} // Ignore the contents and set it to an empty Object
      +
      for each Name/Value pair in Patch:
      +
      if Value is null:
      +
      if Name exists in Target:
      +
      remove the Name/Value pair from Target
      +
      else:
      +
      Target[Name] = MergePatch(Target[Name], Value)
      +
      return Target
      +
      else:
      +
      return Patch
      +

      Thereby, Target is the current object; that is, the patch is applied to the current value.

      +
      Parameters
      + + +
      [in]apply_patchthe patch to apply
      +
      +
      +

      @complexity Linear in the lengths of patch.

      +

      @liveexample{The following code shows how a JSON Merge Patch is applied to a JSON document.,merge_patch}

      +
      See also
      patch – apply a JSON patch
      +
      +RFC 7396 (JSON Merge Patch)
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ meta() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::meta ()
      +
      +inlinestatic
      +
      + +

      returns version information on the library

      +

      This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

      +
      Returns
      JSON object holding version information + + + + + + + + + + + + + + +
      key description
      compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
      copyright The copyright line for the library as string.
      name The name of the library as string.
      platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
      url The URL of the project as string.
      version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).
      +
      +

      @liveexample{The following code shows an example output of the meta() function.,meta}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @complexity Constant.

      +
      Since
      2.1.0
      + +
      +
      + +

      ◆ meta() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::meta ()
      +
      +inlinestatic
      +
      + +

      returns version information on the library

      +

      This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

      +
      Returns
      JSON object holding version information + + + + + + + + + + + + + + +
      key description
      compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
      copyright The copyright line for the library as string.
      name The name of the library as string.
      platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
      url The URL of the project as string.
      version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).
      +
      +

      @liveexample{The following code shows an example output of the meta() function.,meta}

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @complexity Constant.

      +
      Since
      2.1.0
      + +
      +
      + +

      ◆ object() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::object (initializer_list_t init = {})
      +
      +inlinestatic
      +
      + +

      explicitly create an object from an initializer list

      +

      Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.

      +
      Note
      This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t), there are no cases which can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t).
      +
      Parameters
      + + +
      [in]initinitializer list to create an object from (optional)
      +
      +
      +
      Returns
      JSON object value
      +
      Exceptions
      + + +
      type_error.301if init is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t), an array would have been created from the passed initializer list init. See example below.
      +
      +
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows an example for the object function.,object}

      +
      See also
      basic_json(initializer_list_t, bool, value_t) – create a JSON value from an initializer list
      +
      +array(initializer_list_t) – create a JSON array value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ object() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::object (initializer_list_t init = {})
      +
      +inlinestatic
      +
      + +

      explicitly create an object from an initializer list

      +

      Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.

      +
      Note
      This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t), there are no cases which can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t).
      +
      Parameters
      + + +
      [in]initinitializer list to create an object from (optional)
      +
      +
      +
      Returns
      JSON object value
      +
      Exceptions
      + + +
      type_error.301if init is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t), an array would have been created from the passed initializer list init. See example below.
      +
      +
      +

      @complexity Linear in the size of init.

      +

      @exceptionsafety Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

      +

      @liveexample{The following code shows an example for the object function.,object}

      +
      See also
      basic_json(initializer_list_t, bool, value_t) – create a JSON value from an initializer list
      +
      +array(initializer_list_t) – create a JSON array value from an initializer list
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator value_t() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr nlohmann::basic_json::operator value_t () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return the type of the JSON value (implicit)

      +

      Implicitly return the type of the JSON value as a value from the value_t enumeration.

      +
      Returns
      the type of the JSON value
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies the value_t operator for all JSON types.,operator__value_t}

      +
      See also
      type() – return the type of the JSON value (explicit)
      +
      +type_name() – return the type as string
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator value_t() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr nlohmann::basic_json::operator value_t () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return the type of the JSON value (implicit)

      +

      Implicitly return the type of the JSON value as a value from the value_t enumeration.

      +
      Returns
      the type of the JSON value
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies the value_t operator for all JSON types.,operator__value_t}

      +
      See also
      type() – return the type of the JSON value (explicit)
      +
      +type_name() – return the type as string
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator ValueType() [1/2]

      + +
      +
      +
      +template<typename ValueType , typename std::enable_if< not std::is_pointer< ValueType >::value and not std::is_same< ValueType, detail::json_ref< basic_json >>::value and not std::is_same< ValueType, typename string_t::value_type >::value and not detail::is_basic_json< ValueType >::value and not std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value and not std::is_same< ValueType, typename std::string_view >::value and detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      nlohmann::basic_json::operator ValueType () const
      +
      +inline
      +
      + +

      get a value (implicit)

      +

      Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.

      +
      Template Parameters
      + + +
      ValueTypenon-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string.
      +
      +
      +
      Returns
      copy of the JSON value, converted to type ValueType
      +
      Exceptions
      + + +
      type_error.302in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below
      +
      +
      +

      @complexity Linear in the size of the JSON value.

      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator ValueType() [2/2]

      + +
      +
      +
      +template<typename ValueType , typename std::enable_if< !std::is_pointer< ValueType >::value &&!std::is_same< ValueType, detail::json_ref< basic_json >>::value &&!std::is_same< ValueType, typename string_t::value_type >::value &&!detail::is_basic_json< ValueType >::value &&!std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value &&detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + +
      JSON_EXPLICIT nlohmann::basic_json::operator ValueType () const
      +
      +inline
      +
      + +

      get a value (implicit)

      +

      Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.

      +
      Template Parameters
      + + +
      ValueTypenon-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string.
      +
      +
      +
      Returns
      copy of the JSON value, converted to type ValueType
      +
      Exceptions
      + + +
      type_error.302in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below
      +
      +
      +

      @complexity Linear in the size of the JSON value.

      +

      @liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [1/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (basic_json && val)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [2/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (basic_json && val)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [3/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (const basic_jsonval)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [4/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (const basic_jsonval)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [5/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (const typename object_t::value_type & val)
      +
      +inline
      +
      + +

      add an object to an object

      +

      add an object to an object Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON object
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [6/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (const typename object_t::value_type & val)
      +
      +inline
      +
      + +

      add an object to an object

      +

      add an object to an object Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON object
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator+=() [7/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (initializer_list_t init)
      +
      +inline
      +
      + +

      add an object to an object

      +

      add an object to an object This function allows to use push_back with an initializer list. In case

      +
        +
      1. the current value is an object,
      2. +
      3. the initializer list init contains only two elements, and
      4. +
      5. the first element of init is a string,
      6. +
      +

      init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

      +
      Parameters
      + + +
      [in]initan initializer list
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +
      Note
      This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
      +

      @liveexample{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

      + +
      +
      + +

      ◆ operator+=() [8/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator+= (initializer_list_t init)
      +
      +inline
      +
      + +

      add an object to an object

      +

      add an object to an object This function allows to use push_back with an initializer list. In case

      +
        +
      1. the current value is an object,
      2. +
      3. the initializer list init contains only two elements, and
      4. +
      5. the first element of init is a string,
      6. +
      +

      init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

      +
      Parameters
      + + +
      [in]initan initializer list
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +
      Note
      This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
      +

      @liveexample{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

      + +
      +
      + +

      ◆ operator=() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      basic_json& nlohmann::basic_json::operator= (basic_json other)
      +
      +inlinenoexcept
      +
      + +

      copy assignment

      +

      Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the swap() member function.

      +
      Parameters
      + + +
      [in]othervalue to copy from
      +
      +
      +

      @complexity Linear.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      +

      @liveexample{The code below shows and example for the copy assignment. It creates a copy of value a which is then swapped with b. Finally\, the copy of a (which is the null value after the swap) is destroyed.,basic_json__copyassignment}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator=() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      basic_json& nlohmann::basic_json::operator= (basic_json other)
      +
      +inlinenoexcept
      +
      + +

      copy assignment

      +

      Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the swap() member function.

      +
      Parameters
      + + +
      [in]othervalue to copy from
      +
      +
      +

      @complexity Linear.

      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is linear.
      • +
      +

      @liveexample{The code below shows and example for the copy assignment. It creates a copy of value a which is then swapped with b. Finally\, the copy of a (which is the null value after the swap) is destroyed.,basic_json__copyassignment}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [1/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (const json_pointerptr)
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. Similar to operator[](const typename object_t::key_type&), null values are created in arrays and objects if necessary.

      +

      In particular:

        +
      • If the JSON pointer points to an object key that does not exist, it is created an filled with a null value before a reference to it is returned.
      • +
      • If the JSON pointer points to an array index that does not exist, it is created an filled with a null value before a reference to it is returned. All indices between the current maximum and the given index are also filled with null.
      • +
      • The special value - is treated as a synonym for the index past the end.
      • +
      +
      Parameters
      + + +
      [in]ptra JSON pointer
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +

      @complexity Constant.

      +
      Exceptions
      + + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      out_of_range.404if the JSON pointer can not be resolved
      +
      +
      +

      @liveexample{The behavior is shown in the example.,operatorjson_pointer}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator[]() [2/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (const json_pointerptr)
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. Similar to operator[](const typename object_t::key_type&), null values are created in arrays and objects if necessary.

      +

      In particular:

        +
      • If the JSON pointer points to an object key that does not exist, it is created an filled with a null value before a reference to it is returned.
      • +
      • If the JSON pointer points to an array index that does not exist, it is created an filled with a null value before a reference to it is returned. All indices between the current maximum and the given index are also filled with null.
      • +
      • The special value - is treated as a synonym for the index past the end.
      • +
      +
      Parameters
      + + +
      [in]ptra JSON pointer
      +
      +
      +
      Returns
      reference to the element pointed to by ptr
      +

      @complexity Constant.

      +
      Exceptions
      + + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      out_of_range.404if the JSON pointer can not be resolved
      +
      +
      +

      @liveexample{The behavior is shown in the example.,operatorjson_pointer}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator[]() [3/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (const json_pointerptr) const
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON value; no null values are created. In particular, the the special value - yields an exception.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      const reference to the element pointed to by ptr
      +

      @complexity Constant.

      +
      Exceptions
      + + + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      out_of_range.402if the array index '-' is used
      out_of_range.404if the JSON pointer can not be resolved
      +
      +
      +

      @liveexample{The behavior is shown in the example.,operatorjson_pointer_const}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator[]() [4/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (const json_pointerptr) const
      +
      +inline
      +
      + +

      access specified element via JSON Pointer

      +

      Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON value; no null values are created. In particular, the special value - yields an exception.

      +
      Parameters
      + + +
      [in]ptrJSON pointer to the desired element
      +
      +
      +
      Returns
      const reference to the element pointed to by ptr
      +

      @complexity Constant.

      +
      Exceptions
      + + + + + +
      parse_error.106if an array index begins with '0'
      parse_error.109if an array index was not a number
      out_of_range.402if the array index '-' is used
      out_of_range.404if the JSON pointer can not be resolved
      +
      +
      +

      @liveexample{The behavior is shown in the example.,operatorjson_pointer_const}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator[]() [5/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      access specified object element

      +

      Returns a reference to the element at with specified key key.

      +
      Note
      If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [6/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (const typename object_t::key_type & key)
      +
      +inline
      +
      + +

      access specified object element

      +

      Returns a reference to the element at with specified key key.

      +
      Note
      If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [7/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (const typename object_t::key_type & key) const
      +
      +inline
      +
      + +

      read-only access specified object element

      +

      Returns a const reference to the element at with specified key key. No bounds checking is performed.

      +
      Warning
      If the element with key key does not exist, the behavior is undefined.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Precondition
      The element with key key must exist. This precondition is enforced with an assertion.
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [8/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (const typename object_t::key_type & key) const
      +
      +inline
      +
      + +

      read-only access specified object element

      +

      Returns a const reference to the element at with specified key key. No bounds checking is performed.

      +
      Warning
      If the element with key key does not exist, the behavior is undefined.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Precondition
      The element with key key must exist. This precondition is enforced with an assertion.
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [9/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (size_type idx)
      +
      +inline
      +
      + +

      access specified array element

      +

      Returns a reference to the element at specified location idx.

      +
      Note
      If idx is beyond the range of the array (i.e., idx >= size()), then the array is silently filled up with null values to make idx a valid reference to the last stored element.
      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      reference to the element at index idx
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an array or null; in that cases, using the [] operator with an index makes no sense.
      +
      +
      +

      @complexity Constant if idx is in the range of the array. Otherwise linear in idx - size().

      +

      @liveexample{The example below shows how array elements can be read and written using [] operator. Note the addition of null values.,operatorarray__size_type}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [10/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (size_type idx)
      +
      +inline
      +
      + +

      access specified array element

      +

      Returns a reference to the element at specified location idx.

      +
      Note
      If idx is beyond the range of the array (i.e., idx >= size()), then the array is silently filled up with null values to make idx a valid reference to the last stored element.
      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      reference to the element at index idx
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an array or null; in that cases, using the [] operator with an index makes no sense.
      +
      +
      +

      @complexity Constant if idx is in the range of the array. Otherwise linear in idx - size().

      +

      @liveexample{The example below shows how array elements can be read and written using [] operator. Note the addition of null values.,operatorarray__size_type}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [11/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (size_type idx) const
      +
      +inline
      +
      + +

      access specified array element

      +

      Returns a const reference to the element at specified location idx.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      const reference to the element at index idx
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an array; in that case, using the [] operator with an index makes no sense.
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how array elements can be read using the [] operator.,operatorarray__size_type_const}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [12/16]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (size_type idx) const
      +
      +inline
      +
      + +

      access specified array element

      +

      Returns a const reference to the element at specified location idx.

      +
      Parameters
      + + +
      [in]idxindex of the element to access
      +
      +
      +
      Returns
      const reference to the element at index idx
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an array; in that case, using the [] operator with an index makes no sense.
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how array elements can be read using the [] operator.,operatorarray__size_type_const}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator[]() [13/16]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (T * key)
      +
      +inline
      +
      + +

      access specified object element

      +

      Returns a reference to the element at with specified key key.

      +
      Note
      If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ operator[]() [14/16]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::basic_json::operator[] (T * key)
      +
      +inline
      +
      + +

      access specified object element

      +

      Returns a reference to the element at with specified key key.

      +
      Note
      If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      reference to the element at key key
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ operator[]() [15/16]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (T * key) const
      +
      +inline
      +
      + +

      read-only access specified object element

      +

      Returns a const reference to the element at with specified key key. No bounds checking is performed.

      +
      Warning
      If the element with key key does not exist, the behavior is undefined.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Precondition
      The element with key key must exist. This precondition is enforced with an assertion.
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ operator[]() [16/16]

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + + + + + +
      const_reference nlohmann::basic_json::operator[] (T * key) const
      +
      +inline
      +
      + +

      read-only access specified object element

      +

      Returns a const reference to the element at with specified key key. No bounds checking is performed.

      +
      Warning
      If the element with key key does not exist, the behavior is undefined.
      +
      Parameters
      + + +
      [in]keykey of the element to access
      +
      +
      +
      Returns
      const reference to the element at key key
      +
      Precondition
      The element with key key must exist. This precondition is enforced with an assertion.
      +
      Exceptions
      + + +
      type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +value() for access by value with a default value
      +
      Since
      version 1.1.0
      + +
      +
      + +

      ◆ parse() [1/5]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::parse (detail::input_adapter && i,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      deserialize from a compatible input

      +

      This function reads from a compatible input. Examples are:

        +
      • an array of 1-byte values
      • +
      • strings with character/literal type with size of 1 byte
      • +
      • input streams
      • +
      • container with contiguous storage of 1-byte values. Compatible container types include std::vector, std::string, std::array, std::valarray, and std::initializer_list. Furthermore, C-style arrays can be used with std::begin()/std::end(). User-defined containers can be used as long as they implement random-access iterators and a contiguous storage.
      • +
      +
      Precondition
      Each element of the container has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
      +
      +The container storage is contiguous. Violating this precondition yields undefined behavior. This precondition is enforced with an assertion.
      +
      Warning
      There is no way to enforce all preconditions at compile-time. If the function is called with a noncompliant container and with assertions switched off, the behavior is undefined and will most likely yield segmentation violation.
      +
      Parameters
      + + + + +
      [in]iinput to read from
      [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the parse() function reading from an array.,parse__array__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function with and without callback function.,parse__string__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function reading from a contiguous container.,parse__contiguouscontainer__parser_callback_t}

      +
      Since
      version 2.0.3 (contiguous containers)
      + +
      +
      + +

      ◆ parse() [2/5]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::parse (detail::span_input_adapter && i,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ parse() [3/5]

      + +
      +
      +
      +template<typename InputType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::parse (InputType && i,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +

      deserialize from a compatible input

      +
      Template Parameters
      + + +
      InputTypeA compatible input, for instance
        +
      • an std::istream object
      • +
      • a FILE pointer
      • +
      • a C-style array of characters
      • +
      • a pointer to a null-terminated string of single byte characters
      • +
      • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
      • +
      +
      +
      +
      +
      Parameters
      + + + + + +
      [in]iinput to read from
      [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb or reading from the input i has a super-linear complexity.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the parse() function reading from an array.,parse__array__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function with and without callback function.,parse__string__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}

      +

      @liveexample{The example below demonstrates the parse() function reading from a contiguous container.,parse__contiguouscontainer__parser_callback_t}

      +
      Since
      version 2.0.3 (contiguous containers); version 3.9.0 allowed to ignore comments.
      + +
      +
      + +

      ◆ parse() [4/5]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static basic_json nlohmann::basic_json::parse (IteratorType first,
      IteratorType last,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions = true 
      )
      +
      +inlinestatic
      +
      + +

      deserialize from an iterator range with contiguous storage

      +

      This function reads from an iterator range of a container with contiguous storage of 1-byte values. Compatible container types include std::vector, std::string, std::array, std::valarray, and std::initializer_list. Furthermore, C-style arrays can be used with std::begin()/std::end(). User-defined containers can be used as long as they implement random-access iterators and a contiguous storage.

      +
      Precondition
      The iterator range is contiguous. Violating this precondition yields undefined behavior. This precondition is enforced with an assertion.
      +
      +Each element in the range has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
      +
      Warning
      There is no way to enforce all preconditions at compile-time. If the function is called with noncompliant iterators and with assertions switched off, the behavior is undefined and will most likely yield segmentation violation.
      +
      Template Parameters
      + + +
      IteratorTypeiterator of container with contiguous storage
      +
      +
      +
      Parameters
      + + + + + +
      [in]firstbegin of the range to parse (included)
      [in]lastend of the range to parse (excluded)
      [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.101in case of an unexpected token
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb has a super-linear complexity.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the parse() function reading from an iterator range.,parse__iteratortype__parser_callback_t}

      +
      Since
      version 2.0.3
      + +
      +
      + +

      ◆ parse() [5/5]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json::parse (IteratorType first,
      IteratorType last,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +

      deserialize from a pair of character iterators

      +

      The value_type of the iterator must be a integral type with size of 1, 2 or 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32.

      +
      Parameters
      + + + + + + +
      [in]firstiterator to start of character range
      [in]lastiterator to end of character range
      [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
      [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
      [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
      +
      +
      +
      Returns
      deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
      +
      Exceptions
      + + + + +
      parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      + +
      +
      + +

      ◆ patch() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      basic_json nlohmann::basic_json::patch (const basic_jsonjson_patch) const
      +
      +inline
      +
      + +

      applies a JSON patch

      +

      JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

      +
      Parameters
      + + +
      [in]json_patchJSON patch document
      +
      +
      +
      Returns
      patched document
      +
      Note
      The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value.
      +
      Exceptions
      + + + + + + + +
      parse_error.104if the JSON patch does not consist of an array of objects
      parse_error.105if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path"
      out_of_range.401if an array index is out of range.
      out_of_range.403if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not +found"
      out_of_range.405if JSON pointer has no parent ("add", "remove", "move")
      other_error.501if "test" operation was unsuccessful
      +
      +
      +

      @complexity Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.

      +

      @liveexample{The following code shows how a JSON patch is applied to a value.,patch}

      +
      See also
      diff – create a JSON patch by comparing two JSON values
      +
      +RFC 6902 (JSON Patch)
      +
      +RFC 6901 (JSON Pointer)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ patch() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      basic_json nlohmann::basic_json::patch (const basic_jsonjson_patch) const
      +
      +inline
      +
      + +

      applies a JSON patch

      +

      JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

      +
      Parameters
      + + +
      [in]json_patchJSON patch document
      +
      +
      +
      Returns
      patched document
      +
      Note
      The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value.
      +
      Exceptions
      + + + + + + + +
      parse_error.104if the JSON patch does not consist of an array of objects
      parse_error.105if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path"
      out_of_range.401if an array index is out of range.
      out_of_range.403if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not +found"
      out_of_range.405if JSON pointer has no parent ("add", "remove", "move")
      other_error.501if "test" operation was unsuccessful
      +
      +
      +

      @complexity Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.

      +

      @liveexample{The following code shows how a JSON patch is applied to a value.,patch}

      +
      See also
      diff – create a JSON patch by comparing two JSON values
      +
      +RFC 6902 (JSON Patch)
      +
      +RFC 6901 (JSON Pointer)
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ push_back() [1/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (basic_json && val)
      +
      +inline
      +
      + +

      add an object to an array

      +

      Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [2/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (basic_json && val)
      +
      +inline
      +
      + +

      add an object to an array

      +

      Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [3/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (const basic_jsonval)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [4/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (const basic_jsonval)
      +
      +inline
      +
      + +

      add an object to an array

      +

      add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON array
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [5/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (const typename object_t::value_type & val)
      +
      +inline
      +
      + +

      add an object to an object

      +

      Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON object
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [6/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (const typename object_t::value_type & val)
      +
      +inline
      +
      + +

      add an object to an object

      +

      Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

      +
      Parameters
      + + +
      [in]valthe value to add to the JSON object
      +
      +
      +
      Exceptions
      + + +
      type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
      +
      +
      +

      @complexity Logarithmic in the size of the container, O(log(size())).

      +

      @liveexample{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ push_back() [7/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (initializer_list_t init)
      +
      +inline
      +
      + +

      add an object to an object

      +

      This function allows to use push_back with an initializer list. In case

      +
        +
      1. the current value is an object,
      2. +
      3. the initializer list init contains only two elements, and
      4. +
      5. the first element of init is a string,
      6. +
      +

      init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

      +
      Parameters
      + + +
      [in]initan initializer list
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +
      Note
      This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
      +

      @liveexample{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

      + +
      +
      + +

      ◆ push_back() [8/8]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::push_back (initializer_list_t init)
      +
      +inline
      +
      + +

      add an object to an object

      +

      This function allows to use push_back with an initializer list. In case

      +
        +
      1. the current value is an object,
      2. +
      3. the initializer list init contains only two elements, and
      4. +
      5. the first element of init is a string,
      6. +
      +

      init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

      +
      Parameters
      + + +
      [in]initan initializer list
      +
      +
      +

      @complexity Linear in the size of the initializer list init.

      +
      Note
      This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
      +

      @liveexample{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

      + +
      +
      + +

      ◆ rbegin() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::rbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to the last element

      +

      Returns a const iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
      • +
      +

      @liveexample{The following code shows an example for crbegin().,crbegin}

      +
      See also
      rbegin() – returns a reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rbegin() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::rbegin () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to the last element

      +

      Returns a const iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
      • +
      +

      @liveexample{The following code shows an example for crbegin().,crbegin}

      +
      See also
      rbegin() – returns a reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rbegin() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reverse_iterator nlohmann::basic_json::rbegin ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the reverse-beginning

      +

      Returns an iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of reverse_iterator(end()).
      • +
      +

      @liveexample{The following code shows an example for rbegin().,rbegin}

      +
      See also
      crbegin() – returns a const reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rbegin() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reverse_iterator nlohmann::basic_json::rbegin ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the reverse-beginning

      +

      Returns an iterator to the reverse-beginning; that is, the last element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of reverse_iterator(end()).
      • +
      +

      @liveexample{The following code shows an example for rbegin().,rbegin}

      +
      See also
      crbegin() – returns a const reverse iterator to the beginning
      +
      +rend() – returns a reverse iterator to the end
      +
      +crend() – returns a const reverse iterator to the end
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rend() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::rend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to one before the first

      +

      Returns a const reverse iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rend().
      • +
      +

      @liveexample{The following code shows an example for crend().,crend}

      +
      See also
      rend() – returns a reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rend() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      const_reverse_iterator nlohmann::basic_json::rend () const
      +
      +inlinenoexcept
      +
      + +

      returns a const reverse iterator to one before the first

      +

      Returns a const reverse iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of const_cast<const basic_json&>(*this).rend().
      • +
      +

      @liveexample{The following code shows an example for crend().,crend}

      +
      See also
      rend() – returns a reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rend() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reverse_iterator nlohmann::basic_json::rend ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the reverse-end

      +

      Returns an iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of reverse_iterator(begin()).
      • +
      +

      @liveexample{The following code shows an example for rend().,rend}

      +
      See also
      crend() – returns a const reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ rend() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      reverse_iterator nlohmann::basic_json::rend ()
      +
      +inlinenoexcept
      +
      + +

      returns an iterator to the reverse-end

      +

      Returns an iterator to the reverse-end; that is, one before the first element.

      +
      + +
      +Illustration from cppreference.com
      +

      @complexity Constant.

      +

      @requirement This function helps basic_json satisfying the ReversibleContainer requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of reverse_iterator(begin()).
      • +
      +

      @liveexample{The following code shows an example for rend().,rend}

      +
      See also
      crend() – returns a const reverse iterator to the end
      +
      +rbegin() – returns a reverse iterator to the beginning
      +
      +crbegin() – returns a const reverse iterator to the beginning
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ sax_parse() [1/5]

      + +
      +
      +
      +template<typename SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::sax_parse (detail::input_adapter && i,
      SAX * sax,
      input_format_t format = input_format_t::json,
      const bool strict = true 
      )
      +
      +inlinestatic
      +
      + +

      generate SAX events

      +

      The SAX event lister must follow the interface of json_sax.

      +

      This function reads from a compatible input. Examples are:

        +
      • an array of 1-byte values
      • +
      • strings with character/literal type with size of 1 byte
      • +
      • input streams
      • +
      • container with contiguous storage of 1-byte values. Compatible container types include std::vector, std::string, std::array, std::valarray, and std::initializer_list. Furthermore, C-style arrays can be used with std::begin()/std::end(). User-defined containers can be used as long as they implement random-access iterators and a contiguous storage.
      • +
      +
      Precondition
      Each element of the container has a size of 1 byte. Violating this precondition yields undefined behavior. This precondition is enforced with a static assertion.
      +
      +The container storage is contiguous. Violating this precondition yields undefined behavior. This precondition is enforced with an assertion.
      +
      Warning
      There is no way to enforce all preconditions at compile-time. If the function is called with a noncompliant container and with assertions switched off, the behavior is undefined and will most likely yield segmentation violation.
      +
      Parameters
      + + + + + +
      [in]iinput to read from
      [in,out]saxSAX event listener
      [in]formatthe format to parse (JSON, CBOR, MessagePack, or UBJSON)
      [in]strictwhether the input has to be consumed completely
      +
      +
      +
      Returns
      return value of the last processed SAX event
      +
      Exceptions
      + + + + +
      parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the SAX consumer sax has a super-linear complexity.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the sax_parse() function reading from string and processing the events with a user-defined SAX event consumer.,sax_parse}

      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ sax_parse() [2/5]

      + +
      +
      +
      +template<typename SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::sax_parse (detail::span_input_adapter && i,
      SAX * sax,
      input_format_t format = input_format_t::json,
      const bool strict = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ sax_parse() [3/5]

      + +
      +
      +
      +template<typename InputType , typename SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::sax_parse (InputType && i,
      SAX * sax,
      input_format_t format = input_format_t::json,
      const bool strict = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +

      generate SAX events

      +

      The SAX event lister must follow the interface of json_sax.

      +

      This function reads from a compatible input. Examples are:

        +
      • an std::istream object
      • +
      • a FILE pointer
      • +
      • a C-style array of characters
      • +
      • a pointer to a null-terminated string of single byte characters
      • +
      • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
      • +
      +
      Parameters
      + + + + + + +
      [in]iinput to read from
      [in,out]saxSAX event listener
      [in]formatthe format to parse (JSON, CBOR, MessagePack, or UBJSON)
      [in]strictwhether the input has to be consumed completely
      [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default); only applies to the JSON file format.
      +
      +
      +
      Returns
      return value of the last processed SAX event
      +
      Exceptions
      + + + + +
      parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the SAX consumer sax has a super-linear complexity.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below demonstrates the sax_parse() function reading from string and processing the events with a user-defined SAX event consumer.,sax_parse}

      +
      Since
      version 3.2.0
      + +
      +
      + +

      ◆ sax_parse() [4/5]

      + +
      +
      +
      +template<class IteratorType , class SAX , typename std::enable_if< std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< IteratorType >::iterator_category >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::sax_parse (IteratorType first,
      IteratorType last,
      SAX * sax 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ sax_parse() [5/5]

      + +
      +
      +
      +template<class IteratorType , class SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static bool nlohmann::basic_json::sax_parse (IteratorType first,
      IteratorType last,
      SAX * sax,
      input_format_t format = input_format_t::json,
      const bool strict = true,
      const bool ignore_comments = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ size() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      size_type nlohmann::basic_json::size () const
      +
      +inlinenoexcept
      +
      + +

      returns the number of elements

      +

      Returns the number of elements in a JSON value.

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + +
      Value type return value
      null 0
      boolean 1
      string 1
      number 1
      object result of function object_t::size()
      array result of function array_t::size()
      +
      +

      @liveexample{The following code calls size() on the different value types.,size}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      Note
      This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string.
      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of std::distance(begin(), end()).
      • +
      +
      See also
      empty() – checks whether the container is empty
      +
      +max_size() – returns the maximal number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ size() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      size_type nlohmann::basic_json::size () const
      +
      +inlinenoexcept
      +
      + +

      returns the number of elements

      +

      Returns the number of elements in a JSON value.

      +
      Returns
      The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
      Value type return value
      null 0
      boolean 1
      string 1
      number 1
      binary 1
      object result of function object_t::size()
      array result of function array_t::size()
      +
      +

      @liveexample{The following code calls size() on the different value types.,size}

      +

      @complexity Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.

      +

      @iterators No changes.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +
      Note
      This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string.
      +

      @requirement This function helps basic_json satisfying the Container requirements:

        +
      • The complexity is constant.
      • +
      • Has the semantics of std::distance(begin(), end()).
      • +
      +
      See also
      empty() – checks whether the container is empty
      +
      +max_size() – returns the maximal number of elements
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [1/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (array_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON array with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherarray to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not an array; example: "cannot +use swap() with string"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how arrays can be swapped with swap().,swap__array_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [2/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (array_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON array with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherarray to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not an array; example: "cannot +use swap() with string"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how arrays can be swapped with swap().,swap__array_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [3/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (binary_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherbinary to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how strings can be swapped with swap().,swap__binary_t}

      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ swap() [4/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (object_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON object with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherobject to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not an object; example: "cannot use swap() with string"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how objects can be swapped with swap().,swap__object_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [5/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (object_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON object with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherobject to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not an object; example: "cannot use swap() with string"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how objects can be swapped with swap().,swap__object_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [6/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (reference other)
      +
      +inlinenoexcept
      +
      + +

      exchanges the values

      +

      Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherJSON value to exchange the contents with
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how JSON values can be swapped with swap().,swap__reference}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [7/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (reference other)
      +
      +inlinenoexcept
      +
      + +

      exchanges the values

      +

      Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherJSON value to exchange the contents with
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how JSON values can be swapped with swap().,swap__reference}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [8/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (string_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherstring to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how strings can be swapped with swap().,swap__string_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [9/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (string_tother)
      +
      +inline
      +
      + +

      exchanges the values

      +

      Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

      +
      Parameters
      + + +
      [in,out]otherstring to exchange the contents with
      +
      +
      +
      Exceptions
      + + +
      type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how strings can be swapped with swap().,swap__string_t}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap() [10/10]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::swap (typename binary_t::container_typeother)
      +
      +inline
      +
      + +

      + +
      +
      + +

      ◆ to_bson() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_bson (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation.

      +

      BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are stored as a single entity (a so-called document).

      +

      The library uses the following mapping from JSON values types to BSON types:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range BSON type marker
      null null null 0x0A
      boolean true, false boolean 0x08
      number_integer -9223372036854775808..-2147483649 int64 0x12
      number_integer -2147483648..2147483647 int32 0x10
      number_integer 2147483648..9223372036854775807 int64 0x12
      number_unsigned 0..2147483647 int32 0x10
      number_unsigned 2147483648..9223372036854775807 int64 0x12
      number_unsigned 9223372036854775808..18446744073709551615
      number_float any value double 0x01
      string any value string 0x02
      array any value document 0x04
      object any value document 0x03
      +
      Warning
      The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, integers larger than 9223372036854775807 cannot be serialized to BSON, and the keys may not contain U+0000, since they are serialized a zero-terminated c-strings.
      +
      Exceptions
      + + + + +
      out_of_range.407if j.is_number_unsigned() && j.get<std::uint64_t>() > 9223372036854775807
      out_of_range.409if a key in j contains a NULL (U+0000)
      type_error.317if !j.is_object()
      +
      +
      +
      Precondition
      The input j is required to be an object: j.is_object() == true.
      +
      Note
      Any BSON output created via to_bson can be successfully parsed by from_bson.
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      BSON serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in BSON format.,to_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +from_bson(detail::input_adapter&&, const bool strict) for the analogous deserialization
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      +to_cbor(const basic_json&) for the related CBOR format
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      + +
      +
      + +

      ◆ to_bson() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_bson (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation.

      +

      BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are stored as a single entity (a so-called document).

      +

      The library uses the following mapping from JSON values types to BSON types:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range BSON type marker
      null null null 0x0A
      boolean true, false boolean 0x08
      number_integer -9223372036854775808..-2147483649 int64 0x12
      number_integer -2147483648..2147483647 int32 0x10
      number_integer 2147483648..9223372036854775807 int64 0x12
      number_unsigned 0..2147483647 int32 0x10
      number_unsigned 2147483648..9223372036854775807 int64 0x12
      number_unsigned 9223372036854775808..18446744073709551615
      number_float any value double 0x01
      string any value string 0x02
      array any value document 0x04
      object any value document 0x03
      binary any value binary 0x05
      +
      Warning
      The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, integers larger than 9223372036854775807 cannot be serialized to BSON, and the keys may not contain U+0000, since they are serialized a zero-terminated c-strings.
      +
      Exceptions
      + + + + +
      out_of_range.407if j.is_number_unsigned() && j.get<std::uint64_t>() > 9223372036854775807
      out_of_range.409if a key in j contains a NULL (U+0000)
      type_error.317if !j.is_object()
      +
      +
      +
      Precondition
      The input j is required to be an object: j.is_object() == true.
      +
      Note
      Any BSON output created via to_bson can be successfully parsed by from_bson.
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      BSON serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in BSON format.,to_bson}

      +
      See also
      http://bsonspec.org/spec.html
      +
      +from_bson(detail::input_adapter&&, const bool strict) for the analogous deserialization
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      +to_cbor(const basic_json&) for the related CBOR format
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      + +
      +
      + +

      ◆ to_bson() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_bson (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

      +
      Parameters
      + + + +
      jThe JSON object to convert to BSON.
      oThe output adapter that receives the binary BSON representation.
      +
      +
      +
      Precondition
      The input j shall be an object: j.is_object() == true
      +
      See also
      to_bson(const basic_json&)
      + +
      +
      + +

      ◆ to_bson() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_bson (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

      +
      Parameters
      + + + +
      jThe JSON object to convert to BSON.
      oThe output adapter that receives the binary BSON representation.
      +
      +
      +
      Precondition
      The input j shall be an object: j.is_object() == true
      +
      See also
      to_bson(const basic_json&)
      + +
      +
      + +

      ◆ to_bson() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_bson (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

      +
      Parameters
      + + + +
      jThe JSON object to convert to BSON.
      oThe output adapter that receives the binary BSON representation.
      +
      +
      +
      Precondition
      The input j shall be an object: j.is_object() == true
      +
      See also
      to_bson(const basic_json&)
      + +
      +
      + +

      ◆ to_bson() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_bson (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +

      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

      +
      Parameters
      + + + +
      jThe JSON object to convert to BSON.
      oThe output adapter that receives the binary BSON representation.
      +
      +
      +
      Precondition
      The input j shall be an object: j.is_object() == true
      +
      See also
      to_bson(const basic_json&)
      + +
      +
      + +

      ◆ to_cbor() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_cbor (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      create a CBOR serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the CBOR (Concise Binary Object Representation) serialization format. CBOR is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range CBOR type first byte
      null null Null 0xF6
      boolean true True 0xF5
      boolean false False 0xF4
      number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B
      number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A
      number_integer -32768..-129 Negative integer (2 bytes follow) 0x39
      number_integer -128..-25 Negative integer (1 byte follow) 0x38
      number_integer -24..-1 Negative integer 0x20..0x37
      number_integer 0..23 Integer 0x00..0x17
      number_integer 24..255 Unsigned integer (1 byte follow) 0x18
      number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19
      number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
      number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
      number_unsigned 0..23 Integer 0x00..0x17
      number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18
      number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19
      number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
      number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
      number_float any value Double-Precision Float 0xFB
      string length: 0..23 UTF-8 string 0x60..0x77
      string length: 23..255 UTF-8 string (1 byte follow) 0x78
      string length: 256..65535 UTF-8 string (2 bytes follow) 0x79
      string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A
      string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B
      array size: 0..23 array 0x80..0x97
      array size: 23..255 array (1 byte follow) 0x98
      array size: 256..65535 array (2 bytes follow) 0x99
      array size: 65536..4294967295 array (4 bytes follow) 0x9A
      array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B
      object size: 0..23 map 0xA0..0xB7
      object size: 23..255 map (1 byte follow) 0xB8
      object size: 256..65535 map (2 bytes follow) 0xB9
      object size: 65536..4294967295 map (4 bytes follow) 0xBA
      object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a CBOR value.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      +The following CBOR types are not used in the conversion:
        +
      • byte strings (0x40..0x5F)
      • +
      • UTF-8 strings terminated by "break" (0x7F)
      • +
      • arrays terminated by "break" (0x9F)
      • +
      • maps terminated by "break" (0xBF)
      • +
      • date/time (0xC0..0xC1)
      • +
      • bignum (0xC2..0xC3)
      • +
      • decimal fraction (0xC4)
      • +
      • bigfloat (0xC5)
      • +
      • tagged items (0xC6..0xD4, 0xD8..0xDB)
      • +
      • expected conversions (0xD5..0xD7)
      • +
      • simple values (0xE0..0xF3, 0xF8)
      • +
      • undefined (0xF7)
      • +
      • half and single-precision floats (0xF9-0xFA)
      • +
      • break (0xFF)
      • +
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      MessagePack serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in CBOR format.,to_cbor}

      +
      See also
      http://cbor.io
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool) for the analogous deserialization
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9
      + +
      +
      + +

      ◆ to_cbor() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_cbor (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      create a CBOR serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the CBOR (Concise Binary Object Representation) serialization format. CBOR is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range CBOR type first byte
      null null Null 0xF6
      boolean true True 0xF5
      boolean false False 0xF4
      number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B
      number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A
      number_integer -32768..-129 Negative integer (2 bytes follow) 0x39
      number_integer -128..-25 Negative integer (1 byte follow) 0x38
      number_integer -24..-1 Negative integer 0x20..0x37
      number_integer 0..23 Integer 0x00..0x17
      number_integer 24..255 Unsigned integer (1 byte follow) 0x18
      number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19
      number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
      number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
      number_unsigned 0..23 Integer 0x00..0x17
      number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18
      number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19
      number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
      number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
      number_float any value representable by a float Single-Precision Float 0xFA
      number_float any value NOT representable by a float Double-Precision Float 0xFB
      string length: 0..23 UTF-8 string 0x60..0x77
      string length: 23..255 UTF-8 string (1 byte follow) 0x78
      string length: 256..65535 UTF-8 string (2 bytes follow) 0x79
      string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A
      string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B
      array size: 0..23 array 0x80..0x97
      array size: 23..255 array (1 byte follow) 0x98
      array size: 256..65535 array (2 bytes follow) 0x99
      array size: 65536..4294967295 array (4 bytes follow) 0x9A
      array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B
      object size: 0..23 map 0xA0..0xB7
      object size: 23..255 map (1 byte follow) 0xB8
      object size: 256..65535 map (2 bytes follow) 0xB9
      object size: 65536..4294967295 map (4 bytes follow) 0xBA
      object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB
      binary size: 0..23 byte string 0x40..0x57
      binary size: 23..255 byte string (1 byte follow) 0x58
      binary size: 256..65535 byte string (2 bytes follow) 0x59
      binary size: 65536..4294967295 byte string (4 bytes follow) 0x5A
      binary size: 4294967296..18446744073709551615 byte string (8 bytes follow) 0x5B
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a CBOR value.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      +The following CBOR types are not used in the conversion:
        +
      • UTF-8 strings terminated by "break" (0x7F)
      • +
      • arrays terminated by "break" (0x9F)
      • +
      • maps terminated by "break" (0xBF)
      • +
      • byte strings terminated by "break" (0x5F)
      • +
      • date/time (0xC0..0xC1)
      • +
      • bignum (0xC2..0xC3)
      • +
      • decimal fraction (0xC4)
      • +
      • bigfloat (0xC5)
      • +
      • expected conversions (0xD5..0xD7)
      • +
      • simple values (0xE0..0xF3, 0xF8)
      • +
      • undefined (0xF7)
      • +
      • half-precision floats (0xF9)
      • +
      • break (0xFF)
      • +
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      CBOR serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in CBOR format.,to_cbor}

      +
      See also
      http://cbor.io
      +
      +from_cbor(detail::input_adapter&&, const bool, const bool, const cbor_tag_handler_t) for the analogous deserialization
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9; compact representation of floating-point numbers since version 3.8.0
      + +
      +
      + +

      ◆ to_cbor() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_cbor (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_cbor() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_cbor (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_cbor() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_cbor (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_cbor() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_cbor (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_msgpack() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_msgpack (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      create a MessagePack serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the MessagePack serialization format. MessagePack is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range MessagePack type first byte
      null null nil 0xC0
      boolean true true 0xC3
      boolean false false 0xC2
      number_integer -9223372036854775808..-2147483649 int64 0xD3
      number_integer -2147483648..-32769 int32 0xD2
      number_integer -32768..-129 int16 0xD1
      number_integer -128..-33 int8 0xD0
      number_integer -32..-1 negative fixint 0xE0..0xFF
      number_integer 0..127 positive fixint 0x00..0x7F
      number_integer 128..255 uint 8 0xCC
      number_integer 256..65535 uint 16 0xCD
      number_integer 65536..4294967295 uint 32 0xCE
      number_integer 4294967296..18446744073709551615 uint 64 0xCF
      number_unsigned 0..127 positive fixint 0x00..0x7F
      number_unsigned 128..255 uint 8 0xCC
      number_unsigned 256..65535 uint 16 0xCD
      number_unsigned 65536..4294967295 uint 32 0xCE
      number_unsigned 4294967296..18446744073709551615 uint 64 0xCF
      number_float any value float 64 0xCB
      string length: 0..31 fixstr 0xA0..0xBF
      string length: 32..255 str 8 0xD9
      string length: 256..65535 str 16 0xDA
      string length: 65536..4294967295 str 32 0xDB
      array size: 0..15 fixarray 0x90..0x9F
      array size: 16..65535 array 16 0xDC
      array size: 65536..4294967295 array 32 0xDD
      object size: 0..15 fix map 0x80..0x8F
      object size: 16..65535 map 16 0xDE
      object size: 65536..4294967295 map 32 0xDF
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value.
      +
      +The following values can not be converted to a MessagePack value:
        +
      • strings with more than 4294967295 bytes
      • +
      • arrays with more than 4294967295 elements
      • +
      • objects with more than 4294967295 elements
      • +
      +
      +
      +The following MessagePack types are not used in the conversion:
        +
      • bin 8 - bin 32 (0xC4..0xC6)
      • +
      • ext 8 - ext 32 (0xC7..0xC9)
      • +
      • float 32 (0xCA)
      • +
      • fixext 1 - fixext 16 (0xD4..0xD8)
      • +
      +
      +
      +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      MessagePack serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in MessagePack format.,to_msgpack}

      +
      See also
      http://msgpack.org
      +
      +from_msgpack for the analogous deserialization
      +
      +to_cbor(const basic_json& for the related CBOR format
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9
      + +
      +
      + +

      ◆ to_msgpack() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_msgpack (const basic_jsonj)
      +
      +inlinestatic
      +
      + +

      create a MessagePack serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the MessagePack serialization format. MessagePack is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range MessagePack type first byte
      null null nil 0xC0
      boolean true true 0xC3
      boolean false false 0xC2
      number_integer -9223372036854775808..-2147483649 int64 0xD3
      number_integer -2147483648..-32769 int32 0xD2
      number_integer -32768..-129 int16 0xD1
      number_integer -128..-33 int8 0xD0
      number_integer -32..-1 negative fixint 0xE0..0xFF
      number_integer 0..127 positive fixint 0x00..0x7F
      number_integer 128..255 uint 8 0xCC
      number_integer 256..65535 uint 16 0xCD
      number_integer 65536..4294967295 uint 32 0xCE
      number_integer 4294967296..18446744073709551615 uint 64 0xCF
      number_unsigned 0..127 positive fixint 0x00..0x7F
      number_unsigned 128..255 uint 8 0xCC
      number_unsigned 256..65535 uint 16 0xCD
      number_unsigned 65536..4294967295 uint 32 0xCE
      number_unsigned 4294967296..18446744073709551615 uint 64 0xCF
      number_float any value representable by a float float 32 0xCA
      number_float any value NOT representable by a float float 64 0xCB
      string length: 0..31 fixstr 0xA0..0xBF
      string length: 32..255 str 8 0xD9
      string length: 256..65535 str 16 0xDA
      string length: 65536..4294967295 str 32 0xDB
      array size: 0..15 fixarray 0x90..0x9F
      array size: 16..65535 array 16 0xDC
      array size: 65536..4294967295 array 32 0xDD
      object size: 0..15 fix map 0x80..0x8F
      object size: 16..65535 map 16 0xDE
      object size: 65536..4294967295 map 32 0xDF
      binary size: 0..255 bin 8 0xC4
      binary size: 256..65535 bin 16 0xC5
      binary size: 65536..4294967295 bin 32 0xC6
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value.
      +
      +The following values can not be converted to a MessagePack value:
        +
      • strings with more than 4294967295 bytes
      • +
      • byte strings with more than 4294967295 bytes
      • +
      • arrays with more than 4294967295 elements
      • +
      • objects with more than 4294967295 elements
      • +
      +
      +
      +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      MessagePack serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in MessagePack format.,to_msgpack}

      +
      See also
      http://msgpack.org
      +
      +from_msgpack for the analogous deserialization
      +
      +to_cbor(const basic_json& for the related CBOR format
      +
      +to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
      +
      Since
      version 2.0.9
      + +
      +
      + +

      ◆ to_msgpack() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_msgpack (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_msgpack() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_msgpack (const basic_jsonj,
      detail::output_adapter< char > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_msgpack() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_msgpack (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_msgpack() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_msgpack (const basic_jsonj,
      detail::output_adapter< uint8_t > o 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_ubjson() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_ubjson (const basic_jsonj,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +

      create a UBJSON serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the UBJSON (Universal Binary JSON) serialization format. UBJSON aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range UBJSON type marker
      null null null Z
      boolean true true T
      boolean false false F
      number_integer -9223372036854775808..-2147483649 int64 L
      number_integer -2147483648..-32769 int32 l
      number_integer -32768..-129 int16 I
      number_integer -128..127 int8 i
      number_integer 128..255 uint8 U
      number_integer 256..32767 int16 I
      number_integer 32768..2147483647 int32 l
      number_integer 2147483648..9223372036854775807 int64 L
      number_unsigned 0..127 int8 i
      number_unsigned 128..255 uint8 U
      number_unsigned 256..32767 int16 I
      number_unsigned 32768..2147483647 int32 l
      number_unsigned 2147483648..9223372036854775807 int64 L
      number_float any value float64 D
      string with shortest length indicator string S
      array see notes on optimized format array [
      object see notes on optimized format map {
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value.
      +
      +The following values can not be converted to a UBJSON value:
        +
      • strings with more than 9223372036854775807 bytes (theoretical)
      • +
      • unsigned integer numbers above 9223372036854775807
      • +
      +
      +
      +The following markers are not used in the conversion:
        +
      • Z: no-op values are not created.
      • +
      • C: single-byte strings are serialized with S markers.
      • +
      +
      +
      +Any UBJSON output created to_ubjson can be successfully parsed by from_ubjson.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      +The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true. Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container.
      +
      Parameters
      + + + + +
      [in]jJSON value to serialize
      [in]use_sizewhether to add size annotations to container types
      [in]use_typewhether to add type annotations to container types (must be combined with use_size = true)
      +
      +
      +
      Returns
      UBJSON serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in UBJSON format.,to_ubjson}

      +
      See also
      http://ubjson.org
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the analogous deserialization
      +
      +to_cbor(const basic_json& for the related CBOR format
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      +
      Since
      version 3.1.0
      + +
      +
      + +

      ◆ to_ubjson() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static std::vector<uint8_t> nlohmann::basic_json::to_ubjson (const basic_jsonj,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +

      create a UBJSON serialization of a given JSON value

      +

      Serializes a given JSON value j to a byte vector using the UBJSON (Universal Binary JSON) serialization format. UBJSON aims to be more compact than JSON itself, yet more efficient to parse.

      +

      The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON value type value/range UBJSON type marker
      null null null Z
      boolean true true T
      boolean false false F
      number_integer -9223372036854775808..-2147483649 int64 L
      number_integer -2147483648..-32769 int32 l
      number_integer -32768..-129 int16 I
      number_integer -128..127 int8 i
      number_integer 128..255 uint8 U
      number_integer 256..32767 int16 I
      number_integer 32768..2147483647 int32 l
      number_integer 2147483648..9223372036854775807 int64 L
      number_unsigned 0..127 int8 i
      number_unsigned 128..255 uint8 U
      number_unsigned 256..32767 int16 I
      number_unsigned 32768..2147483647 int32 l
      number_unsigned 2147483648..9223372036854775807 int64 L
      number_unsigned 2147483649..18446744073709551615 high-precision H
      number_float any value float64 D
      string with shortest length indicator string S
      array see notes on optimized format array [
      object see notes on optimized format map {
      +
      Note
      The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value.
      +
      +The following values can not be converted to a UBJSON value:
        +
      • strings with more than 9223372036854775807 bytes (theoretical)
      • +
      +
      +
      +The following markers are not used in the conversion:
        +
      • Z: no-op values are not created.
      • +
      • C: single-byte strings are serialized with S markers.
      • +
      +
      +
      +Any UBJSON output created to_ubjson can be successfully parsed by from_ubjson.
      +
      +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
      +
      +The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true. Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container.
      +
      +If the JSON data contains the binary type, the value stored is a list of integers, as suggested by the UBJSON documentation. In particular, this means that serialization and the deserialization of a JSON containing binary values into UBJSON and back will result in a different JSON object.
      +
      Parameters
      + + + + +
      [in]jJSON value to serialize
      [in]use_sizewhether to add size annotations to container types
      [in]use_typewhether to add type annotations to container types (must be combined with use_size = true)
      +
      +
      +
      Returns
      UBJSON serialization as byte vector
      +

      @complexity Linear in the size of the JSON value j.

      +

      @liveexample{The example shows the serialization of a JSON value to a byte vector in UBJSON format.,to_ubjson}

      +
      See also
      http://ubjson.org
      +
      +from_ubjson(detail::input_adapter&&, const bool, const bool) for the analogous deserialization
      +
      +to_cbor(const basic_json& for the related CBOR format
      +
      +to_msgpack(const basic_json&) for the related MessagePack format
      +
      Since
      version 3.1.0
      + +
      +
      + +

      ◆ to_ubjson() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_ubjson (const basic_jsonj,
      detail::output_adapter< char > o,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_ubjson() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_ubjson (const basic_jsonj,
      detail::output_adapter< char > o,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_ubjson() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_ubjson (const basic_jsonj,
      detail::output_adapter< uint8_t > o,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ to_ubjson() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::basic_json::to_ubjson (const basic_jsonj,
      detail::output_adapter< uint8_t > o,
      const bool use_size = false,
      const bool use_type = false 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ type() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr value_t nlohmann::basic_json::type () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return the type of the JSON value (explicit)

      +

      Return the type of the JSON value as a value from the value_t enumeration.

      +
      Returns
      the type of the JSON value + + + + + + + + + + + + + + + + + + + + +
      Value type return value
      null value_t::null
      boolean value_t::boolean
      string value_t::string
      number (integer) value_t::number_integer
      number (unsigned integer) value_t::number_unsigned
      number (floating-point) value_t::number_float
      object value_t::object
      array value_t::array
      discarded value_t::discarded
      +
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies type() for all JSON types.,type}

      +
      See also
      operator value_t() – return the type of the JSON value (implicit)
      +
      +type_name() – return the type as string
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ type() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr value_t nlohmann::basic_json::type () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return the type of the JSON value (explicit)

      +

      Return the type of the JSON value as a value from the value_t enumeration.

      +
      Returns
      the type of the JSON value + + + + + + + + + + + + + + + + + + + + + + +
      Value type return value
      null value_t::null
      boolean value_t::boolean
      string value_t::string
      number (integer) value_t::number_integer
      number (unsigned integer) value_t::number_unsigned
      number (floating-point) value_t::number_float
      object value_t::object
      array value_t::array
      binary value_t::binary
      discarded value_t::discarded
      +
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +

      @liveexample{The following code exemplifies type() for all JSON types.,type}

      +
      See also
      operator value_t() – return the type of the JSON value (implicit)
      +
      +type_name() – return the type as string
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ type_name() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::basic_json::type_name () const
      +
      +inlinenoexcept
      +
      + +

      return the type as string

      +

      Returns the type name as string to be used in error messages - usually to indicate that a function was called on a wrong JSON type.

      +
      Returns
      a string representation of a the m_type member: + + + + + + + + + + + + + + + + +
      Value type return value
      null "null"
      boolean "boolean"
      string "string"
      number "number" (for all number types)
      object "object"
      array "array"
      discarded "discarded"
      +
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Constant.

      +

      @liveexample{The following code exemplifies type_name() for all JSON types.,type_name}

      +
      See also
      type() – return the type of the JSON value
      +
      +operator value_t() – return the type of the JSON value (implicit)
      +
      Since
      version 1.0.0, public since 2.1.0, const char* and noexcept since 3.0.0
      + +
      +
      + +

      ◆ type_name() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::basic_json::type_name () const
      +
      +inlinenoexcept
      +
      + +

      return the type as string

      +

      Returns the type name as string to be used in error messages - usually to indicate that a function was called on a wrong JSON type.

      +
      Returns
      a string representation of a the m_type member: + + + + + + + + + + + + + + + + + + +
      Value type return value
      null "null"
      boolean "boolean"
      string "string"
      number "number" (for all number types)
      object "object"
      array "array"
      binary "binary"
      discarded "discarded"
      +
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Constant.

      +

      @liveexample{The following code exemplifies type_name() for all JSON types.,type_name}

      +
      See also
      type() – return the type of the JSON value
      +
      +operator value_t() – return the type of the JSON value (implicit)
      +
      Since
      version 1.0.0, public since 2.1.0, const char* and noexcept since 3.0.0
      + +
      +
      + +

      ◆ unflatten() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::unflatten () const
      +
      +inline
      +
      + +

      unflatten a previously flattened JSON value

      +

      The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints:

        +
      1. The value must be an object.
      2. +
      3. The keys must be JSON pointers (see RFC 6901)
      4. +
      5. The mapped values must be primitive JSON types.
      6. +
      +
      Returns
      the original JSON from a flattened version
      +
      Note
      Empty objects and arrays are flattened by flatten() to null values and can not unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten().
      +

      @complexity Linear in the size the JSON value.

      +
      Exceptions
      + + + +
      type_error.314if value is not an object
      type_error.315if object values are not primitive
      +
      +
      +

      @liveexample{The following code shows how a flattened JSON object is unflattened into the original nested JSON object.,unflatten}

      +
      See also
      flatten() for the reverse function
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ unflatten() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      basic_json nlohmann::basic_json::unflatten () const
      +
      +inline
      +
      + +

      unflatten a previously flattened JSON value

      +

      The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints:

        +
      1. The value must be an object.
      2. +
      3. The keys must be JSON pointers (see RFC 6901)
      4. +
      5. The mapped values must be primitive JSON types.
      6. +
      +
      Returns
      the original JSON from a flattened version
      +
      Note
      Empty objects and arrays are flattened by flatten() to null values and can not unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten().
      +

      @complexity Linear in the size the JSON value.

      +
      Exceptions
      + + + +
      type_error.314if value is not an object
      type_error.315if object values are not primitive
      +
      +
      +

      @liveexample{The following code shows how a flattened JSON object is unflattened into the original nested JSON object.,unflatten}

      +
      See also
      flatten() for the reverse function
      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ update() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::basic_json::update (const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      updates a JSON object from another object, overwriting existing keys

      +

      Inserts all values from from range [first, last) and overwrites existing keys.

      +
      Parameters
      + + + +
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + +
      type_error.312if called on JSON values other than objects; example: "cannot use update() with string"
      invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      +
      +
      +

      @complexity O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how update() is used__range.,update}

      +
      See also
      https://docs.python.org/3.6/library/stdtypes.html#dict.update
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ update() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::basic_json::update (const_iterator first,
      const_iterator last 
      )
      +
      +inline
      +
      + +

      updates a JSON object from another object, overwriting existing keys

      +

      Inserts all values from from range [first, last) and overwrites existing keys.

      +
      Parameters
      + + + +
      [in]firstbegin of the range of elements to insert
      [in]lastend of the range of elements to insert
      +
      +
      +
      Exceptions
      + + + + +
      type_error.312if called on JSON values other than objects; example: "cannot use update() with string"
      invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
      invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
      +
      +
      +

      @complexity O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how update() is used__range.,update}

      +
      See also
      https://docs.python.org/3.6/library/stdtypes.html#dict.update
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ update() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::update (const_reference j)
      +
      +inline
      +
      + +

      updates a JSON object from another object, overwriting existing keys

      +

      Inserts all values from JSON object j and overwrites existing keys.

      +
      Parameters
      + + +
      [in]jJSON object to read values from
      +
      +
      +
      Exceptions
      + + +
      type_error.312if called on JSON values other than objects; example: "cannot use update() with string"
      +
      +
      +

      @complexity O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how update() is used.,update}

      +
      See also
      https://docs.python.org/3.6/library/stdtypes.html#dict.update
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ update() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::basic_json::update (const_reference j)
      +
      +inline
      +
      + +

      updates a JSON object from another object, overwriting existing keys

      +

      Inserts all values from JSON object j and overwrites existing keys.

      +
      Parameters
      + + +
      [in]jJSON object to read values from
      +
      +
      +
      Exceptions
      + + +
      type_error.312if called on JSON values other than objects; example: "cannot use update() with string"
      +
      +
      +

      @complexity O(N*log(size() + N)), where N is the number of elements to insert.

      +

      @liveexample{The example shows how update() is used.,update}

      +
      See also
      https://docs.python.org/3.6/library/stdtypes.html#dict.update
      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ value() [1/8]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::value (const json_pointerptr,
      const char * default_value 
      ) const
      +
      +inline
      +
      + +

      overload for a default value of type const char*

      + +
      +
      + +

      ◆ value() [2/8]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::value (const json_pointerptr,
      const char * default_value 
      ) const
      +
      +inline
      +
      + +

      overload for a default value of type const char*

      + +
      +
      + +

      ◆ value() [3/8]

      + +
      +
      +
      +template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      ValueType nlohmann::basic_json::value (const json_pointerptr,
      const ValueType & default_value 
      ) const
      +
      +inline
      +
      + +

      access specified object element via JSON Pointer with default value

      +

      Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(ptr);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const json_pointer&), this function does not throw if the given key key was not found.
      +
      Parameters
      + + + +
      [in]ptra JSON pointer to the element to access
      [in]default_valuethe value to return if ptr found no value
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at ptr
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}

      +
      See also
      operator[](const json_pointer&) for unchecked access by reference
      +
      Since
      version 2.0.2
      + +
      +
      + +

      ◆ value() [4/8]

      + +
      +
      +
      +template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      ValueType nlohmann::basic_json::value (const json_pointerptr,
      const ValueType & default_value 
      ) const
      +
      +inline
      +
      + +

      access specified object element via JSON Pointer with default value

      +

      Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(ptr);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const json_pointer&), this function does not throw if the given key key was not found.
      +
      Parameters
      + + + +
      [in]ptra JSON pointer to the element to access
      [in]default_valuethe value to return if ptr found no value
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at ptr
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}

      +
      See also
      operator[](const json_pointer&) for unchecked access by reference
      +
      Since
      version 2.0.2
      + +
      +
      + +

      ◆ value() [5/8]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::value (const typename object_t::key_type & key,
      const char * default_value 
      ) const
      +
      +inline
      +
      + +

      overload for a default value of type const char*

      +

      access specified object element with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(key);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
      +
      +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
      +
      Parameters
      + + + +
      [in]keykey of the element to access
      [in]default_valuethe value to return if key is not found
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at key
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ value() [6/8]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      string_t nlohmann::basic_json::value (const typename object_t::key_type & key,
      const char * default_value 
      ) const
      +
      +inline
      +
      + +

      overload for a default value of type const char*

      +

      access specified object element with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(key);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
      +
      +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
      +
      Parameters
      + + + +
      [in]keykey of the element to access
      [in]default_valuethe value to return if key is not found
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at key
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ value() [7/8]

      + +
      +
      +
      +template<class ValueType , typename std::enable_if< std::is_convertible< basic_json_t, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      ValueType nlohmann::basic_json::value (const typename object_t::key_type & key,
      const ValueType & default_value 
      ) const
      +
      +inline
      +
      + +

      access specified object element with default value

      +

      Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(key);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
      +
      +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
      +
      Parameters
      + + + +
      [in]keykey of the element to access
      [in]default_valuethe value to return if key is not found
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at key
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ value() [8/8]

      + +
      +
      +
      +template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, ValueType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      ValueType nlohmann::basic_json::value (const typename object_t::key_type & key,
      const ValueType & default_value 
      ) const
      +
      +inline
      +
      + +

      access specified object element with default value

      +

      Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

      +

      The function is basically equivalent to executing

      try {
      +
      return at(key);
      +
      } catch(out_of_range) {
      +
      return default_value;
      +
      }
      +
      Note
      Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
      +
      +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
      +
      Parameters
      + + + +
      [in]keykey of the element to access
      [in]default_valuethe value to return if key is not found
      +
      +
      +
      Template Parameters
      + + +
      ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
      +
      +
      +
      Returns
      copy of the element at key key or default_value if key is not found
      +
      Exceptions
      + + + +
      type_error.302if default_value does not match the type of the value at key
      type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
      +
      +
      +

      @complexity Logarithmic in the size of the container.

      +

      @liveexample{The example below shows how object elements can be queried with a default value.,basic_json__value}

      +
      See also
      at(const typename object_t::key_type&) for access by reference with range checking
      +
      +operator[](const typename object_t::key_type&) for unchecked access by reference
      +
      Since
      version 1.0.0
      + +
      +
      +

      Friends And Related Function Documentation

      + +

      ◆ ::nlohmann::detail::binary_reader

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::binary_reader
      +
      +friend
      +
      + +
      +
      + +

      ◆ ::nlohmann::detail::binary_writer

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::binary_writer
      +
      +friend
      +
      + +
      +
      + +

      ◆ ::nlohmann::detail::iter_impl

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::iter_impl
      +
      +friend
      +
      + +
      +
      + +

      ◆ ::nlohmann::detail::json_sax_dom_callback_parser

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::json_sax_dom_callback_parser
      +
      +friend
      +
      + +
      +
      + +

      ◆ ::nlohmann::detail::json_sax_dom_parser

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::json_sax_dom_parser
      +
      +friend
      +
      + +
      +
      + +

      ◆ ::nlohmann::detail::parser

      + +
      +
      +
      +template<typename BasicJsonType , typename InputType >
      + + + + + +
      + + + + +
      friend class ::nlohmann::detail::parser
      +
      +friend
      +
      + +
      +
      + +

      ◆ detail::external_constructor [1/2]

      + +
      +
      +
      +template<detail::value_t >
      + + + + + +
      + + + + +
      friend struct detail::external_constructor
      +
      +friend
      +
      + +
      +
      + +

      ◆ detail::external_constructor [2/2]

      + +
      +
      +
      +template<detail::value_t >
      + + + + + +
      + + + + +
      struct detail::external_constructor
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator!= [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator!= [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator!= [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator!= [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator!= [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator!= [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: not equal

      +

      Compares two JSON values for inequality by calculating not (lhs == rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are not equal
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__notequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator< [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator< (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than

      +

      Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

        +
      • If lhs and rhs have the same type, the values are compared using the default < operator.
      • +
      • Integer and floating-point numbers are automatically converted before comparison
      • +
      • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
      • +
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__less}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<< [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::istream& operator<< (basic_jsonj,
      std::istream & i 
      )
      +
      +friend
      +
      + +

      deserialize from stream

      +
      Deprecated:
      This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.
      +
      Since
      version 1.0.0; deprecated since version 3.0.0
      + +
      +
      + +

      ◆ operator<< [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::istream& operator<< (basic_jsonj,
      std::istream & i 
      )
      +
      +friend
      +
      + +

      deserialize from stream

      +
      Deprecated:
      This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.
      +
      Since
      version 1.0.0; deprecated since version 3.0.0
      + +
      +
      + +

      ◆ operator<< [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::ostream& operator<< (std::ostream & o,
      const basic_jsonj 
      )
      +
      +friend
      +
      + +

      serialize to stream

      +

      Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function.

      +
        +
      • The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).
      • +
      • The indentation character can be controlled with the member variable fill of the output stream o. For instance, the manipulator ‘std::setfill(’\t')` sets indentation to use a tab character rather than the default space character.
      • +
      +
      Parameters
      + + + +
      [in,out]ostream to serialize to
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      the stream o
      +
      Exceptions
      + + +
      type_error.316if a string stored inside the JSON value is not UTF-8 encoded
      +
      +
      +

      @complexity Linear.

      +

      @liveexample{The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}

      +
      Since
      version 1.0.0; indentation character added in version 3.0.0
      + +
      +
      + +

      ◆ operator<< [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::ostream& operator<< (std::ostream & o,
      const basic_jsonj 
      )
      +
      +friend
      +
      + +

      serialize to stream

      +

      Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function.

      +
        +
      • The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).
      • +
      • The indentation character can be controlled with the member variable fill of the output stream o. For instance, the manipulator ‘std::setfill(’\t')` sets indentation to use a tab character rather than the default space character.
      • +
      +
      Parameters
      + + + +
      [in,out]ostream to serialize to
      [in]jJSON value to serialize
      +
      +
      +
      Returns
      the stream o
      +
      Exceptions
      + + +
      type_error.316if a string stored inside the JSON value is not UTF-8 encoded
      +
      +
      +

      @complexity Linear.

      +

      @liveexample{The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}

      +
      Since
      version 1.0.0; indentation character added in version 3.0.0
      + +
      +
      + +

      ◆ operator<= [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<= [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<= [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<= [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<= [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator<= [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator<= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: less than or equal

      +

      Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is less than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greater}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      comparison: equal Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note than two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      comparison: equal Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note than two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      comparison: equal Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note than two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      comparison: equal Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note than two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note than two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator== [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: equal

      +

      Compares two JSON values for equality according to the following rules:

        +
      • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
      • +
      • Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.
      • +
      • Two JSON null values are equal.
      • +
      +
      Note
      Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
      template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
      +
      inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
      +
      {
      +
      return std::abs(a - b) <= epsilon;
      +
      }
      +
      Or you can self-defined operator equal function like this:
      bool my_equal(const_reference lhs, const_reference rhs) {
      +
      const auto lhs_type lhs.type();
      +
      const auto rhs_type rhs.type();
      +
      if (lhs_type == rhs_type) {
      +
      switch(lhs_type)
      +
      // self_defined case
      + +
      return std::abs(lhs - rhs) <= std::numeric_limits<float>::epsilon();
      +
      // other cases remain the same with the original
      +
      ...
      +
      }
      +
      ...
      +
      }
      +
      +
      +NaN values never compare equal to themselves or to other NaN values.
      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether the values lhs and rhs are equal
      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @complexity Linear.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__equal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator> [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator> (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than

      +

      Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__lessequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [1/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [2/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const ScalarType lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [3/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [4/6]

      + +
      +
      +
      +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const_reference lhs,
      const ScalarType rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>= [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator>= (const_reference lhs,
      const_reference rhs 
      )
      +
      +friend
      +
      + +

      comparison: greater than or equal

      +

      Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

      +
      Parameters
      + + + +
      [in]lhsfirst JSON value to consider
      [in]rhssecond JSON value to consider
      +
      +
      +
      Returns
      whether lhs is greater than or equal to rhs
      +

      @complexity Linear.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example demonstrates comparing several JSON types.,operator__greaterequal}

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>> [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::ostream& operator>> (const basic_jsonj,
      std::ostream & o 
      )
      +
      +friend
      +
      + +

      serialize to stream

      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.
      +
      Since
      version 1.0.0; deprecated since version 3.0.0
      + +
      +
      + +

      ◆ operator>> [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::ostream& operator>> (const basic_jsonj,
      std::ostream & o 
      )
      +
      +friend
      +
      + +

      serialize to stream

      +
      Deprecated:
      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.
      +
      Since
      version 1.0.0; deprecated since version 3.0.0
      + +
      +
      + +

      ◆ operator>> [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::istream& operator>> (std::istream & i,
      basic_jsonj 
      )
      +
      +friend
      +
      + +

      deserialize from stream

      +

      Deserializes an input stream to a JSON value.

      +
      Parameters
      + + + +
      [in,out]iinput stream to read a serialized JSON value from
      [in,out]jJSON value to write the deserialized input to
      +
      +
      +
      Exceptions
      + + + + +
      parse_error.101in case of an unexpected token
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}

      +
      See also
      parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator>> [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::istream& operator>> (std::istream & i,
      basic_jsonj 
      )
      +
      +friend
      +
      + +

      deserialize from stream

      +

      Deserializes an input stream to a JSON value.

      +
      Parameters
      + + + +
      [in,out]iinput stream to read a serialized JSON value from
      [in,out]jJSON value to write the deserialized input to
      +
      +
      +
      Exceptions
      + + + + +
      parse_error.101in case of an unexpected token
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      +

      @complexity Linear in the length of the input. The parser is a predictive LL(1) parser.

      +
      Note
      A UTF-8 byte order mark is silently ignored.
      +

      @liveexample{The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}

      +
      See also
      parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ swap

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void swap (reference left,
      reference right 
      )
      +
      +friend
      +
      + +

      exchanges the values

      +

      Exchanges the contents of the JSON value from left with those of right. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. implemented as a friend function callable via ADL.

      +
      Parameters
      + + + +
      [in,out]leftJSON value to exchange the contents with
      [in,out]rightJSON value to exchange the contents with
      +
      +
      +

      @complexity Constant.

      +

      @liveexample{The example below shows how JSON values can be swapped with swap().,swap__reference}

      +
      Since
      version 1.0.0
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      +
      basic_json(const value_t v)
      create an empty value with a given type
      Definition: json.hpp:15752
      +
      constexpr value_t type() const noexcept
      return the type of the JSON value (explicit)
      Definition: json.hpp:16612
      +
      void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
      Definition: json.hpp:2898
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
      creates a diff as a JSON patch
      Definition: json.hpp:22406
      +
      @ number_float
      number value (floating-point)
      +
      detail::out_of_range out_of_range
      exception indicating access out of the defined range
      Definition: json.hpp:14782
      +
      reference at(size_type idx)
      access specified array element with bounds checking
      Definition: json.hpp:17519
      +
      static iteration_proxy< iterator > iterator_wrapper(reference ref) noexcept
      wrapper to access iterator member functions in range-based for
      Definition: json.hpp:18982
      +
      const value_type & const_reference
      the type of an element const reference
      Definition: json.hpp:14804
      +
      sort as relro if(CMAKE_GENERATOR STREQUAL "Ninja") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CMAKE_CXX_FLAGS "$
      Definition: CMakeLists.txt:27
      +
      @ key
      the parser read a key of a value in an object
      + + + + diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype-members.html b/help/html/classnlohmann_1_1byte__container__with__subtype-members.html new file mode 100644 index 0000000..2392786 --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype-members.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::byte_container_with_subtype< BinaryType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::byte_container_with_subtype< BinaryType >, including all inherited members.

      + + + + + + + + + + + + + +
      byte_container_with_subtype() noexcept(noexcept(container_type()))nlohmann::byte_container_with_subtype< BinaryType >inline
      byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))nlohmann::byte_container_with_subtype< BinaryType >inline
      byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))nlohmann::byte_container_with_subtype< BinaryType >inline
      byte_container_with_subtype(const container_type &b, std::uint8_t subtype) noexcept(noexcept(container_type(b)))nlohmann::byte_container_with_subtype< BinaryType >inline
      byte_container_with_subtype(container_type &&b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b))))nlohmann::byte_container_with_subtype< BinaryType >inline
      clear_subtype() noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
      container_type typedefnlohmann::byte_container_with_subtype< BinaryType >
      has_subtype() const noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
      operator!=(const byte_container_with_subtype &rhs) constnlohmann::byte_container_with_subtype< BinaryType >inline
      operator==(const byte_container_with_subtype &rhs) constnlohmann::byte_container_with_subtype< BinaryType >inline
      set_subtype(std::uint8_t subtype) noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
      subtype() const noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
      + + + + diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype.html b/help/html/classnlohmann_1_1byte__container__with__subtype.html new file mode 100644 index 0000000..9f0373b --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype.html @@ -0,0 +1,549 @@ + + + + + + + +CocoaTweet: nlohmann::byte_container_with_subtype< BinaryType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::byte_container_with_subtype< BinaryType > Class Template Reference
      +
      +
      + +

      an internal type for a backed binary type + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::byte_container_with_subtype< BinaryType >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::byte_container_with_subtype< BinaryType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + +

      +Public Types

      using container_type = BinaryType
       the type of the underlying container More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       byte_container_with_subtype () noexcept(noexcept(container_type()))
       
       byte_container_with_subtype (const container_type &b) noexcept(noexcept(container_type(b)))
       
       byte_container_with_subtype (container_type &&b) noexcept(noexcept(container_type(std::move(b))))
       
       byte_container_with_subtype (const container_type &b, std::uint8_t subtype) noexcept(noexcept(container_type(b)))
       
       byte_container_with_subtype (container_type &&b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b))))
       
      bool operator== (const byte_container_with_subtype &rhs) const
       
      bool operator!= (const byte_container_with_subtype &rhs) const
       
      void set_subtype (std::uint8_t subtype) noexcept
       sets the binary subtype More...
       
      constexpr std::uint8_t subtype () const noexcept
       return the binary subtype More...
       
      constexpr bool has_subtype () const noexcept
       return whether the value has a subtype More...
       
      void clear_subtype () noexcept
       clears the binary subtype More...
       
      +

      Detailed Description

      +

      template<typename BinaryType>
      +class nlohmann::byte_container_with_subtype< BinaryType >

      + +

      an internal type for a backed binary type

      +

      This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type.

      +
      Template Parameters
      + + +
      BinaryTypecontainer to store bytes (std::vector<std::uint8_t> by default)
      +
      +
      +
      Since
      version 3.8.0
      +

      Member Typedef Documentation

      + +

      ◆ container_type

      + +
      +
      +
      +template<typename BinaryType >
      + + + + +
      using nlohmann::byte_container_with_subtype< BinaryType >::container_type = BinaryType
      +
      + +

      the type of the underlying container

      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ byte_container_with_subtype() [1/5]

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + +
      nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ()
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ byte_container_with_subtype() [2/5]

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + +
      nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (const container_typeb)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ byte_container_with_subtype() [3/5]

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + +
      nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (container_type && b)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ byte_container_with_subtype() [4/5]

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (const container_typeb,
      std::uint8_t subtype 
      )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ byte_container_with_subtype() [5/5]

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (container_type && b,
      std::uint8_t subtype 
      )
      +
      +inlinenoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ clear_subtype()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + +
      void nlohmann::byte_container_with_subtype< BinaryType >::clear_subtype ()
      +
      +inlinenoexcept
      +
      + +

      clears the binary subtype

      +

      Clears the binary subtype and flags the value as not having a subtype, which has implications for serialization; for instance MessagePack will prefer the bin family over the ext family.

      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +
      See also
      subtype() – return the binary subtype
      +
      +set_subtype() – sets the binary subtype
      +
      +has_subtype() – returns whether or not the binary value has a subtype
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ has_subtype()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::byte_container_with_subtype< BinaryType >::has_subtype () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether the value has a subtype

      +
      Returns
      whether the value has a subtype
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +
      See also
      subtype() – return the binary subtype
      +
      +set_subtype() – sets the binary subtype
      +
      +clear_subtype() – clears the binary subtype
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ operator!=()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::byte_container_with_subtype< BinaryType >::operator!= (const byte_container_with_subtype< BinaryType > & rhs) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator==()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::byte_container_with_subtype< BinaryType >::operator== (const byte_container_with_subtype< BinaryType > & rhs) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ set_subtype()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::byte_container_with_subtype< BinaryType >::set_subtype (std::uint8_t subtype)
      +
      +inlinenoexcept
      +
      + +

      sets the binary subtype

      +

      Sets the binary subtype of the value, also flags a binary JSON value as having a subtype, which has implications for serialization.

      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +
      See also
      subtype() – return the binary subtype
      +
      +clear_subtype() – clears the binary subtype
      +
      +has_subtype() – returns whether or not the binary value has a subtype
      +
      Since
      version 3.8.0
      + +
      +
      + +

      ◆ subtype()

      + +
      +
      +
      +template<typename BinaryType >
      + + + + + +
      + + + + + + + +
      constexpr std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::subtype () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return the binary subtype

      +

      Returns the numerical subtype of the value if it has a subtype. If it does not have a subtype, this function will return size_t(-1) as a sentinel value.

      +
      Returns
      the numerical subtype of the binary value
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this member function never throws exceptions.

      +
      See also
      set_subtype() – sets the binary subtype
      +
      +clear_subtype() – clears the binary subtype
      +
      +has_subtype() – returns whether or not the binary value has a subtype
      +
      Since
      version 3.8.0
      + +
      +
      +
      The documentation for this class was generated from the following file: +
      + + + + diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.map b/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.map new file mode 100644 index 0000000..33b8af9 --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 b/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 new file mode 100644 index 0000000..ff63b35 --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 @@ -0,0 +1 @@ +883c357402e00558521a8e7524c74566 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.png b/help/html/classnlohmann_1_1byte__container__with__subtype__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9c906f7c446f8596485bc8896c311bde6fbd2b5b GIT binary patch literal 5459 zcmd5=^pJA_fv7NXv(k5*al>K#@)f=@3vFDMttl1w=tYK_o|wl9U)B(#q(N zhQTDqfYBY>J$~-@hkGCQAGq6Ndq3WF&g-1>dOhPrJkn96y3BkT0)bGet10P&<0AM4 zQ&NC`8u1Ha;6P!ksj37a|M_M%(PhN6lS4) zAc~X^<31@CL~-ZR2ym(Mhjopc%RTEoRvS7Nz6V9{qXRowC{Qv`r)G+()yRPp#QsVHGQ9QRd)Zd z;bB9Ux16r;xS#R;{rBIQgN_4^;^R|O^8`X?iiC@!qvL>x_vxW$Yg=0h9q14(-#BWu zzwfnU8O_Zv%g@V8p{!R>TFNUYhm^tv#{1%eKy>E@ii}0*l?R&?6%|dYU6T>tN=y4D zIU|kK^v&KiG{_C*Y0uBT<=|CNuqGpRhKxBlI7W+2+j^44JmK)g*B9Au@$soD1n;j+ zIEph@nF(82S-E0sKjw|V<>lpztr}9m_rsv;doI{P%t7QqGf0(zA@+o8nC}6S;ODMrS8ND zhr?MF5NYvzy4%aB*y_5qed5$a#j`6sJUsVydc=fGE0i+)P7XFy_2`{lTsphD<~D-K zva-JG;*J@gKeua&G$<)6UjPr_>o*$3)INXuL~q}l@+Ln&fAA)Qh?T2RJ%~%vb^Mi1 zK9{)or{?DSXC3(t>Hgs%A%DfNO1FZE!*qP)x^(TDBrJ%LEt3+YMQ&A

      *J(NB!jC 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 A2LJ#7 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map b/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map new file mode 100644 index 0000000..33b8af9 --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 b/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 new file mode 100644 index 0000000..ff63b35 --- /dev/null +++ b/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 @@ -0,0 +1 @@ +883c357402e00558521a8e7524c74566 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png b/help/html/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9c906f7c446f8596485bc8896c311bde6fbd2b5b GIT binary patch literal 5459 zcmd5=^pJA_fv7NXv(k5*al>K#@)f=@3vFDMttl1w=tYK_o|wl9U)B(#q(N zhQTDqfYBY>J$~-@hkGCQAGq6Ndq3WF&g-1>dOhPrJkn96y3BkT0)bGet10P&<0AM4 zQ&NC`8u1Ha;6P!ksj37a|M_M%(PhN6lS4) zAc~X^<31@CL~-ZR2ym(Mhjopc%RTEoRvS7Nz6V9{qXRowC{Qv`r)G+()yRPp#QsVHGQ9QRd)Zd z;bB9Ux16r;xS#R;{rBIQgN_4^;^R|O^8`X?iiC@!qvL>x_vxW$Yg=0h9q14(-#BWu zzwfnU8O_Zv%g@V8p{!R>TFNUYhm^tv#{1%eKy>E@ii}0*l?R&?6%|dYU6T>tN=y4D zIU|kK^v&KiG{_C*Y0uBT<=|CNuqGpRhKxBlI7W+2+j^44JmK)g*B9Au@$soD1n;j+ zIEph@nF(82S-E0sKjw|V<>lpztr}9m_rsv;doI{P%t7QqGf0(zA@+o8nC}6S;ODMrS8ND zhr?MF5NYvzy4%aB*y_5qed5$a#j`6sJUsVydc=fGE0i+)P7XFy_2`{lTsphD<~D-K zva-JG;*J@gKeua&G$<)6UjPr_>o*$3)INXuL~q}l@+Ln&fAA)Qh?T2RJ%~%vb^Mi1 zK9{)or{?DSXC3(t>Hgs%A%DfNO1FZE!*qP)x^(TDBrJ%LEt3+YMQ&A

      *J(NB!jC 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 A2LJ#7 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1binary__reader-members.html b/help/html/classnlohmann_1_1detail_1_1binary__reader-members.html new file mode 100644 index 0000000..531c8cb --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1binary__reader-members.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::binary_reader< BasicJsonType, SAX > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::binary_reader< BasicJsonType, SAX >, including all inherited members.

      + + + + + + + + + + + + + + + + +
      binary_reader(input_adapter_t adapter)nlohmann::detail::binary_reader< BasicJsonType, SAX >inlineexplicit
      binary_reader(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, SAX >
      binary_reader(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      binary_reader(InputAdapterType &&adapter)nlohmann::detail::binary_reader< BasicJsonType, SAX >inlineexplicit
      binary_reader(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, SAX >
      binary_reader(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      little_endianess(int num=1) noexceptnlohmann::detail::binary_reader< BasicJsonType, SAX >inlinestatic
      operator=(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, SAX >
      operator=(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      operator=(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, SAX >
      operator=(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true)nlohmann::detail::binary_reader< BasicJsonType, SAX >inline
      sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::detail::binary_reader< BasicJsonType, SAX >inline
      ~binary_reader()=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      ~binary_reader()=defaultnlohmann::detail::binary_reader< BasicJsonType, SAX >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1binary__reader.html b/help/html/classnlohmann_1_1detail_1_1binary__reader.html new file mode 100644 index 0000000..7635a1a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1binary__reader.html @@ -0,0 +1,634 @@ + + + + + + + +CocoaTweet: nlohmann::detail::binary_reader< BasicJsonType, SAX > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::binary_reader< BasicJsonType, SAX > Class Template Reference
      +
      +
      + +

      deserialization of CBOR, MessagePack, and UBJSON values + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       binary_reader (input_adapter_t adapter)
       create a binary reader More...
       
       binary_reader (const binary_reader &)=delete
       
       binary_reader (binary_reader &&)=default
       
      binary_readeroperator= (const binary_reader &)=delete
       
      binary_readeroperator= (binary_reader &&)=default
       
       ~binary_reader ()=default
       
      bool sax_parse (const input_format_t format, json_sax_t *sax_, const bool strict=true)
       
       binary_reader (InputAdapterType &&adapter)
       create a binary reader More...
       
       binary_reader (const binary_reader &)=delete
       
       binary_reader (binary_reader &&)=default
       
      binary_readeroperator= (const binary_reader &)=delete
       
      binary_readeroperator= (binary_reader &&)=default
       
       ~binary_reader ()=default
       
      bool sax_parse (const input_format_t format, json_sax_t *sax_, const bool strict=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
       
      + + + + +

      +Static Public Member Functions

      static constexpr bool little_endianess (int num=1) noexcept
       determine system byte order More...
       
      +

      Detailed Description

      +

      template<typename BasicJsonType, typename SAX = json_sax_dom_parser<BasicJsonType>>
      +class nlohmann::detail::binary_reader< BasicJsonType, SAX >

      + +

      deserialization of CBOR, MessagePack, and UBJSON values

      +

      Constructor & Destructor Documentation

      + +

      ◆ binary_reader() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (input_adapter_t adapter)
      +
      +inlineexplicit
      +
      + +

      create a binary reader

      +
      Parameters
      + + +
      [in]adapterinput adapter to read from
      +
      +
      + +
      +
      + +

      ◆ binary_reader() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (const binary_reader< BasicJsonType, SAX > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ binary_reader() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (binary_reader< BasicJsonType, SAX > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~binary_reader() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::~binary_reader ()
      +
      +default
      +
      + +
      +
      + +

      ◆ binary_reader() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (InputAdapterType && adapter)
      +
      +inlineexplicit
      +
      + +

      create a binary reader

      +
      Parameters
      + + +
      [in]adapterinput adapter to read from
      +
      +
      + +
      +
      + +

      ◆ binary_reader() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (const binary_reader< BasicJsonType, SAX > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ binary_reader() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::binary_reader (binary_reader< BasicJsonType, SAX > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~binary_reader() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + +
      nlohmann::detail::binary_reader< BasicJsonType, SAX >::~binary_reader ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ little_endianess()

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      static constexpr bool nlohmann::detail::binary_reader< BasicJsonType, SAX >::little_endianess (int num = 1)
      +
      +inlinestaticconstexprnoexcept
      +
      + +

      determine system byte order

      +
      Returns
      true if and only if system's byte order is little endian
      +
      Note
      from http://stackoverflow.com/a/1001328/266378
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      binary_reader& nlohmann::detail::binary_reader< BasicJsonType, SAX >::operator= (binary_reader< BasicJsonType, SAX > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      binary_reader& nlohmann::detail::binary_reader< BasicJsonType, SAX >::operator= (binary_reader< BasicJsonType, SAX > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      binary_reader& nlohmann::detail::binary_reader< BasicJsonType, SAX >::operator= (const binary_reader< BasicJsonType, SAX > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + +
      binary_reader& nlohmann::detail::binary_reader< BasicJsonType, SAX >::operator= (const binary_reader< BasicJsonType, SAX > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ sax_parse() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::binary_reader< BasicJsonType, SAX >::sax_parse (const input_format_t format,
      json_sax_t * sax_,
      const bool strict = true 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + +
      [in]formatthe binary format to parse
      [in]sax_a SAX event processor
      [in]strictwhether to expect the input to be consumed completed
      +
      +
      +
      Returns
      + +
      +
      + +

      ◆ sax_parse() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename SAX = json_sax_dom_parser<BasicJsonType>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::binary_reader< BasicJsonType, SAX >::sax_parse (const input_format_t format,
      json_sax_t * sax_,
      const bool strict = true,
      const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + + +
      [in]formatthe binary format to parse
      [in]sax_a SAX event processor
      [in]strictwhether to expect the input to be consumed completed
      [in]tag_handlerhow to treat CBOR tags
      +
      +
      +
      Returns
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1binary__writer-members.html b/help/html/classnlohmann_1_1detail_1_1binary__writer-members.html new file mode 100644 index 0000000..fef038e --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1binary__writer-members.html @@ -0,0 +1,101 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::binary_writer< BasicJsonType, CharType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::binary_writer< BasicJsonType, CharType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + +
      binary_writer(output_adapter_t< CharType > adapter)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineexplicit
      binary_writer(output_adapter_t< CharType > adapter)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineexplicit
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(InputCharType x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      to_char_type(InputCharType x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
      write_bson(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_bson(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_cbor(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_cbor(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_msgpack(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_msgpack(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1binary__writer.html b/help/html/classnlohmann_1_1detail_1_1binary__writer.html new file mode 100644 index 0000000..d81b560 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1binary__writer.html @@ -0,0 +1,788 @@ + + + + + + + +CocoaTweet: nlohmann::detail::binary_writer< BasicJsonType, CharType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::binary_writer< BasicJsonType, CharType > Class Template Reference
      +
      +
      + +

      serialization to CBOR and MessagePack values + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       binary_writer (output_adapter_t< CharType > adapter)
       create a binary writer More...
       
      void write_bson (const BasicJsonType &j)
       
      void write_cbor (const BasicJsonType &j)
       
      void write_msgpack (const BasicJsonType &j)
       
      void write_ubjson (const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
       
       binary_writer (output_adapter_t< CharType > adapter)
       create a binary writer More...
       
      void write_bson (const BasicJsonType &j)
       
      void write_cbor (const BasicJsonType &j)
       
      void write_msgpack (const BasicJsonType &j)
       
      void write_ubjson (const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
       
      + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      template<typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_signed< char >::value > * = nullptr>
      static constexpr CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_unsigned< char >::value > * = nullptr>
      static CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
      static constexpr CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_signed< char >::value and std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
      static constexpr CharType to_char_type (InputCharType x) noexcept
       
      template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * = nullptr>
      static constexpr CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * = nullptr>
      static CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
      static constexpr CharType to_char_type (std::uint8_t x) noexcept
       
      template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
      static constexpr CharType to_char_type (InputCharType x) noexcept
       
      +

      Detailed Description

      +

      template<typename BasicJsonType, typename CharType>
      +class nlohmann::detail::binary_writer< BasicJsonType, CharType >

      + +

      serialization to CBOR and MessagePack values

      +

      Constructor & Destructor Documentation

      + +

      ◆ binary_writer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer (output_adapter_t< CharType > adapter)
      +
      +inlineexplicit
      +
      + +

      create a binary writer

      +
      Parameters
      + + +
      [in]adapteroutput adapter to write to
      +
      +
      + +
      +
      + +

      ◆ binary_writer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer (output_adapter_t< CharType > adapter)
      +
      +inlineexplicit
      +
      + +

      create a binary writer

      +
      Parameters
      + + +
      [in]adapteroutput adapter to write to
      +
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ to_char_type() [1/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_signed< char >::value and std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (InputCharType x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [2/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (InputCharType x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [3/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_signed< char >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [4/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_signed< C >::value and std::is_unsigned< char >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [5/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [6/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [7/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ to_char_type() [8/8]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      +
      +template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
      + + + + + +
      + + + + + + + + +
      static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ write_bson() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Precondition
      j.type() == value_t::object
      + +
      +
      + +

      ◆ write_bson() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      +
      Precondition
      j.type() == value_t::object
      + +
      +
      + +

      ◆ write_cbor() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_cbor (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      + +
      +
      + +

      ◆ write_cbor() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_cbor (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      + +
      +
      + +

      ◆ write_msgpack() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_msgpack (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      + +
      +
      + +

      ◆ write_msgpack() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_msgpack (const BasicJsonType & j)
      +
      +inline
      +
      +
      Parameters
      + + +
      [in]jJSON value to serialize
      +
      +
      + +
      +
      + +

      ◆ write_ubjson() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson (const BasicJsonType & j,
      const bool use_count,
      const bool use_type,
      const bool add_prefix = true 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + + +
      [in]jJSON value to serialize
      [in]use_countwhether to use '#' prefixes (optimized format)
      [in]use_typewhether to use '$' prefixes (optimized format)
      [in]add_prefixwhether prefixes need to be used for this value
      +
      +
      + +
      +
      + +

      ◆ write_ubjson() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson (const BasicJsonType & j,
      const bool use_count,
      const bool use_type,
      const bool add_prefix = true 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + + +
      [in]jJSON value to serialize
      [in]use_countwhether to use '#' prefixes (optimized format)
      [in]use_typewhether to use '$' prefixes (optimized format)
      [in]add_prefixwhether prefixes need to be used for this value
      +
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1exception-members.html b/help/html/classnlohmann_1_1detail_1_1exception-members.html new file mode 100644 index 0000000..03f4fcf --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception-members.html @@ -0,0 +1,90 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::exception Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::exception, including all inherited members.

      + + + + + + + + +
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1exception.html b/help/html/classnlohmann_1_1detail_1_1exception.html new file mode 100644 index 0000000..89d222c --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception.html @@ -0,0 +1,376 @@ + + + + + + + +CocoaTweet: nlohmann::detail::exception Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + +
      + +

      general exception of the basic_json class + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::exception:
      +
      +
      Inheritance graph
      + + + + + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::exception:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + +

      +Public Member Functions

      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      + + + + +

      +Public Attributes

      const int id
       the id of the exception More...
       
      + + + + + +

      +Protected Member Functions

       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      + + + + + +

      +Static Protected Member Functions

      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      general exception of the basic_json class

      +

      This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

      +

      Subclasses:

        +
      • parse_error for exceptions indicating a parse error
      • +
      • invalid_iterator for exceptions indicating errors with iterators
      • +
      • type_error for exceptions indicating executing a member function with a wrong type
      • +
      • out_of_range for exceptions indicating access out of the defined range
      • +
      • other_error for exceptions indicating other library errors
      • +
      +

      @liveexample{The following code shows how arbitrary library exceptions can be caught.,exception}

      +
      Since
      version 3.0.0
      +

      Constructor & Destructor Documentation

      + +

      ◆ exception() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::exception::exception (int id_,
      const char * what_arg 
      )
      +
      +inlineprotected
      +
      + +
      +
      + +

      ◆ exception() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::exception::exception (int id_,
      const char * what_arg 
      )
      +
      +inlineprotected
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ name() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static std::string nlohmann::detail::exception::name (const std::string & ename,
      int id_ 
      )
      +
      +inlinestaticprotected
      +
      + +
      +
      + +

      ◆ name() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static std::string nlohmann::detail::exception::name (const std::string & ename,
      int id_ 
      )
      +
      +inlinestaticprotected
      +
      + +
      +
      + +

      ◆ what() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::exception::what () const
      +
      +inlineoverridenoexcept
      +
      + +

      returns the explanatory string

      + +
      +
      + +

      ◆ what() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::exception::what () const
      +
      +inlineoverridenoexcept
      +
      + +

      returns the explanatory string

      + +
      +
      +

      Member Data Documentation

      + +

      ◆ id

      + +
      +
      + + + + +
      const int nlohmann::detail::exception::id
      +
      + +

      the id of the exception

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.map new file mode 100644 index 0000000..5f322d6 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.md5 new file mode 100644 index 0000000..1d8286f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.md5 @@ -0,0 +1 @@ +a1e0c88b879494a781f95d652132c59f \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1exception__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd6b5912cc9bf647328ff8d6d46d85c60b71c05 GIT binary patch literal 3879 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.map new file mode 100644 index 0000000..b93c09d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 new file mode 100644 index 0000000..a6b08ff --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 @@ -0,0 +1 @@ +0b3e79f3b5fee5c0c0e2c6748ba2a971 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1exception__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..22d00bf845d7cc8e563806c5caad55191b0050e1 GIT binary patch literal 19232 zcmch<1yok=`Yrk?D%~JmlA^S93P?yv2#5j-NJ)2tf`l|kHwGXg(hVXl-O|$C-RJq- z(`ZxYA!l*YcdW-0#asKj75@-?5Wd^!>^MHR zJ>VC9+Ubxa#M8gHKP+g{<+>oM-kG)AVc+FDEf5B8fIyd}6Gncgz51vdzR96vo4~h^ zR|a_CTc1Si8hqQLLB*kT+4^&37CVbN8cSirRt*xz57Q(=C`sdrc(jSNaep|!}8Qj(kv5$qIeZ1u0CN1r^-8&4dhA&^fNRL^VOn#c|NmyJzQ1ExVfk2!~YQ5679u|o#!=0tLf{-Xw zN*3rH8yjnAkUFxmL@f_?y8K4qdTQeZ*GiB}z$?lzkcXDOY`^*R=~LDiA@hOkB!27C ziLAmxyX~2##Kc6Y036*)hvn15O;_Ccxw&G|SeXyU$Hz~eJjuzJ>~V2%Jfv8xG3Msx zZrd{t^cF@(b@cW1QBZvE``+Lp4av;B@07{{^Wner3ALo0G$9O@F59 zCgN=7S|ia3nYKo6v#>-&M&7=AmniBrjrZvrJ-fKSE&7t3ot>VZ4!z{;?99(!R!Wl? ze3R`=V2Tc!J$ipzT{&6c_3ROh4xZ%o>(?8_ zRMNyApvA<*pbI*k9c{w|q%F<*`0+WZ=F_JNU)i4&8qGF`S{hOcIkdL5$-6Mz9~+B_ ziwnSWJ3U}4NK8%+!80h(W@KbU%joM+g(Z6a;bLyJXlD3c8cbP z4qdmiyrC&P9(PwnZ)}QCKpZ9ztCEtE!F^R#e7b?2o*$Q{^727n zzuvX2^ufDT*&FzUc1{}`8{6PMe96npKY5Z+_G^rpoxN*({MmyC*Bdxt=$WENUNB6n z9&;rqzI^#|@}jx9xl!`|{VS4kva+ZRoLCL8gv7kgm3(jLKK{_V(Ouyo{mP)ZySp279R&piSf z^Ut3@)6g{Ba^h3vsl-?5af#?kf5ft}vGL-?i#T>& zomvmUf`Z(C^?*)6K>;f(E6jnS@85fRdxPG+TX9YD_xG=_uV-gx*I*s&?hYSrV3LIE zN=izg$FXiSOiZMdiL$c(YHVzroYYfSx9?2krKYAvxq&5tc6@rOU*)8vsv4=Bb$Gv8 z6Gk95HrCk4=$`A2k%0m~H?k+*OiKogKxCnzU%2x6*ucle(p%-v85RQJbI%7Ep8gSX z5VY9osaFt)h#Sa|njRj(yQ(dI1v(LNA}1r`pOwX2AYwbyxG|Oe9lN)bDdWFfymdk` zro7X)@r)CVjy&`xDXFQUA&Y@k&WcPtVq&$$#TrkaQqU1m zQhxpX`QYr>o`;9WFQTmMa3Dwh_%JRqGJ*5O&qUr=-=0+zx@^yA=FKlIW_|iZOhkm2 z_xA1EgoFfGYlMg2EXEQCe0E`{piS7Sc)qv4@9OSkOnq~jaDJE+*cp&v23;&YQ= zNuo7y8r*LcxqFs}p2iX|oVfQI*<%cU(&iqtKI1&|>uC5nrNg20p8n#WpS%BN@y#@| z5p}F)-hQ*R;0*3U@D)TLNj%35hZ`LvDA3Jxmi+ytTDz{hQ6ca39)kDrdfBN-xAAxFw6A%xY)>T91ns{jCu5CN zNYK2#kU{t~x^MkaGMdw!@w3=AIGJg35Ur^<3b^Wt-33jH`jQjmIsa>FdOC+gKQ@#i zYjMTA;(5LF_3MI#_E+rw?hvVceYkZOZi{OpA)lEJs$Cb_W0h$5mBZH_`4}PRWE4!5 zsI9H{jg8Dw{#efnewuF^R3;{Jk7W30BPVhM;u*Ww>QHcCpz!i?#plnX)YSbX?8*0@ zBSH{}OJoSbd&S0<98AK4OH=z;TYJBWuh#b=evkhMn=l*mB|%xP|pjgJp8Y*Ayq zBkr}^+4wluLN=s_L6`_n-=-7?fhX+fsKmvE8%|wwJ}s5vi_+O`ee)R}w$L?XxRDX_ zG#9bG#dd23C#locIqhJ=nU9!D>V zl)55+6>cC=xL|y6yc>S7S*NKryf)1>F*c_8n3$Dpi5m%U`ihHf3=A)^&?~l=)qR68 zCt4O2mUOR8+(3TxP3%o&#f}E4fG9DKY0?oSdFaIQk9B_n(Rt&Wu2!0;VOIjr#oEZ`b0RT3I(V#4?bga;SJS0V zKfk+oawCWH^C^Ti1Jf{*Mhe3m=8I2aGBUA7AE{|U-44G!`Qg~?D*!>Qh^_y zepi-}Z(X_25KxJNY9%8xNyV>x_={NI-X5ip@QM!}%n*sil42XLb6(MVd(A&yW5|Y; z3kmf6X=kGq`-35ikjOGJs!kBJ_qN%h+1Th;Q|I?O-@mraVeB9zdh3?tk=Q+QHX)%( z>z%zvu!;M>fW0l#vXp02jXCnv7>Rrx(hGN@%bfT4rzi)9wN#X_(XfoNv$1G}iI(v3 zhd8&9;hq*RF1V#hG?B}2^Ze8m6}K{3Y&|DGUl}G!M`I8nJw3hfI2%2ELw|o!cj`B5 zBt-T(5cT{uUe2{KQl#d5Xhy-`rK#y}&rLgo++})nl$6e6*|v*J0&qxaop%>bsDvq- zs^fc2i`kx*{vI7w%NbDpATv?zTC^?($SIhFV`yLi5YkfLCxxjx?{0S%X6CH*f_vnh z-QC^4em#8fplM)WZ@M9Xj*hOfvJw!to}S(__PF1n_0OM^%49qW2?=r97;mc*diV$c zmhYQ4G9jeBP8HSF$@R}4H{<-kEEgsB#9pCM+!M%rRDHgFyVSrEJl!W^uF;`1oPBj`vmOR9!x! zaF;k95}EuwBop`Ykds3zP)ru$Oi-k3$x=+Pn`uO+Y?-Qd^~GalVWB;6J=wc0nf>*v zVrv1wW^tQ8hyqbY#_J8=M@PLUqZt)qEyl|WEJGlX!RP;uH)&Dz{}~Bmg!}^u+g15h zyXU2To6urrSU=jH4JvBx3JeV;)+<6zJD-)+Bq_;n-ur{EA*B2HmArVNFfj1G4QG%S z@~6f(kk3eFXJov->;+T^c@rQ{gP0{5dNGr?l(`uh_wTa6*X`T4@7&qdbUkfsYD!2- z%FWJxPP(wV+HS-x9Ks;ND$W$0^Yv@T*wpXe@!D{?1lsb_(sNS(7x5t>9WCKBn3$Mj zrL+usi|F2mI%cOUep!RV!<#Z6onWg;uTyyFc5%FTA0K}i!o%5i%O#T{-pFF`QBQxr zVbMraQ&S_W?c|57tlFVmfe92gl zn3kq;mz0$B5zG58Usx}SqATndZ~3vj_ZA;~K&;YQ)pF_Z22DO#+O5tE=IfsR+qaJu zVkr-|jt2Ys1VlZfv$9G6KYKA@(TI(YjsjjD1Xv82h?tnz!NGx!j*h5BDRfu+Jgm20 z?d>K;Mt=VOPE|Qhs0O4I6e>x4onvE3O$GqDtVfH3e&5&Ep8`P8iqvc%RK7W4EoqAm%wx{XR>L)$l9qlOe*SM45P<(#qbPFMk3tP1sJ00B}&aGQ--<@xo?Jx{NHQE>0upPz(+0(!|br zU}x!Bh1a3A#K6#|;7f+h^6ZmBmi45Ftg342nlxhXdO_{RHAD|1K%)<`)}8VA&(!;E z_E$zBOlQQ)zf=Y$P0d$=omBg@hCqonv$lpL)wkY;FJ928cI$Lz|9nb(FBDU?TUr1&_#;3|pO5Bd(`P#h z<~Ccrh=@ zq+adaG#=)A40HZI& zU*F?;_&Mb=p=*H8BC%zhPuJ(8W$Y`v6)xLZl6(I@8 zPl6J*JbYV|!;M_S<{xHch!o@uEl_`QY&KCDUtFBLS(`MyY0bertiMr*Dxre>NHqh4 z(e-PMIbT@ys+UB~qVPv-5fP-w$B@v7^KFc~&UYk)Kt?n3N~_?i<`<9)fG=3Q%PEpD|r`PLWpPIQXg*ZDaO z24?X(d*;LGhO-6Z($}vmV+Q2_^70smXsRwB-B6Wy2a(%HF<&pn-CZ{Bef3mfQ~lsz z6g>D{)5-hDZ6;As{@cqxL&w=?(7l3k!shpgg!^3a|MUR>J{p03P`?>kk&Feg&p={yQ#9NhwFO9yV6Ji;6 zQ5wGFwOiAkxZuRa!4pJo8j&sG!PPb1x%t*O*p3AyR7y^ic0|NAu#u&{-#hCT-%Uz{ zR|zD5S8=0C>J)WYTB!Gx*Y`3bCzu(Zl9}7BB#e&M*U*q~zO}>#jakxFTtKznTw+#v zhk~;BP5Z^5%8iBl@Jn~(FCUW#*F-;qD`%}KKa+hAdB+l2_AInk+1z4sq-$^>= z#GIJ8@_Qs@Xj&kF?Ql4i@VB1j<`*x518^QQ3P-Y_uP7H6aFGc-dcEe5 zUWdF{>-(6;`A-PXk8FGWvGqMKYw{eDKclTECv!Cb1sA&JfH*@g=}g=8QFWL|QUPl4 z>O8zLYZ){>DQFDHAngW;aE<3_jCxj|t}Yv++mbBoE_-|9kmxvX%t6mY2p}6DdFCm95PY)Yzj9dT`>5ya|Y@8cz zJ&$=$CPGVJRjI!6l@{J_j{!kHzeb(ULkNqoWJH zb5`2Cc&w|dE+H|#S$D~n>KP*KY~bc*_3&5w=qS^Y^0jkp=%>+oV|$ZsoX)n}ugs=z z`576pu(PZ8_1jaBCx%nnrigidG))U@n4S@ciuvTQ|HFCHd~@ouOjuP(36N)ZAo=H9 z%!#0MZ=h==gdx53^}YOKcX_`0gY%wMvYy63S#_AK>g~Hv$og>11w^#QyX^fwBcpvdpRmGPB~*fZ-IE(}VWHLhnk#GOKg) zN2B4>Ti#^nCJDnDE z3HUFMAxvx=%FClaQEfzxc{teLPcPggjzcN11$$bdx||@TtV)`BX>ltq=?^mQx#&u_ zh99pxl9ROr1-V46$nLOHYwJ8*?{G{d^^fJ4`uahAtbuv`hJu2ExOiQyw;rt~me@?gBRoGF6VFl2)&#MJ;orsY7)BDW|d@59v(Mx4aT-+!I z6t}m{^G1x%c1GIT+8P%Zce?7Okx`&jh}Eks%$FUc1-1Gv*6tT)f+P4kJiNRUrIr++ zys_}|+pnzX05SG0_f<}wCH#4@ms3%jIx*g1>!{n;qMuQ3O%j2#bxww0h=_|*RafsB z&I+T>6Elm74GpayuSgRV40W=nz?{7={Z{6K1B#_**Q2&I7xw(2fksZDY&`=IQiPz+8Z}+ z_};)a;3R$U-~k$)iOC|QdK^znu^KpqQrH<%(>FV=HR0`TEU&CEF*6gkD>4x_d|z2v zDdm#Jfz3g}96knG5#%!ERaI3L6(u#g>zNONL3k@HEac|lQF!=pe0*F;gilQD0>+P+ znAkyRqN@uCCuT^{ff1mid#$DOO|RzNtc!v|`zM7sxwyEqB1^CTln0D8bJ+@Pdp?Oc+xw{rx<*Z|4B{)dRAqNk=@)B>GWf;a&DC@*i`KyDgsq z!-Fpg3FBFK?ECkvzkZRElN01h^OIYLl%*TG(l3C3_#VDuVq9~pJ!fWSIyyUHkT|h+ z_xE3NCs4@{P{+_jw*lT?Shuz~>z-SNQADGoqN0M4$BK@OJcjiS!q3=Ezs6M&xfCLtjq%xyH2?am)`Jw3<^4sIXHd)nUKUh&Mz)RZNu zbHhwi40tU^M@L}88qK}D#0s82e=d>n2r_RQF;G+ zJ6q^Zo7&}j8Wb9umzT%O$7jq*3iG&nT~$?;iHQmL51@=*4Sn6-+9KtAj*x7fnz|e< zdG+qyI|m_MzwK)^?(T;hd0)Qt_4dBtBt2W-ZCN^q#@J31_R!MQtaaJ`+1xC1#0AUZ z_3PJh9QxmKauUQmPk<7^#=-*en@KSqkAPriW#t{7PJzJ#h*)-Z+`R!+FWY19XnoVr z(&Er5UIM-mE?wt)gO}NBT4d6#tfGP>?m)Z8p%D|Y9KB~^Vlw$mR{gVLTWjl|y099^ zvDZgS+S=Mk{XO>wwHk+uq}5^a)HrYI85@6&jU568)ubzVWLj9#!*g`yRy81mT&<$6 zR8MU^JvL_MvA&(|OOm>a%JIp`uSM2QWp|&IM>H8Yy1b3Z%31`;Elt!tHaeQeW$QU` zJwb%bxBN8oba+j=C}+}6VC?8+!$iE!Na>JDBxL8WQBW}ihx+^b$H&h=#0Qp=TFAjv zLgGh%mdfnR%*yI21Qi&Hz{vR|KFeRNtv@&|mU=RvrB05HjHQ@nr4#EW-Kk27iX!$4 zin;U7o0IEPb>hOpPo<;`C#zipaHuLhjtjqhF$X43TDlP!&DE6^@C^Wh5O!GVSsyC{ zAs%nDZK?MIAblnl>Pz8PmhgUKwVkQyZCPPBQy!xWlpTs6_3;j zLGf44a@nP&2MIhT(4R2F+hN9n_8T8h3goR{L{ie2zV~@de7yFfN6%lpxPKN@I)>Kk z<>GP_MkO4t_&GYde{H1b$=%qk*Qpbvwqx>)jGLfVy)>(^Zw{#mz+sGu)1votX;K^? zFSl)IZ(jwPy~wx|=CjrqNtNYT>FDTaU|=ASwnf@sb*r2lT`b((DnVt1jYd&PX*geB zUro&prXE}Y^t?D5Tj*~X7*XI#VX}dqUuQep481M<*OyUhJq5d{H;D8wAiK`B>mx;3 zV8wxbZLvFTczAfK@Fiy0?9(zUDnUCV2?>dZ4}TRHw)nNIMmeP^>*}5d(0B>J3{zF@ z?M&hamA=$sMAAe4`>Ww^@FJ+!uQxR|h5!(NMB?TES}({vTCp7Z)FdSQhRq>9K0e58 zH~+0ZzgJ>PWVCw0tKq@z*|M%AX93og$(Ha?fiRaQEQIaQyc?5|+)|vr*Ye`x;r_5b zSOj2pJN^Ft0xbi^5msTckmIj`0f(OS`ye)8-Hfc<4hyvRE(aCB)7#yZ*PP-2& zfofGr6?szSlvi0P)Jw9xH7zwM_9iSv-20+6k{%EMa-sJ0dpZc} z6XWg9h)G&!n)u~pjr-qC6@W?*58cH)fC(_pT%K=w16b)B8amk7x#je{Kzn(4nS#%v z2mB>!YC08mFU`zubJgbRt~bBZ0y0Z(<>jWPrsFm4T5_!$=l9-b=f`2ASBSapgpu(aP>ZLY zZ0NE{K5F*yTi#)7aFvog<_D~hn2xO%nWG@+4raJ!~#XVEJ z0*SqN!YPzp*rg$c;9VM}UwZGtVt@@b!q9aLIvN#=6!6`Tr}OL4iHU9pYa>xnQ4pW~ zdVUue{)5%O8T<(@7}J0HG)bHG;^mX?&#zo|!62N~iBL7e&aSff=a0=o2N?)SNXHX3 zBrDa$DQ14&q;FzlZw5221x(hY8CRu>8WIyH+~d7{aejzx5WF>YoTKiH?poaaJYHl3 z-|ge4Pfh*(yRiBIPr~}47Y=*BWG71R?+195z+3RF{MiQlk_@XEkd$(&NQK9-onJ&o z23+S-!wM)pBOwXm3u%wq)t*;_xIgevv!~VMMlW9%gzQfMU$2DQi+0;)CWjED=QO^LKae7aVhw)8oq;dNTXbrefIP|K^oz@d;YD5df=nn)w1wXVMyEk9Vp@3*>CJ~=;}q7ij#G~x#A-qv+XwDMWE ziR_*3dbb9xcf-=@Mye%fZ`|g-k`&Ivh3VojKk~nwyE4nOP_W{|1D()uFsu8-V~^ znpEzW534R!9OTv23BzV#9|v_0x+gF=c-1Ls9jCEpXoy!8a?0y8w8;RP zQ|GqN%E{RSn?`G^9L&Uy>EQnQB7#&H|Vv*P0eUcS5}J8bM8a=N!Xd!L-#4xixg!h0IR z%xA@ft4)fQYIv2nmgLbXW|1ebNws z>kYjfLdJ8ASF(6>ex8_=R1S+%UQv{Fa}C!+?lrp1RsqHMOfA9<>9# zs#0j+n%fGQM5Y~?nKSQ*?*O8$qLcF9Vt=|E^rFGv^Kil$Ix=3={QxHL*StKW8U$Ax zN=Y?DF)Hu@PI@(Tck)0fiEnvz_4M?#JBgp;?%lQA{MuU>z5vDH&47m}F&|{bZ+>;S zd~tEQ`TO^8*cHLn*kcMHYZ3mAPn86L5OT(giwm%ARa8_+Ykf@bK+6ElO-5S!uJ(6Y zK|xno1&zlnm#@rDO9Ric1kDG&JFeEA>~`nHapc?DCjpud#EXiFS>BT9dCbepTdg8O z%Q``pKb32GZxm2^(EZDgrq0!3l4vd4vf&u)`WJV^E;bVrZwLxLRKS$=XkJALT7Y0a zHz$pCvgvNwvPuZrSx!#=%q)$5)j{#6x4tg|8|q(Fd&L#I^Wyu~|Cv~1gMQ3mdzW-%6y)hHkej||kTnhjFYU*7|W;$Ss|Z1H$+ zIXXBPGhfNs`4G%>0|Oe4j{8V#A|wQ=(ZNAV_Q{QbBKGK*PrpaQN=v9Fe*f+pxORwo zr4RBduSttdA`+v3$97XHX%0AE4Kn5gso<`i9|pBvhL59;^Oy#|MIaJSX6u@ta5`S z`+<{Rm)fHU-#SZLf+#!t_4~f>Tf=DO{q&Uv$Qr*}N5i{6N)Ejfl6 z{ZK&xvQ&Sp<1CYSXR6?>SDzSC?j;*uMfi}e9D{=+I>veb^AU_MN&0> zohTCdc+=;nRc`8Mz;_ICP=;fL}<1*aESK3>@wuXVMC)t-($(;DVB#%lX8{TdCMg6}R9)93XA$O0T( zEOP6wtpZ-F^QzgJfGpc3j%#Uo8L(xj_Qhf02)OT1m-8ov^F`-`YwB z{%S}++2g~{XP20ys({&5^=af!JvZjf>_8EJo4Yr27oEjWW|+XVqp6AXs)A|y%9SgP zHr~ra%A)RIe4bjwyEAi8b`CHq&Fds+ji@g~QnjzgreS-*-+#QhxjHtsEYtjnva(@M z`jf)K#@i&QEw+9vr2ce%B@<*V6<`z)KWA9$I;m+K7%1LM(=aExd6S%stYowtEX%E} zt$L!GXEs5)gWq6q1iLm|XJ& z9q;=X|DENwf}c6LxoN`A-}rTIKINpohVa9)vx$FhEevzSwFQzoX^hkF6dPiGM)C46>A&+N$^96+{Y>+4sJN%Auhd%dFfA zJ}$Hjl{9j10Gyu`ys1RpcFU$@nwvzwkrXNeQ*)nRhDWPL~|FGxW! z@`rPe5k1zRD*T}V&8*6q!*uYl!Pp+}=jv*b^|(u^)A|#hBDN_niYMCIgP{k+#PiPU zi8NH}FdgnPGyC>L4YEp z4H6D9CkGJ=gTl79r7GL;pgAl7Tn!> zAtt#L%ptQ&0!CPnD__6rYSoK4UbIAFY}Kj`*K1PPPDpfyPOXJ_Z!c3x&#in!)O z13dpI3CW@9`e>0r7z>f&EYvrcQ}U&!tNd>^+4y!&_P( zBfpcIKA3Ci>ACJg5oBHMv{o*eML{FB_9aI!qS5c?wxe9_$x%V?4~dCi<_xxzpTA&G zMg8?XO2oH>V=^mpnz~cR#ymbdKU4*0U;r*hK`HfvhoxPS+ks19;h&A?gcLmd?CPK1ZY|KbfeWULzebE2rSUcn2>5hC^0fg+Pn zceGN!<(LULm=@%%n}P_4>K!l#LZ?6&@+wNCbSa^$+us~Y!mjI9?NKop%VrP0oue*c zkWwaUPK98e@$M5xAHN=^Gc(~go@;$!l!YQei~OLXq~wr4HaHG7K&7M+)d^k`xP^fB zy+KO#?;k##1d-dsB<|XcuKm4YCgHHw?<3`!THy=5QFuk$HkE?o&O8u;F7|8aMOA={y`~;-Q!@S$FOBQB;;OeSU<_= zdPH#%1&{p#DM*fm{a133eX181r&Zy$Z+-px*Sx27PL3rE!pdngj&h$r*PiSxPvNw6 zi_<*##2S@?BS(zv<+os*)z(%6gX>693xI=c8n3czR8i?=$hY78__R`?1iXDt@ zf{3fYh^^f2h37<#dwzevy}FuSOsr%810FW=PC1~kIj(k1)SmC0Zkky9evZ4y2n~?F z4lQK}40bPe-F*P2XmE8VCYnc6$==1IijtS_j*ik3ac}m6Df1YnC9SM{n>$S!&yy!j ztHa*==ZB>R0)xCk*Bs@#5_vUMtT{)Ped3YkS~CGkD;JlC5dLqghu~5>^bS#j704F( z>d_GPBnsm=+N*22-^bQoPNN1~@FmtMz}TUof=gqEm$%?>v+iQIyKJ$8jE1OK;>7Cs zx8*{9C44(y18Tk|E>{KvAxXAsx@Qk*TRw zPL@~!4e02$7c-dZg|mTg-(r$L1p<`s(47tpw?EdpV`@Is_RH?{E-CHx?RGp8lHrXH z$n{4LN}|Q22bb7IK6pOF&+h@~0!I?V({dX+Nx7ayk|k@uOR+~MeBf>-WqrKeia)$% zbC|1@<^iU@wKW2;HqmlHOKF`Jx;`;7<_-6d3OH{-5*78^Vo3%i-4OW@Ss@|w#qNCY zq}hT!9W?-iA!4LOYaA(LE2^^m{uRS_`}P$K3_Bi^4P5k!uIV2^I>SB7dx3#y)2BVA z#Y;;|wQc=UkpGkV1AYoB9qFo8Ah-fUYS7tZ)A|-Ox6Hy;z~g9WSU;e~>pT{W(d2SU z*t5ufww29zo|-zuZ~bl7ZaabJ5HeUy z+1dO2#1T|FTib%5pr8*Q=;PW&oi~z!F9YY94P`gbP1O0hKN}jH*M8Ri2nNd_L15c}J3$~!C4qY${MZ6vb*{TN=rkTZl33f_TUPgb1Z|Hn zgtX54&yOnx?hhYg_`d+?-?)Ozf33!U^EJZ?fpR%NS%TskU2qPgWq@IiAQ#A6G`gF? zkJZ%P;IXo?F_zj3P_o7(rlf?<3goAvhqt(!=&)gO!&^Y|ysar4PVISiWIN4~CZOA3 zD+o8BqfD% z`2mIq2m~mAYGmyVmGSt9A*d-Of}?7;$*IJWO2 z;(9D0=tkVw*(ro7fC^hfU3J2-AwFc~1REP=p;S=Z@88Bj6(wg zT70gc;7I}tGyF|gT|?tz|8i#N;$Jo?J1@@@(!0h+X>9CJ<QINUvv#3){2B>DEIA@O zMw!%~?U}%BUf$=w-UER_bGcE~4<$0lf|xH*p4lf%A&lHs%|2&vao)9PTkcN{ry)^J zs}&YHxq`e2(lr<11$fJ93g>7cDTsotJ#T$Q@gO_!oXkl2Kg~82IRs8CoaCF75D91iQN{4TjuKXLAtG7%4C@9Hu( zldzUIP`gk90sa;UR``;j_Cu(J0#be+9w{_ecXyQ(p_norYhH12P@MA8(|rV>d=BKj zuTa)e&haw$!wCx1y{79^2)!r2SvvRg?I1YZ`S{$S27sSGcn4=YoySil^=FdHr@=2< z@-{kDgGhXiNY7E1Wni}cU2LZ8;<6G#Ru5(8Cpv>Qk5&_ zStGBSjEAd`>79=gkU})VPN!SbPt!d4?y;D@e*2d0HWxU{fBdZ(bV$g|Jgaon|Mc+) zmn?JU58lG8{S7Mo?^4ji+2a6BtqBFgrAAc zau&dpY}j}rS8(^j0s?_igFF|2Uf}k!AWU8fq<1r&BCt37a1&KWoAjG`ObmmoE)C#2Br>BVPT;1xW#Ivp_#k{Dm3GUkZ4b`4(JC(#jmJtYJ(EzO z4u5ZdFz#*vh~&rn!@^KYfq_wIY+MPBk>%4D+zGeLP~}iz?ZUJItBe!PTPXYVF@;?8 zZ9o>Kpq;|grTL$rX;mXTPm=V??_>gCbwJXA3%D@UVTH3oSvA_Yy32X5=5H!$827E(=e zGq!R1&#NJi0*{KAH*Y9mb^W7I4%{9}k&(^~KY9LvlET`S6*#SiW3l|#wSr&j0>2I7UKiTRl5pZ z?sIKqgwg$g;q#|?#U#F;Q{D$3>xppeZrFGoU?7?3?xU<0+5K(>f`{z?{gAFp&QQdBI4eq=z# z6QA-Qwr9XJ1aNsW1zR*in(P+>~)xC50$-M7~N}ZFsua9 zW1I`K80o#0xGLhU=XU0Tl!T#{wb&vdrs`CKm-i*qSZ*U7>a<*}tmeoPJE4>N_B`&r zneuviX%u8;@a(@1Z3Mcy)-Vyx=Y%n7tf*U4eY5mu+?q}lh7jVt3F2U?YSaQ>iHHk95%A>{SaNYXTnZScfK$r%G-Hs%aTBD%( zqiq|hRxf1kA#s&6p#yXlXRpf>w}TI|Ur}*c@35|bXK1mb7t)MJn@uP+mOxBbR#G|8 zOF>YQ^VwbO78VqAoRx5OwPgHMfQ_A>l!zgnim{gf5(ly#a!R(;Iupu}yX!Bf&efSW z?QdvVK>hVUD#HKEAsaq>ANrT^@$r8iX7rl&_Vz;kPyp=UlMrwj~}nmY3S%Yv{b2wFjVdYd_M^kVfOZcW+BvM@{Y4ojb2gP3684Oqez$LK60egFU$o;VzK$%TYG!BULlbvrd;s$G;>nT(`5n}#NOn^Zk1nHLB zOhc{*$I3vW1OBUd(R&_8HWx49bdBTU31qobPdJDn1tVZaGcbq|*zE0JUH0RKzHqd) z9jSDDxet|)0GTu&7tXE#qJDdO`_rdS z&``7t$h&xXOTZ98SoG5Ee*v?p{yWTuvl!6R%T|Ro5>Ed;v?3xTUhWgb zWL@2w^$(=}B~`zYPW@SQ^WYtk1$c|lWQoEJrH_3I_EU1~$R3cWMgEfl`A=k_8|{_n zwec5N$TKrwWgsECkC>Xac3=rimHSTYx33^iP)ZLcB`24RGuwRqx4ZlP?PR8Z_1q5^ zJUEmB%JRW&<8y>$Oe07^?}Flq8O#k_IL}Ig{QvcQC%DUz_*nV4+_(9TMi>-?`~zj_ JZ<5d7{5O6Siyi;~ literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1file__input__adapter-members.html new file mode 100644 index 0000000..fb3828a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter-members.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::file_input_adapter Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::file_input_adapter, including all inherited members.

      + + + + + + + + + + + + + + + + +
      char_type typedefnlohmann::detail::file_input_adapter
      file_input_adapter(std::FILE *f) noexceptnlohmann::detail::file_input_adapterinlineexplicit
      file_input_adapter(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
      file_input_adapter(file_input_adapter &&)=defaultnlohmann::detail::file_input_adapter
      file_input_adapter(std::FILE *f) noexceptnlohmann::detail::file_input_adapterinlineexplicit
      file_input_adapter(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
      file_input_adapter(file_input_adapter &&)=defaultnlohmann::detail::file_input_adapter
      get_character() noexcept overridenlohmann::detail::file_input_adapterinlinevirtual
      get_character() noexceptnlohmann::detail::file_input_adapterinlinevirtual
      operator=(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
      operator=(file_input_adapter &&)=defaultnlohmann::detail::file_input_adapter
      operator=(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
      operator=(file_input_adapter &&)=deletenlohmann::detail::file_input_adapter
      ~file_input_adapter() override=defaultnlohmann::detail::file_input_adapter
      ~input_adapter_protocol()=defaultnlohmann::detail::input_adapter_protocolvirtual
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter.html b/help/html/classnlohmann_1_1detail_1_1file__input__adapter.html new file mode 100644 index 0000000..46acef2 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter.html @@ -0,0 +1,509 @@ + + + + + + + +CocoaTweet: nlohmann::detail::file_input_adapter Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::file_input_adapter Class Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::file_input_adapter:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::file_input_adapter:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + +

      +Public Types

      using char_type = char
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       file_input_adapter (std::FILE *f) noexcept
       
       file_input_adapter (const file_input_adapter &)=delete
       
       file_input_adapter (file_input_adapter &&)=default
       
      file_input_adapteroperator= (const file_input_adapter &)=delete
       
      file_input_adapteroperator= (file_input_adapter &&)=default
       
       ~file_input_adapter () override=default
       
      std::char_traits< char >::int_type get_character () noexcept override
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
       file_input_adapter (std::FILE *f) noexcept
       
       file_input_adapter (const file_input_adapter &)=delete
       
       file_input_adapter (file_input_adapter &&)=default
       
      file_input_adapteroperator= (const file_input_adapter &)=delete
       
      file_input_adapteroperator= (file_input_adapter &&)=delete
       
      std::char_traits< char >::int_type get_character () noexcept
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
      - Public Member Functions inherited from nlohmann::detail::input_adapter_protocol
      virtual ~input_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      Input adapter for stdio file access. This adapter read only 1 byte and do not use any buffer. This adapter is a very low level adapter.

      +

      Member Typedef Documentation

      + +

      ◆ char_type

      + +
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ file_input_adapter() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (std::FILE * f)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ file_input_adapter() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (const file_input_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ file_input_adapter() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (file_input_adapter && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~file_input_adapter()

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::file_input_adapter::~file_input_adapter ()
      +
      +overridedefault
      +
      + +
      +
      + +

      ◆ file_input_adapter() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (std::FILE * f)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ file_input_adapter() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (const file_input_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ file_input_adapter() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::file_input_adapter::file_input_adapter (file_input_adapter && )
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::file_input_adapter::get_character ()
      +
      +inlinevirtualnoexcept
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ get_character() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::file_input_adapter::get_character ()
      +
      +inlineoverridevirtualnoexcept
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      file_input_adapter& nlohmann::detail::file_input_adapter::operator= (const file_input_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      file_input_adapter& nlohmann::detail::file_input_adapter::operator= (const file_input_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      file_input_adapter& nlohmann::detail::file_input_adapter::operator= (file_input_adapter && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      file_input_adapter& nlohmann::detail::file_input_adapter::operator= (file_input_adapter && )
      +
      +delete
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map new file mode 100644 index 0000000..357b826 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 new file mode 100644 index 0000000..7da62cd --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +d2c5b1903c5c7b736e0b7a71719af81e \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc6cf81dbb5ff051ed28d218890d913489558e8 GIT binary patch literal 4699 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.map new file mode 100644 index 0000000..357b826 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.md5 new file mode 100644 index 0000000..7da62cd --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +d2c5b1903c5c7b736e0b7a71719af81e \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1file__input__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc6cf81dbb5ff051ed28d218890d913489558e8 GIT binary patch literal 4699 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1input__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1input__adapter-members.html new file mode 100644 index 0000000..e242fa0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__adapter-members.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::input_adapter Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::input_adapter, including all inherited members.

      + + + + + + + + + + + + + +
      input_adapter(std::FILE *file)nlohmann::detail::input_adapterinline
      input_adapter(std::istream &i)nlohmann::detail::input_adapterinline
      input_adapter(std::istream &&i)nlohmann::detail::input_adapterinline
      input_adapter(const std::wstring &ws)nlohmann::detail::input_adapterinline
      input_adapter(const std::u16string &ws)nlohmann::detail::input_adapterinline
      input_adapter(const std::u32string &ws)nlohmann::detail::input_adapterinline
      input_adapter(CharT b, std::size_t l)nlohmann::detail::input_adapterinline
      input_adapter(CharT b)nlohmann::detail::input_adapterinline
      input_adapter(IteratorType first, IteratorType last)nlohmann::detail::input_adapterinline
      input_adapter(T(&array)[N])nlohmann::detail::input_adapterinline
      input_adapter(const ContiguousContainer &c)nlohmann::detail::input_adapterinline
      operator input_adapter_t()nlohmann::detail::input_adapterinline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__adapter.html b/help/html/classnlohmann_1_1detail_1_1input__adapter.html new file mode 100644 index 0000000..b12465a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__adapter.html @@ -0,0 +1,485 @@ + + + + + + + +CocoaTweet: nlohmann::detail::input_adapter Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::input_adapter Class Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       input_adapter (std::FILE *file)
       
       input_adapter (std::istream &i)
       input adapter for input stream More...
       
       input_adapter (std::istream &&i)
       input adapter for input stream More...
       
       input_adapter (const std::wstring &ws)
       
       input_adapter (const std::u16string &ws)
       
       input_adapter (const std::u32string &ws)
       
      template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value and std::is_integral< typename std::remove_pointer< CharT >::type >::value and sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
       input_adapter (CharT b, std::size_t l)
       input adapter for buffer More...
       
      template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value and std::is_integral< typename std::remove_pointer< CharT >::type >::value and sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
       input_adapter (CharT b)
       input adapter for string literal More...
       
      template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
       input_adapter (IteratorType first, IteratorType last)
       input adapter for iterator range with contiguous storage More...
       
      template<class T , std::size_t N>
       input_adapter (T(&array)[N])
       input adapter for array More...
       
      template<class ContiguousContainer , typename std::enable_if< not std::is_pointer< ContiguousContainer >::value and std::is_base_of< std::random_access_iterator_tag, typename iterator_traits< decltype(std::begin(std::declval< ContiguousContainer const >()))>::iterator_category >::value , int , ::type = 0>
       input_adapter (const ContiguousContainer &c)
       input adapter for contiguous container More...
       
       operator input_adapter_t ()
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ input_adapter() [1/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (std::FILE * file)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [2/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (std::istream & i)
      +
      +inline
      +
      + +

      input adapter for input stream

      + +
      +
      + +

      ◆ input_adapter() [3/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (std::istream && i)
      +
      +inline
      +
      + +

      input adapter for input stream

      + +
      +
      + +

      ◆ input_adapter() [4/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (const std::wstring & ws)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [5/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (const std::u16string & ws)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [6/11]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (const std::u32string & ws)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [7/11]

      + +
      +
      +
      +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value and std::is_integral< typename std::remove_pointer< CharT >::type >::value and sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (CharT b,
      std::size_t l 
      )
      +
      +inline
      +
      + +

      input adapter for buffer

      + +
      +
      + +

      ◆ input_adapter() [8/11]

      + +
      +
      +
      +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value and std::is_integral< typename std::remove_pointer< CharT >::type >::value and sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (CharT b)
      +
      +inline
      +
      + +

      input adapter for string literal

      + +
      +
      + +

      ◆ input_adapter() [9/11]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (IteratorType first,
      IteratorType last 
      )
      +
      +inline
      +
      + +

      input adapter for iterator range with contiguous storage

      + +
      +
      + +

      ◆ input_adapter() [10/11]

      + +
      +
      +
      +template<class T , std::size_t N>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (T(&) array[N])
      +
      +inline
      +
      + +

      input adapter for array

      + +
      +
      + +

      ◆ input_adapter() [11/11]

      + +
      +
      +
      +template<class ContiguousContainer , typename std::enable_if< not std::is_pointer< ContiguousContainer >::value and std::is_base_of< std::random_access_iterator_tag, typename iterator_traits< decltype(std::begin(std::declval< ContiguousContainer const >()))>::iterator_category >::value , int , ::type = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_adapter::input_adapter (const ContiguousContainer & c)
      +
      +inline
      +
      + +

      input adapter for contiguous container

      + +
      +
      +

      Member Function Documentation

      + +

      ◆ operator input_adapter_t()

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::input_adapter::operator input_adapter_t ()
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter-members.html new file mode 100644 index 0000000..8b233bc --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter-members.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::input_buffer_adapter Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::input_buffer_adapter, including all inherited members.

      + + + + + + + + + +
      get_character() noexcept overridenlohmann::detail::input_buffer_adapterinlinevirtual
      input_buffer_adapter(const char *b, const std::size_t l) noexceptnlohmann::detail::input_buffer_adapterinline
      input_buffer_adapter(const input_buffer_adapter &)=deletenlohmann::detail::input_buffer_adapter
      input_buffer_adapter(input_buffer_adapter &&)=deletenlohmann::detail::input_buffer_adapter
      operator=(input_buffer_adapter &)=deletenlohmann::detail::input_buffer_adapter
      operator=(input_buffer_adapter &&)=deletenlohmann::detail::input_buffer_adapter
      ~input_adapter_protocol()=defaultnlohmann::detail::input_adapter_protocolvirtual
      ~input_buffer_adapter() override=defaultnlohmann::detail::input_buffer_adapter
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter.html b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter.html new file mode 100644 index 0000000..39d2297 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter.html @@ -0,0 +1,329 @@ + + + + + + + +CocoaTweet: nlohmann::detail::input_buffer_adapter Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::input_buffer_adapter Class Reference
      +
      +
      + +

      input adapter for buffer input + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::input_buffer_adapter:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::input_buffer_adapter:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       input_buffer_adapter (const char *b, const std::size_t l) noexcept
       
       input_buffer_adapter (const input_buffer_adapter &)=delete
       
      input_buffer_adapteroperator= (input_buffer_adapter &)=delete
       
       input_buffer_adapter (input_buffer_adapter &&)=delete
       
      input_buffer_adapteroperator= (input_buffer_adapter &&)=delete
       
       ~input_buffer_adapter () override=default
       
      std::char_traits< char >::int_type get_character () noexcept override
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
      - Public Member Functions inherited from nlohmann::detail::input_adapter_protocol
      virtual ~input_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      input adapter for buffer input

      +

      Constructor & Destructor Documentation

      + +

      ◆ input_buffer_adapter() [1/3]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::input_buffer_adapter::input_buffer_adapter (const char * b,
      const std::size_t l 
      )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ input_buffer_adapter() [2/3]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_buffer_adapter::input_buffer_adapter (const input_buffer_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ input_buffer_adapter() [3/3]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_buffer_adapter::input_buffer_adapter (input_buffer_adapter && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~input_buffer_adapter()

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::input_buffer_adapter::~input_buffer_adapter ()
      +
      +overridedefault
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character()

      + +
      +
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::input_buffer_adapter::get_character ()
      +
      +inlineoverridevirtualnoexcept
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ operator=() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_buffer_adapter& nlohmann::detail::input_buffer_adapter::operator= (input_buffer_adapter && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_buffer_adapter& nlohmann::detail::input_buffer_adapter::operator= (input_buffer_adapter)
      +
      +delete
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.map new file mode 100644 index 0000000..398d8c9 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.md5 new file mode 100644 index 0000000..bd3b8c3 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.md5 @@ -0,0 +1 @@ +16d76dcedcb5529ec8addb9d9895e2f7 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..95be2c69f635059f6b5e94caa0fd7b1cd2c342a4 GIT binary patch literal 4801 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 + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.md5 new file mode 100644 index 0000000..bd3b8c3 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +16d76dcedcb5529ec8addb9d9895e2f7 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1input__buffer__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..95be2c69f635059f6b5e94caa0fd7b1cd2c342a4 GIT binary patch literal 4801 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::input_stream_adapter Member List
      +
      + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter.html b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter.html new file mode 100644 index 0000000..3e13e4f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter.html @@ -0,0 +1,536 @@ + + + + + + + +CocoaTweet: nlohmann::detail::input_stream_adapter Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::input_stream_adapter Class Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::input_stream_adapter:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::input_stream_adapter:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + +

      +Public Types

      using char_type = char
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       ~input_stream_adapter () override
       
       input_stream_adapter (std::istream &i)
       
       input_stream_adapter (const input_stream_adapter &)=delete
       
      input_stream_adapteroperator= (input_stream_adapter &)=delete
       
       input_stream_adapter (input_stream_adapter &&)=delete
       
      input_stream_adapteroperator= (input_stream_adapter &&)=delete
       
      std::char_traits< char >::int_type get_character () override
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
       ~input_stream_adapter ()
       
       input_stream_adapter (std::istream &i)
       
       input_stream_adapter (const input_stream_adapter &)=delete
       
      input_stream_adapteroperator= (input_stream_adapter &)=delete
       
      input_stream_adapteroperator= (input_stream_adapter &&rhs)=delete
       
       input_stream_adapter (input_stream_adapter &&rhs) noexcept
       
      std::char_traits< char >::int_type get_character ()
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
      - Public Member Functions inherited from nlohmann::detail::input_adapter_protocol
      virtual ~input_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at beginning of input. Does not support changing the underlying std::streambuf in mid-input. Maintains underlying std::istream and std::streambuf to support subsequent use of standard std::istream operations to process any input characters following those used in parsing the JSON input. Clears the std::istream flags; any input errors (e.g., EOF) will be detected by the first subsequent call for input from the std::istream.

      +

      Member Typedef Documentation

      + +

      ◆ char_type

      + +
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ ~input_stream_adapter() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::input_stream_adapter::~input_stream_adapter ()
      +
      +inlineoverride
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (std::istream & i)
      +
      +inlineexplicit
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (const input_stream_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (input_stream_adapter && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~input_stream_adapter() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::input_stream_adapter::~input_stream_adapter ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (std::istream & i)
      +
      +inlineexplicit
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (const input_stream_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ input_stream_adapter() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::input_stream_adapter::input_stream_adapter (input_stream_adapter && rhs)
      +
      +inlinenoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::input_stream_adapter::get_character ()
      +
      +inlinevirtual
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ get_character() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::input_stream_adapter::get_character ()
      +
      +inlineoverridevirtual
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter && rhs)
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter)
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter)
      +
      +delete
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map new file mode 100644 index 0000000..a690414 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 new file mode 100644 index 0000000..a87d67f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 @@ -0,0 +1 @@ +69841051c2a0ba330d1efdc9f0150c89 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..04475ca0874f9d45b39857637cce4c109ed41857 GIT binary patch literal 4924 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.map new file mode 100644 index 0000000..a690414 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.md5 new file mode 100644 index 0000000..a87d67f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +69841051c2a0ba330d1efdc9f0150c89 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1input__stream__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..04475ca0874f9d45b39857637cce4c109ed41857 GIT binary patch literal 4924 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator-members.html b/help/html/classnlohmann_1_1detail_1_1invalid__iterator-members.html new file mode 100644 index 0000000..1b4236e --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1invalid__iterator-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::invalid_iterator Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::invalid_iterator, including all inherited members.

      + + + + + + + + + + +
      create(int id_, const std::string &what_arg)nlohmann::detail::invalid_iteratorinlinestatic
      create(int id_, const std::string &what_arg)nlohmann::detail::invalid_iteratorinlinestatic
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator.html b/help/html/classnlohmann_1_1detail_1_1invalid__iterator.html new file mode 100644 index 0000000..ba489c0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1invalid__iterator.html @@ -0,0 +1,263 @@ + + + + + + + +CocoaTweet: nlohmann::detail::invalid_iterator Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::invalid_iterator Class Reference
      +
      +
      + +

      exception indicating errors with iterators + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::invalid_iterator:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::invalid_iterator:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      + + + + + + +

      +Static Public Member Functions

      static invalid_iterator create (int id_, const std::string &what_arg)
       
      static invalid_iterator create (int id_, const std::string &what_arg)
       
      + + + + + + + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Member Functions inherited from nlohmann::detail::exception
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      - Public Attributes inherited from nlohmann::detail::exception
      const int id
       the id of the exception More...
       
      - Protected Member Functions inherited from nlohmann::detail::exception
       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      - Static Protected Member Functions inherited from nlohmann::detail::exception
      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      exception indicating errors with iterators

      +

      This exception is thrown if iterators passed to a library function do not match the expected semantics.

      +

      Exceptions have ids 2xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion.
      json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from.
      json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid.
      json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid.
      json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range.
      json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key.
      json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
      json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
      json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to.
      json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container.
      json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered.
      json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin().
      +

      @liveexample{The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      Member Function Documentation

      + +

      ◆ create() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static invalid_iterator nlohmann::detail::invalid_iterator::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ create() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static invalid_iterator nlohmann::detail::invalid_iterator::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map new file mode 100644 index 0000000..cf34243 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 new file mode 100644 index 0000000..449717b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 @@ -0,0 +1 @@ +52efcf5df17f210c293d43e5905676dc \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4d0e512f5a2458b98d2503f061b2a9692e5ef4 GIT binary patch literal 6339 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 z + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 new file mode 100644 index 0000000..449717b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +52efcf5df17f210c293d43e5905676dc \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4d0e512f5a2458b98d2503f061b2a9692e5ef4 GIT binary patch literal 6339 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 z + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iter_impl< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::iter_impl< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      difference_type typedefnlohmann::detail::iter_impl< BasicJsonType >
      difference_type typedefnlohmann::detail::iter_impl< BasicJsonType >
      iter_impl()=defaultnlohmann::detail::iter_impl< BasicJsonType >
      iter_impl(pointer object) noexceptnlohmann::detail::iter_impl< BasicJsonType >inlineexplicit
      iter_impl(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      iter_impl()=defaultnlohmann::detail::iter_impl< BasicJsonType >
      iter_impl(pointer object) noexceptnlohmann::detail::iter_impl< BasicJsonType >inlineexplicit
      iter_impl(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      iterator_category typedefnlohmann::detail::iter_impl< BasicJsonType >
      iterator_category typedefnlohmann::detail::iter_impl< BasicJsonType >
      key() constnlohmann::detail::iter_impl< BasicJsonType >inline
      key() constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator!=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator!=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator*() constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator*() constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator+(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator+(difference_type i, const iter_impl &it)nlohmann::detail::iter_impl< BasicJsonType >friend
      operator+(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator+(difference_type i, const iter_impl &it)nlohmann::detail::iter_impl< BasicJsonType >friend
      operator++(int)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator++()nlohmann::detail::iter_impl< BasicJsonType >inline
      operator++(int)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator++()nlohmann::detail::iter_impl< BasicJsonType >inline
      operator+=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator+=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator-(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator-(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator-(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator-(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator--(int)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator--()nlohmann::detail::iter_impl< BasicJsonType >inline
      operator--(int)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator--()nlohmann::detail::iter_impl< BasicJsonType >inline
      operator-=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator-=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
      operator->() constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator->() constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator<(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator<(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator<=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator<=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator=(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      operator=(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
      operator==(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator==(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator>(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator>(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator>=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator>=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator[](difference_type n) constnlohmann::detail::iter_impl< BasicJsonType >inline
      operator[](difference_type n) constnlohmann::detail::iter_impl< BasicJsonType >inline
      pointer typedefnlohmann::detail::iter_impl< BasicJsonType >
      pointer typedefnlohmann::detail::iter_impl< BasicJsonType >
      reference typedefnlohmann::detail::iter_impl< BasicJsonType >
      reference typedefnlohmann::detail::iter_impl< BasicJsonType >
      value() constnlohmann::detail::iter_impl< BasicJsonType >inline
      value() constnlohmann::detail::iter_impl< BasicJsonType >inline
      value_type typedefnlohmann::detail::iter_impl< BasicJsonType >
      value_type typedefnlohmann::detail::iter_impl< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iter__impl.html b/help/html/classnlohmann_1_1detail_1_1iter__impl.html new file mode 100644 index 0000000..2e3e0f6 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iter__impl.html @@ -0,0 +1,2232 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iter_impl< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iter_impl< BasicJsonType > Class Template Reference
      +
      +
      + +

      a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using iterator_category = std::bidirectional_iterator_tag
       
      using value_type = typename BasicJsonType::value_type
       the type of the values when the iterator is dereferenced More...
       
      using difference_type = typename BasicJsonType::difference_type
       a type to represent differences between iterators More...
       
      using pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type
       defines a pointer to the type iterated over (value_type) More...
       
      using reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type
       defines a reference to the type iterated over (value_type) More...
       
      using iterator_category = std::bidirectional_iterator_tag
       
      using value_type = typename BasicJsonType::value_type
       the type of the values when the iterator is dereferenced More...
       
      using difference_type = typename BasicJsonType::difference_type
       a type to represent differences between iterators More...
       
      using pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type
       defines a pointer to the type iterated over (value_type) More...
       
      using reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type
       defines a reference to the type iterated over (value_type) More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       iter_impl ()=default
       default constructor More...
       
       iter_impl (pointer object) noexcept
       constructor for a given JSON instance More...
       
       iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
       const copy constructor More...
       
      iter_imploperator= (const iter_impl< const BasicJsonType > &other) noexcept
       converting assignment More...
       
       iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
       converting constructor More...
       
      iter_imploperator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
       converting assignment More...
       
      reference operator* () const
       return a reference to the value pointed to by the iterator More...
       
      pointer operator-> () const
       dereference the iterator More...
       
      const iter_impl operator++ (int)
       post-increment (it++) More...
       
      iter_imploperator++ ()
       pre-increment (++it) More...
       
      const iter_impl operator-- (int)
       post-decrement (it–) More...
       
      iter_imploperator-- ()
       pre-decrement (–it) More...
       
      bool operator== (const iter_impl &other) const
       comparison: equal More...
       
      bool operator!= (const iter_impl &other) const
       comparison: not equal More...
       
      bool operator< (const iter_impl &other) const
       comparison: smaller More...
       
      bool operator<= (const iter_impl &other) const
       comparison: less than or equal More...
       
      bool operator> (const iter_impl &other) const
       comparison: greater than More...
       
      bool operator>= (const iter_impl &other) const
       comparison: greater than or equal More...
       
      iter_imploperator+= (difference_type i)
       add to iterator More...
       
      iter_imploperator-= (difference_type i)
       subtract from iterator More...
       
      iter_impl operator+ (difference_type i) const
       add to iterator More...
       
      iter_impl operator- (difference_type i) const
       subtract from iterator More...
       
      difference_type operator- (const iter_impl &other) const
       return difference More...
       
      reference operator[] (difference_type n) const
       access to successor More...
       
      const object_t::key_type & key () const
       return the key of an object iterator More...
       
      reference value () const
       return the value of an iterator More...
       
       iter_impl ()=default
       default constructor More...
       
       iter_impl (pointer object) noexcept
       constructor for a given JSON instance More...
       
       iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
       const copy constructor More...
       
      iter_imploperator= (const iter_impl< const BasicJsonType > &other) noexcept
       converting assignment More...
       
       iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
       converting constructor More...
       
      iter_imploperator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
       converting assignment More...
       
      reference operator* () const
       return a reference to the value pointed to by the iterator More...
       
      pointer operator-> () const
       dereference the iterator More...
       
      const iter_impl operator++ (int)
       post-increment (it++) More...
       
      iter_imploperator++ ()
       pre-increment (++it) More...
       
      const iter_impl operator-- (int)
       post-decrement (it–) More...
       
      iter_imploperator-- ()
       pre-decrement (–it) More...
       
      bool operator== (const iter_impl &other) const
       comparison: equal More...
       
      bool operator!= (const iter_impl &other) const
       comparison: not equal More...
       
      bool operator< (const iter_impl &other) const
       comparison: smaller More...
       
      bool operator<= (const iter_impl &other) const
       comparison: less than or equal More...
       
      bool operator> (const iter_impl &other) const
       comparison: greater than More...
       
      bool operator>= (const iter_impl &other) const
       comparison: greater than or equal More...
       
      iter_imploperator+= (difference_type i)
       add to iterator More...
       
      iter_imploperator-= (difference_type i)
       subtract from iterator More...
       
      iter_impl operator+ (difference_type i) const
       add to iterator More...
       
      iter_impl operator- (difference_type i) const
       subtract from iterator More...
       
      difference_type operator- (const iter_impl &other) const
       return difference More...
       
      reference operator[] (difference_type n) const
       access to successor More...
       
      const object_t::key_type & key () const
       return the key of an object iterator More...
       
      reference value () const
       return the value of an iterator More...
       
      + + + + + + + +

      +Friends

      iter_impl operator+ (difference_type i, const iter_impl &it)
       addition of distance and iterator More...
       
      iter_impl operator+ (difference_type i, const iter_impl &it)
       addition of distance and iterator More...
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +class nlohmann::detail::iter_impl< BasicJsonType >

      + +

      a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class.

      +
      Note
      An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.** @requirement The class satisfies the following concept requirements:
        +
      • BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).
      • +
      +
      +
      Since
      version 1.0.0, simplified in version 2.0.9, change to bidirectional iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593)
      +

      Member Typedef Documentation

      + +

      ◆ difference_type [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type
      +
      + +

      a type to represent differences between iterators

      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type
      +
      + +

      a type to represent differences between iterators

      + +
      +
      + +

      ◆ iterator_category [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag
      +
      +

      The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.

      + +
      +
      + +

      ◆ iterator_category [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag
      +
      +

      The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.

      + +
      +
      + +

      ◆ pointer [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type
      +
      + +

      defines a pointer to the type iterated over (value_type)

      + +
      +
      + +

      ◆ pointer [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type
      +
      + +

      defines a pointer to the type iterated over (value_type)

      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type
      +
      + +

      defines a reference to the type iterated over (value_type)

      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type
      +
      + +

      defines a reference to the type iterated over (value_type)

      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type
      +
      + +

      the type of the values when the iterator is dereferenced

      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type
      +
      + +

      the type of the values when the iterator is dereferenced

      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ iter_impl() [1/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type > ()
      +
      +default
      +
      + +

      default constructor

      +

      allow basic_json to access private members

      + +
      +
      + +

      ◆ iter_impl() [2/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (pointer object)
      +
      +inlineexplicitnoexcept
      +
      + +

      constructor for a given JSON instance

      +
      Parameters
      + + +
      [in]objectpointer to a JSON object for this iterator
      +
      +
      +
      Precondition
      object != nullptr
      +
      Postcondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ iter_impl() [3/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< const BasicJsonType > & other)
      +
      +inlinenoexcept
      +
      + +

      const copy constructor

      +
      Note
      The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.
      +
      Parameters
      + + +
      [in]otherconst iterator to copy from
      +
      +
      +
      Note
      This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608
      + +
      +
      + +

      ◆ iter_impl() [4/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
      +
      +inlinenoexcept
      +
      + +

      converting constructor

      +
      Parameters
      + + +
      [in]othernon-const iterator to copy from
      +
      +
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      + +

      ◆ iter_impl() [5/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ()
      +
      +default
      +
      + +

      default constructor

      + +
      +
      + +

      ◆ iter_impl() [6/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (pointer object)
      +
      +inlineexplicitnoexcept
      +
      + +

      constructor for a given JSON instance

      +
      Parameters
      + + +
      [in]objectpointer to a JSON object for this iterator
      +
      +
      +
      Precondition
      object != nullptr
      +
      Postcondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ iter_impl() [7/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< const BasicJsonType > & other)
      +
      +inlinenoexcept
      +
      + +

      const copy constructor

      +
      Note
      The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.
      +
      Parameters
      + + +
      [in]otherconst iterator to copy from
      +
      +
      +
      Note
      This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608
      + +
      +
      + +

      ◆ iter_impl() [8/8]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
      +
      +inlinenoexcept
      +
      + +

      converting constructor

      +
      Parameters
      + + +
      [in]othernon-const iterator to copy from
      +
      +
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key () const
      +
      +inline
      +
      + +

      return the key of an object iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key () const
      +
      +inline
      +
      + +

      return the key of an object iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator!=() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: not equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator!=() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: not equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator*() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::operator* () const
      +
      +inline
      +
      + +

      return a reference to the value pointed to by the iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator*() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::operator* () const
      +
      +inline
      +
      + +

      return a reference to the value pointed to by the iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator+() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ (difference_type i) const
      +
      +inline
      +
      + +

      add to iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator+() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ (difference_type i) const
      +
      +inline
      +
      + +

      add to iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator++() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ ()
      +
      +inline
      +
      + +

      pre-increment (++it)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator++() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ ()
      +
      +inline
      +
      + +

      pre-increment (++it)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator++() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator++ (int )
      +
      +inline
      +
      + +

      post-increment (it++)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator++() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator++ (int )
      +
      +inline
      +
      + +

      post-increment (it++)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator+=() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= (difference_type i)
      +
      +inline
      +
      + +

      add to iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator+=() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= (difference_type i)
      +
      +inline
      +
      + +

      add to iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      return difference

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      return difference

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- (difference_type i) const
      +
      +inline
      +
      + +

      subtract from iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- (difference_type i) const
      +
      +inline
      +
      + +

      subtract from iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator--() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- ()
      +
      +inline
      +
      + +

      pre-decrement (–it)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator--() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- ()
      +
      +inline
      +
      + +

      pre-decrement (–it)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator--() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator-- (int )
      +
      +inline
      +
      + +

      post-decrement (it–)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator--() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      const iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator-- (int )
      +
      +inline
      +
      + +

      post-decrement (it–)

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-=() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= (difference_type i)
      +
      +inline
      +
      + +

      subtract from iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator-=() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= (difference_type i)
      +
      +inline
      +
      + +

      subtract from iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator->() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> () const
      +
      +inline
      +
      + +

      dereference the iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator->() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> () const
      +
      +inline
      +
      + +

      dereference the iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator<() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator< (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: smaller

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator<() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator< (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: smaller

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator<=() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: less than or equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator<=() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: less than or equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< const BasicJsonType > & other)
      +
      +inlinenoexcept
      +
      + +

      converting assignment

      +
      Parameters
      + + +
      [in]otherconst iterator to copy from
      +
      +
      +
      Returns
      const/non-const iterator
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< const BasicJsonType > & other)
      +
      +inlinenoexcept
      +
      + +

      converting assignment

      +
      Parameters
      + + +
      [in]otherconst iterator to copy from
      +
      +
      +
      Returns
      const/non-const iterator
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
      +
      +inlinenoexcept
      +
      + +

      converting assignment

      +
      Parameters
      + + +
      [in]othernon-const iterator to copy from
      +
      +
      +
      Returns
      const/non-const iterator
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
      +
      +inlinenoexcept
      +
      + +

      converting assignment

      +
      Parameters
      + + +
      [in]othernon-const iterator to copy from
      +
      +
      +
      Returns
      const/non-const iterator
      +
      Note
      It is not checked whether other is initialized.
      + +
      +
      + +

      ◆ operator==() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator== (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator==() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator== (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator>() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator> (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: greater than

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator>() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator> (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: greater than

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator>=() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: greater than or equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator>=() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= (const iter_impl< BasicJsonType > & other) const
      +
      +inline
      +
      + +

      comparison: greater than or equal

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator[]() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] (difference_type n) const
      +
      +inline
      +
      + +

      access to successor

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator[]() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] (difference_type n) const
      +
      +inline
      +
      + +

      access to successor

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ value() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::value () const
      +
      +inline
      +
      + +

      return the value of an iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ value() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::iter_impl< BasicJsonType >::value () const
      +
      +inline
      +
      + +

      return the value of an iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      +

      Friends And Related Function Documentation

      + +

      ◆ operator+ [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iter_impl operator+ (difference_type i,
      const iter_impl< BasicJsonType > & it 
      )
      +
      +friend
      +
      + +

      addition of distance and iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      + +

      ◆ operator+ [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      iter_impl operator+ (difference_type i,
      const iter_impl< BasicJsonType > & it 
      )
      +
      +friend
      +
      + +

      addition of distance and iterator

      +
      Precondition
      The iterator is initialized; i.e. m_object != nullptr.
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iteration__proxy-members.html b/help/html/classnlohmann_1_1detail_1_1iteration__proxy-members.html new file mode 100644 index 0000000..13405cb --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iteration__proxy-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iteration_proxy< IteratorType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::iteration_proxy< IteratorType >, including all inherited members.

      + + + + + + + +
      begin() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
      begin() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
      end() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
      end() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
      iteration_proxy(typename IteratorType::reference cont) noexceptnlohmann::detail::iteration_proxy< IteratorType >inlineexplicit
      iteration_proxy(typename IteratorType::reference cont) noexceptnlohmann::detail::iteration_proxy< IteratorType >inlineexplicit
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iteration__proxy.html b/help/html/classnlohmann_1_1detail_1_1iteration__proxy.html new file mode 100644 index 0000000..3234aab --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iteration__proxy.html @@ -0,0 +1,296 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iteration_proxy< IteratorType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iteration_proxy< IteratorType > Class Template Reference
      +
      +
      + +

      proxy class for the items() function + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       iteration_proxy (typename IteratorType::reference cont) noexcept
       construct iteration proxy from a container More...
       
      iteration_proxy_value< IteratorType > begin () noexcept
       return iterator begin (needed for range-based for) More...
       
      iteration_proxy_value< IteratorType > end () noexcept
       return iterator end (needed for range-based for) More...
       
       iteration_proxy (typename IteratorType::reference cont) noexcept
       construct iteration proxy from a container More...
       
      iteration_proxy_value< IteratorType > begin () noexcept
       return iterator begin (needed for range-based for) More...
       
      iteration_proxy_value< IteratorType > end () noexcept
       return iterator end (needed for range-based for) More...
       
      +

      Detailed Description

      +

      template<typename IteratorType>
      +class nlohmann::detail::iteration_proxy< IteratorType >

      + +

      proxy class for the items() function

      +

      Constructor & Destructor Documentation

      + +

      ◆ iteration_proxy() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iteration_proxy< IteratorType >::iteration_proxy (typename IteratorType::reference cont)
      +
      +inlineexplicitnoexcept
      +
      + +

      construct iteration proxy from a container

      + +
      +
      + +

      ◆ iteration_proxy() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iteration_proxy< IteratorType >::iteration_proxy (typename IteratorType::reference cont)
      +
      +inlineexplicitnoexcept
      +
      + +

      construct iteration proxy from a container

      + +
      +
      +

      Member Function Documentation

      + +

      ◆ begin() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::begin ()
      +
      +inlinenoexcept
      +
      + +

      return iterator begin (needed for range-based for)

      + +
      +
      + +

      ◆ begin() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::begin ()
      +
      +inlinenoexcept
      +
      + +

      return iterator begin (needed for range-based for)

      + +
      +
      + +

      ◆ end() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::end ()
      +
      +inlinenoexcept
      +
      + +

      return iterator end (needed for range-based for)

      + +
      +
      + +

      ◆ end() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::end ()
      +
      +inlinenoexcept
      +
      + +

      return iterator end (needed for range-based for)

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html b/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html new file mode 100644 index 0000000..6b63ff0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iteration_proxy_value< IteratorType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::iteration_proxy_value< IteratorType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      difference_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      difference_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      iteration_proxy_value(IteratorType it) noexceptnlohmann::detail::iteration_proxy_value< IteratorType >inlineexplicit
      iteration_proxy_value(IteratorType it) noexceptnlohmann::detail::iteration_proxy_value< IteratorType >inlineexplicit
      iterator_category typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      iterator_category typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      key() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      key() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator!=(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator!=(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator*()nlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator*()nlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator++()nlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator++()nlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator==(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      operator==(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      pointer typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      pointer typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      reference typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      reference typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      string_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      string_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      value() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      value() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
      value_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      value_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value.html b/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value.html new file mode 100644 index 0000000..434a89e --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iteration__proxy__value.html @@ -0,0 +1,763 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iteration_proxy_value< IteratorType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iteration_proxy_value< IteratorType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using difference_type = std::ptrdiff_t
       
      using value_type = iteration_proxy_value
       
      using pointer = value_type *
       
      using reference = value_type &
       
      using iterator_category = std::input_iterator_tag
       
      using string_type = typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type
       
      using difference_type = std::ptrdiff_t
       
      using value_type = iteration_proxy_value
       
      using pointer = value_type *
       
      using reference = value_type &
       
      using iterator_category = std::input_iterator_tag
       
      using string_type = typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       iteration_proxy_value (IteratorType it) noexcept
       
      iteration_proxy_valueoperator* ()
       dereference operator (needed for range-based for) More...
       
      iteration_proxy_valueoperator++ ()
       increment operator (needed for range-based for) More...
       
      bool operator== (const iteration_proxy_value &o) const
       equality operator (needed for InputIterator) More...
       
      bool operator!= (const iteration_proxy_value &o) const
       inequality operator (needed for range-based for) More...
       
      const string_typekey () const
       return key of the iterator More...
       
      IteratorType::reference value () const
       return value of the iterator More...
       
       iteration_proxy_value (IteratorType it) noexcept
       
      iteration_proxy_valueoperator* ()
       dereference operator (needed for range-based for) More...
       
      iteration_proxy_valueoperator++ ()
       increment operator (needed for range-based for) More...
       
      bool operator== (const iteration_proxy_value &o) const
       equality operator (needed for InputIterator) More...
       
      bool operator!= (const iteration_proxy_value &o) const
       inequality operator (needed for range-based for) More...
       
      const string_typekey () const
       return key of the iterator More...
       
      IteratorType::reference value () const
       return value of the iterator More...
       
      +

      Member Typedef Documentation

      + +

      ◆ difference_type [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t
      +
      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t
      +
      + +
      +
      + +

      ◆ iterator_category [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag
      +
      + +
      +
      + +

      ◆ iterator_category [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag
      +
      + +
      +
      + +

      ◆ pointer [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type *
      +
      + +
      +
      + +

      ◆ pointer [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type *
      +
      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type &
      +
      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type &
      +
      + +
      +
      + +

      ◆ string_type [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type
      +
      + +
      +
      + +

      ◆ string_type [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type
      +
      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value
      +
      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ iteration_proxy_value() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iteration_proxy_value< IteratorType >::iteration_proxy_value (IteratorType it)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ iteration_proxy_value() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::iteration_proxy_value< IteratorType >::iteration_proxy_value (IteratorType it)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      const string_type& nlohmann::detail::iteration_proxy_value< IteratorType >::key () const
      +
      +inline
      +
      + +

      return key of the iterator

      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      const string_type& nlohmann::detail::iteration_proxy_value< IteratorType >::key () const
      +
      +inline
      +
      + +

      return key of the iterator

      + +
      +
      + +

      ◆ operator!=() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= (const iteration_proxy_value< IteratorType > & o) const
      +
      +inline
      +
      + +

      inequality operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator!=() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= (const iteration_proxy_value< IteratorType > & o) const
      +
      +inline
      +
      + +

      inequality operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator*() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator* ()
      +
      +inline
      +
      + +

      dereference operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator*() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator* ()
      +
      +inline
      +
      + +

      dereference operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator++() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator++ ()
      +
      +inline
      +
      + +

      increment operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator++() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator++ ()
      +
      +inline
      +
      + +

      increment operator (needed for range-based for)

      + +
      +
      + +

      ◆ operator==() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator== (const iteration_proxy_value< IteratorType > & o) const
      +
      +inline
      +
      + +

      equality operator (needed for InputIterator)

      + +
      +
      + +

      ◆ operator==() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator== (const iteration_proxy_value< IteratorType > & o) const
      +
      +inline
      +
      + +

      equality operator (needed for InputIterator)

      + +
      +
      + +

      ◆ value() [1/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      IteratorType::reference nlohmann::detail::iteration_proxy_value< IteratorType >::value () const
      +
      +inline
      +
      + +

      return value of the iterator

      + +
      +
      + +

      ◆ value() [2/2]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      IteratorType::reference nlohmann::detail::iteration_proxy_value< IteratorType >::value () const
      +
      +inline
      +
      + +

      return value of the iterator

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html new file mode 100644 index 0000000..846929a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_input_adapter< IteratorType > Member List
      +
      + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter.html b/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter.html new file mode 100644 index 0000000..e401b3c --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1iterator__input__adapter.html @@ -0,0 +1,220 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_input_adapter< IteratorType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iterator_input_adapter< IteratorType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using char_type = typename std::iterator_traits< IteratorType >::value_type
       
      + + + + + +

      +Public Member Functions

       iterator_input_adapter (IteratorType first, IteratorType last)
       
      std::char_traits< char_type >::int_type get_character ()
       
      + + + + +

      +Friends

      template<typename BaseInputAdapter , size_t T>
      struct wide_string_input_helper
       
      +

      Member Typedef Documentation

      + +

      ◆ char_type

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iterator_input_adapter< IteratorType >::char_type = typename std::iterator_traits<IteratorType>::value_type
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ iterator_input_adapter()

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::iterator_input_adapter< IteratorType >::iterator_input_adapter (IteratorType first,
      IteratorType last 
      )
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character()

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + +
      std::char_traits<char_type>::int_type nlohmann::detail::iterator_input_adapter< IteratorType >::get_character ()
      +
      +inline
      +
      + +
      +
      +

      Friends And Related Function Documentation

      + +

      ◆ wide_string_input_helper

      + +
      +
      +
      +template<typename IteratorType >
      +
      +template<typename BaseInputAdapter , size_t T>
      + + + + + +
      + + + + +
      friend struct wide_string_input_helper
      +
      +friend
      +
      + +
      +
      +
      The documentation for this class was generated from the following file: +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__ref-members.html b/help/html/classnlohmann_1_1detail_1_1json__ref-members.html new file mode 100644 index 0000000..fb50a65 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__ref-members.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::json_ref< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::json_ref< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      json_ref(value_type &&value)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(const value_type &value)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(std::initializer_list< json_ref > init)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(Args &&... args)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(json_ref &&)=defaultnlohmann::detail::json_ref< BasicJsonType >
      json_ref(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
      json_ref(value_type &&value)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(const value_type &value)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(std::initializer_list< json_ref > init)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(Args &&... args)nlohmann::detail::json_ref< BasicJsonType >inline
      json_ref(json_ref &&)=defaultnlohmann::detail::json_ref< BasicJsonType >
      json_ref(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
      moved_or_copied() constnlohmann::detail::json_ref< BasicJsonType >inline
      moved_or_copied() constnlohmann::detail::json_ref< BasicJsonType >inline
      operator*() constnlohmann::detail::json_ref< BasicJsonType >inline
      operator*() constnlohmann::detail::json_ref< BasicJsonType >inline
      operator->() constnlohmann::detail::json_ref< BasicJsonType >inline
      operator->() constnlohmann::detail::json_ref< BasicJsonType >inline
      operator=(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
      operator=(json_ref &&)=deletenlohmann::detail::json_ref< BasicJsonType >
      operator=(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
      operator=(json_ref &&)=deletenlohmann::detail::json_ref< BasicJsonType >
      value_type typedefnlohmann::detail::json_ref< BasicJsonType >
      value_type typedefnlohmann::detail::json_ref< BasicJsonType >
      ~json_ref()=defaultnlohmann::detail::json_ref< BasicJsonType >
      ~json_ref()=defaultnlohmann::detail::json_ref< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__ref.html b/help/html/classnlohmann_1_1detail_1_1json__ref.html new file mode 100644 index 0000000..40b45c4 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__ref.html @@ -0,0 +1,853 @@ + + + + + + + +CocoaTweet: nlohmann::detail::json_ref< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::json_ref< BasicJsonType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      using value_type = BasicJsonType
       
      using value_type = BasicJsonType
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       json_ref (value_type &&value)
       
       json_ref (const value_type &value)
       
       json_ref (std::initializer_list< json_ref > init)
       
      template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
       json_ref (Args &&... args)
       
       json_ref (json_ref &&)=default
       
       json_ref (const json_ref &)=delete
       
      json_refoperator= (const json_ref &)=delete
       
      json_refoperator= (json_ref &&)=delete
       
       ~json_ref ()=default
       
      value_type moved_or_copied () const
       
      value_type const & operator* () const
       
      value_type const * operator-> () const
       
       json_ref (value_type &&value)
       
       json_ref (const value_type &value)
       
       json_ref (std::initializer_list< json_ref > init)
       
      template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
       json_ref (Args &&... args)
       
       json_ref (json_ref &&)=default
       
       json_ref (const json_ref &)=delete
       
      json_refoperator= (const json_ref &)=delete
       
      json_refoperator= (json_ref &&)=delete
       
       ~json_ref ()=default
       
      value_type moved_or_copied () const
       
      value_type const & operator* () const
       
      value_type const * operator-> () const
       
      +

      Member Typedef Documentation

      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_ref< BasicJsonType >::value_type = BasicJsonType
      +
      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_ref< BasicJsonType >::value_type = BasicJsonType
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ json_ref() [1/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (value_type && value)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [2/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (const value_typevalue)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [3/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (std::initializer_list< json_ref< BasicJsonType > > init)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [4/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (Args &&... args)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [5/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (json_ref< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ json_ref() [6/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (const json_ref< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~json_ref() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::~json_ref ()
      +
      +default
      +
      + +
      +
      + +

      ◆ json_ref() [7/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (value_type && value)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [8/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (const value_typevalue)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [9/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (std::initializer_list< json_ref< BasicJsonType > > init)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [10/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (Args &&... args)
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_ref() [11/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (json_ref< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ json_ref() [12/12]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::json_ref (const json_ref< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~json_ref() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_ref< BasicJsonType >::~json_ref ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ moved_or_copied() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type nlohmann::detail::json_ref< BasicJsonType >::moved_or_copied () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ moved_or_copied() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type nlohmann::detail::json_ref< BasicJsonType >::moved_or_copied () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator*() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type const& nlohmann::detail::json_ref< BasicJsonType >::operator* () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator*() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type const& nlohmann::detail::json_ref< BasicJsonType >::operator* () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator->() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type const* nlohmann::detail::json_ref< BasicJsonType >::operator-> () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator->() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      value_type const* nlohmann::detail::json_ref< BasicJsonType >::operator-> () const
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (const json_ref< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (const json_ref< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (json_ref< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (json_ref< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html new file mode 100644 index 0000000..fce807b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html @@ -0,0 +1,115 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::json_reverse_iterator< Base > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::json_reverse_iterator< Base >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      base_iterator typedefnlohmann::detail::json_reverse_iterator< Base >
      base_iterator typedefnlohmann::detail::json_reverse_iterator< Base >
      difference_type typedefnlohmann::detail::json_reverse_iterator< Base >
      difference_type typedefnlohmann::detail::json_reverse_iterator< Base >
      json_reverse_iterator(const typename base_iterator::iterator_type &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
      json_reverse_iterator(const base_iterator &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
      json_reverse_iterator(const typename base_iterator::iterator_type &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
      json_reverse_iterator(const base_iterator &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
      key() const -> decltype(std::declval< Base >().key())nlohmann::detail::json_reverse_iterator< Base >inline
      key() const -> decltype(std::declval< Base >().key())nlohmann::detail::json_reverse_iterator< Base >inline
      operator+(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator+(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator++(int)nlohmann::detail::json_reverse_iterator< Base >inline
      operator++()nlohmann::detail::json_reverse_iterator< Base >inline
      operator++(int)nlohmann::detail::json_reverse_iterator< Base >inline
      operator++()nlohmann::detail::json_reverse_iterator< Base >inline
      operator+=(difference_type i)nlohmann::detail::json_reverse_iterator< Base >inline
      operator+=(difference_type i)nlohmann::detail::json_reverse_iterator< Base >inline
      operator-(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator-(const json_reverse_iterator &other) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator-(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator-(const json_reverse_iterator &other) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator--(int)nlohmann::detail::json_reverse_iterator< Base >inline
      operator--()nlohmann::detail::json_reverse_iterator< Base >inline
      operator--(int)nlohmann::detail::json_reverse_iterator< Base >inline
      operator--()nlohmann::detail::json_reverse_iterator< Base >inline
      operator[](difference_type n) constnlohmann::detail::json_reverse_iterator< Base >inline
      operator[](difference_type n) constnlohmann::detail::json_reverse_iterator< Base >inline
      reference typedefnlohmann::detail::json_reverse_iterator< Base >
      reference typedefnlohmann::detail::json_reverse_iterator< Base >
      value() constnlohmann::detail::json_reverse_iterator< Base >inline
      value() constnlohmann::detail::json_reverse_iterator< Base >inline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator.html b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator.html new file mode 100644 index 0000000..ad2b97b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator.html @@ -0,0 +1,1108 @@ + + + + + + + +CocoaTweet: nlohmann::detail::json_reverse_iterator< Base > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::json_reverse_iterator< Base > Class Template Reference
      +
      +
      + +

      a template for a reverse iterator class + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::json_reverse_iterator< Base >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::json_reverse_iterator< Base >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + + + +

      +Public Types

      using difference_type = std::ptrdiff_t
       
      using base_iterator = std::reverse_iterator< Base >
       shortcut to the reverse iterator adapter More...
       
      using reference = typename Base::reference
       the reference type for the pointed-to element More...
       
      using difference_type = std::ptrdiff_t
       
      using base_iterator = std::reverse_iterator< Base >
       shortcut to the reverse iterator adapter More...
       
      using reference = typename Base::reference
       the reference type for the pointed-to element More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       json_reverse_iterator (const typename base_iterator::iterator_type &it) noexcept
       create reverse iterator from iterator More...
       
       json_reverse_iterator (const base_iterator &it) noexcept
       create reverse iterator from base class More...
       
      const json_reverse_iterator operator++ (int)
       post-increment (it++) More...
       
      json_reverse_iteratoroperator++ ()
       pre-increment (++it) More...
       
      const json_reverse_iterator operator-- (int)
       post-decrement (it–) More...
       
      json_reverse_iteratoroperator-- ()
       pre-decrement (–it) More...
       
      json_reverse_iteratoroperator+= (difference_type i)
       add to iterator More...
       
      json_reverse_iterator operator+ (difference_type i) const
       add to iterator More...
       
      json_reverse_iterator operator- (difference_type i) const
       subtract from iterator More...
       
      difference_type operator- (const json_reverse_iterator &other) const
       return difference More...
       
      reference operator[] (difference_type n) const
       access to successor More...
       
      auto key () const -> decltype(std::declval< Base >().key())
       return the key of an object iterator More...
       
      reference value () const
       return the value of an iterator More...
       
       json_reverse_iterator (const typename base_iterator::iterator_type &it) noexcept
       create reverse iterator from iterator More...
       
       json_reverse_iterator (const base_iterator &it) noexcept
       create reverse iterator from base class More...
       
      const json_reverse_iterator operator++ (int)
       post-increment (it++) More...
       
      json_reverse_iteratoroperator++ ()
       pre-increment (++it) More...
       
      const json_reverse_iterator operator-- (int)
       post-decrement (it–) More...
       
      json_reverse_iteratoroperator-- ()
       pre-decrement (–it) More...
       
      json_reverse_iteratoroperator+= (difference_type i)
       add to iterator More...
       
      json_reverse_iterator operator+ (difference_type i) const
       add to iterator More...
       
      json_reverse_iterator operator- (difference_type i) const
       subtract from iterator More...
       
      difference_type operator- (const json_reverse_iterator &other) const
       return difference More...
       
      reference operator[] (difference_type n) const
       access to successor More...
       
      auto key () const -> decltype(std::declval< Base >().key())
       return the key of an object iterator More...
       
      reference value () const
       return the value of an iterator More...
       
      +

      Detailed Description

      +

      template<typename Base>
      +class nlohmann::detail::json_reverse_iterator< Base >

      + +

      a template for a reverse iterator class

      +
      Template Parameters
      + + +
      Basethe base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator).
      +
      +
      +

      @requirement The class satisfies the following concept requirements:

        +
      • BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).
      • +
      • OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator).
      • +
      +
      Since
      version 1.0.0
      +

      Member Typedef Documentation

      + +

      ◆ base_iterator [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::base_iterator = std::reverse_iterator<Base>
      +
      + +

      shortcut to the reverse iterator adapter

      + +
      +
      + +

      ◆ base_iterator [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::base_iterator = std::reverse_iterator<Base>
      +
      + +

      shortcut to the reverse iterator adapter

      + +
      +
      + +

      ◆ difference_type [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::difference_type = std::ptrdiff_t
      +
      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::difference_type = std::ptrdiff_t
      +
      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::reference = typename Base::reference
      +
      + +

      the reference type for the pointed-to element

      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + +
      using nlohmann::detail::json_reverse_iterator< Base >::reference = typename Base::reference
      +
      + +

      the reference type for the pointed-to element

      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ json_reverse_iterator() [1/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const typename base_iterator::iterator_type & it)
      +
      +inlineexplicitnoexcept
      +
      + +

      create reverse iterator from iterator

      + +
      +
      + +

      ◆ json_reverse_iterator() [2/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const base_iteratorit)
      +
      +inlineexplicitnoexcept
      +
      + +

      create reverse iterator from base class

      + +
      +
      + +

      ◆ json_reverse_iterator() [3/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const typename base_iterator::iterator_type & it)
      +
      +inlineexplicitnoexcept
      +
      + +

      create reverse iterator from iterator

      + +
      +
      + +

      ◆ json_reverse_iterator() [4/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const base_iteratorit)
      +
      +inlineexplicitnoexcept
      +
      + +

      create reverse iterator from base class

      + +
      +
      +

      Member Function Documentation

      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      auto nlohmann::detail::json_reverse_iterator< Base >::key () const -> decltype(std::declval<Base>().key()) +
      +
      +inline
      +
      + +

      return the key of an object iterator

      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      auto nlohmann::detail::json_reverse_iterator< Base >::key () const -> decltype(std::declval<Base>().key()) +
      +
      +inline
      +
      + +

      return the key of an object iterator

      + +
      +
      + +

      ◆ operator+() [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator+ (difference_type i) const
      +
      +inline
      +
      + +

      add to iterator

      + +
      +
      + +

      ◆ operator+() [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator+ (difference_type i) const
      +
      +inline
      +
      + +

      add to iterator

      + +
      +
      + +

      ◆ operator++() [1/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator++ ()
      +
      +inline
      +
      + +

      pre-increment (++it)

      + +
      +
      + +

      ◆ operator++() [2/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator++ ()
      +
      +inline
      +
      + +

      pre-increment (++it)

      + +
      +
      + +

      ◆ operator++() [3/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      const json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator++ (int )
      +
      +inline
      +
      + +

      post-increment (it++)

      + +
      +
      + +

      ◆ operator++() [4/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      const json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator++ (int )
      +
      +inline
      +
      + +

      post-increment (it++)

      + +
      +
      + +

      ◆ operator+=() [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator+= (difference_type i)
      +
      +inline
      +
      + +

      add to iterator

      + +
      +
      + +

      ◆ operator+=() [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator+= (difference_type i)
      +
      +inline
      +
      + +

      add to iterator

      + +
      +
      + +

      ◆ operator-() [1/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      difference_type nlohmann::detail::json_reverse_iterator< Base >::operator- (const json_reverse_iterator< Base > & other) const
      +
      +inline
      +
      + +

      return difference

      + +
      +
      + +

      ◆ operator-() [2/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      difference_type nlohmann::detail::json_reverse_iterator< Base >::operator- (const json_reverse_iterator< Base > & other) const
      +
      +inline
      +
      + +

      return difference

      + +
      +
      + +

      ◆ operator-() [3/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator- (difference_type i) const
      +
      +inline
      +
      + +

      subtract from iterator

      + +
      +
      + +

      ◆ operator-() [4/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator- (difference_type i) const
      +
      +inline
      +
      + +

      subtract from iterator

      + +
      +
      + +

      ◆ operator--() [1/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator-- ()
      +
      +inline
      +
      + +

      pre-decrement (–it)

      + +
      +
      + +

      ◆ operator--() [2/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator-- ()
      +
      +inline
      +
      + +

      pre-decrement (–it)

      + +
      +
      + +

      ◆ operator--() [3/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      const json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator-- (int )
      +
      +inline
      +
      + +

      post-decrement (it–)

      + +
      +
      + +

      ◆ operator--() [4/4]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      const json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator-- (int )
      +
      +inline
      +
      + +

      post-decrement (it–)

      + +
      +
      + +

      ◆ operator[]() [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::detail::json_reverse_iterator< Base >::operator[] (difference_type n) const
      +
      +inline
      +
      + +

      access to successor

      + +
      +
      + +

      ◆ operator[]() [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + + +
      reference nlohmann::detail::json_reverse_iterator< Base >::operator[] (difference_type n) const
      +
      +inline
      +
      + +

      access to successor

      + +
      +
      + +

      ◆ value() [1/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::json_reverse_iterator< Base >::value () const
      +
      +inline
      +
      + +

      return the value of an iterator

      + +
      +
      + +

      ◆ value() [2/2]

      + +
      +
      +
      +template<typename Base >
      + + + + + +
      + + + + + + + +
      reference nlohmann::detail::json_reverse_iterator< Base >::value () const
      +
      +inline
      +
      + +

      return the value of an iterator

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map new file mode 100644 index 0000000..73d51c5 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 new file mode 100644 index 0000000..fc722bf --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 @@ -0,0 +1 @@ +766dc365efd5748e133cd79bc3114ce6 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9909c2491583823802e72083b801615fb89be8ad GIT binary patch literal 5334 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map new file mode 100644 index 0000000..73d51c5 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 new file mode 100644 index 0000000..fc722bf --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +766dc365efd5748e133cd79bc3114ce6 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9909c2491583823802e72083b801615fb89be8ad GIT binary patch literal 5334 zcmcJTXEa=ExW~7QmccwLK%@3su~jCb$%DgXcP*5kIUen)L z{yBkbq9i8`UH|#YX)a8FAVh?Mw1lR6#&)KM?(M1bo{{^dRmDvHbl3qRd2|>SRt!G8 zsuoAnstBGehpmZFlje-jCBU$+1gO7{AVaXU&*>xd3{|&kO8NMo$7)DW^9QUt-kEG^s#E(3qJg*x>aThl9B-*v_eB1 zmU%Ta#%cX7)aF^cGw_IM+&w&u2RdyJPHEe~d%df8OrbgzFTSs>5mS&;Q7ILU7b>Tk z7#r`ek1`@;zRu6Pn+y&Psv>MGEbQ&=RaI5FxVQwJeh@?PKjBQWjl?O2dM9e$>YnByvb$^co~_C$#em4L0Lnp*Ct zMY@2Ut)(St8qswEE4TnVJM{sKj8xs{cx#4NL7^`oAfUXwyrZL|txdetXSpL->|zhb zX?=F^9h|Os(OitdaPjexb)l@RtWI{m{@mS_Q~NSAGc!C~UR=C6lrG?PvXd$1CmQm} z(#9q!IobE(lzWot@#8Q3{cwG9N-?@^WIx_dHbmA4wtyajsA=iy>MAdf;px-n&Q9sv z8SQcdOFO#}llL!Lyc?`0SiQWwa$&(E*vEQWT1goh1`ZDU{;pTX;4UDj$@2)VKh)Q^ zd}hrR85PxfzR6}y(b&^(^1f2*uMji_6WaXk4H1>=_H1w-OUl5+0n@;)G zT>Z$GFU~(F%l^(1A&o4ms7OgjK#y8Xvj(=4FjXfflh>&l8WKUDKYtb{!ImIlO`07Y zRnyRbL3@XX%F4=H+uK6}1F!7t+#DR*W7hs=(-iVG8YNYOL3Dh4F6{w02L}iE0jIxz zPfbk`n3t54B*ez%jBiXAXJye$vb>E_#&2mAy07xjVZb5q@S$Z_I9XIwltzJauIg1? zV?n`>Mz`Ix^mOhLEiJ9Ecyb96YYBb*bjjSu0s^3Te8fSJq9P*)?OHFBv$C#cP}zO` z{VP4c3dxG^wQ`DHq(92T-NO7#G4g$1SC^cU5)&2G?0Hm-tOFf(d~(w2eRiuFQRlam zWVmNXni~5g`y~oRE8!X~EjPc?y*1&~@rKQiseh&=|%}BPG-}Tkyrx4=I%uFv&Parq&m%n}t z6{=*K@TBV3+fwuR%714#CWBuyN4&-J(g0oY@L>^Xna<8m{Go!9l17s*xR_Wg=%bGx zKN>c=f`Tk6DT&Cl+M=64f!t|oYu8m*r$2GA0*O#m3~y=@fso*m0=Dz9NlAuPW;Y=^ zA)$uq>V$Tr;FBk|3r!v$b{#jy@@J}1b2Bre7B!i|Zl3P$@=8jkoF1N@ph5NJKtRmr{L9!_e5^Ie`@jhtQmu8Iig8JxcaccYVI){0A|jn-N`tXJ zEkYY$d1>l!W#%PsTzc3#FFu8MHWt)2Tl?xg?BUIuH*IXTV`E9SI%tAeL=o8z4fFH! z2E@cM>+2S|SfI;T!d>0m9xyRwK5^Mx>54FYXSTc0+|tq#92{(#=;zII=A*5x?Yh*4 zWn*K*$;nAX6h%bEzl5zMFAs9a`J(AVO%39egR`?VNswgj`uaLjAou;TMxn~a`g(6) zAG=XY69$9-YHMrj@Z@A_a`Mk&&d#M}Wn|tFW%~7sN=l6%J`ASuu`w`6c2d2%O_OKa z8=>nbOZn{CGj49~Uuz@T{5EOz^(P?Gl~(Mz)3dWCzx0fZjEs$QtXTcp{M9o? zQ*IueoS@9jZD(r~BqZ89Iv7MnTgu9!Dx)3*+%&i&&8%N%jRm>8yEpm#cI`##>+4_b zW;Hf?85w0G?^Yl}VtMEZ`O~*oSFs^M=k-|3oGkqI2aZtXJT$uX@_0_{`a(lrf3Bye zFeeAbaSqjidWr2?!yI5E~|7)XLZEYm(Zf^GX^`!#;X>@&No&MM=G;;)LNFps* z$$`(a?=Kn{i*@)P&;7SPEAc6 z9v&|JlF?c;Audi$O^u#)?n8cEU0HE4A7_R7ykz%185x-yKEUA%Fql(%5s{_(#c~*Q za8Qg!3xw$pNZ+8zCW0Yk{La1;Lr}zowgDk6&tqWyZ`!~0aO#!vL;mmXA1z+{KC%_M zeRI9q*nazY+`Ic^(C4Wh1qF}Z<+erXF!*6A#=e0iLGQ~{PrJ7M^C#E87p?Xc)5OKI z!}^=OIG^hadz8e-e>ps4;NDEt1!v(2XRVpcvPQHIo?h;55Csq)rpg~4A78JD`Tb=- z@%!X!y=_v2(pcw>bLIPvPS=~8l)4*#=c}g<%9)JvF8hn#zRCP6E(qI2+|*C(0dMu{ zSK+v;*kc&pxwXX;VXvwx#bBE7qaz1L$EQ1QOg=t=hOAPR!q_CGwwf0Onf4Ew+G`v3Qlt9>!Aqobpf-Nid8 zi8rN8^k10#XBTmzzmATEdVAYq_74vFhliQ>p7lgePEKl-Xg7QOdNW;< z7df^H8%CLN8Q47&-PpxLOYZIDQkJ9h-$iU7&Q`*Va~p&!2`ymDtwNKH$dot!MFsAzRs8`i5f zUnZT-s)?jyqKuXeL@N1}+-;NJONmx|)}so?cWmYsj4Tsi$*qi`(wP z*Y~D)34Iy7C>10UX=wQMWYLe7miCYD&(+(Ra>vERot>Qt2?>#sk_y-@3=RxX@odMc zpM`~n#>U4hDl1={|E%EU<@MMGpL|6AbG0ww;lqc|pFal|VhIO2xcT!Z9u5vbaZ|4+ z_dFQUEiG5`4Nf6{QJ)`88P(e@W~HYKuPl>sG9J!+bopsMk_FKBvhP85O?`cRP0e2G z?DX_0SQJPvV5Ll1^!9wiFK~}*U4)ZUU0pIDDnRnPy8&zrjEwv(At9lm;RK)!2wu{SAjw!2hmTFM{Qix(c$d+;{kBp+C)o_Loh!E}mUU&*=79I;5 zn<>HA*cjxWmE|YW*wE0Bs+eC~RAgL2Nl6Jo{OM19&Yd$_np{D2fZkJ3P%N-={+KM& zS5Q!JadG+j^(zEPNqwScT2}fVGGso`+q<`d8hrbj{V_lP4G4U$hj#wUmv<#4!gR3c zrnubla++JW9Ir0UKvKBw66)ya;0AJ6fjF8vwkV)SffG78@kYtQpi13Gkbii1Kg)Ps zZ7sEsCj#kPKF7NC_XW9X}Hr)oDoWfx^+v?{BC_Oqly0NkG-Mjk`@>_RQPYf-JCl&lV0O_Cs zUT*Fpz*ca$=jAytNON7?x22_z?xrtOYh3NmZzd)p1Ox?)p$w8T?7XxdtGrq%Bnz&aMd^zY~x(W=_o zqr<~a+ld$_QNipeCsl;c#i@g~c5+?aad#9I4$Q#N5Qts-vi%k4;hY>g%BUaf>w@Hp zD=RCWUS3nBdc1Bs^P?!nLDY*EFO-rWJ!EJ1xw`N`BA3SUm2e0w$HvDij9Pt{J8(*s zOij@M=Kj&ew9g$>?KL2+0Wv&+M`ZAdRoTj7IcXvQ{{dZM0WZXP<>xaETWAz%N=Zq!$d3kT|i_M9WkxXG7FklxJ;z7NGgO9nn z+jsEfWM$#qri@)mbDuviZER57zKyP^Fj7;COHYr8qEs=uCn+VR_lW#DO9erMfa5sf zrVNw;q3}N4i=^NM=!{bx91;Rr^#1+(01h!243Jn^8JU}ZX#(m5Q!8L>4UL5S{O_$- zN1Tj|X!MEIdJBVX%i3$y`Ehd2~(=($?1ZTQ?B|h3A3R2b;!|B3sxSgR{p|*p3b( zLou)K#28%!8h!kf%`Pf>wKY>sh|35Tr=vrHS?81)G^u{A)dYyl<;6uZhoP0Rar^Zq zq=lyCh6h(!jOHyZErD{!!3nl&IWsr&doI4}{U(VRnwO*$7H$L^JwH7K4(8_S%3;)U zPb^EU>@x$!XoTw?n3ze*PVriuL&VbS>jeVad;9wxot!=qnps$cn(}R(63UDMzXj1U z?TH2>Cvkz*A!GM<$B6Los_JS2I2=Gb?8Xi4vgg6Vu^sedsHV~OhwuJ0aAKmSvGFo+ z0FZ=A%7+>5S2g0gafH4`-luC1Ncol!*L$c>oL`q0^NKVI%Rxn6o*zw2On?#t<#FrQ ztrDFIS9|-V8BGigklI(TeuAL}80j|*<$fr5`e1Hmw)*1-p!ssWYG!(RZ1pO9*;3RsKv_`Q7+N zHEM*MDXRx5!;^PN*6&|Tqjs?Lg_)?AziNycTY{X!;Dh~gNBa$6FyJ7;1}eeB&Aq?B z->$}&MhZBIOr|ol?IRujK6nXrzq{aDT~ws7$52~Vw*4B07n&dq-IiGk`LyQ^GQdxN zT>R%R*u34Jf%ZSl^*Z*KKN#!dIAAdh%19)an(J896YFm6l7GS%O#Nk{{uSBJ~99R literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html b/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html new file mode 100644 index 0000000..fa2c656 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html @@ -0,0 +1,117 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::json_sax_acceptor< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::json_sax_acceptor< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      binary(binary_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      binary_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      boolean(bool)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      boolean(bool)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      key(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      key(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      null()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      null()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_float(number_float_t, const string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_float(number_float_t, const string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_float_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      number_float_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      number_integer(number_integer_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_integer(number_integer_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_integer_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      number_integer_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      number_unsigned(number_unsigned_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_unsigned(number_unsigned_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      number_unsigned_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      number_unsigned_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      parse_error(std::size_t, const std::string &, const detail::exception &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      parse_error(std::size_t, const std::string &, const detail::exception &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      start_array(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      start_array(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      start_object(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      start_object(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      string(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      string(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
      string_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      string_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor.html b/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor.html new file mode 100644 index 0000000..6ae38d7 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__acceptor.html @@ -0,0 +1,1056 @@ + + + + + + + +CocoaTweet: nlohmann::detail::json_sax_acceptor< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::json_sax_acceptor< BasicJsonType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using binary_t = typename BasicJsonType::binary_t
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

      bool null ()
       
      bool boolean (bool)
       
      bool number_integer (number_integer_t)
       
      bool number_unsigned (number_unsigned_t)
       
      bool number_float (number_float_t, const string_t &)
       
      bool string (string_t &)
       
      bool start_object (std::size_t=std::size_t(-1))
       
      bool key (string_t &)
       
      bool end_object ()
       
      bool start_array (std::size_t=std::size_t(-1))
       
      bool end_array ()
       
      bool parse_error (std::size_t, const std::string &, const detail::exception &)
       
      bool null ()
       
      bool boolean (bool)
       
      bool number_integer (number_integer_t)
       
      bool number_unsigned (number_unsigned_t)
       
      bool number_float (number_float_t, const string_t &)
       
      bool string (string_t &)
       
      bool binary (binary_t &)
       
      bool start_object (std::size_t=std::size_t(-1))
       
      bool key (string_t &)
       
      bool end_object ()
       
      bool start_array (std::size_t=std::size_t(-1))
       
      bool end_array ()
       
      bool parse_error (std::size_t, const std::string &, const detail::exception &)
       
      +

      Member Typedef Documentation

      + +

      ◆ binary_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
      +
      + +
      +
      + +

      ◆ number_float_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_float_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_integer_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_integer_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ string_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      + +

      ◆ string_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_acceptor< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ binary()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary (binary_t)
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::boolean (bool )
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::boolean (bool )
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::key (string_t)
      +
      +inline
      +
      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::key (string_t)
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float (number_float_t ,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float (number_float_t ,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer (number_integer_t )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer (number_integer_t )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned (number_unsigned_t )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned (number_unsigned_t )
      +
      +inline
      +
      + +
      +
      + +

      ◆ parse_error() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const detail::exception 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ parse_error() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const detail::exception 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_array (std::size_t  = std::size_t(-1))
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_array (std::size_t  = std::size_t(-1))
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_object (std::size_t  = std::size_t(-1))
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_object (std::size_t  = std::size_t(-1))
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::string (string_t)
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::string (string_t)
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html new file mode 100644 index 0000000..8654e87 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html @@ -0,0 +1,135 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      binary(binary_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      binary_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      boolean(bool val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      boolean(bool val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      is_errored() constnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      is_errored() constnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      json_sax_dom_callback_parser(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      json_sax_dom_callback_parser(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      json_sax_dom_callback_parser(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      json_sax_dom_callback_parser(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      key(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      key(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      null()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      null()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_float_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      number_float_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_integer_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      number_integer_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      number_unsigned_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      number_unsigned_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      operator=(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      operator=(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      operator=(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      operator=(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      parse_error(std::size_t, const std::string &, const detail::exception &ex)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      parse_error(std::size_t, const std::string &, const Exception &ex)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      parse_event_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      parse_event_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      parser_callback_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      parser_callback_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      start_array(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      start_array(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      start_object(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      start_object(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      string(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      string(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
      string_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      string_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      ~json_sax_dom_callback_parser()=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      ~json_sax_dom_callback_parser()=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html new file mode 100644 index 0000000..62b32fb --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html @@ -0,0 +1,1580 @@ + + + + + + + +CocoaTweet: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using parser_callback_t = typename BasicJsonType::parser_callback_t
       
      using parse_event_t = typename BasicJsonType::parse_event_t
       
      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using binary_t = typename BasicJsonType::binary_t
       
      using parser_callback_t = typename BasicJsonType::parser_callback_t
       
      using parse_event_t = typename BasicJsonType::parse_event_t
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       json_sax_dom_callback_parser (BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
       
       json_sax_dom_callback_parser (const json_sax_dom_callback_parser &)=delete
       
       json_sax_dom_callback_parser (json_sax_dom_callback_parser &&)=default
       
      json_sax_dom_callback_parseroperator= (const json_sax_dom_callback_parser &)=delete
       
      json_sax_dom_callback_parseroperator= (json_sax_dom_callback_parser &&)=default
       
       ~json_sax_dom_callback_parser ()=default
       
      bool null ()
       
      bool boolean (bool val)
       
      bool number_integer (number_integer_t val)
       
      bool number_unsigned (number_unsigned_t val)
       
      bool number_float (number_float_t val, const string_t &)
       
      bool string (string_t &val)
       
      bool start_object (std::size_t len)
       
      bool key (string_t &val)
       
      bool end_object ()
       
      bool start_array (std::size_t len)
       
      bool end_array ()
       
      bool parse_error (std::size_t, const std::string &, const detail::exception &ex)
       
      constexpr bool is_errored () const
       
       json_sax_dom_callback_parser (BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
       
       json_sax_dom_callback_parser (const json_sax_dom_callback_parser &)=delete
       
       json_sax_dom_callback_parser (json_sax_dom_callback_parser &&)=default
       
      json_sax_dom_callback_parseroperator= (const json_sax_dom_callback_parser &)=delete
       
      json_sax_dom_callback_parseroperator= (json_sax_dom_callback_parser &&)=default
       
       ~json_sax_dom_callback_parser ()=default
       
      bool null ()
       
      bool boolean (bool val)
       
      bool number_integer (number_integer_t val)
       
      bool number_unsigned (number_unsigned_t val)
       
      bool number_float (number_float_t val, const string_t &)
       
      bool string (string_t &val)
       
      bool binary (binary_t &val)
       
      bool start_object (std::size_t len)
       
      bool key (string_t &val)
       
      bool end_object ()
       
      bool start_array (std::size_t len)
       
      bool end_array ()
       
      template<class Exception >
      bool parse_error (std::size_t, const std::string &, const Exception &ex)
       
      constexpr bool is_errored () const
       
      +

      Member Typedef Documentation

      + +

      ◆ binary_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
      +
      + +
      +
      + +

      ◆ number_float_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_float_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_integer_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_integer_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ parse_event_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_event_t = typename BasicJsonType::parse_event_t
      +
      + +
      +
      + +

      ◆ parse_event_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_event_t = typename BasicJsonType::parse_event_t
      +
      + +
      +
      + +

      ◆ parser_callback_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parser_callback_t = typename BasicJsonType::parser_callback_t
      +
      + +
      +
      + +

      ◆ parser_callback_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parser_callback_t = typename BasicJsonType::parser_callback_t
      +
      + +
      +
      + +

      ◆ string_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      + +

      ◆ string_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ json_sax_dom_callback_parser() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (BasicJsonType & r,
      const parser_callback_t cb,
      const bool allow_exceptions_ = true 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_sax_dom_callback_parser() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (const json_sax_dom_callback_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ json_sax_dom_callback_parser() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (json_sax_dom_callback_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~json_sax_dom_callback_parser() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::~json_sax_dom_callback_parser ()
      +
      +default
      +
      + +
      +
      + +

      ◆ json_sax_dom_callback_parser() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (BasicJsonType & r,
      const parser_callback_t cb,
      const bool allow_exceptions_ = true 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ json_sax_dom_callback_parser() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (const json_sax_dom_callback_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ json_sax_dom_callback_parser() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (json_sax_dom_callback_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~json_sax_dom_callback_parser() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::~json_sax_dom_callback_parser ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ binary()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary (binary_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::boolean (bool val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::boolean (bool val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ is_errored() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored () const
      +
      +inlineconstexpr
      +
      + +
      +
      + +

      ◆ is_errored() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored () const
      +
      +inlineconstexpr
      +
      + +
      +
      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float (number_float_t val,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float (number_float_t val,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer (number_integer_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer (number_integer_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (const json_sax_dom_callback_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (const json_sax_dom_callback_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (json_sax_dom_callback_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (json_sax_dom_callback_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ parse_error() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const detail::exceptionex 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ parse_error() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<class Exception >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const Exception & ex 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string (string_tval)
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html new file mode 100644 index 0000000..0e44ba3 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html @@ -0,0 +1,131 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::json_sax_dom_parser< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      binary(binary_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      binary_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      boolean(bool val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      boolean(bool val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      end_array()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      end_object()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      is_errored() constnlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      is_errored() constnlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inlineexplicit
      json_sax_dom_parser(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
      json_sax_dom_parser(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inlineexplicit
      json_sax_dom_parser(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
      json_sax_dom_parser(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      key(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      key(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      null()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      null()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_float_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      number_float_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_integer_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      number_integer_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      number_unsigned_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      number_unsigned_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      operator=(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
      operator=(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      operator=(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
      operator=(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      parse_error(std::size_t, const std::string &, const detail::exception &ex)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      parse_error(std::size_t, const std::string &, const Exception &ex)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      start_array(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      start_array(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      start_object(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      start_object(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      string(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      string(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
      string_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      string_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      ~json_sax_dom_parser()=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      ~json_sax_dom_parser()=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser.html b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser.html new file mode 100644 index 0000000..eb8e17f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1json__sax__dom__parser.html @@ -0,0 +1,1526 @@ + + + + + + + +CocoaTweet: nlohmann::detail::json_sax_dom_parser< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType > Class Template Reference
      +
      +
      + +

      SAX implementation to create a JSON value from SAX events. + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using binary_t = typename BasicJsonType::binary_t
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       json_sax_dom_parser (BasicJsonType &r, const bool allow_exceptions_=true)
       
       json_sax_dom_parser (const json_sax_dom_parser &)=delete
       
       json_sax_dom_parser (json_sax_dom_parser &&)=default
       
      json_sax_dom_parseroperator= (const json_sax_dom_parser &)=delete
       
      json_sax_dom_parseroperator= (json_sax_dom_parser &&)=default
       
       ~json_sax_dom_parser ()=default
       
      bool null ()
       
      bool boolean (bool val)
       
      bool number_integer (number_integer_t val)
       
      bool number_unsigned (number_unsigned_t val)
       
      bool number_float (number_float_t val, const string_t &)
       
      bool string (string_t &val)
       
      bool start_object (std::size_t len)
       
      bool key (string_t &val)
       
      bool end_object ()
       
      bool start_array (std::size_t len)
       
      bool end_array ()
       
      bool parse_error (std::size_t, const std::string &, const detail::exception &ex)
       
      constexpr bool is_errored () const
       
       json_sax_dom_parser (BasicJsonType &r, const bool allow_exceptions_=true)
       
       json_sax_dom_parser (const json_sax_dom_parser &)=delete
       
       json_sax_dom_parser (json_sax_dom_parser &&)=default
       
      json_sax_dom_parseroperator= (const json_sax_dom_parser &)=delete
       
      json_sax_dom_parseroperator= (json_sax_dom_parser &&)=default
       
       ~json_sax_dom_parser ()=default
       
      bool null ()
       
      bool boolean (bool val)
       
      bool number_integer (number_integer_t val)
       
      bool number_unsigned (number_unsigned_t val)
       
      bool number_float (number_float_t val, const string_t &)
       
      bool string (string_t &val)
       
      bool binary (binary_t &val)
       
      bool start_object (std::size_t len)
       
      bool key (string_t &val)
       
      bool end_object ()
       
      bool start_array (std::size_t len)
       
      bool end_array ()
       
      template<class Exception >
      bool parse_error (std::size_t, const std::string &, const Exception &ex)
       
      constexpr bool is_errored () const
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +class nlohmann::detail::json_sax_dom_parser< BasicJsonType >

      + +

      SAX implementation to create a JSON value from SAX events.

      +

      This class implements the json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack ref_stack which contains a pointer to the respective array or object for each recursion depth.

      +

      After successful parsing, the value that is passed by reference to the constructor contains the parsed value.

      +
      Template Parameters
      + + +
      BasicJsonTypethe JSON type
      +
      +
      +

      Member Typedef Documentation

      + +

      ◆ binary_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
      +
      + +
      +
      + +

      ◆ number_float_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_float_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_integer_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_integer_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ string_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      + +

      ◆ string_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ json_sax_dom_parser() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (BasicJsonType & r,
      const bool allow_exceptions_ = true 
      )
      +
      +inlineexplicit
      +
      +
      Parameters
      + + + +
      [in,out]rreference to a JSON value that is manipulated while parsing
      [in]allow_exceptions_whether parse errors yield exceptions
      +
      +
      + +
      +
      + +

      ◆ json_sax_dom_parser() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (const json_sax_dom_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ json_sax_dom_parser() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (json_sax_dom_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~json_sax_dom_parser() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::~json_sax_dom_parser ()
      +
      +default
      +
      + +
      +
      + +

      ◆ json_sax_dom_parser() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (BasicJsonType & r,
      const bool allow_exceptions_ = true 
      )
      +
      +inlineexplicit
      +
      +
      Parameters
      + + + +
      [in,out]rreference to a JSON value that is manipulated while parsing
      [in]allow_exceptions_whether parse errors yield exceptions
      +
      +
      + +
      +
      + +

      ◆ json_sax_dom_parser() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (const json_sax_dom_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ json_sax_dom_parser() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (json_sax_dom_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~json_sax_dom_parser() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::json_sax_dom_parser< BasicJsonType >::~json_sax_dom_parser ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ binary()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary (binary_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::boolean (bool val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ boolean() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::boolean (bool val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_array ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ end_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_object ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ is_errored() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored () const
      +
      +inlineconstexpr
      +
      + +
      +
      + +

      ◆ is_errored() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored () const
      +
      +inlineconstexpr
      +
      + +
      +
      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::key (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::key (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ null() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::null ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float (number_float_t val,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_float() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float (number_float_t val,
      const string_t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer (number_integer_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_integer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer (number_integer_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ number_unsigned() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (const json_sax_dom_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (const json_sax_dom_parser< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (json_sax_dom_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (json_sax_dom_parser< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ parse_error() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const detail::exceptionex 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ parse_error() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<class Exception >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error (std::size_t ,
      const std::string & ,
      const Exception & ex 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ start_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object (std::size_t len)
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string (string_tval)
      +
      +inline
      +
      + +
      +
      + +

      ◆ string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string (string_tval)
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1lexer-members.html b/help/html/classnlohmann_1_1detail_1_1lexer-members.html new file mode 100644 index 0000000..27ed838 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1lexer-members.html @@ -0,0 +1,117 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::lexer< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::lexer< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      get_error_message() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_error_message() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_float() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_float() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_integer() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_integer() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_unsigned() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_number_unsigned() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_position() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_position() const noexceptnlohmann::detail::lexer< BasicJsonType >inline
      get_string()nlohmann::detail::lexer< BasicJsonType >inline
      get_string()nlohmann::detail::lexer< BasicJsonType >inline
      get_token_string() constnlohmann::detail::lexer< BasicJsonType >inline
      get_token_string() constnlohmann::detail::lexer< BasicJsonType >inline
      lexer(detail::input_adapter_t &&adapter)nlohmann::detail::lexer< BasicJsonType >inlineexplicit
      lexer(const lexer &)=deletenlohmann::detail::lexer< BasicJsonType >
      lexer(lexer &&)=deletenlohmann::detail::lexer< BasicJsonType >
      lexer(InputAdapterType &&adapter, bool ignore_comments_=false)nlohmann::detail::lexer< BasicJsonType >inlineexplicit
      lexer(const lexer &)=deletenlohmann::detail::lexer< BasicJsonType >
      lexer(lexer &&)=defaultnlohmann::detail::lexer< BasicJsonType >
      operator=(lexer &)=deletenlohmann::detail::lexer< BasicJsonType >
      operator=(lexer &&)=deletenlohmann::detail::lexer< BasicJsonType >
      operator=(lexer &)=deletenlohmann::detail::lexer< BasicJsonType >
      operator=(lexer &&)=defaultnlohmann::detail::lexer< BasicJsonType >
      scan()nlohmann::detail::lexer< BasicJsonType >inline
      scan()nlohmann::detail::lexer< BasicJsonType >inline
      skip_bom()nlohmann::detail::lexer< BasicJsonType >inline
      skip_bom()nlohmann::detail::lexer< BasicJsonType >inline
      skip_whitespace()nlohmann::detail::lexer< BasicJsonType >inline
      token_type enum namenlohmann::detail::lexer< BasicJsonType >
      token_type typedefnlohmann::detail::lexer< BasicJsonType >
      token_type_name(const token_type t) noexceptnlohmann::detail::lexer< BasicJsonType >inlinestatic
      ~lexer()=defaultnlohmann::detail::lexer< BasicJsonType >
      ~lexer()=defaultnlohmann::detail::lexer< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1lexer.html b/help/html/classnlohmann_1_1detail_1_1lexer.html new file mode 100644 index 0000000..0b49315 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1lexer.html @@ -0,0 +1,1217 @@ + + + + + + + +CocoaTweet: nlohmann::detail::lexer< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::lexer< BasicJsonType > Class Template Reference
      +
      +
      + +

      lexical analysis + More...

      + +

      #include <json.hpp>

      + + + + + + + +

      +Public Types

      enum  token_type {
      +  token_type::uninitialized, +token_type::literal_true, +token_type::literal_false, +token_type::literal_null, +
      +  token_type::value_string, +token_type::value_unsigned, +token_type::value_integer, +token_type::value_float, +
      +  token_type::begin_array, +token_type::begin_object, +token_type::end_array, +token_type::end_object, +
      +  token_type::name_separator, +token_type::value_separator, +token_type::parse_error, +token_type::end_of_input, +
      +  token_type::literal_or_value +
      + }
       token types for the parser More...
       
      using token_type = typename lexer_base< BasicJsonType >::token_type
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       lexer (detail::input_adapter_t &&adapter)
       
       lexer (const lexer &)=delete
       
       lexer (lexer &&)=delete
       
      lexeroperator= (lexer &)=delete
       
      lexeroperator= (lexer &&)=delete
       
       ~lexer ()=default
       
      constexpr number_integer_t get_number_integer () const noexcept
       return integer value More...
       
      constexpr number_unsigned_t get_number_unsigned () const noexcept
       return unsigned integer value More...
       
      constexpr number_float_t get_number_float () const noexcept
       return floating-point value More...
       
      string_t & get_string ()
       return current string value (implicitly resets the token; useful only once) More...
       
      constexpr position_t get_position () const noexcept
       return position of last read token More...
       
      std::string get_token_string () const
       
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char * get_error_message () const noexcept
       return syntax error message More...
       
      bool skip_bom ()
       skip the UTF-8 byte order mark More...
       
      token_type scan ()
       
       lexer (InputAdapterType &&adapter, bool ignore_comments_=false)
       
       lexer (const lexer &)=delete
       
       lexer (lexer &&)=default
       
      lexeroperator= (lexer &)=delete
       
      lexeroperator= (lexer &&)=default
       
       ~lexer ()=default
       
      constexpr number_integer_t get_number_integer () const noexcept
       return integer value More...
       
      constexpr number_unsigned_t get_number_unsigned () const noexcept
       return unsigned integer value More...
       
      constexpr number_float_t get_number_float () const noexcept
       return floating-point value More...
       
      string_t & get_string ()
       return current string value (implicitly resets the token; useful only once) More...
       
      constexpr position_t get_position () const noexcept
       return position of last read token More...
       
      std::string get_token_string () const
       
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char * get_error_message () const noexcept
       return syntax error message More...
       
      bool skip_bom ()
       skip the UTF-8 byte order mark More...
       
      void skip_whitespace ()
       
      token_type scan ()
       
      + + + + +

      +Static Public Member Functions

      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name (const token_type t) noexcept
       return name of values of type token_type (only used for errors) More...
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +class nlohmann::detail::lexer< BasicJsonType >

      + +

      lexical analysis

      +

      This class organizes the lexical analysis during JSON deserialization.

      +

      Member Typedef Documentation

      + +

      ◆ token_type

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::lexer< BasicJsonType >::token_type = typename lexer_base<BasicJsonType>::token_type
      +
      + +
      +
      +

      Member Enumeration Documentation

      + +

      ◆ token_type

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      enum nlohmann::detail::lexer::token_type
      +
      +strong
      +
      + +

      token types for the parser

      + + + + + + + + + + + + + + + + + + +
      Enumerator
      uninitialized 

      indicating the scanner is uninitialized

      +
      literal_true 

      the true literal

      +
      literal_false 

      the false literal

      +
      literal_null 

      the null literal

      +
      value_string 

      a string – use get_string() for actual value

      +
      value_unsigned 

      an unsigned integer – use get_number_unsigned() for actual value

      +
      value_integer 

      a signed integer – use get_number_integer() for actual value

      +
      value_float 

      an floating point number – use get_number_float() for actual value

      +
      begin_array 

      the character for array begin [

      +
      begin_object 

      the character for object begin {

      +
      end_array 

      the character for array end ]

      +
      end_object 

      the character for object end }

      +
      name_separator 

      the name separator :

      +
      value_separator 

      the value separator ,

      +
      parse_error 

      indicating a parse error

      +
      end_of_input 

      indicating the end of the input buffer

      +
      literal_or_value 

      a literal or the begin of a value (only for diagnostics)

      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ lexer() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (detail::input_adapter_t && adapter)
      +
      +inlineexplicit
      +
      + +
      +
      + +

      ◆ lexer() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (const lexer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ lexer() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (lexer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~lexer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::~lexer ()
      +
      +default
      +
      + +
      +
      + +

      ◆ lexer() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (InputAdapterType && adapter,
      bool ignore_comments_ = false 
      )
      +
      +inlineexplicit
      +
      + +
      +
      + +

      ◆ lexer() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (const lexer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ lexer() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::lexer (lexer< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ ~lexer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::lexer< BasicJsonType >::~lexer ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_error_message() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::lexer< BasicJsonType >::get_error_message () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return syntax error message

      + +
      +
      + +

      ◆ get_error_message() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::lexer< BasicJsonType >::get_error_message () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return syntax error message

      + +
      +
      + +

      ◆ get_number_float() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_float_t nlohmann::detail::lexer< BasicJsonType >::get_number_float () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return floating-point value

      + +
      +
      + +

      ◆ get_number_float() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_float_t nlohmann::detail::lexer< BasicJsonType >::get_number_float () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return floating-point value

      + +
      +
      + +

      ◆ get_number_integer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_integer_t nlohmann::detail::lexer< BasicJsonType >::get_number_integer () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return integer value

      + +
      +
      + +

      ◆ get_number_integer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_integer_t nlohmann::detail::lexer< BasicJsonType >::get_number_integer () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return integer value

      + +
      +
      + +

      ◆ get_number_unsigned() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_unsigned_t nlohmann::detail::lexer< BasicJsonType >::get_number_unsigned () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return unsigned integer value

      + +
      +
      + +

      ◆ get_number_unsigned() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr number_unsigned_t nlohmann::detail::lexer< BasicJsonType >::get_number_unsigned () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return unsigned integer value

      + +
      +
      + +

      ◆ get_position() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr position_t nlohmann::detail::lexer< BasicJsonType >::get_position () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return position of last read token

      + +
      +
      + +

      ◆ get_position() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      constexpr position_t nlohmann::detail::lexer< BasicJsonType >::get_position () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return position of last read token

      + +
      +
      + +

      ◆ get_string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      string_t& nlohmann::detail::lexer< BasicJsonType >::get_string ()
      +
      +inline
      +
      + +

      return current string value (implicitly resets the token; useful only once)

      + +
      +
      + +

      ◆ get_string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      string_t& nlohmann::detail::lexer< BasicJsonType >::get_string ()
      +
      +inline
      +
      + +

      return current string value (implicitly resets the token; useful only once)

      + +
      +
      + +

      ◆ get_token_string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      std::string nlohmann::detail::lexer< BasicJsonType >::get_token_string () const
      +
      +inline
      +
      +

      return the last read token (for errors only). Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped.

      + +
      +
      + +

      ◆ get_token_string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      std::string nlohmann::detail::lexer< BasicJsonType >::get_token_string () const
      +
      +inline
      +
      +

      return the last read token (for errors only). Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped.

      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      lexer& nlohmann::detail::lexer< BasicJsonType >::operator= (lexer< BasicJsonType > && )
      +
      +default
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      lexer& nlohmann::detail::lexer< BasicJsonType >::operator= (lexer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      lexer& nlohmann::detail::lexer< BasicJsonType >::operator= (lexer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      lexer& nlohmann::detail::lexer< BasicJsonType >::operator= (lexer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ scan() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      token_type nlohmann::detail::lexer< BasicJsonType >::scan ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ scan() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      token_type nlohmann::detail::lexer< BasicJsonType >::scan ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ skip_bom() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::lexer< BasicJsonType >::skip_bom ()
      +
      +inline
      +
      + +

      skip the UTF-8 byte order mark

      +
      Returns
      true iff there is no BOM or the correct BOM has been skipped
      + +
      +
      + +

      ◆ skip_bom() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::detail::lexer< BasicJsonType >::skip_bom ()
      +
      +inline
      +
      + +

      skip the UTF-8 byte order mark

      +
      Returns
      true iff there is no BOM or the correct BOM has been skipped
      + +
      +
      + +

      ◆ skip_whitespace()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      void nlohmann::detail::lexer< BasicJsonType >::skip_whitespace ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ token_type_name()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char* nlohmann::detail::lexer< BasicJsonType >::token_type_name (const token_type t)
      +
      +inlinestaticnoexcept
      +
      + +

      return name of values of type token_type (only used for errors)

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1lexer__base-members.html b/help/html/classnlohmann_1_1detail_1_1lexer__base-members.html new file mode 100644 index 0000000..3df5486 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1lexer__base-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::lexer_base< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::lexer_base< BasicJsonType >, including all inherited members.

      + + + +
      token_type enum namenlohmann::detail::lexer_base< BasicJsonType >
      token_type_name(const token_type t) noexceptnlohmann::detail::lexer_base< BasicJsonType >inlinestatic
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1lexer__base.html b/help/html/classnlohmann_1_1detail_1_1lexer__base.html new file mode 100644 index 0000000..349de9f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1lexer__base.html @@ -0,0 +1,219 @@ + + + + + + + +CocoaTweet: nlohmann::detail::lexer_base< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::lexer_base< BasicJsonType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + +

      +Public Types

      enum  token_type {
      +  token_type::uninitialized, +token_type::literal_true, +token_type::literal_false, +token_type::literal_null, +
      +  token_type::value_string, +token_type::value_unsigned, +token_type::value_integer, +token_type::value_float, +
      +  token_type::begin_array, +token_type::begin_object, +token_type::end_array, +token_type::end_object, +
      +  token_type::name_separator, +token_type::value_separator, +token_type::parse_error, +token_type::end_of_input, +
      +  token_type::literal_or_value +
      + }
       token types for the parser More...
       
      + + + + +

      +Static Public Member Functions

      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name (const token_type t) noexcept
       return name of values of type token_type (only used for errors) More...
       
      +

      Member Enumeration Documentation

      + +

      ◆ token_type

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      enum nlohmann::detail::lexer_base::token_type
      +
      +strong
      +
      + +

      token types for the parser

      + + + + + + + + + + + + + + + + + + +
      Enumerator
      uninitialized 

      indicating the scanner is uninitialized

      +
      literal_true 

      the true literal

      +
      literal_false 

      the false literal

      +
      literal_null 

      the null literal

      +
      value_string 

      a string – use get_string() for actual value

      +
      value_unsigned 

      an unsigned integer – use get_number_unsigned() for actual value

      +
      value_integer 

      a signed integer – use get_number_integer() for actual value

      +
      value_float 

      an floating point number – use get_number_float() for actual value

      +
      begin_array 

      the character for array begin [

      +
      begin_object 

      the character for object begin {

      +
      end_array 

      the character for array end ]

      +
      end_object 

      the character for object end }

      +
      name_separator 

      the name separator :

      +
      value_separator 

      the value separator ,

      +
      parse_error 

      indicating a parse error

      +
      end_of_input 

      indicating the end of the input buffer

      +
      literal_or_value 

      a literal or the begin of a value (only for diagnostics)

      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ token_type_name()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char* nlohmann::detail::lexer_base< BasicJsonType >::token_type_name (const token_type t)
      +
      +inlinestaticnoexcept
      +
      + +

      return name of values of type token_type (only used for errors)

      + +
      +
      +
      The documentation for this class was generated from the following file: +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1other__error-members.html b/help/html/classnlohmann_1_1detail_1_1other__error-members.html new file mode 100644 index 0000000..a227fc3 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1other__error-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::other_error Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::other_error, including all inherited members.

      + + + + + + + + + + +
      create(int id_, const std::string &what_arg)nlohmann::detail::other_errorinlinestatic
      create(int id_, const std::string &what_arg)nlohmann::detail::other_errorinlinestatic
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1other__error.html b/help/html/classnlohmann_1_1detail_1_1other__error.html new file mode 100644 index 0000000..8f97914 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1other__error.html @@ -0,0 +1,237 @@ + + + + + + + +CocoaTweet: nlohmann::detail::other_error Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::other_error Class Reference
      +
      +
      + +

      exception indicating other library errors + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::other_error:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::other_error:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      + + + + + + +

      +Static Public Member Functions

      static other_error create (int id_, const std::string &what_arg)
       
      static other_error create (int id_, const std::string &what_arg)
       
      + + + + + + + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Member Functions inherited from nlohmann::detail::exception
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      - Public Attributes inherited from nlohmann::detail::exception
      const int id
       the id of the exception More...
       
      - Protected Member Functions inherited from nlohmann::detail::exception
       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      - Static Protected Member Functions inherited from nlohmann::detail::exception
      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      exception indicating other library errors

      +

      This exception is thrown in case of errors that cannot be classified with the other exception types.

      +

      Exceptions have ids 5xx.

      + + + + + +
      name / id example message description
      json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.
      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +

      @liveexample{The following code shows how an other_error exception can be caught.,other_error}

      +
      Since
      version 3.0.0
      +

      Member Function Documentation

      + +

      ◆ create() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static other_error nlohmann::detail::other_error::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ create() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static other_error nlohmann::detail::other_error::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.map new file mode 100644 index 0000000..ebea63e --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 new file mode 100644 index 0000000..defe5c0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 @@ -0,0 +1 @@ +0a9cee24c33c9b81273d8283827660a1 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1other__error__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca579bb5741c57f07e70a7b216114bcd94fda39 GIT binary patch literal 6010 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 + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 new file mode 100644 index 0000000..defe5c0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 @@ -0,0 +1 @@ +0a9cee24c33c9b81273d8283827660a1 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1other__error__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca579bb5741c57f07e70a7b216114bcd94fda39 GIT binary patch literal 6010 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::out_of_range Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::out_of_range, including all inherited members.

      + + + + + + + + + + +
      create(int id_, const std::string &what_arg)nlohmann::detail::out_of_rangeinlinestatic
      create(int id_, const std::string &what_arg)nlohmann::detail::out_of_rangeinlinestatic
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range.html b/help/html/classnlohmann_1_1detail_1_1out__of__range.html new file mode 100644 index 0000000..e224b78 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1out__of__range.html @@ -0,0 +1,288 @@ + + + + + + + +CocoaTweet: nlohmann::detail::out_of_range Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::out_of_range Class Reference
      +
      +
      + +

      exception indicating access out of the defined range + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::out_of_range:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::out_of_range:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      + + + + + + +

      +Static Public Member Functions

      static out_of_range create (int id_, const std::string &what_arg)
       
      static out_of_range create (int id_, const std::string &what_arg)
       
      + + + + + + + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Member Functions inherited from nlohmann::detail::exception
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      - Public Attributes inherited from nlohmann::detail::exception
      const int id
       the id of the exception More...
       
      - Protected Member Functions inherited from nlohmann::detail::exception
       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      - Static Protected Member Functions inherited from nlohmann::detail::exception
      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      exception indicating access out of the defined range

      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807.
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

      +

      Exceptions have ids 4xx.

      + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
      json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
      json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
      json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
      json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
      json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
      json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)
      json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
      json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
      +

      @liveexample{The following code shows how an out_of_range exception can be caught.,out_of_range}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      Member Function Documentation

      + +

      ◆ create() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static out_of_range nlohmann::detail::out_of_range::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ create() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static out_of_range nlohmann::detail::out_of_range::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map new file mode 100644 index 0000000..b53b35f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 new file mode 100644 index 0000000..833615b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 @@ -0,0 +1 @@ +96c7fecbfe1fbe0bcce756a6760f5e65 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..629fa1a39f006083f8102771b201262974abc87b GIT binary patch literal 6440 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 Bd#?Zh literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map new file mode 100644 index 0000000..b53b35f --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 new file mode 100644 index 0000000..833615b --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 @@ -0,0 +1 @@ +96c7fecbfe1fbe0bcce756a6760f5e65 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..629fa1a39f006083f8102771b201262974abc87b GIT binary patch literal 6440 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 Bd#?Zh literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1output__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1output__adapter-members.html new file mode 100644 index 0000000..fc9b7cf --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__adapter-members.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::output_adapter< CharType, StringType > Member List
      +
      + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__adapter.html b/help/html/classnlohmann_1_1detail_1_1output__adapter.html new file mode 100644 index 0000000..ec98270 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__adapter.html @@ -0,0 +1,332 @@ + + + + + + + +CocoaTweet: nlohmann::detail::output_adapter< CharType, StringType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::output_adapter< CharType, StringType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       output_adapter (std::vector< CharType > &vec)
       
       output_adapter (std::basic_ostream< CharType > &s)
       
       output_adapter (StringType &s)
       
       operator output_adapter_t< CharType > ()
       
       output_adapter (std::vector< CharType > &vec)
       
       output_adapter (std::basic_ostream< CharType > &s)
       
       output_adapter (StringType &s)
       
       operator output_adapter_t< CharType > ()
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ output_adapter() [1/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::vector< CharType > & vec)
      +
      +inline
      +
      + +
      +
      + +

      ◆ output_adapter() [2/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::basic_ostream< CharType > & s)
      +
      +inline
      +
      + +
      +
      + +

      ◆ output_adapter() [3/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (StringType & s)
      +
      +inline
      +
      + +
      +
      + +

      ◆ output_adapter() [4/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::vector< CharType > & vec)
      +
      +inline
      +
      + +
      +
      + +

      ◆ output_adapter() [5/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::basic_ostream< CharType > & s)
      +
      +inline
      +
      + +
      +
      + +

      ◆ output_adapter() [6/6]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (StringType & s)
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ operator output_adapter_t< CharType >() [1/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::operator output_adapter_t< CharType > ()
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator output_adapter_t< CharType >() [2/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + +
      nlohmann::detail::output_adapter< CharType, StringType >::operator output_adapter_t< CharType > ()
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter-members.html new file mode 100644 index 0000000..0020d68 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter-members.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::output_stream_adapter< CharType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::output_stream_adapter< CharType >, including all inherited members.

      + + + + + + + + + +
      output_stream_adapter(std::basic_ostream< CharType > &s) noexceptnlohmann::detail::output_stream_adapter< CharType >inlineexplicit
      output_stream_adapter(std::basic_ostream< CharType > &s) noexceptnlohmann::detail::output_stream_adapter< CharType >inlineexplicit
      write_character(CharType c) overridenlohmann::detail::output_stream_adapter< CharType >inlinevirtual
      write_character(CharType c) overridenlohmann::detail::output_stream_adapter< CharType >inlinevirtual
      write_characters(const CharType *s, std::size_t length) overridenlohmann::detail::output_stream_adapter< CharType >inlinevirtual
      write_characters(const CharType *s, std::size_t length) overridenlohmann::detail::output_stream_adapter< CharType >inlinevirtual
      ~output_adapter_protocol()=defaultnlohmann::detail::output_adapter_protocol< CharType >virtual
      ~output_adapter_protocol()=defaultnlohmann::detail::output_adapter_protocol< CharType >virtual
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter.html b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter.html new file mode 100644 index 0000000..b3431d0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter.html @@ -0,0 +1,333 @@ + + + + + + + +CocoaTweet: nlohmann::detail::output_stream_adapter< CharType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::output_stream_adapter< CharType > Class Template Reference
      +
      +
      + +

      output adapter for output streams + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::output_stream_adapter< CharType >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::output_stream_adapter< CharType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       output_stream_adapter (std::basic_ostream< CharType > &s) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
       output_stream_adapter (std::basic_ostream< CharType > &s) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
      - Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
      virtual ~output_adapter_protocol ()=default
       
      virtual ~output_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      template<typename CharType>
      +class nlohmann::detail::output_stream_adapter< CharType >

      + +

      output adapter for output streams

      +

      Constructor & Destructor Documentation

      + +

      ◆ output_stream_adapter() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_stream_adapter< CharType >::output_stream_adapter (std::basic_ostream< CharType > & s)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ output_stream_adapter() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_stream_adapter< CharType >::output_stream_adapter (std::basic_ostream< CharType > & s)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ write_character() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_stream_adapter< CharType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_character() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_stream_adapter< CharType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_stream_adapter< CharType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_stream_adapter< CharType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map new file mode 100644 index 0000000..da7a60d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 new file mode 100644 index 0000000..b360326 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 @@ -0,0 +1 @@ +119c84b6df45cad2ec371fc980bf9664 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1eae75092bb83d7cd5807f0110ca5a30cdf02a0b GIT binary patch literal 6515 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 E0_`=VYXATM literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map new file mode 100644 index 0000000..da7a60d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 new file mode 100644 index 0000000..b360326 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +119c84b6df45cad2ec371fc980bf9664 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1eae75092bb83d7cd5807f0110ca5a30cdf02a0b GIT binary patch literal 6515 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 E0_`=VYXATM literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1output__string__adapter-members.html new file mode 100644 index 0000000..c913e10 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter-members.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::output_string_adapter< CharType, StringType > Member List
      +
      + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter.html b/help/html/classnlohmann_1_1detail_1_1output__string__adapter.html new file mode 100644 index 0000000..c575fed --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter.html @@ -0,0 +1,333 @@ + + + + + + + +CocoaTweet: nlohmann::detail::output_string_adapter< CharType, StringType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::output_string_adapter< CharType, StringType > Class Template Reference
      +
      +
      + +

      output adapter for basic_string + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::output_string_adapter< CharType, StringType >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::output_string_adapter< CharType, StringType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       output_string_adapter (StringType &s) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
       output_string_adapter (StringType &s) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
      - Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
      virtual ~output_adapter_protocol ()=default
       
      virtual ~output_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      template<typename CharType, typename StringType = std::basic_string<CharType>>
      +class nlohmann::detail::output_string_adapter< CharType, StringType >

      + +

      output adapter for basic_string

      +

      Constructor & Destructor Documentation

      + +

      ◆ output_string_adapter() [1/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_string_adapter< CharType, StringType >::output_string_adapter (StringType & s)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ output_string_adapter() [2/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_string_adapter< CharType, StringType >::output_string_adapter (StringType & s)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ write_character() [1/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_string_adapter< CharType, StringType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_character() [2/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_string_adapter< CharType, StringType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [1/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_string_adapter< CharType, StringType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [2/2]

      + +
      +
      +
      +template<typename CharType , typename StringType = std::basic_string<CharType>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_string_adapter< CharType, StringType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map new file mode 100644 index 0000000..8aa5a05 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 new file mode 100644 index 0000000..7cc8f40 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 @@ -0,0 +1 @@ +d951735671673bb428497cf6cb1d223d \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1e95c7433a42d74d4415fdfb3ec6fe708879facb GIT binary patch literal 7179 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 DD_`yC literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map new file mode 100644 index 0000000..8aa5a05 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 new file mode 100644 index 0000000..7cc8f40 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +d951735671673bb428497cf6cb1d223d \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1e95c7433a42d74d4415fdfb3ec6fe708879facb GIT binary patch literal 7179 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 DD_`yC literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter-members.html new file mode 100644 index 0000000..541da21 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter-members.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::output_vector_adapter< CharType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::output_vector_adapter< CharType >, including all inherited members.

      + + + + + + + + + +
      output_vector_adapter(std::vector< CharType > &vec) noexceptnlohmann::detail::output_vector_adapter< CharType >inlineexplicit
      output_vector_adapter(std::vector< CharType > &vec) noexceptnlohmann::detail::output_vector_adapter< CharType >inlineexplicit
      write_character(CharType c) overridenlohmann::detail::output_vector_adapter< CharType >inlinevirtual
      write_character(CharType c) overridenlohmann::detail::output_vector_adapter< CharType >inlinevirtual
      write_characters(const CharType *s, std::size_t length) overridenlohmann::detail::output_vector_adapter< CharType >inlinevirtual
      write_characters(const CharType *s, std::size_t length) overridenlohmann::detail::output_vector_adapter< CharType >inlinevirtual
      ~output_adapter_protocol()=defaultnlohmann::detail::output_adapter_protocol< CharType >virtual
      ~output_adapter_protocol()=defaultnlohmann::detail::output_adapter_protocol< CharType >virtual
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter.html b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter.html new file mode 100644 index 0000000..8b55d97 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter.html @@ -0,0 +1,333 @@ + + + + + + + +CocoaTweet: nlohmann::detail::output_vector_adapter< CharType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::output_vector_adapter< CharType > Class Template Reference
      +
      +
      + +

      output adapter for byte vectors + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::output_vector_adapter< CharType >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::output_vector_adapter< CharType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       output_vector_adapter (std::vector< CharType > &vec) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
       output_vector_adapter (std::vector< CharType > &vec) noexcept
       
      void write_character (CharType c) override
       
      void write_characters (const CharType *s, std::size_t length) override
       
      - Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
      virtual ~output_adapter_protocol ()=default
       
      virtual ~output_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      template<typename CharType>
      +class nlohmann::detail::output_vector_adapter< CharType >

      + +

      output adapter for byte vectors

      +

      Constructor & Destructor Documentation

      + +

      ◆ output_vector_adapter() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_vector_adapter< CharType >::output_vector_adapter (std::vector< CharType > & vec)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ output_vector_adapter() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::output_vector_adapter< CharType >::output_vector_adapter (std::vector< CharType > & vec)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ write_character() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_vector_adapter< CharType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_character() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::output_vector_adapter< CharType >::write_character (CharType c)
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_vector_adapter< CharType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      + +

      ◆ write_characters() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::output_vector_adapter< CharType >::write_characters (const CharType * s,
      std::size_t length 
      )
      +
      +inlineoverridevirtual
      +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map new file mode 100644 index 0000000..6728893 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 new file mode 100644 index 0000000..3401aa0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 @@ -0,0 +1 @@ +8d901fe59aa9a0d811f4e34b0b03036f \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b7258dc6d569239b404f445a9a68191cd25fe6 GIT binary patch literal 6648 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

      8wlDo2|{wdm*Eu((}TR-l)~@qT$^-mVil1{i4r z;OF#e0GMA>Qv+UXZIu9=z*)bsw-*RZ4$v*BX=#Odd0oA|SXrHd)z=YEzw zqF9!C;Ji%HSRiQ^8h z9B@TfPme~Wz0XEUBM?2MMMZLoibR?i3;xU{`ryh{) aApH{k9-PB5d*GuSh_bwf+&3AEkpBTn + + + diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 new file mode 100644 index 0000000..3401aa0 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +8d901fe59aa9a0d811f4e34b0b03036f \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b7258dc6d569239b404f445a9a68191cd25fe6 GIT binary patch literal 6648 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

      8wlDo2|{wdm*Eu((}TR-l)~@qT$^-mVil1{i4r z;OF#e0GMA>Qv+UXZIu9=z*)bsw-*RZ4$v*BX=#Odd0oA|SXrHd)z=YEzw zqF9!C;Ji%HSRiQ^8h z9B@TfPme~Wz0XEUBM?2MMMZLoibR?i3;xU{`ryh{) aApH{k9-PB5d*GuSh_bwf+&3AEkpBTn + + + + + + +CocoaTweet: Member List + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::parse_error Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::parse_error, including all inherited members.

      + + + + + + + + + + + + + +
      bytenlohmann::detail::parse_error
      create(int id_, const position_t &pos, const std::string &what_arg)nlohmann::detail::parse_errorinlinestatic
      create(int id_, std::size_t byte_, const std::string &what_arg)nlohmann::detail::parse_errorinlinestatic
      create(int id_, const position_t &pos, const std::string &what_arg)nlohmann::detail::parse_errorinlinestatic
      create(int id_, std::size_t byte_, const std::string &what_arg)nlohmann::detail::parse_errorinlinestatic
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error.html b/help/html/classnlohmann_1_1detail_1_1parse__error.html new file mode 100644 index 0000000..6f2a12d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parse__error.html @@ -0,0 +1,460 @@ + + + + + + + +CocoaTweet: nlohmann::detail::parse_error Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::parse_error Class Reference
      +
      +
      + +

      exception indicating a parse error + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::parse_error:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::parse_error:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      + + + + + + + + + + + + +

      +Static Public Member Functions

      static parse_error create (int id_, const position_t &pos, const std::string &what_arg)
       create a parse error exception More...
       
      static parse_error create (int id_, std::size_t byte_, const std::string &what_arg)
       
      static parse_error create (int id_, const position_t &pos, const std::string &what_arg)
       create a parse error exception More...
       
      static parse_error create (int id_, std::size_t byte_, const std::string &what_arg)
       
      + + + + + + + + +

      +Public Attributes

      const std::size_t byte
       byte index of the parse error More...
       
      - Public Attributes inherited from nlohmann::detail::exception
      const int id
       the id of the exception More...
       
      + + + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Member Functions inherited from nlohmann::detail::exception
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      - Protected Member Functions inherited from nlohmann::detail::exception
       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      - Static Protected Member Functions inherited from nlohmann::detail::exception
      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      exception indicating a parse error

      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

      +

      Member byte holds the byte index of the last read character in the input file.

      +

      Exceptions have ids 1xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
      json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
      json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
      json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
      json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
      json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
      json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
      json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
      json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
      json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
      json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
      json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
      json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
      json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed.
      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      +

      @liveexample{The following code shows how a parse_error exception can be caught.,parse_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- type_error for exceptions indicating executing a member function with a wrong type
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      Member Function Documentation

      + +

      ◆ create() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static parse_error nlohmann::detail::parse_error::create (int id_,
      const position_tpos,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +

      create a parse error exception

      +
      Parameters
      + + + + +
      [in]id_the id of the exception
      [in]posthe position where the error occurred (or with chars_read_total=0 if the position cannot be determined)
      [in]what_argthe explanatory string
      +
      +
      +
      Returns
      parse_error object
      + +
      +
      + +

      ◆ create() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static parse_error nlohmann::detail::parse_error::create (int id_,
      const position_tpos,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +

      create a parse error exception

      +
      Parameters
      + + + + +
      [in]id_the id of the exception
      [in]posthe position where the error occurred (or with chars_read_total=0 if the position cannot be determined)
      [in]what_argthe explanatory string
      +
      +
      +
      Returns
      parse_error object
      + +
      +
      + +

      ◆ create() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static parse_error nlohmann::detail::parse_error::create (int id_,
      std::size_t byte_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ create() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      static parse_error nlohmann::detail::parse_error::create (int id_,
      std::size_t byte_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ byte

      + +
      +
      + + + + +
      const std::size_t nlohmann::detail::parse_error::byte
      +
      + +

      byte index of the parse error

      +

      The byte index of the last read character in the input file.

      +
      Note
      For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.map new file mode 100644 index 0000000..9ff5fb1 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 new file mode 100644 index 0000000..b9c4a7a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 @@ -0,0 +1 @@ +ae39183a0ddc4eded186a2953cd19c0a \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1parse__error__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..0a67a18cbdf6b91944cc6b3b6494d9dd24ea4faa GIT binary patch literal 6246 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map new file mode 100644 index 0000000..9ff5fb1 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 new file mode 100644 index 0000000..b9c4a7a --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 @@ -0,0 +1 @@ +ae39183a0ddc4eded186a2953cd19c0a \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..0a67a18cbdf6b91944cc6b3b6494d9dd24ea4faa GIT binary patch literal 6246 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 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1parser-members.html b/help/html/classnlohmann_1_1detail_1_1parser-members.html new file mode 100644 index 0000000..8535458 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parser-members.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::parser< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::parser< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + +
      accept(const bool strict=true)nlohmann::detail::parser< BasicJsonType >inline
      accept(const bool strict=true)nlohmann::detail::parser< BasicJsonType >inline
      parse(const bool strict, BasicJsonType &result)nlohmann::detail::parser< BasicJsonType >inline
      parse(const bool strict, BasicJsonType &result)nlohmann::detail::parser< BasicJsonType >inline
      parse_event_t enum namenlohmann::detail::parser< BasicJsonType >
      parser(detail::input_adapter_t &&adapter, const parser_callback_t cb=nullptr, const bool allow_exceptions_=true)nlohmann::detail::parser< BasicJsonType >inlineexplicit
      parser(InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)nlohmann::detail::parser< BasicJsonType >inlineexplicit
      parser_callback_t typedefnlohmann::detail::parser< BasicJsonType >
      sax_parse(SAX *sax, const bool strict=true)nlohmann::detail::parser< BasicJsonType >inline
      sax_parse(SAX *sax, const bool strict=true)nlohmann::detail::parser< BasicJsonType >inline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1parser.html b/help/html/classnlohmann_1_1detail_1_1parser.html new file mode 100644 index 0000000..9d91aef --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1parser.html @@ -0,0 +1,563 @@ + + + + + + + +CocoaTweet: nlohmann::detail::parser< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::parser< BasicJsonType > Class Template Reference
      +
      +
      + +

      syntax analysis + More...

      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      enum  parse_event_t : uint8_t {
      +  parse_event_t::object_start, +parse_event_t::object_end, +parse_event_t::array_start, +parse_event_t::array_end, +
      +  parse_event_t::key, +parse_event_t::value +
      + }
       
      using parser_callback_t = std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)>
       
      + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       parser (detail::input_adapter_t &&adapter, const parser_callback_t cb=nullptr, const bool allow_exceptions_=true)
       a parser reading from an input adapter More...
       
      void parse (const bool strict, BasicJsonType &result)
       public parser interface More...
       
      bool accept (const bool strict=true)
       public accept interface More...
       
      template<typename SAX >
      bool sax_parse (SAX *sax, const bool strict=true)
       
       parser (InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)
       a parser reading from an input adapter More...
       
      void parse (const bool strict, BasicJsonType &result)
       public parser interface More...
       
      bool accept (const bool strict=true)
       public accept interface More...
       
      template<typename SAX >
      bool sax_parse (SAX *sax, const bool strict=true)
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +class nlohmann::detail::parser< BasicJsonType >

      + +

      syntax analysis

      +

      This class implements a recursive decent parser.

      +

      This class implements a recursive descent parser.

      +

      Member Typedef Documentation

      + +

      ◆ parser_callback_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::parser< BasicJsonType >::parser_callback_t = std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>
      +
      + +
      +
      +

      Member Enumeration Documentation

      + +

      ◆ parse_event_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      enum nlohmann::detail::parser::parse_event_t : uint8_t
      +
      +strong
      +
      + + + + + + + +
      Enumerator
      object_start 

      the parser read { and started to process a JSON object

      +
      object_end 

      the parser read } and finished processing a JSON object

      +
      array_start 

      the parser read [ and started to process a JSON array

      +
      array_end 

      the parser read ] and finished processing a JSON array

      +
      key 

      the parser read a key of a value in an object

      +
      value 

      the parser finished reading a JSON value

      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ parser() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::parser< BasicJsonType >::parser (detail::input_adapter_t && adapter,
      const parser_callback_t cb = nullptr,
      const bool allow_exceptions_ = true 
      )
      +
      +inlineexplicit
      +
      + +

      a parser reading from an input adapter

      + +
      +
      + +

      ◆ parser() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::parser< BasicJsonType >::parser (InputAdapterType && adapter,
      const parser_callback_t< BasicJsonType > cb = nullptr,
      const bool allow_exceptions_ = true,
      const bool skip_comments = false 
      )
      +
      +inlineexplicit
      +
      + +

      a parser reading from an input adapter

      + +
      +
      +

      Member Function Documentation

      + +

      ◆ accept() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::parser< BasicJsonType >::accept (const bool strict = true)
      +
      +inline
      +
      + +

      public accept interface

      +
      Parameters
      + + +
      [in]strictwhether to expect the last token to be EOF
      +
      +
      +
      Returns
      whether the input is a proper JSON text
      + +
      +
      + +

      ◆ accept() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      bool nlohmann::detail::parser< BasicJsonType >::accept (const bool strict = true)
      +
      +inline
      +
      + +

      public accept interface

      +
      Parameters
      + + +
      [in]strictwhether to expect the last token to be EOF
      +
      +
      +
      Returns
      whether the input is a proper JSON text
      + +
      +
      + +

      ◆ parse() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::parser< BasicJsonType >::parse (const bool strict,
      BasicJsonType & result 
      )
      +
      +inline
      +
      + +

      public parser interface

      +
      Parameters
      + + + +
      [in]strictwhether to expect the last token to be EOF
      [in,out]resultparsed JSON value
      +
      +
      +
      Exceptions
      + + + + +
      parse_error.101in case of an unexpected token
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      + +
      +
      + +

      ◆ parse() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::parser< BasicJsonType >::parse (const bool strict,
      BasicJsonType & result 
      )
      +
      +inline
      +
      + +

      public parser interface

      +
      Parameters
      + + + +
      [in]strictwhether to expect the last token to be EOF
      [in,out]resultparsed JSON value
      +
      +
      +
      Exceptions
      + + + + +
      parse_error.101in case of an unexpected token
      parse_error.102if to_unicode fails or surrogate error
      parse_error.103if to_unicode fails
      +
      +
      + +
      +
      + +

      ◆ sax_parse() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<typename SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::parser< BasicJsonType >::sax_parse (SAX * sax,
      const bool strict = true 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ sax_parse() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      +
      +template<typename SAX >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::parser< BasicJsonType >::sax_parse (SAX * sax,
      const bool strict = true 
      )
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html b/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html new file mode 100644 index 0000000..9f09ea6 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::primitive_iterator_t Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::primitive_iterator_t, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      get_value() const noexceptnlohmann::detail::primitive_iterator_tinline
      get_value() const noexceptnlohmann::detail::primitive_iterator_tinline
      is_begin() const noexceptnlohmann::detail::primitive_iterator_tinline
      is_begin() const noexceptnlohmann::detail::primitive_iterator_tinline
      is_end() const noexceptnlohmann::detail::primitive_iterator_tinline
      is_end() const noexceptnlohmann::detail::primitive_iterator_tinline
      operator+(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator+(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator++() noexceptnlohmann::detail::primitive_iterator_tinline
      operator++(int) noexceptnlohmann::detail::primitive_iterator_tinline
      operator++() noexceptnlohmann::detail::primitive_iterator_tinline
      operator++(int) noexceptnlohmann::detail::primitive_iterator_tinline
      operator+=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator+=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      operator--() noexceptnlohmann::detail::primitive_iterator_tinline
      operator--(int) noexceptnlohmann::detail::primitive_iterator_tinline
      operator--() noexceptnlohmann::detail::primitive_iterator_tinline
      operator--(int) noexceptnlohmann::detail::primitive_iterator_tinline
      operator-=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator-=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
      operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
      set_begin() noexceptnlohmann::detail::primitive_iterator_tinline
      set_begin() noexceptnlohmann::detail::primitive_iterator_tinline
      set_end() noexceptnlohmann::detail::primitive_iterator_tinline
      set_end() noexceptnlohmann::detail::primitive_iterator_tinline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t.html b/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t.html new file mode 100644 index 0000000..ed1e3eb --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1primitive__iterator__t.html @@ -0,0 +1,1008 @@ + + + + + + + +CocoaTweet: nlohmann::detail::primitive_iterator_t Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::primitive_iterator_t Class Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

      constexpr difference_type get_value () const noexcept
       
      void set_begin () noexcept
       set iterator to a defined beginning More...
       
      void set_end () noexcept
       set iterator to a defined past the end More...
       
      constexpr bool is_begin () const noexcept
       return whether the iterator can be dereferenced More...
       
      constexpr bool is_end () const noexcept
       return whether the iterator is at end More...
       
      primitive_iterator_t operator+ (difference_type n) noexcept
       
      primitive_iterator_toperator++ () noexcept
       
      const primitive_iterator_t operator++ (int) noexcept
       
      primitive_iterator_toperator-- () noexcept
       
      const primitive_iterator_t operator-- (int) noexcept
       
      primitive_iterator_toperator+= (difference_type n) noexcept
       
      primitive_iterator_toperator-= (difference_type n) noexcept
       
      constexpr difference_type get_value () const noexcept
       
      void set_begin () noexcept
       set iterator to a defined beginning More...
       
      void set_end () noexcept
       set iterator to a defined past the end More...
       
      constexpr bool is_begin () const noexcept
       return whether the iterator can be dereferenced More...
       
      constexpr bool is_end () const noexcept
       return whether the iterator is at end More...
       
      primitive_iterator_t operator+ (difference_type n) noexcept
       
      primitive_iterator_toperator++ () noexcept
       
      const primitive_iterator_t operator++ (int) noexcept
       
      primitive_iterator_toperator-- () noexcept
       
      const primitive_iterator_t operator-- (int) noexcept
       
      primitive_iterator_toperator+= (difference_type n) noexcept
       
      primitive_iterator_toperator-= (difference_type n) noexcept
       
      + + + + + + + + + + + + + +

      +Friends

      constexpr friend bool operator== (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      constexpr friend bool operator< (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      constexpr friend difference_type operator- (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      constexpr friend bool operator== (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      constexpr friend bool operator< (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      constexpr friend difference_type operator- (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
       
      +

      Member Function Documentation

      + +

      ◆ get_value() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr difference_type nlohmann::detail::primitive_iterator_t::get_value () const
      +
      +inlineconstexprnoexcept
      +
      + +
      +
      + +

      ◆ get_value() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr difference_type nlohmann::detail::primitive_iterator_t::get_value () const
      +
      +inlineconstexprnoexcept
      +
      + +
      +
      + +

      ◆ is_begin() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::primitive_iterator_t::is_begin () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether the iterator can be dereferenced

      + +
      +
      + +

      ◆ is_begin() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::primitive_iterator_t::is_begin () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether the iterator can be dereferenced

      + +
      +
      + +

      ◆ is_end() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::primitive_iterator_t::is_end () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether the iterator is at end

      + +
      +
      + +

      ◆ is_end() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr bool nlohmann::detail::primitive_iterator_t::is_end () const
      +
      +inlineconstexprnoexcept
      +
      + +

      return whether the iterator is at end

      + +
      +
      + +

      ◆ operator+() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator+ (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator+() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator+ (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator++() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator++ ()
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator++() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator++ ()
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator++() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator++ (int )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator++() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator++ (int )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator+=() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator+= (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator+=() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator+= (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator--() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-- ()
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator--() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-- ()
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator--() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator-- (int )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator--() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      const primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator-- (int )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator-=() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-= (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator-=() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-= (difference_type n)
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ set_begin() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::detail::primitive_iterator_t::set_begin ()
      +
      +inlinenoexcept
      +
      + +

      set iterator to a defined beginning

      + +
      +
      + +

      ◆ set_begin() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::detail::primitive_iterator_t::set_begin ()
      +
      +inlinenoexcept
      +
      + +

      set iterator to a defined beginning

      + +
      +
      + +

      ◆ set_end() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::detail::primitive_iterator_t::set_end ()
      +
      +inlinenoexcept
      +
      + +

      set iterator to a defined past the end

      + +
      +
      + +

      ◆ set_end() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      void nlohmann::detail::primitive_iterator_t::set_end ()
      +
      +inlinenoexcept
      +
      + +

      set iterator to a defined past the end

      + +
      +
      +

      Friends And Related Function Documentation

      + +

      ◆ operator- [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend difference_type operator- (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator- [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend difference_type operator- (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator< [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend bool operator< (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator< [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend bool operator< (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator== [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend bool operator== (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator== [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr friend bool operator== (primitive_iterator_t lhs,
      primitive_iterator_t rhs 
      )
      +
      +friend
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1serializer-members.html b/help/html/classnlohmann_1_1detail_1_1serializer-members.html new file mode 100644 index 0000000..8f0546d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1serializer-members.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::serializer< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::serializer< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + +
      dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)nlohmann::detail::serializer< BasicJsonType >inline
      dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)nlohmann::detail::serializer< BasicJsonType >inline
      operator=(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
      operator=(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
      operator=(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
      operator=(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
      serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)nlohmann::detail::serializer< BasicJsonType >inline
      serializer(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
      serializer(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
      serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)nlohmann::detail::serializer< BasicJsonType >inline
      serializer(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
      serializer(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
      ~serializer()=defaultnlohmann::detail::serializer< BasicJsonType >
      ~serializer()=defaultnlohmann::detail::serializer< BasicJsonType >
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1serializer.html b/help/html/classnlohmann_1_1detail_1_1serializer.html new file mode 100644 index 0000000..8cb1676 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1serializer.html @@ -0,0 +1,654 @@ + + + + + + + +CocoaTweet: nlohmann::detail::serializer< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::serializer< BasicJsonType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
       
       serializer (const serializer &)=delete
       
      serializeroperator= (const serializer &)=delete
       
       serializer (serializer &&)=delete
       
      serializeroperator= (serializer &&)=delete
       
       ~serializer ()=default
       
      void dump (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
       internal implementation of the serialization function More...
       
       serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
       
       serializer (const serializer &)=delete
       
      serializeroperator= (const serializer &)=delete
       
       serializer (serializer &&)=delete
       
      serializeroperator= (serializer &&)=delete
       
       ~serializer ()=default
       
      void dump (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
       internal implementation of the serialization function More...
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ serializer() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (output_adapter_t< char > s,
      const char ichar,
      error_handler_t error_handler_ = error_handler_t::strict 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + +
      [in]soutput stream to serialize to
      [in]icharindentation character to use
      [in]error_handler_how to react on decoding errors
      +
      +
      + +
      +
      + +

      ◆ serializer() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (const serializer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ serializer() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (serializer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~serializer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::~serializer ()
      +
      +default
      +
      + +
      +
      + +

      ◆ serializer() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (output_adapter_t< char > s,
      const char ichar,
      error_handler_t error_handler_ = error_handler_t::strict 
      )
      +
      +inline
      +
      +
      Parameters
      + + + + +
      [in]soutput stream to serialize to
      [in]icharindentation character to use
      [in]error_handler_how to react on decoding errors
      +
      +
      + +
      +
      + +

      ◆ serializer() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (const serializer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ serializer() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::serializer (serializer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~serializer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::detail::serializer< BasicJsonType >::~serializer ()
      +
      +default
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ dump() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::serializer< BasicJsonType >::dump (const BasicJsonType & val,
      const bool pretty_print,
      const bool ensure_ascii,
      const unsigned int indent_step,
      const unsigned int current_indent = 0 
      )
      +
      +inline
      +
      + +

      internal implementation of the serialization function

      +

      This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively.

      +
        +
      • strings and object keys are escaped using escape_string()
      • +
      • integer numbers are converted implicitly via operator<<
      • +
      • floating-point numbers are converted to a string using "%g" format
      • +
      +
      Parameters
      + + + + + +
      [in]valvalue to serialize
      [in]pretty_printwhether the output shall be pretty-printed
      [in]indent_stepthe indent level
      [in]current_indentthe current indent level (only used internally)
      +
      +
      + +
      +
      + +

      ◆ dump() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::serializer< BasicJsonType >::dump (const BasicJsonType & val,
      const bool pretty_print,
      const bool ensure_ascii,
      const unsigned int indent_step,
      const unsigned int current_indent = 0 
      )
      +
      +inline
      +
      + +

      internal implementation of the serialization function

      +

      This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively.

      +
        +
      • strings and object keys are escaped using escape_string()
      • +
      • integer numbers are converted implicitly via operator<<
      • +
      • floating-point numbers are converted to a string using "%g" format
      • +
      • binary values are serialized as objects containing the subtype and the byte array
      • +
      +
      Parameters
      + + + + + + +
      [in]valvalue to serialize
      [in]pretty_printwhether the output shall be pretty-printed
      [in]ensure_asciiIf ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only.
      [in]indent_stepthe indent level
      [in]current_indentthe current indent level (only used internally)
      +
      +
      + +
      +
      + +

      ◆ operator=() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (const serializer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (const serializer< BasicJsonType > & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (serializer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (serializer< BasicJsonType > && )
      +
      +delete
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1span__input__adapter-members.html b/help/html/classnlohmann_1_1detail_1_1span__input__adapter-members.html new file mode 100644 index 0000000..2f54938 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1span__input__adapter-members.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::span_input_adapter Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::span_input_adapter, including all inherited members.

      + + + + +
      get()nlohmann::detail::span_input_adapterinline
      span_input_adapter(CharT b, std::size_t l)nlohmann::detail::span_input_adapterinline
      span_input_adapter(IteratorType first, IteratorType last)nlohmann::detail::span_input_adapterinline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1span__input__adapter.html b/help/html/classnlohmann_1_1detail_1_1span__input__adapter.html new file mode 100644 index 0000000..1d674cc --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1span__input__adapter.html @@ -0,0 +1,203 @@ + + + + + + + +CocoaTweet: nlohmann::detail::span_input_adapter Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::span_input_adapter Class Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + +

      +Public Member Functions

      template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
       span_input_adapter (CharT b, std::size_t l)
       
      template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
       span_input_adapter (IteratorType first, IteratorType last)
       
      contiguous_bytes_input_adapter && get ()
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ span_input_adapter() [1/2]

      + +
      +
      +
      +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::span_input_adapter::span_input_adapter (CharT b,
      std::size_t l 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ span_input_adapter() [2/2]

      + +
      +
      +
      +template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::detail::span_input_adapter::span_input_adapter (IteratorType first,
      IteratorType last 
      )
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get()

      + +
      +
      + + + + + +
      + + + + + + + +
      contiguous_bytes_input_adapter&& nlohmann::detail::span_input_adapter::get ()
      +
      +inline
      +
      + +
      +
      +
      The documentation for this class was generated from the following file: +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1type__error-members.html b/help/html/classnlohmann_1_1detail_1_1type__error-members.html new file mode 100644 index 0000000..b2d9766 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1type__error-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::type_error Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::type_error, including all inherited members.

      + + + + + + + + + + +
      create(int id_, const std::string &what_arg)nlohmann::detail::type_errorinlinestatic
      create(int id_, const std::string &what_arg)nlohmann::detail::type_errorinlinestatic
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
      idnlohmann::detail::exception
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
      what() const noexcept overridenlohmann::detail::exceptioninline
      what() const noexcept overridenlohmann::detail::exceptioninline
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1type__error.html b/help/html/classnlohmann_1_1detail_1_1type__error.html new file mode 100644 index 0000000..b768339 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1type__error.html @@ -0,0 +1,269 @@ + + + + + + + +CocoaTweet: nlohmann::detail::type_error Class Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::type_error Class Reference
      +
      +
      + +

      exception indicating executing a member function with a wrong type + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::type_error:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::type_error:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      + + + + + + +

      +Static Public Member Functions

      static type_error create (int id_, const std::string &what_arg)
       
      static type_error create (int id_, const std::string &what_arg)
       
      + + + + + + + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Member Functions inherited from nlohmann::detail::exception
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      const JSON_HEDLEY_RETURNS_NON_NULL char * what () const noexcept override
       returns the explanatory string More...
       
      - Public Attributes inherited from nlohmann::detail::exception
      const int id
       the id of the exception More...
       
      - Protected Member Functions inherited from nlohmann::detail::exception
       exception (int id_, const char *what_arg)
       
       exception (int id_, const char *what_arg)
       
      - Static Protected Member Functions inherited from nlohmann::detail::exception
      static std::string name (const std::string &ename, int id_)
       
      static std::string name (const std::string &ename, int id_)
       
      +

      Detailed Description

      +

      exception indicating executing a member function with a wrong type

      +

      This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

      +

      Exceptions have ids 3xx.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      name / id example message description
      json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead.
      json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types.
      json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &.
      json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types.
      json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types.
      json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types.
      json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types.
      json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types.
      json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types.
      json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types.
      json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types.
      json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types.
      json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined.
      json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers.
      json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive.
      json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded.
      json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON)
      +

      @liveexample{The following code shows how a type_error exception can be caught.,type_error}

      +
      See also
      - exception for the base class of the library exceptions
      +
      +- parse_error for exceptions indicating a parse error
      +
      +- invalid_iterator for exceptions indicating errors with iterators
      +
      +- out_of_range for exceptions indicating access out of the defined range
      +
      +- other_error for exceptions indicating other library errors
      +
      Since
      version 3.0.0
      +

      Member Function Documentation

      + +

      ◆ create() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static type_error nlohmann::detail::type_error::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ create() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static type_error nlohmann::detail::type_error::create (int id_,
      const std::string & what_arg 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.map new file mode 100644 index 0000000..33fb3a5 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 new file mode 100644 index 0000000..3e2ca98 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 @@ -0,0 +1 @@ +fe8088edd65d84700e5d13c785628624 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1type__error__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..30d36cb5c5047cf8d5627156fb999a92a48dcc94 GIT binary patch literal 6312 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 + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 new file mode 100644 index 0000000..3e2ca98 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 @@ -0,0 +1 @@ +fe8088edd65d84700e5d13c785628624 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1type__error__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..30d36cb5c5047cf8d5627156fb999a92a48dcc94 GIT binary patch literal 6312 zcmchcWmr`0y2lqNC?X&rArgX=Al)D#B8VU*-7pdo0umxAC0#EdT@otYDIg&^bl1R0 zJHXH})PC6Sj(1<@d^qRJhJj(OS!+FOo;&`(`%kcnk{rPesv8gl5y(H2Q3KE8;HT?4 zF8E!N`Na@C;hHMQ$v_vE-x&>GVjzgpKwjptx@*eD?0c2i6`E^XXinFACA4_>toMAG ztxTn|1KRKVB&yR}wk61pJfM}K7BCIhkngx}mA7UIa}%cLW!}!v@Fj`c4tqALDa%9L zjF08u6K4?pq|fA?_gO1uEC9!afT+F`&DZMhi8%B`%kYbxefgj*Q&gx8^){!&Rq$hEfodlEPAb>qP#%mxt;vU;5S52;ZcAM0tkU ze9=pfSfBQxNHdoUruTt8h2bR_nD_`&SbaiE>q)>-` z3Jwd)E-B$=V`a_A%VWc=W<^@=tqx|7qk@B0N4~vWTwhllFE;vO*L3zt-@rh=P*b5t zIgvM@J^Zd*ZEdZ(s_J7rJUpkxPU3RR!R~I>`Ps=!H#boY4UNH19D2_(Rib3G=ovoq zz}g4Kjl6Bu?Nn55ZOqiZbUSOmYp3GsDjXLZJJ8^M$jZp*-_qKev*zXHwYaqOG%+zz zT~ALTSyPDSexa%mnP+bpnF8DKw%1UrbEw2!oMuoRg4{knK4>I?AZ2 znJB<$u#v5AY#=u_I4TKfMAefH{MEk2dcCu^hoF)1@#IRv18-_h{L9pNTT4wu`v@Yw zbEcT~=niDeO?iukCOjzUI@lqT@gjqv9Rva~fZFfu@AuAa^tlM!3ikEIc6D`ypv9f4 zi~&SrERNYYeZe6VO(!ZeY)ER4pixj#Qd&f#l`k;kP1$Rp z+`b@N17jK*#Bp$Nh*f*=sjMoK%;5=-xf+icYHMl+)+fv5^GB%)Vf|_1LnsUequEb7 z-Lj(ZBqclI*>v_mNQeTegWqR4KR?$lHN`RSPqW=nn{qx_*9oH*8CpFpOh(#yn=0PE zYynOuEYbCUqkx0Q4EDk3atH6cZL(*-Y#p&Ph}lH z$jQ(md65|K^{bS1d<%SJqgBJeARIMbtXCiAGFzt+QQTM;rkX{4FTSV1fROJ=HKCSP zE#DPLDeaVyjErD)cAB)fNn&JbiJNarM2jM0_>TSR02vf@-eW@-n2+DtSreR>*D+V0 zmV~*Vl(eT=6qM-KI*LOr>V$J}5P6~Q>`Wl+evli-Zn`{gKUvc*OA|p;kDI!=jp*)E ziinMU$gcGh-i$1BU{PAkC@qzDD+DW?9tn($309TfF2|wfy!&p;STj@s{o;jN%A-W< zoREZCVST}Zx;k2mzL^h77Ti|xJwCCqJ(_tTiJ`4#twTdaEymmxmg6YAJ9ny8R8_45 z^8S9xdOf=Ap7nxxSVhHpANxn0uvW7y{v^3hI6TnM4r6ZM=d(5YE?%^j%^Z&~J{)s? z!fuOr@=T`2X^nH_ceheOh>kBfLrsnINwMAg#(jQ<`4jZu|TJl&{zljEGLWAb6kzsKhECgP|iPD#l*Pswv~()H?Zo70{nq}yeX z_B_nj1OFqEe-)lTMdH76h)kyW0eVguI_hZmT3=83_6}{LS?uSnc#&YAG3rhF{^Ic2-wfDSu59-T&1qM_{}jOc zx%b%lD#dMVzhCafT9o}UxK?kH0BDE-(wRScxSGOZSd^vmt-~4q08b zeB^O7V40>@{ibp%y{Sp^6PHoM_CiN%R~O!Wxd<6^bLJ}BXl23Via1ADWG$ zJ_QE_eNbff)935}vRU$anE6)pB+Swd13DJB)9QexQU0ivjEsy_ri$@mXY@09c^)de z7cU5Y{rbi2x@EkF8YdzqCT3-0!-n7qJXdsdbP~kgalYcc12n#u>ZN<2{Kn{v=8HcC zTR>DOP10LJT3R||9EAmqj*bTXFLIr3gN~Fur(EcW43y54l9GZr^=k%}4=g1R2MCK# zjdmPkQya>kwsv>#b8&HX!{OOeQ@T?XuSp-oJ?EvoDI;_H_H7xlcbl=x-V5PEtdAb0 zJb(Ut6`;ax5)x@75@~+8va%uv8otxY5*sM8?j}+d9t^L7>Qk zK3A^kj^qumt#-$;^E<7oOjX;ZKSkMCW0rf9yT-@0eit93!0ry$qZ<`~oH_wvxN-9) zBa}UA6&%FM%lk)5OUu`cj1PHvc>o3^J`ZNe#TXW|{9D7{o>U9wE>AZcqYkXz6z9JD zq7+?T&S%i%mD+fAp!e358PnF!+*Zj!}K_B78*9dhDTYgPU`{fcN%K zioNp_bh7xzgWT$+zErWRAG*7{v#W-`C@Ubf0gv=1mzsHW(0y31W#=`<_U4!b2ArjPEO7t zG$0?@bP3OSPy{0fd#7DpUDvN){}2;H3NjI-s*1k8%^)S52Ilzl=TCb8b-D-;K}1+mbAwehH9vm+%35Gh zPi|F7h3kiv?tL!eB$^tvFR+3{`he60vh}SnBSQ+~xi#M$)wATfHIEh4xoWYq*abng zGe^oyZi>qzul~=>k}yNttFz!arvD|dr=#NqBud7f}9CCWTK@`J#&a4-zk0<;b@wh7w7I$2+1K}}WtbRdm2d87by<@DQe4o8 z@a$~Hhk8{vMMOk~c0jvG5VE6vGgIROKzV(pmQ*g1Rv_OFI@;;s0`%kqUYelB3RyWh zWnaC@?%Ehk5kOe<>MW_90w_iWr369Sq>}x_GVcqok&%%f0csa z(1~m{xOkK;_Ils9-5uR9p6FcSGBS41)|-5##G>C5Ku_AxSVIKIfj*$t1PRZ&0pEnB z3f*h`{1aKZxq+1mCd%7eTb2S`yq~|M6~P39gSgG%EH&OuH}EMMgDb7)N?qg&Ji9#l zMsf7()PqhA^TGJq6>q}5bwN~*4VdeahxS%Yu0gC^#mzrMIp`LQs{&ii7Mw({sJ$%C z__nrvs5UX(;{Xo(C+pm~Bc!S^dauEYx{5BRglGCE;GaN31D}S5?euR&MOYU7hzhl* zaD4zjV-sInOJU=HyU;o7>x<9iyUNrw{{D{3FBw8AswCYCloKwsq!&SDWjOOE(<;Cy zt%S62-_%t2Vnr^qxKbK?V=*Lw2{2RMznMwIfb$w4nRjnB;3Qy`xKA#ltEigf;eRsI zbg%}Gf_;t6$O1mO?Obr?IO)((nb?zxtt!*C6!0ML8kiaQTA0 z^ZnA&Qem&tnx{SM6Qx(c*zEG9X!m{dCHQBiJL)hnGvgLFor}JG`_>*c#&MI98**@P zxPJ2{zlgV)8PoYebrU^1J3h44V{}fU@adsXd3ia1_Wn0V4%+zl5sNM5%_3(JaY54s*h^m&BmVaO%>|lLzXz!qX z0I>&}T6Rv3$y}o+vr&9}JPhDpVmm_F*r9Z2xiu|%ql$rI+ z15zWnD>#3!F@3aN-oG_zk#5o!L_ARnldFg6R#*}vyiPVW4-IWcZLCsbm|sX+S+Tin zOfl`N>g$IAbz@{=Y91XW)XCt4_fuIM1RzE-A>_;i` zmQk}n8!PU4fI+<*jpQ(C^5OBlp^fIXVIr!p`_40 zG4qk&?m)SP^7?c&k@x8WogVcYTg3M}OiWA@jh+xSX@rEs6 z$D`8HB51^162x;Y%&b!F8urNnRYb+a-0yt{jF79ixKsfPTgcW+x%eX{hM0uJS0i6D zv#hLa)?tby`NlZ76CRHv`@P?z_~`Guglz2Ws)mLLQ;AC5@O-Ue)5$V3S7ZRiKe{{v zAK$R$`2hx4AykHLYfQqz!t>)z=K>&1rLNni!eU~rt*uwEu&_FNtl!s110XIjY2~(^ z;s;()^Jkt40Z*WNL$n#ksG%XXR~8lv@0w0%F#D)LP(7y2zBohQbqmQ?`chlb-WTp* zB+pV#m(Z@Urw3%DqOCo#S!HLfX!|8-4co-Ai^+y5N^fcI{txcCKd;-X_?uY!1f{D=!h5o*9`{Ayt~Ne=Q$*94YX9@xZn>+MNJJGvUhMGF6#>kxnVO?L!9ohgNKccJwHGHAvQLa zP|V*d5_~u+Dk>Enod-DUU3UqfnVFe;F@<`?IwU2nDLYEUp7$pyO zMX&!>mkO8>AOv2>9o@^m&!4w|bX07l6}G=;=((@q0T36=v;Mk;?OH~j zOuhN)Y&wcrF%W!nRN2Z&GX>MYvzPb`72`Ne7yo zD_EJBj*iR5^Ua$#LE+&)!I8wYw3mf(>GrgYS#;Mqqg0HHB6Z5m=_Mp+Nm-QmlW6Ja zh%QS?zn0{3Wux;Q3dJOTJaM-@2m%;H&&Nj!j%)k;G*r|~v3LBq4X6|FJdkKK7tN5Q zEr82sii&NZfE+M;uWb{0tuydw^C2i*TqTH&(y;^SGTXwV^ z?2H;ig0dG|?oTI5RQzak`ila%bfp=2i6TeQq+_<*_gTW6RXwy>2hL6oiOI;!-cA8# zECqF{R21aQOc*Z(V*gB8x!UCp{Q3Xfm+K7~(aFi|W$x`>vxl|n&}w$%u%_@ x>746NUYWRa>Yc3UQ=)7<`ha!+A4GAE&tCg`1Ik7|0RMV` + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::wide_string_input_adapter< WideStringType > Member List
      +
      + + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter.html b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter.html new file mode 100644 index 0000000..a526c17 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter.html @@ -0,0 +1,266 @@ + + + + + + + +CocoaTweet: nlohmann::detail::wide_string_input_adapter< WideStringType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::wide_string_input_adapter< WideStringType > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::wide_string_input_adapter< WideStringType >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::wide_string_input_adapter< WideStringType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + +

      +Public Types

      using char_type = char
       
      + + + + + + + + + + + + + + +

      +Public Member Functions

       wide_string_input_adapter (const WideStringType &w) noexcept
       
      std::char_traits< char >::int_type get_character () noexcept override
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
       wide_string_input_adapter (BaseInputAdapter base)
       
      std::char_traits< char >::int_type get_character () noexcept
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
      - Public Member Functions inherited from nlohmann::detail::input_adapter_protocol
      virtual ~input_adapter_protocol ()=default
       
      +

      Member Typedef Documentation

      + +

      ◆ char_type

      + +
      +
      +
      +template<typename WideStringType >
      + + + + +
      using nlohmann::detail::wide_string_input_adapter< WideStringType >::char_type = char
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ wide_string_input_adapter() [1/2]

      + +
      +
      +
      +template<typename WideStringType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::wide_string_input_adapter< WideStringType >::wide_string_input_adapter (const WideStringType & w)
      +
      +inlineexplicitnoexcept
      +
      + +
      +
      + +

      ◆ wide_string_input_adapter() [2/2]

      + +
      +
      +
      +template<typename WideStringType >
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::wide_string_input_adapter< WideStringType >::wide_string_input_adapter (BaseInputAdapter base)
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character() [1/2]

      + +
      +
      +
      +template<typename WideStringType >
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::wide_string_input_adapter< WideStringType >::get_character ()
      +
      +inlinevirtualnoexcept
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      + +

      ◆ get_character() [2/2]

      + +
      +
      +
      +template<typename WideStringType >
      + + + + + +
      + + + + + + + +
      std::char_traits<char>::int_type nlohmann::detail::wide_string_input_adapter< WideStringType >::get_character ()
      +
      +inlineoverridevirtualnoexcept
      +
      + +

      get a character [0,255] or std::char_traits<char>::eof().

      + +

      Implements nlohmann::detail::input_adapter_protocol.

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map new file mode 100644 index 0000000..2351683 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 new file mode 100644 index 0000000..0073f4d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +84b380f17911039688b083b0801e2428 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9575ee33f64d8febe84bfc653d6bcd75dca5a793 GIT binary patch literal 6539 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 TbSV`6yMm}IYbli~T88`w&T4*2 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.map b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.map new file mode 100644 index 0000000..2351683 --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.md5 b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.md5 new file mode 100644 index 0000000..0073f4d --- /dev/null +++ b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +84b380f17911039688b083b0801e2428 \ No newline at end of file diff --git a/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.png b/help/html/classnlohmann_1_1detail_1_1wide__string__input__adapter__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9575ee33f64d8febe84bfc653d6bcd75dca5a793 GIT binary patch literal 6539 zcmcgx_dk{W|G&se$tIg)W|l-`XC4wlHn)98$vF0QtB{$I6*)%sCYwa|9$CpaGEy1I z?(^#V`TTJI1>XnG@wlApy5868{d%sKaBVGBGEzoT1VPBu)s%GM{Vn{YliK7@* zvP^rqd%nj^XLNB1by)Gb0+#Qe*4E#xzfZrbca&PRzKV?vYMm|UTE@%Q6U@?Ke;fOO zkA{?+m)CxKsgsLp-Lv)B%-_G+M$_5(d+H6x;*yewPEM00Cck!Y8hb_i`yM@*D>P^y zAD_pM%L@t$^7HNQ-5ZN$xz%m6^PJ&26*V;>J{}bvC8Yv8g}b|ZdPYX;*^y(l3cd!F z!7*Is%V35;egEQP6bhxr6`!B~C7ha9dmuD46s{E=9lg4`N=Zp+W@d&2#mJq#t*<}4 z8+b$=EKhRrVgd*Grd|m5Z87t%QvX9-a(jC_7gf*D(D#jrBDGs7nvWbD4N3g zzJE_nkkVga*15zc+l1Mi{PyizjpJ0n(RzNovQW|eGS3s@CRXW@EFzdim)k7Ac>-wVZh^ ze*J`x9}REc?id^#oS88m3HI5VsUe43dTlRN*$>Ul&ttJzLj3j$>kn`AHhwJxiqMdj zS+ok9yh2%Sy=(D5u63GzXH{WkZQaq)QEw`2KpwA~|6Kc@-d=PCUBSV@!Pk!!=ZsXI zkkUnR(~zFS$G^mUlbwc?O~!`+@!DBAPv!PykOgVm{W4@*yt%ww<@QA@r@5jcPM-bZ zrAsKbWjIt>$z}WXQ}Zoxaf4c}VvhoM4-b3L>i{(>w640T)BcT^P;}a7YS64+@6eoY`tv2JS-d<9pt72ke;^N}ht|`c6 zUvrn59~v4OA5V~H&&kWHG%Qx;brE{ zK1X{6Hsqo!SMVo=-@bjDbxl}UxOXO9Pfs)@OQjgiOF=~4H zl+)4G&Bk6>HRoYHn{)*Mijx#n>UqI zQ~;DMSgf^|*TI*}K)?Vi3kxCgab~8rwifjy_BQLJ4IS_C{#K*=`sn6VS!6_np`d}g zyBHFr_}cIH>95n%Q>a!-N{U1I8$C(w37m_qZ7!gxu1+EmT~k*l=XX%PmhaeiJ#P_Tby#%C<=4%|`V z>Qw}B`qXsTpK@JAMFq&`K`gI|mDSRH3xDX3`{w56_wPSVZ>)PbJ2^FF@9fM*Ny$;D zpjRl(M9re*qGiW16BH9O6vwHmH!i6SPqR~t2hGe;P0R52Gyi;S_}=D#Ok$u_(05%X%kd)egtDnbN?BCJLzqew@=C0A|BmW$$TIl z!E;we_kSn-qfY&;QiG70nVCmFvgW+I*>oo@pW$D3GiAA{!n2PfTkqb;x`wsn##OkU zR=zmUrT&&3j$z2fm!F|dh*z8cXRSdrLO?0eGE7oZa{JKFh9pJIOScBCYOT_a?zP4p z+464Z^2{kyZ;GM`AEPkT+1-4l6#5~wtDiqpP*QGB+h@+V1_oMMer^jsmwz|YK&SnQ z^s}>ft>zq~v$I%rk#?%lio{(fm`>HTl>7tSP9+arE$Z}$Le zkdlhtxRI;PCwF$hIU0cLrSCiH7$G5{lHy|7!xd`x2i$oC0>!PZfgMlC+*bQ5%FETzXvGMHijalTo?_G+vBlEb zI}Wt*D!~$S>~FQ}bzaH(qhl>kkA4<@DrMH>EZ9)R*%E1KX(`gS_8J(S_hitWNFSS0 z{9HgBa>0RyMEH-A2B}a!{lK)e{Y0!paWhsl#jNH*;t|GyoH_b@u>4CIU+po)>PQKd z1WC75ASwrRL{b|rb#I^1(Kzf$cz8HvA0MTj|CUs<*ICo=3{M9nC@+s$)H^Q^=Ro;5 zdWUFYLP!Y}tj0AyJ~v)Xw}sD$BU{_cJoLlM6v-J2oc!;h`%<@jXJ;GZl>YYh^;A`@ z%cK39a+t5xb;qWvRG89ea*T6wylJa$OF3BOFtMc2E<3!hPZcyEQ z<@CS9&trBS9i5|NcDY+qUw+P%!ZqY0cB88AJ(xQxEekadETYBMC{RW7QN}_^*8a zY);U~rXf(_9$YFE4LeN(zU?wUqw7J@*O>H5Jv#$qB2p*N-2Ix0#sI0MfTSzYVYNEiNv0M$!Yh za(d!dRaJot(qgA@a&mgt(IE%;%wYk0=&P)(49NEOuK&0bNiPx+5n*g%0szj=&K{lz zs9zBfXmrK(4i6895MCG^9fi{!#Eex{Kh!>)h40nHMIBw;5N>CHcwdr`Nv%`LN1b^7 zx!DPa#%^p*6H!D>!P9$9z1xalkdP4dsb;@JS65fj(DomDd;Q(rmZB+e zaX}%WW{<6zT#e+|m%wOUU0qL}5HUu9>#zTP@uv4qz%ik|;4|#}Sl-<1v#av;^~FO51_o?I z84jCoNJ!k{qe1DMSX{WHUd8Magi?XEyLftnW*;oG{r7~8+c^78U{#E2Z{X$1_xWm| zY=fs6w5!UL_73qj%hLpbF=z zjffsB!&Xw^bPC4HTF+(xCJPG-&@iK;m4$^7N+?MwDgIKUOL~|IYe&b;tt~TC)03sn z$WNa>$@uOQ5D>6;grlBEM}sA&rlyvW0Z4uuS$D5*EPV6kSxgMQNo`eCnq1)7xB157 z<73$Sv(w`^1g?~ol~rO=2WER@WCYrEWo6}gOw2h%P*9LnE};L*F75@dJ`rNs9zqCv z^YiD=?)oR_T-IA2nmbLLnRb%ei#Qi^^H*_kBbm_7IXPS!8hu~CI&~hW%lLYLy#mw$ zpf%9wPrlz}I*(~MMMRu!Y`A1)WpCZ`1vokQdU(`^hIT+dVY9PaPWNX4DI4qSc*xSy zQfg{ylAuxLUmZl;y<=lzCgqmFEiEloRo9WWg@r&bFT+Bem0>~R(M=u8ly;K~x_0dA zq+T6l|0Z-DHhz9Yo19U+*ZpowtIV4@K6Q2V>}ld_z;9f;HW68Sm)dO_vslGS@%~7H z_NqS(QK&-xn78yRXyCj%X|OO=>qk z3-I$dxP6IEOw_lrS$QSnTUbAB!v=Qt%SAyEf$^8&qaf0~4dghcXyT_kN#hNRmQ6|A?H*V@{ep1yv# zhbu4+w4}Ygy;O#|wsxE4RT2WlfPj{o8VnE*WSJ&4 z%w8#Y$A6V#>%-(^QXfvMz(hUAfZmc8vFuzP=V=U(?^@I+uuWnRG<^&D7pC~S{Pk-N zZtk#lOJEr_V_)=;xQVebggh7%u$wEmt&yT;$e(tcCnd#4;1gL|8{faHp5r;iSn2<{ zYImthY~dZf(62{$v@%kq)p#3SQA{wqaT52nvQlKHcpeo6>Gp>mo%to`mFA`<0EI~f zb3@2DxV#pBUoWq>m6Z_Gg^jBrTYG++gLr%C(xv^qJt%N?`-^Y*1{gd8yr8cS2nuGD zZt&FwAiU`7zzf%I+!*NZH*N8g%+OMOaIr1T$m`H&aA1IinHeBI)Z43A+PN~Ah!wPG zX(}!jrQyG<|zHL|df*|7+#?R9ZRvTxoK zM}vVkHBC2Mj_1|@OeAorGxH}Jo0^*H>Df3qTxMoYfBEuF02xW@OsV+Q0WBE{{oUE( z$7z${$LpPYS0j!hi7o3xE~lpVzq;uX(r%eG)N}3fbD%}1g%%d|dB|nL7A<~Y0D#6L zr0a*QD$p7lvokZ05~O8hU?u_#-frW}5$hajZEc;c{DV(QN{U|CG!}b%O97`sNg5{M z{HeIC%+uYSChfd#!8njBl$$+eC@G1Kmp30?-}60u_)zgR#UYko(atU}Ie7~B^^T?{ z(CvL4o!4HOhCmV6zdtoKNyBVRq~$7VpfVZFYM54rE=-&-PH_xEMh?$N2^fEiEnB2SY+~uTP2;tgMjJVHOf8 zUC6@7C^ez)=7K(a+mkX{oQ5Owp8eUmJ!pf!!Il?5U$b5E#DfCbyp8_SVPZ>mKB^ zkaNh%Exdo9)6~>dUasBM*QI#-wy%%R%*;$|3~(X1$~Cr@yu8(_AzAF$ItK>_j5E}t z&kvc9q^GCDltnFn?B2b5(@q{h$!K)%`dB`6W<>&D$WD~5vGGw^;A!8)L``L-sEo|~ z?5v4OY6Lp>Q&!JS(fJfd4_WJ-&X_ zF)|9zRiaD?+)ziOT``!Fva%S!!TIxtYuK38q0AT@t(;tIvWSHT1~cE}4ZBHo;`|)c z_uAE~k3Bu97r@@R{S7;(~E>BFzDJd(%#_;g+O5C_X8U7v= zfc_Ny-?dPX5J0^BGL+fsii?Ph)PR{DK=2~BE7lJS6AQNqP#l92pPdzTe}9=Mm9dG5 zQ&KLdIkpO zE38%h{F-ueZDDd3N=$CEazrm=Tx~zZN*Wf@bdQAa3cq}*&u}(=!7*y`^_(r!4xXD# z?_Z-wPq(+X69w+)<>rQ)>;B#JMn3*;Q@gC1&t-uWq+u||AR;0v^m-lX6QmNy)^kK$ z+zloP%+aGyO-8OhvSu$!8*1>V!v8TXxYJwj_9dq_IWh5yejI5E>$LT=uHb*i+?)l~ z?Y%v{6I^@jI!SV0v*&l#(qlfWb-r$sFbFdc$7~uCC<*c72nPReeDSYTdB&FAVL*2G TbSV`6yMm}IYbli~T88`w&T4*2 literal 0 HcmV?d00001 diff --git a/help/html/classnlohmann_1_1json__pointer-members.html b/help/html/classnlohmann_1_1json__pointer-members.html new file mode 100644 index 0000000..a596653 --- /dev/null +++ b/help/html/classnlohmann_1_1json__pointer-members.html @@ -0,0 +1,118 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::json_pointer< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::json_pointer< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      back() constnlohmann::json_pointer< BasicJsonType >inline
      back() constnlohmann::json_pointer< BasicJsonType >inline
      basic_json classnlohmann::json_pointer< BasicJsonType >friend
      empty() const noexceptnlohmann::json_pointer< BasicJsonType >inline
      empty() const noexceptnlohmann::json_pointer< BasicJsonType >inline
      json_pointer(const std::string &s="")nlohmann::json_pointer< BasicJsonType >inlineexplicit
      json_pointer(const std::string &s="")nlohmann::json_pointer< BasicJsonType >inlineexplicit
      operator std::string() constnlohmann::json_pointer< BasicJsonType >inline
      operator std::string() constnlohmann::json_pointer< BasicJsonType >inline
      operator!=(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
      operator!=(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &lhs, const json_pointer &rhs)nlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &ptr, std::string token)nlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &ptr, std::size_t array_index)nlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &lhs, const json_pointer &rhs)nlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &ptr, std::string token)nlohmann::json_pointer< BasicJsonType >friend
      operator/(const json_pointer &ptr, std::size_t array_idx)nlohmann::json_pointer< BasicJsonType >friend
      operator/=(const json_pointer &ptr)nlohmann::json_pointer< BasicJsonType >inline
      operator/=(std::string token)nlohmann::json_pointer< BasicJsonType >inline
      operator/=(std::size_t array_index)nlohmann::json_pointer< BasicJsonType >inline
      operator/=(const json_pointer &ptr)nlohmann::json_pointer< BasicJsonType >inline
      operator/=(std::string token)nlohmann::json_pointer< BasicJsonType >inline
      operator/=(std::size_t array_idx)nlohmann::json_pointer< BasicJsonType >inline
      operator==(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
      operator==(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
      parent_pointer() constnlohmann::json_pointer< BasicJsonType >inline
      parent_pointer() constnlohmann::json_pointer< BasicJsonType >inline
      pop_back()nlohmann::json_pointer< BasicJsonType >inline
      pop_back()nlohmann::json_pointer< BasicJsonType >inline
      push_back(const std::string &token)nlohmann::json_pointer< BasicJsonType >inline
      push_back(std::string &&token)nlohmann::json_pointer< BasicJsonType >inline
      push_back(const std::string &token)nlohmann::json_pointer< BasicJsonType >inline
      push_back(std::string &&token)nlohmann::json_pointer< BasicJsonType >inline
      to_string() constnlohmann::json_pointer< BasicJsonType >inline
      to_string() constnlohmann::json_pointer< BasicJsonType >inline
      + + + + diff --git a/help/html/classnlohmann_1_1json__pointer.html b/help/html/classnlohmann_1_1json__pointer.html new file mode 100644 index 0000000..a01e888 --- /dev/null +++ b/help/html/classnlohmann_1_1json__pointer.html @@ -0,0 +1,1697 @@ + + + + + + + +CocoaTweet: nlohmann::json_pointer< BasicJsonType > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::json_pointer< BasicJsonType > Class Template Reference
      +
      +
      + +

      JSON Pointer. + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       json_pointer (const std::string &s="")
       create JSON pointer More...
       
      std::string to_string () const
       return a string representation of the JSON pointer More...
       
       operator std::string () const
       return a string representation of the JSON pointer More...
       
      json_pointeroperator/= (const json_pointer &ptr)
       append another JSON pointer at the end of this JSON pointer More...
       
      json_pointeroperator/= (std::string token)
       append an unescaped reference token at the end of this JSON pointer More...
       
      json_pointeroperator/= (std::size_t array_index)
       append an array index at the end of this JSON pointer More...
       
      json_pointer parent_pointer () const
       returns the parent of this JSON pointer More...
       
      void pop_back ()
       remove last reference token More...
       
      const std::string & back () const
       return last reference token More...
       
      void push_back (const std::string &token)
       append an unescaped token at the end of the reference pointer More...
       
      void push_back (std::string &&token)
       append an unescaped token at the end of the reference pointer More...
       
      bool empty () const noexcept
       return whether pointer points to the root document More...
       
       json_pointer (const std::string &s="")
       create JSON pointer More...
       
      std::string to_string () const
       return a string representation of the JSON pointer More...
       
       operator std::string () const
       return a string representation of the JSON pointer More...
       
      json_pointeroperator/= (const json_pointer &ptr)
       append another JSON pointer at the end of this JSON pointer More...
       
      json_pointeroperator/= (std::string token)
       append an unescaped reference token at the end of this JSON pointer More...
       
      json_pointeroperator/= (std::size_t array_idx)
       append an array index at the end of this JSON pointer More...
       
      json_pointer parent_pointer () const
       returns the parent of this JSON pointer More...
       
      void pop_back ()
       remove last reference token More...
       
      const std::string & back () const
       return last reference token More...
       
      void push_back (const std::string &token)
       append an unescaped token at the end of the reference pointer More...
       
      void push_back (std::string &&token)
       append an unescaped token at the end of the reference pointer More...
       
      bool empty () const noexcept
       return whether pointer points to the root document More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Friends

      class basic_json
       
      json_pointer operator/ (const json_pointer &lhs, const json_pointer &rhs)
       create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer More...
       
      json_pointer operator/ (const json_pointer &ptr, std::string token)
       create a new JSON pointer by appending the unescaped token at the end of the JSON pointer More...
       
      json_pointer operator/ (const json_pointer &ptr, std::size_t array_index)
       create a new JSON pointer by appending the array-index-token at the end of the JSON pointer More...
       
      bool operator== (json_pointer const &lhs, json_pointer const &rhs) noexcept
       compares two JSON pointers for equality More...
       
      bool operator!= (json_pointer const &lhs, json_pointer const &rhs) noexcept
       compares two JSON pointers for inequality More...
       
      json_pointer operator/ (const json_pointer &lhs, const json_pointer &rhs)
       create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer More...
       
      json_pointer operator/ (const json_pointer &ptr, std::string token)
       create a new JSON pointer by appending the unescaped token at the end of the JSON pointer More...
       
      json_pointer operator/ (const json_pointer &ptr, std::size_t array_idx)
       create a new JSON pointer by appending the array-index-token at the end of the JSON pointer More...
       
      bool operator== (json_pointer const &lhs, json_pointer const &rhs) noexcept
       compares two JSON pointers for equality More...
       
      bool operator!= (json_pointer const &lhs, json_pointer const &rhs) noexcept
       compares two JSON pointers for inequality More...
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +class nlohmann::json_pointer< BasicJsonType >

      + +

      JSON Pointer.

      +

      A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.

      +
      See also
      RFC 6901
      +
      Since
      version 2.0.0
      +

      Constructor & Destructor Documentation

      + +

      ◆ json_pointer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::json_pointer< BasicJsonType >::json_pointer (const std::string & s = "")
      +
      +inlineexplicit
      +
      + +

      create JSON pointer

      +

      Create a JSON pointer according to the syntax described in Section 3 of RFC6901.

      +
      Parameters
      + + +
      [in]sstring representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value
      +
      +
      +
      Exceptions
      + + + +
      parse_error.107if the given JSON pointer s is nonempty and does not begin with a slash (/); see example below
      parse_error.108if a tilde (~) in the given JSON pointer s is not followed by 0 (representing ~) or 1 (representing /); see example below
      +
      +
      +

      @liveexample{The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ json_pointer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      nlohmann::json_pointer< BasicJsonType >::json_pointer (const std::string & s = "")
      +
      +inlineexplicit
      +
      + +

      create JSON pointer

      +

      Create a JSON pointer according to the syntax described in Section 3 of RFC6901.

      +
      Parameters
      + + +
      [in]sstring representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value
      +
      +
      +
      Exceptions
      + + + +
      parse_error.107if the given JSON pointer s is nonempty and does not begin with a slash (/); see example below
      parse_error.108if a tilde (~) in the given JSON pointer s is not followed by 0 (representing ~) or 1 (representing /); see example below
      +
      +
      +

      @liveexample{The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer}

      +
      Since
      version 2.0.0
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ back() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      const std::string& nlohmann::json_pointer< BasicJsonType >::back () const
      +
      +inline
      +
      + +

      return last reference token

      +
      Precondition
      not empty()
      +
      Returns
      last reference token
      +

      @liveexample{The example shows the usage of back.,json_pointer__back}

      +

      @complexity Constant.

      +
      Exceptions
      + + +
      out_of_range.405if JSON pointer has no parent
      +
      +
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ back() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      const std::string& nlohmann::json_pointer< BasicJsonType >::back () const
      +
      +inline
      +
      + +

      return last reference token

      +
      Precondition
      not empty()
      +
      Returns
      last reference token
      +

      @liveexample{The example shows the usage of back.,json_pointer__back}

      +

      @complexity Constant.

      +
      Exceptions
      + + +
      out_of_range.405if JSON pointer has no parent
      +
      +
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ empty() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::json_pointer< BasicJsonType >::empty () const
      +
      +inlinenoexcept
      +
      + +

      return whether pointer points to the root document

      +
      Returns
      true iff the JSON pointer points to the root document
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example shows the result of empty for different JSON Pointers.,json_pointer__empty}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ empty() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      bool nlohmann::json_pointer< BasicJsonType >::empty () const
      +
      +inlinenoexcept
      +
      + +

      return whether pointer points to the root document

      +
      Returns
      true iff the JSON pointer points to the root document
      +

      @complexity Constant.

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      +

      @liveexample{The example shows the result of empty for different JSON Pointers.,json_pointer__empty}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator std::string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::json_pointer< BasicJsonType >::operator std::string () const
      +
      +inline
      +
      + +

      return a string representation of the JSON pointer

      +
      Invariant
      For each JSON pointer ptr, it holds:
      ptr == json_pointer(ptr.to_string());
      +
      +
      Returns
      a string representation of the JSON pointer
      +

      @liveexample{The example shows the result of to_string.,json_pointer__to_string}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator std::string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      nlohmann::json_pointer< BasicJsonType >::operator std::string () const
      +
      +inline
      +
      + +

      return a string representation of the JSON pointer

      +
      Invariant
      For each JSON pointer ptr, it holds:
      ptr == json_pointer(ptr.to_string());
      +
      +
      Returns
      a string representation of the JSON pointer
      +

      @liveexample{The example shows the result of to_string.,json_pointer__to_string}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ operator/=() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (const json_pointer< BasicJsonType > & ptr)
      +
      +inline
      +
      + +

      append another JSON pointer at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]ptrJSON pointer to append
      +
      +
      +
      Returns
      JSON pointer with ptr appended
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::string) to append a reference token
      +
      +operator/=(std::size_t) to append an array index
      +
      +operator/(const json_pointer&, const json_pointer&) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/=() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (const json_pointer< BasicJsonType > & ptr)
      +
      +inline
      +
      + +

      append another JSON pointer at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]ptrJSON pointer to append
      +
      +
      +
      Returns
      JSON pointer with ptr appended
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::string) to append a reference token
      +
      +operator/=(std::size_t) to append an array index
      +
      +operator/(const json_pointer&, const json_pointer&) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/=() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::size_t array_idx)
      +
      +inline
      +
      + +

      append an array index at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]array_idxarray index to append
      +
      +
      +
      Returns
      JSON pointer with array_idx appended
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Amortized constant.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      +operator/=(std::string) to append a reference token
      +
      +operator/(const json_pointer&, std::string) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/=() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::size_t array_index)
      +
      +inline
      +
      + +

      append an array index at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]array_indexarray index to append
      +
      +
      +
      Returns
      JSON pointer with array_index appended
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Amortized constant.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      +operator/=(std::string) to append a reference token
      +
      +operator/(const json_pointer&, std::string) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/=() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::string token)
      +
      +inline
      +
      + +

      append an unescaped reference token at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]tokenreference token to append
      +
      +
      +
      Returns
      JSON pointer with token appended without escaping token
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Amortized constant.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      +operator/=(std::size_t) to append an array index
      +
      +operator/(const json_pointer&, std::size_t) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/=() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::string token)
      +
      +inline
      +
      + +

      append an unescaped reference token at the end of this JSON pointer

      +
      Parameters
      + + +
      [in]tokenreference token to append
      +
      +
      +
      Returns
      JSON pointer with token appended without escaping token
      +

      @liveexample{The example shows the usage of operator/=.,json_pointer__operator_add}

      +

      @complexity Amortized constant.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      +operator/=(std::size_t) to append an array index
      +
      +operator/(const json_pointer&, std::size_t) for a binary operator
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ parent_pointer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      json_pointer nlohmann::json_pointer< BasicJsonType >::parent_pointer () const
      +
      +inline
      +
      + +

      returns the parent of this JSON pointer

      +
      Returns
      parent of this JSON pointer; in case this JSON pointer is the root, the root itself is returned
      +

      @complexity Linear in the length of the JSON pointer.

      +

      @liveexample{The example shows the result of parent_pointer for different JSON Pointers.,json_pointer__parent_pointer}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ parent_pointer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      json_pointer nlohmann::json_pointer< BasicJsonType >::parent_pointer () const
      +
      +inline
      +
      + +

      returns the parent of this JSON pointer

      +
      Returns
      parent of this JSON pointer; in case this JSON pointer is the root, the root itself is returned
      +

      @complexity Linear in the length of the JSON pointer.

      +

      @liveexample{The example shows the result of parent_pointer for different JSON Pointers.,json_pointer__parent_pointer}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ pop_back() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::pop_back ()
      +
      +inline
      +
      + +

      remove last reference token

      +
      Precondition
      not empty()
      +

      @liveexample{The example shows the usage of pop_back.,json_pointer__pop_back}

      +

      @complexity Constant.

      +
      Exceptions
      + + +
      out_of_range.405if JSON pointer has no parent
      +
      +
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ pop_back() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::pop_back ()
      +
      +inline
      +
      + +

      remove last reference token

      +
      Precondition
      not empty()
      +

      @liveexample{The example shows the usage of pop_back.,json_pointer__pop_back}

      +

      @complexity Constant.

      +
      Exceptions
      + + +
      out_of_range.405if JSON pointer has no parent
      +
      +
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ push_back() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::push_back (const std::string & token)
      +
      +inline
      +
      + +

      append an unescaped token at the end of the reference pointer

      +
      Parameters
      + + +
      [in]tokentoken to add
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ push_back() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::push_back (const std::string & token)
      +
      +inline
      +
      + +

      append an unescaped token at the end of the reference pointer

      +
      Parameters
      + + +
      [in]tokentoken to add
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ push_back() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::push_back (std::string && token)
      +
      +inline
      +
      + +

      append an unescaped token at the end of the reference pointer

      +
      Parameters
      + + +
      [in]tokentoken to add
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ push_back() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      void nlohmann::json_pointer< BasicJsonType >::push_back (std::string && token)
      +
      +inline
      +
      + +

      append an unescaped token at the end of the reference pointer

      +
      Parameters
      + + +
      [in]tokentoken to add
      +
      +
      +

      @complexity Amortized constant.

      +

      @liveexample{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ to_string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      std::string nlohmann::json_pointer< BasicJsonType >::to_string () const
      +
      +inline
      +
      + +

      return a string representation of the JSON pointer

      +
      Invariant
      For each JSON pointer ptr, it holds:
      ptr == json_pointer(ptr.to_string());
      +
      +
      Returns
      a string representation of the JSON pointer
      +

      @liveexample{The example shows the result of to_string.,json_pointer__to_string}

      +
      Since
      version 2.0.0
      + +
      +
      + +

      ◆ to_string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      std::string nlohmann::json_pointer< BasicJsonType >::to_string () const
      +
      +inline
      +
      + +

      return a string representation of the JSON pointer

      +
      Invariant
      For each JSON pointer ptr, it holds:
      ptr == json_pointer(ptr.to_string());
      +
      +
      Returns
      a string representation of the JSON pointer
      +

      @liveexample{The example shows the result of to_string.,json_pointer__to_string}

      +
      Since
      version 2.0.0
      + +
      +
      +

      Friends And Related Function Documentation

      + +

      ◆ basic_json

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + +
      basic_json
      +
      +friend
      +
      + +
      +
      + +

      ◆ operator!= [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (json_pointer< BasicJsonType > const & lhs,
      json_pointer< BasicJsonType > const & rhs 
      )
      +
      +friend
      +
      + +

      compares two JSON pointers for inequality

      +
      Parameters
      + + + +
      [in]lhsJSON pointer to compare
      [in]rhsJSON pointer to compare
      +
      +
      +
      Returns
      whether lhs is not equal rhs
      +

      @complexity Linear in the length of the JSON pointer

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      + +
      +
      + +

      ◆ operator!= [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator!= (json_pointer< BasicJsonType > const & lhs,
      json_pointer< BasicJsonType > const & rhs 
      )
      +
      +friend
      +
      + +

      compares two JSON pointers for inequality

      +
      Parameters
      + + + +
      [in]lhsJSON pointer to compare
      [in]rhsJSON pointer to compare
      +
      +
      +
      Returns
      whether lhs is not equal rhs
      +

      @complexity Linear in the length of the JSON pointer

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      + +
      +
      + +

      ◆ operator/ [1/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & lhs,
      const json_pointer< BasicJsonType > & rhs 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer

      +
      Parameters
      + + + +
      [in]lhsJSON pointer
      [in]rhsJSON pointer
      +
      +
      +
      Returns
      a new JSON pointer with rhs appended to lhs
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of lhs and rhs.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/ [2/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & lhs,
      const json_pointer< BasicJsonType > & rhs 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer

      +
      Parameters
      + + + +
      [in]lhsJSON pointer
      [in]rhsJSON pointer
      +
      +
      +
      Returns
      a new JSON pointer with rhs appended to lhs
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of lhs and rhs.

      +
      See also
      operator/=(const json_pointer&) to append a JSON pointer
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/ [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
      std::size_t array_idx 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the array-index-token at the end of the JSON pointer

      +
      Parameters
      + + + +
      [in]ptrJSON pointer
      [in]array_idxarray index
      +
      +
      +
      Returns
      a new JSON pointer with array_idx appended to ptr
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::size_t) to append an array index
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/ [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
      std::size_t array_index 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the array-index-token at the end of the JSON pointer

      +
      Parameters
      + + + +
      [in]ptrJSON pointer
      [in]array_indexarray index
      +
      +
      +
      Returns
      a new JSON pointer with array_index appended to ptr
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::size_t) to append an array index
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/ [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
      std::string token 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the unescaped token at the end of the JSON pointer

      +
      Parameters
      + + + +
      [in]ptrJSON pointer
      [in]tokenreference token
      +
      +
      +
      Returns
      a new JSON pointer with unescaped token appended to ptr
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::string) to append a reference token
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator/ [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
      std::string token 
      )
      +
      +friend
      +
      + +

      create a new JSON pointer by appending the unescaped token at the end of the JSON pointer

      +
      Parameters
      + + + +
      [in]ptrJSON pointer
      [in]tokenreference token
      +
      +
      +
      Returns
      a new JSON pointer with unescaped token appended to ptr
      +

      @liveexample{The example shows the usage of operator/.,json_pointer__operator_add_binary}

      +

      @complexity Linear in the length of ptr.

      +
      See also
      operator/=(std::string) to append a reference token
      +
      Since
      version 3.6.0
      + +
      +
      + +

      ◆ operator== [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (json_pointer< BasicJsonType > const & lhs,
      json_pointer< BasicJsonType > const & rhs 
      )
      +
      +friend
      +
      + +

      compares two JSON pointers for equality

      +
      Parameters
      + + + +
      [in]lhsJSON pointer to compare
      [in]rhsJSON pointer to compare
      +
      +
      +
      Returns
      whether lhs is equal to rhs
      +

      @complexity Linear in the length of the JSON pointer

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      + +
      +
      + +

      ◆ operator== [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool operator== (json_pointer< BasicJsonType > const & lhs,
      json_pointer< BasicJsonType > const & rhs 
      )
      +
      +friend
      +
      + +

      compares two JSON pointers for equality

      +
      Parameters
      + + + +
      [in]lhsJSON pointer to compare
      [in]rhsJSON pointer to compare
      +
      +
      +
      Returns
      whether lhs is equal to rhs
      +

      @complexity Linear in the length of the JSON pointer

      +

      @exceptionsafety No-throw guarantee: this function never throws exceptions.

      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      +
      json_pointer(const std::string &s="")
      create JSON pointer
      Definition: json.hpp:10120
      + + + + diff --git a/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html b/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html new file mode 100644 index 0000000..9fd3078 --- /dev/null +++ b/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Member List
      +
      + + + + + diff --git a/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html b/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html new file mode 100644 index 0000000..0fb5b07 --- /dev/null +++ b/help/html/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      using type = decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >()))
       
      using type = decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >()))
       
      +

      Member Typedef Documentation

      + +

      ◆ type [1/2]

      + +
      +
      +
      +template<std::size_t N, typename IteratorType >
      + + + + +
      using std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type = decltype( get<N>(std::declval < ::nlohmann::detail::iteration_proxy_value<IteratorType > > ()))
      +
      + +
      +
      + +

      ◆ type [2/2]

      + +
      +
      +
      +template<std::size_t N, typename IteratorType >
      + + + + +
      using std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type = decltype( get<N>(std::declval < ::nlohmann::detail::iteration_proxy_value<IteratorType > > ()))
      +
      + +
      +
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html new file mode 100644 index 0000000..6664b62 --- /dev/null +++ b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this class was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map new file mode 100644 index 0000000..a611465 --- /dev/null +++ b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 new file mode 100644 index 0000000..db3af1c --- /dev/null +++ b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +2bb9cdf7906f4278c75e61e42b8893ee \ No newline at end of file diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..77795c9b00b7b2e3d43447e6a41ea9a205d7f3c2 GIT binary patch literal 7235 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 + + + diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 new file mode 100644 index 0000000..db3af1c --- /dev/null +++ b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +2bb9cdf7906f4278c75e61e42b8893ee \ No newline at end of file diff --git a/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png b/help/html/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..77795c9b00b7b2e3d43447e6a41ea9a205d7f3c2 GIT binary patch literal 7235 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 literal 0 HcmV?d00001 diff --git a/help/html/create_8cc.html b/help/html/create_8cc.html new file mode 100644 index 0000000..3b24073 --- /dev/null +++ b/help/html/create_8cc.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/create.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      create.cc File Reference
      +
      +
      +
      +Include dependency graph for create.cc:
      +
      +
      + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/create_8cc__incl.map b/help/html/create_8cc__incl.map new file mode 100644 index 0000000..1d92373 --- /dev/null +++ b/help/html/create_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/create_8cc__incl.md5 b/help/html/create_8cc__incl.md5 new file mode 100644 index 0000000..4fc1cb6 --- /dev/null +++ b/help/html/create_8cc__incl.md5 @@ -0,0 +1 @@ +13ff84466201510a97585065c9446d7b \ No newline at end of file diff --git a/help/html/create_8cc__incl.png b/help/html/create_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..507dd327fba7aeee9ac6e849862269c8ca31decc GIT binary patch literal 38191 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 W_J561S4%!nA%mx@pUXO@geCyz893+w literal 0 HcmV?d00001 diff --git a/help/html/create_8h.html b/help/html/create_8h.html new file mode 100644 index 0000000..3812e89 --- /dev/null +++ b/help/html/create_8h.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/create.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      create.h File Reference
      +
      +
      +
      +Include dependency graph for create.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Favorites::Create
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/create_8h__dep__incl.map b/help/html/create_8h__dep__incl.map new file mode 100644 index 0000000..aafce66 --- /dev/null +++ b/help/html/create_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/create_8h__dep__incl.md5 b/help/html/create_8h__dep__incl.md5 new file mode 100644 index 0000000..f8f7940 --- /dev/null +++ b/help/html/create_8h__dep__incl.md5 @@ -0,0 +1 @@ +00b86619e3b74f1a85ece9125b095d3f \ No newline at end of file diff --git a/help/html/create_8h__dep__incl.png b/help/html/create_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba22cae1518e6a1e16cdca33f7c64fc9d154236 GIT binary patch literal 7136 zcmZ9R1yt1Ew#SDaO5l%lw-OQ(0|>|f0wP_~9TE=GAt0?FC?G8$-J;Ymlpr9bbjMIb zcSsBGc-Ou6z4eB*fJMwXzq9xL?*09oH(DCXq(t;Y5D0`+RYg$;0>OF=zK?}sgU{we z`J3PizO|aNBIM@p$EW6^LjU6(^G@wbFi~p&(^=tEBkbp_R6E5IMRya(OV%Akz8XaD}}`KSrv8l zOu1m$F}NcUWAk~M1OlC}npkXrrP6`vNi0cz=)8cGfE4pvA|P5ut!T)ns{brj!vTYx z4Hu~Cm1*I%qNDA561d2iA81|qhlPf^ySv|>4H}SQU}4$Y*%9C{3#9*ogqIW-J32Yh z3tQuk!EeiFZ}Q889HDg*)6&wClTWVy1V~FaiaC!@PEWIkW8>hMnVId)f3q+)Zt&hQ zHZ+{D>55xfSrHQxQ%@JY%gLE<@hu3N)7139(9n>i-PqU|mv3}z?9b)=%{_j8MQGsF zL6=3)c|ledGhC&#S6f>f4-bzvGA%XL*UwMDyot8`i|b5XQgZU{RJFrEmP~sT+3D%2 zriu#e#S$)jUGC<5;0+~@Mz*Z0z5U7hP+qO`gn7MNNSkF%T^%xs8f^7k& zq@<*%TTIhPM0RGTnUT@dfZWZKX$H0rnVHRCSBvdY%dnPbBZWVH{76kr4Z$HW{}%M; zbUv6z@Z-)IS>)(~Zzqcj?g@xmP*>`nxY|oC>m{ z%gegp^ZI(XrBJuGl$6xT-h5?cW$@M60r(+@a-1bCH+a^-f1W!;JZ9fAt#`AUsdM%A z_Ffyvp8sOiUZPucak^Jozo_SB>3)xi1Ybd2UERdQL_xu(<26N@VdZL&DA+(ehw>84 zTvs659iY}G^C-TiinCLV}uP(PWt{z7xURe z2VS03=p~`7-58OzwVC%F`ZJ|{a07CRiX0pq44*!o93DQrIzNgarn$b@s)Xiz{|@Kj z;R)Arb=|2jL5^3LIM~}4R#Y_m|K2PuEiKZ_j^?E?#Y0vvah+dWfai5`b|%2ZrKO{r zYY8;L55v78gZZmPrKK5pdLDzwY;A3U&`J61&gLjYC9u#jFeD0^H~U8{pM8=KJ4j zrkCdlo=hpAbR;Asw5dSwr(DD(tsX)3_4V1p-@bi2=~9PDn*SF3?e9sOAmf;%4b;^5 zI5;>YBvMRqyW~pUQj>lnJ^zdybT2l@yXpiL(g)BPJ~T6-1$|ET(%p#@HeS zvVQqT>+!J#2-L&M;+eJf*Qdc&lU5P3g8$&6pz^HMNaO-+p{%01#^thA(LL4N-G zO4W$vu6OU=yeTO!cR?U-_JVI1n3(3KrtX%43`hUnHF<;EA{?j(NKjBHAcw*UDKVmM zfs|j6o-iq?&CSi{lV7Y>f2KWq_ROTtWoUT#pYpnABitZ(pfEuqeMnA@qr1NfDqK`V zWJ#k4kB>FHd)%PHnCkXzTSrG)Dk?5lJ6+w8PoF;R%pe2&{5re38XFruxbSdsXPX0j zrfZ(HwY5Rnyu7>!2na|?Nu8aY!{1j|d#I@qPoSYW#l?4siDST81L6E~dw$84P+7B1Lyu2(XDhd?W z4lP0&|D`%4B!rlnfB*P+`yiTIGmFFzA>2A-B9B>HJI&09J}&7WraN<1mw!L;{+QxI z&tZdPlHt?ajt<3Au3{JnD;Fqa5WADZL*uX3cw@%v8kUv|nsR>>Yl)}`;?PwXP_LlC z!FhpVJ2W9SO(0c)GB(@cq`lc3)#pAw!>O6rugrBx?&k5sBhn94X>)Iq6T^5G{&1F-^~(qw%ElI{6s~CHKpS7 zXY(4zA)t3ahLr3coDUanY;0gKrb3Z-c{|@U^yMB_{OynMnRrfDUUPgwDk>@p3JS16 ze0+Q>E32k+%7@&4mrr}?>Ek2kwgAca75DlzYhMIDo6Lg;Kne5=48&a~g~GKoG~)8| zIQ&9Vir?~F2)U+bWob|o{SZ}>9y#)pqq^J==HuR>+~$F9Io`4AfMOP)oG}y z&7eH~YLX?>Cy7=}6B5eJa=t(e-`v=UWs#GWmS$j6B=1=1OKEOuB8M;C&zh|%q2;n3 zPG71nep$9I{`;=1E3cp9=)k}L8VwZnXhc)4qO5G0v<6!QD-PWpA#vUvRm_TcOLyOU zclNxK#^N>&jRa_;A7K=4e)+OzfwxmEfVsN3bU0|M)|Ziw#Bn~;6^=O?!Hrbm1;SxruCjUii(Sii-=Sa%+LW@+cR&YIl?HtBzFh-t)!%654!Tn$t+wuL`!(T z^Fc(R7*|j3AzKYo&q!e|JnvO#$isC46$Yq&bZU{#>uox6C>0rFb3lX+Crc8Xla*|t zverE3c8_uaIbk;r%>O@=6W%r{gqL`d0is9!1$j6$JDX$8hmFAnbCagA@iZv15(Bo6 ztM;oi$U<)Jr1W$FqNj5i603~2WG!2ry}b5OI@l-IkQP?lK;Ikltxn?RLhjh>KQs7b z2alntG?$adO=FL=QP} z@y2`%RV3T3sP67F_u2X!B1&?K_=E&^Lv>PzYC=K5sLGafaqIB+HFOU(ThXEs?QB8U z=Zje~azpRAz<2eXcFn2@~4z{N<-cb5{ox+8ysFUt(F4dz*W12X5Eb`g$dgRT!a(@h-nb(Drn# z@+=OF1|P?v`pr98kvDHY?yiU#A6Uq|@?B_>5UBUw8EWu)rmyeC7)Oq+dgd$vtX91P~z!R~b|`uqQ(=08jQ zN8gm4z0k|+fTeY8jBa%mr$3WeOnf{~k&2c1i$v`Hfz{5O^t*vY5`5-=L<%hAq7n9( zO{vkIp6Ir-fGBNU8%L+og8Y|Q=t2Q-lG^&euUkXP@|4L8bT4NX)6<>QlA$QdvL*1; zKV;O3KKBcWkJ|{*I!_eV)P3hF6UEzBrztJlTKyF>F=)xjg~!eP*;dGnv1@dUuFL>+ zKh0RLOaYpsnz*eT$Ea9ZRl}H?NSPK-ak#(O7eV|^RH9v=cLO?^K|MMyesRfSF9Z}{ zF!t^70~uv*t_o`*Hxh-Akli`K$~){FMINy5f|b^vKgA*=8#o@3NCk+W9V}18(6Hb| zjgZ6k)MXH8(ev}biLuW9?z7cGhvS<3U2|g^D0! zY553-nelN9rf0y*Q}pf!f_``sxtg^fnXzvb@d!y4B_I(Q zs{`*4h`ru!Eo%fvxMi{i$odc37V}kZi}8hpb)%z#Pt=npXE+z!=&?@v6h zDlH`Pi=v(ymwrI1wk{rHZC7X+8%re%s1=vL%ucA9?(Kc=BzcI*5ET69e3Qq}pTi zOc{o&A?3jDfA{Q!70{PiSJ!XX7dQ9q=J0rfH6Y-A>B=2?H(120<`p#up39?w#ON44 z9UTK{7)hb=EwNYaCD_{n%2Lu(AtCegjfPnXRq36ZBV;3xC|&GH6LU}RD!EJkjompO zhyIs~>yGlZjGI_de9T{vrmSn2^K-i*%}VC`_)ULk7ToY~PLgF@#Cb%IM=MMUy514Q zF%gq(okQH}*}=wW#WSkyf0ghVGIR0-uWpvsJN&szvEUYgb&|{l{)vD4c%|<&F;ULL zgW*vv;|2CDLlR3w8juEyK(Eya{B7l|O-0u0d5vx}{oqqSf;f6w!9 zLT|l3?OUyjhxpq9IMC47(T_FNn^RKjzXPQhbN@i-R&R0~^H_Zj|L*RK z_9BBs^^tw?sbqyN-CPSEjh2MwDW_;=N<}+K_7cHNHC{Cb+>$3B8j|DWS?lZ+NEat< zn&ShDK(^;RymuNrug)^V2xtN??%HXh4Y*ntMF_U%6ukFZJkR!PaR{jU)5VgV1WIvW zrgh+*z5`kP(Y3Za&m!ayM>%G!N9tBjf)${q?&9KYIy;t1`wiuhSu&oR{;J&$Z_-2x z=#9h8b+)zj6}14paxJw!KI1)*EIMxMgS9~Js+=cgxzuKh$8#@UwFi(*n&`waqFQW} z$K#khk_8wvYm-~BVNEHonz`877Jt;a($pcco2@%>OKXn>S{IwKw&!Htypce|d!@;lpKxjH`p&Xq?q=yP74 zYAxf+0#1OTfx+s^igt12^V`%dl73Y`X98YFMM;hsD~bePU!f%uva>C;wTCXfF}-~$ z0`q~VZr$XWpI8G(+KZDFlxJsW@yS+E^Wtp^PENdD-`AmWU^JE1s>o%48ZE4?DSOFr z!p-K2E#w$LXG<9!)k9n9QSbr;#MG4J-Mgx7JE!Hwq6+wi z7bAu0iQMYLBO_|6s?Qu9p~S@1b#=@_mJhYGv^+fS8wv37^#K##^&*D~m;vg0rj9Ny zF4opnE>l&&m&U89>Q8lb5wr_2c2!hV_-s$gXZ-+BL6D!{6imXAR-ZqArlX@{2|T7S zl9Q66Z~t<5=pH^e*XZ;6_wUAr268wUQNhTWoSgjU^7QoJ!0-A>(#XP5(&F-ECKd0S zSw{wm=O1A&*b{pgrM*GB_UU$?*66odPjXqut2Cwz_S02Webdlz0el27+($=86Q9l0 zlB=Kc1A751nWvW*1@7Y3mbBIPaNzZuf^V+7<2j6sjBLexd`^##J+-N1&oPvOf|bCL z(FmG9$$Bu=*B4{@xU`oO%=F*>oXh}!uaPOGlnj%U47~YsirE5>y$HL$I`;@=1wGu= z)%6{tB%HhhSjLxufjv@x(TcFmBR@aCz`#ITTTH634KSCf?&y#~V#1O*Q!RU{fk-NE~WIH}wQ7hp+ zsyJv3!2#*VYH<`BQeA!Y)us!q4`T3+N&3<5EXaW9m>3RdXcMHdv^2W>r+szW6Z;o0 zz81T;ouD$QINo$xg9-G79KGyI7^-Y&1TA!YOy{2ioi^F*LDkm&28Iia#cSK!P3|kb zxw-7S%GA`sGDX(_G?C!jtZQ9&&D%RTXr>CuYiepbMnp#w0jR~t$9K2`j<*|L!pjjp zJUsj(j;RdTVyma%WoK6~80YKjYYL#nbgeUR$47^Uy}y3BIyv0?YM?Wa2u_?3}$G#2(n@Dh4y#=!59} zaCdiiS3p3(R`N8#5bQ)eLp`YPFd->P%wzS5HdQ1E-SF7h@1;)SLsugsI-@)KD-)F# zz}o^xgKB603p%+SKi+dBaP=;i>>6#*`y)a{>B|q;$mX~IvE-q zbo25eB_msVJ~)F!0RB-{Qu0FWfs70|BS}Wk|5EOm!J%9{JRVfyqN3$yjpG0tDJyq% zcCO5#JeK+ZB-kpyqYAdNRr!rsE~p7eR9@clUu)*>Kg|%CC95EKn{KkPOHomA|2pN< zw92HBtc^-c=+2yt9 ze5>7cl&&x-3Lkui-)G$!`ZQvi-?Wj`j4DB1T==W2r=yLsxQ8Aj$)oTy``M|m_KZZH z4demnbkCw?c4j7HX1Y*40~*SzCPY$QRW;obDD8L93Mdm36BDWrB+N2Q!+ci3ywSnd z*4D+P$#Y{EiI`9DddffkBbGr92&kFa9DtH;17}C*KPgQbpT2$-78M-@7}COGerDzp zB*05{!qDQ%O2CF|tEx8Vzul~52WyzKw*9rt(4BZak$PwnTg?}fJCb`9ieVZa@us%5 zYOGV{yAX1ieDA|#cd9rgEUvazuN<_cI4AgK54 ze*)r2DG2OOd3}8y8UjYfWriks(pI;V)>oiDs^FDArQhiW|`@po}Ss+2a=K~6RfR? z%7Om=@!?^1gn7!xj{s=O+58}}u~`O}D*P5LrU15Uf;$}^CPqe(;r2E*fb+xr4sF}) zBkDK`l@q!bOd_=C5*+gw?HE1%qcJ9mL5&>*1E<{CFjbZP@WJkGa98vTDARAtBqD{o ziYNFzU1cV#zcQl8|G5d*DwxcA%%-DZNt>LW-h0_}%FNvSEXkiTLg%#}`v>a)-UyY5 zq4o~i3LQkQ7E%1;a2*%T0`d}}1v;DmbE)+28?1kEn3(s${orP%%$MmQ+4~(CUS2*v zt95-6wv*Lg<=BByp`qBc{!}=LJz|;=$RPRI&i|sD{|=DXEOtlS3PI7*XW+^XqN=2! J_!({)`aiJc;yM5T literal 0 HcmV?d00001 diff --git a/help/html/create_8h__incl.map b/help/html/create_8h__incl.map new file mode 100644 index 0000000..819ac2f --- /dev/null +++ b/help/html/create_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/create_8h__incl.md5 b/help/html/create_8h__incl.md5 new file mode 100644 index 0000000..dba2afd --- /dev/null +++ b/help/html/create_8h__incl.md5 @@ -0,0 +1 @@ +2f2d14c2d53f321640a3154002f77427 \ No newline at end of file diff --git a/help/html/create_8h__incl.png b/help/html/create_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca76a776a025600cc082ef46732e9cdbfe390 GIT binary patch literal 38134 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 Z=qa^Nw5F&saggATqO7XSM=8_b{|AI-gwy~4 literal 0 HcmV?d00001 diff --git a/help/html/create_8h_source.html b/help/html/create_8h_source.html new file mode 100644 index 0000000..1be63b4 --- /dev/null +++ b/help/html/create_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/create.h Source File + + + + + + + + + +

      +
      +
      +
      create.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_FAVORITE_CREATE_H_
      +
      2 #define COCOATWEET_API_FAVORITE_CREATE_H_
      +
      3 
      + + +
      6 
      + + +
      9 public:
      +
      10  Create();
      +
      11  void id(const std::string& _id);
      +
      12  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      13 
      +
      14 private:
      +
      15 };
      +
      16 } // namespace CocoaTweet::API::Favorites
      +
      17 
      +
      18 #endif
      +
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      Create()
      Definition: create.cc:5
      +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      Definition: create.cc:14
      +
      data class for tweet object
      Definition: tweet.h:9
      + +
      Definition: create.cc:4
      +
      void id(const std::string &_id)
      Definition: create.cc:10
      + + + + + + diff --git a/help/html/deprecated.html b/help/html/deprecated.html new file mode 100644 index 0000000..29d6399 --- /dev/null +++ b/help/html/deprecated.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Deprecated List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      Deprecated List
      +
      +
      +
      +
      Member nlohmann::basic_json::iterator_wrapper (reference ref) noexcept
      +

      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().

      +

      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().

      +
      +
      Member nlohmann::basic_json::operator<< (basic_json &j, std::istream &i)
      +

      This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.

      +

      This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.

      +
      +
      Member nlohmann::basic_json::operator>> (const basic_json &j, std::ostream &o)
      +

      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.

      +

      This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.

      +
      +
      +
      +
      + + + + diff --git a/help/html/dir_000002_000003.html b/help/html/dir_000002_000003.html new file mode 100644 index 0000000..bb7e361 --- /dev/null +++ b/help/html/dir_000002_000003.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> directMessage Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → directMessage Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/directMessage
      api.hdirectMessage.h
      + + + + diff --git a/help/html/dir_000002_000004.html b/help/html/dir_000002_000004.html new file mode 100644 index 0000000..6cbe047 --- /dev/null +++ b/help/html/dir_000002_000004.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> favorite Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → favorite Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/favorite
      api.hfavorite.h
      + + + + diff --git a/help/html/dir_000002_000005.html b/help/html/dir_000002_000005.html new file mode 100644 index 0000000..72abaf6 --- /dev/null +++ b/help/html/dir_000002_000005.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> status Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → status Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/status
      api.hstatus.h
      + + + + diff --git a/help/html/dir_000002_000006.html b/help/html/dir_000002_000006.html new file mode 100644 index 0000000..14e28af --- /dev/null +++ b/help/html/dir_000002_000006.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> media Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → media Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/media
      api.hmedia.h
      + + + + diff --git a/help/html/dir_000002_000007.html b/help/html/dir_000002_000007.html new file mode 100644 index 0000000..14e28af --- /dev/null +++ b/help/html/dir_000002_000007.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> media Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → media Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/media
      api.hmedia.h
      + + + + diff --git a/help/html/dir_000002_000008.html b/help/html/dir_000002_000008.html new file mode 100644 index 0000000..4169979 --- /dev/null +++ b/help/html/dir_000002_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000002_000009.html b/help/html/dir_000002_000009.html new file mode 100644 index 0000000..4169979 --- /dev/null +++ b/help/html/dir_000002_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000002_000010.html b/help/html/dir_000002_000010.html new file mode 100644 index 0000000..3037aef --- /dev/null +++ b/help/html/dir_000002_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000002_000011.html b/help/html/dir_000002_000011.html new file mode 100644 index 0000000..97e723b --- /dev/null +++ b/help/html/dir_000002_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → util Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/util
      directMessage / new.ccutil.h
      interface / httpGet.ccutil.h
      interface / httpPost.ccutil.h
      status / update.ccutil.h
      status / userTimeline.ccutil.h
      + + + + diff --git a/help/html/dir_000003_000004.html b/help/html/dir_000003_000004.html new file mode 100644 index 0000000..6cbe047 --- /dev/null +++ b/help/html/dir_000003_000004.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> favorite Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → favorite Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/favorite
      api.hfavorite.h
      + + + + diff --git a/help/html/dir_000003_000005.html b/help/html/dir_000003_000005.html new file mode 100644 index 0000000..0061ae1 --- /dev/null +++ b/help/html/dir_000003_000005.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → interface Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/interface
      create.hhttpPost.h
      destroy.hhttpPost.h
      favorite.hgroupInterface.h
      + + + + diff --git a/help/html/dir_000003_000006.html b/help/html/dir_000003_000006.html new file mode 100644 index 0000000..7a6e421 --- /dev/null +++ b/help/html/dir_000003_000006.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      directMessage → interface Relation

      File in src/cocoatweet/api/directMessageIncludes file in src/cocoatweet/api/interface
      directMessage.hgroupInterface.h
      new.hhttpPost.h
      + + + + diff --git a/help/html/dir_000003_000007.html b/help/html/dir_000003_000007.html new file mode 100644 index 0000000..55c9d8a --- /dev/null +++ b/help/html/dir_000003_000007.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → model Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/model
      create.cctweet.h
      create.htweet.h
      destroy.cctweet.h
      destroy.htweet.h
      favorite.htweet.h
      + + + + diff --git a/help/html/dir_000003_000008.html b/help/html/dir_000003_000008.html new file mode 100644 index 0000000..9b10ec3 --- /dev/null +++ b/help/html/dir_000003_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      directMessage → model Relation

      File in src/cocoatweet/api/directMessageIncludes file in src/cocoatweet/api/model
      directMessage.htweet.h
      new.htweet.h
      + + + + diff --git a/help/html/dir_000003_000009.html b/help/html/dir_000003_000009.html new file mode 100644 index 0000000..68f2246 --- /dev/null +++ b/help/html/dir_000003_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → oauth Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/oauth
      favorite.hoauth.h
      + + + + diff --git a/help/html/dir_000003_000010.html b/help/html/dir_000003_000010.html new file mode 100644 index 0000000..e050de2 --- /dev/null +++ b/help/html/dir_000003_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      directMessage → oauth Relation

      File in src/cocoatweet/api/directMessageIncludes file in src/cocoatweet/oauth
      directMessage.hoauth.h
      + + + + diff --git a/help/html/dir_000003_000011.html b/help/html/dir_000003_000011.html new file mode 100644 index 0000000..ff9131d --- /dev/null +++ b/help/html/dir_000003_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      directMessage → util Relation

      File in src/cocoatweet/api/directMessageIncludes file in src/cocoatweet/util
      new.ccutil.h
      + + + + diff --git a/help/html/dir_000003_000012.html b/help/html/dir_000003_000012.html new file mode 100644 index 0000000..85e53a2 --- /dev/null +++ b/help/html/dir_000003_000012.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → oauth Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/oauth
      api.hoauth.h
      favorite / favorite.hoauth.h
      interface / groupInterface.hoauth.h
      interface / httpPost.hoauth.h
      status / status.hoauth.h
      + + + + diff --git a/help/html/dir_000003_000014.html b/help/html/dir_000003_000014.html new file mode 100644 index 0000000..708b52c --- /dev/null +++ b/help/html/dir_000003_000014.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → util Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/util
      interface / httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000004_000005.html b/help/html/dir_000004_000005.html new file mode 100644 index 0000000..49ab047 --- /dev/null +++ b/help/html/dir_000004_000005.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → interface Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/interface
      destroy.hhttpPost.h
      retweet.hhttpPost.h
      status.hgroupInterface.h
      unretweet.hhttpPost.h
      update.hhttpPost.h
      userTimeline.hhttpGet.h
      + + + + diff --git a/help/html/dir_000004_000006.html b/help/html/dir_000004_000006.html new file mode 100644 index 0000000..0061ae1 --- /dev/null +++ b/help/html/dir_000004_000006.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → interface Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/interface
      create.hhttpPost.h
      destroy.hhttpPost.h
      favorite.hgroupInterface.h
      + + + + diff --git a/help/html/dir_000004_000007.html b/help/html/dir_000004_000007.html new file mode 100644 index 0000000..77a1da3 --- /dev/null +++ b/help/html/dir_000004_000007.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → model Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/model
      destroy.cctweet.h
      destroy.htweet.h
      retweet.htweet.h
      status.htweet.h
      unretweet.htweet.h
      update.htweet.h
      userTimeline.htweet.h
      + + + + diff --git a/help/html/dir_000004_000008.html b/help/html/dir_000004_000008.html new file mode 100644 index 0000000..55c9d8a --- /dev/null +++ b/help/html/dir_000004_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → model Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/model
      create.cctweet.h
      create.htweet.h
      destroy.cctweet.h
      destroy.htweet.h
      favorite.htweet.h
      + + + + diff --git a/help/html/dir_000004_000009.html b/help/html/dir_000004_000009.html new file mode 100644 index 0000000..9117742 --- /dev/null +++ b/help/html/dir_000004_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → oauth Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/oauth
      status.hoauth.h
      + + + + diff --git a/help/html/dir_000004_000010.html b/help/html/dir_000004_000010.html new file mode 100644 index 0000000..68f2246 --- /dev/null +++ b/help/html/dir_000004_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → oauth Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/oauth
      favorite.hoauth.h
      + + + + diff --git a/help/html/dir_000004_000012.html b/help/html/dir_000004_000012.html new file mode 100644 index 0000000..68f2246 --- /dev/null +++ b/help/html/dir_000004_000012.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → oauth Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/oauth
      favorite.hoauth.h
      + + + + diff --git a/help/html/dir_000005_000006.html b/help/html/dir_000005_000006.html new file mode 100644 index 0000000..49ab047 --- /dev/null +++ b/help/html/dir_000005_000006.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → interface Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/interface
      destroy.hhttpPost.h
      retweet.hhttpPost.h
      status.hgroupInterface.h
      unretweet.hhttpPost.h
      update.hhttpPost.h
      userTimeline.hhttpGet.h
      + + + + diff --git a/help/html/dir_000005_000008.html b/help/html/dir_000005_000008.html new file mode 100644 index 0000000..77a1da3 --- /dev/null +++ b/help/html/dir_000005_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → model Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/model
      destroy.cctweet.h
      destroy.htweet.h
      retweet.htweet.h
      status.htweet.h
      unretweet.htweet.h
      update.htweet.h
      userTimeline.htweet.h
      + + + + diff --git a/help/html/dir_000005_000009.html b/help/html/dir_000005_000009.html new file mode 100644 index 0000000..3d0f47e --- /dev/null +++ b/help/html/dir_000005_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → oauth Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/oauth
      groupInterface.hoauth.h
      httpBase.hoauth.h
      httpGet.hoauth.h
      httpPost.hoauth.h
      + + + + diff --git a/help/html/dir_000005_000010.html b/help/html/dir_000005_000010.html new file mode 100644 index 0000000..9117742 --- /dev/null +++ b/help/html/dir_000005_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → oauth Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/oauth
      status.hoauth.h
      + + + + diff --git a/help/html/dir_000005_000011.html b/help/html/dir_000005_000011.html new file mode 100644 index 0000000..d1a993f --- /dev/null +++ b/help/html/dir_000005_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → util Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/util
      update.ccutil.h
      userTimeline.ccutil.h
      + + + + diff --git a/help/html/dir_000005_000012.html b/help/html/dir_000005_000012.html new file mode 100644 index 0000000..9117742 --- /dev/null +++ b/help/html/dir_000005_000012.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → oauth Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/oauth
      status.hoauth.h
      + + + + diff --git a/help/html/dir_000006_000000.html b/help/html/dir_000006_000000.html new file mode 100644 index 0000000..c59525b --- /dev/null +++ b/help/html/dir_000006_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet -> build Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      cocoatweet → build Relation

      File in src/cocoatweetIncludes file in build
      api / model / tweet.cc_deps / json-src / include / nlohmann / json.hpp
      oauth / key.cc_deps / json-src / include / nlohmann / json.hpp
      + + + + diff --git a/help/html/dir_000006_000005.html b/help/html/dir_000006_000005.html new file mode 100644 index 0000000..ed7f02d --- /dev/null +++ b/help/html/dir_000006_000005.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → interface Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/api/interface
      media.hgroupInterface.h
      upload.hhttpPost.h
      + + + + diff --git a/help/html/dir_000006_000007.html b/help/html/dir_000006_000007.html new file mode 100644 index 0000000..d90b0c9 --- /dev/null +++ b/help/html/dir_000006_000007.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → model Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/api/model
      media.hmediaStore.h
      upload.ccmediaStore.h
      upload.hmediaStore.h
      + + + + diff --git a/help/html/dir_000006_000008.html b/help/html/dir_000006_000008.html new file mode 100644 index 0000000..ce181c2 --- /dev/null +++ b/help/html/dir_000006_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → exception Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/exception
      upload.ccunsupportedMediaTypeException.h
      + + + + diff --git a/help/html/dir_000006_000009.html b/help/html/dir_000006_000009.html new file mode 100644 index 0000000..13b6904 --- /dev/null +++ b/help/html/dir_000006_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000006_000010.html b/help/html/dir_000006_000010.html new file mode 100644 index 0000000..3d0f47e --- /dev/null +++ b/help/html/dir_000006_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → oauth Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/oauth
      groupInterface.hoauth.h
      httpBase.hoauth.h
      httpGet.hoauth.h
      httpPost.hoauth.h
      + + + + diff --git a/help/html/dir_000006_000011.html b/help/html/dir_000006_000011.html new file mode 100644 index 0000000..79500fc --- /dev/null +++ b/help/html/dir_000006_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → util Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/util
      httpGet.ccutil.h
      httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000006_000012.html b/help/html/dir_000006_000012.html new file mode 100644 index 0000000..1c445c2 --- /dev/null +++ b/help/html/dir_000006_000012.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → oauth Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/oauth
      groupInterface.hoauth.h
      httpPost.hoauth.h
      + + + + diff --git a/help/html/dir_000006_000014.html b/help/html/dir_000006_000014.html new file mode 100644 index 0000000..4718e34 --- /dev/null +++ b/help/html/dir_000006_000014.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → util Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/util
      httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000007_000006.html b/help/html/dir_000007_000006.html new file mode 100644 index 0000000..ed7f02d --- /dev/null +++ b/help/html/dir_000007_000006.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → interface Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/api/interface
      media.hgroupInterface.h
      upload.hhttpPost.h
      + + + + diff --git a/help/html/dir_000007_000008.html b/help/html/dir_000007_000008.html new file mode 100644 index 0000000..d90b0c9 --- /dev/null +++ b/help/html/dir_000007_000008.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → model Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/api/model
      media.hmediaStore.h
      upload.ccmediaStore.h
      upload.hmediaStore.h
      + + + + diff --git a/help/html/dir_000007_000009.html b/help/html/dir_000007_000009.html new file mode 100644 index 0000000..ce181c2 --- /dev/null +++ b/help/html/dir_000007_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → exception Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/exception
      upload.ccunsupportedMediaTypeException.h
      + + + + diff --git a/help/html/dir_000007_000010.html b/help/html/dir_000007_000010.html new file mode 100644 index 0000000..78bc7c9 --- /dev/null +++ b/help/html/dir_000007_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      media → oauth Relation

      File in src/cocoatweet/api/mediaIncludes file in src/cocoatweet/oauth
      media.hoauth.h
      + + + + diff --git a/help/html/dir_000008_000009.html b/help/html/dir_000008_000009.html new file mode 100644 index 0000000..ccceb4b --- /dev/null +++ b/help/html/dir_000008_000009.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      model → exception Relation

      File in src/cocoatweet/api/modelIncludes file in src/cocoatweet/exception
      mediaStore.ccexception.h
      + + + + diff --git a/help/html/dir_000008_000011.html b/help/html/dir_000008_000011.html new file mode 100644 index 0000000..b620a88 --- /dev/null +++ b/help/html/dir_000008_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000009_000000.html b/help/html/dir_000009_000000.html new file mode 100644 index 0000000..386b1c4 --- /dev/null +++ b/help/html/dir_000009_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: test/api -> src Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000009_000010.html b/help/html/dir_000009_000010.html new file mode 100644 index 0000000..32fbbf5 --- /dev/null +++ b/help/html/dir_000009_000010.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → util Relation

      File in src/cocoatweet/oauthIncludes file in src/cocoatweet/util
      oauth.ccutil.h
      + + + + diff --git a/help/html/dir_000010_000000.html b/help/html/dir_000010_000000.html new file mode 100644 index 0000000..51a1a8e --- /dev/null +++ b/help/html/dir_000010_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: test/api/model -> src Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      + + + + + diff --git a/help/html/dir_000010_000011.html b/help/html/dir_000010_000011.html new file mode 100644 index 0000000..32fbbf5 --- /dev/null +++ b/help/html/dir_000010_000011.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → util Relation

      File in src/cocoatweet/oauthIncludes file in src/cocoatweet/util
      oauth.ccutil.h
      + + + + diff --git a/help/html/dir_000012_000014.html b/help/html/dir_000012_000014.html new file mode 100644 index 0000000..32fbbf5 --- /dev/null +++ b/help/html/dir_000012_000014.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → util Relation

      File in src/cocoatweet/oauthIncludes file in src/cocoatweet/util
      oauth.ccutil.h
      + + + + diff --git a/help/html/dir_000013_000000.html b/help/html/dir_000013_000000.html new file mode 100644 index 0000000..3476bab --- /dev/null +++ b/help/html/dir_000013_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: test/oauth -> src Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → src Relation

      File in test/oauthIncludes file in src
      key.cccocoatweet / oauth / key.h
      + + + + diff --git a/help/html/dir_000019_000000.html b/help/html/dir_000019_000000.html new file mode 100644 index 0000000..383846b --- /dev/null +++ b/help/html/dir_000019_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> build Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → build Relation

      File in src/cocoatweet/apiIncludes file in build
      model / tweet.cc_deps / json-src / include / nlohmann / json.hpp
      + + + + diff --git a/help/html/dir_000019_000020.html b/help/html/dir_000019_000020.html new file mode 100644 index 0000000..6cbe047 --- /dev/null +++ b/help/html/dir_000019_000020.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> favorite Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → favorite Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/favorite
      api.hfavorite.h
      + + + + diff --git a/help/html/dir_000019_000021.html b/help/html/dir_000019_000021.html new file mode 100644 index 0000000..72abaf6 --- /dev/null +++ b/help/html/dir_000019_000021.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> status Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → status Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/status
      api.hstatus.h
      + + + + diff --git a/help/html/dir_000019_000025.html b/help/html/dir_000019_000025.html new file mode 100644 index 0000000..96c9b13 --- /dev/null +++ b/help/html/dir_000019_000025.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → exception Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/exception
      model / tweet.cctweetNotFoundException.h
      + + + + diff --git a/help/html/dir_000019_000026.html b/help/html/dir_000019_000026.html new file mode 100644 index 0000000..85e53a2 --- /dev/null +++ b/help/html/dir_000019_000026.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → oauth Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/oauth
      api.hoauth.h
      favorite / favorite.hoauth.h
      interface / groupInterface.hoauth.h
      interface / httpPost.hoauth.h
      status / status.hoauth.h
      + + + + diff --git a/help/html/dir_000019_000027.html b/help/html/dir_000019_000027.html new file mode 100644 index 0000000..708b52c --- /dev/null +++ b/help/html/dir_000019_000027.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → util Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/util
      interface / httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000020_000022.html b/help/html/dir_000020_000022.html new file mode 100644 index 0000000..0061ae1 --- /dev/null +++ b/help/html/dir_000020_000022.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → interface Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/interface
      create.hhttpPost.h
      destroy.hhttpPost.h
      favorite.hgroupInterface.h
      + + + + diff --git a/help/html/dir_000020_000026.html b/help/html/dir_000020_000026.html new file mode 100644 index 0000000..68f2246 --- /dev/null +++ b/help/html/dir_000020_000026.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → oauth Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/oauth
      favorite.hoauth.h
      + + + + diff --git a/help/html/dir_000021_000022.html b/help/html/dir_000021_000022.html new file mode 100644 index 0000000..6cbe047 --- /dev/null +++ b/help/html/dir_000021_000022.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> favorite Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → favorite Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/favorite
      api.hfavorite.h
      + + + + diff --git a/help/html/dir_000021_000023.html b/help/html/dir_000021_000023.html new file mode 100644 index 0000000..72abaf6 --- /dev/null +++ b/help/html/dir_000021_000023.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> status Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → status Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/api/status
      api.hstatus.h
      + + + + diff --git a/help/html/dir_000021_000024.html b/help/html/dir_000021_000024.html new file mode 100644 index 0000000..9fa8a6b --- /dev/null +++ b/help/html/dir_000021_000024.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → model Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/model
      destroy.cctweet.h
      destroy.htweet.h
      status.htweet.h
      update.htweet.h
      + + + + diff --git a/help/html/dir_000021_000026.html b/help/html/dir_000021_000026.html new file mode 100644 index 0000000..9117742 --- /dev/null +++ b/help/html/dir_000021_000026.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → oauth Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/oauth
      status.hoauth.h
      + + + + diff --git a/help/html/dir_000021_000027.html b/help/html/dir_000021_000027.html new file mode 100644 index 0000000..96c9b13 --- /dev/null +++ b/help/html/dir_000021_000027.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → exception Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/exception
      model / tweet.cctweetNotFoundException.h
      + + + + diff --git a/help/html/dir_000021_000028.html b/help/html/dir_000021_000028.html new file mode 100644 index 0000000..85e53a2 --- /dev/null +++ b/help/html/dir_000021_000028.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → oauth Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/oauth
      api.hoauth.h
      favorite / favorite.hoauth.h
      interface / groupInterface.hoauth.h
      interface / httpPost.hoauth.h
      status / status.hoauth.h
      + + + + diff --git a/help/html/dir_000021_000029.html b/help/html/dir_000021_000029.html new file mode 100644 index 0000000..708b52c --- /dev/null +++ b/help/html/dir_000021_000029.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      api → util Relation

      File in src/cocoatweet/apiIncludes file in src/cocoatweet/util
      interface / httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000022_000024.html b/help/html/dir_000022_000024.html new file mode 100644 index 0000000..0061ae1 --- /dev/null +++ b/help/html/dir_000022_000024.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → interface Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/api/interface
      create.hhttpPost.h
      destroy.hhttpPost.h
      favorite.hgroupInterface.h
      + + + + diff --git a/help/html/dir_000022_000026.html b/help/html/dir_000022_000026.html new file mode 100644 index 0000000..1c445c2 --- /dev/null +++ b/help/html/dir_000022_000026.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → oauth Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/oauth
      groupInterface.hoauth.h
      httpPost.hoauth.h
      + + + + diff --git a/help/html/dir_000022_000027.html b/help/html/dir_000022_000027.html new file mode 100644 index 0000000..4718e34 --- /dev/null +++ b/help/html/dir_000022_000027.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → util Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/util
      httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000022_000028.html b/help/html/dir_000022_000028.html new file mode 100644 index 0000000..68f2246 --- /dev/null +++ b/help/html/dir_000022_000028.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      favorite → oauth Relation

      File in src/cocoatweet/api/favoriteIncludes file in src/cocoatweet/oauth
      favorite.hoauth.h
      + + + + diff --git a/help/html/dir_000023_000024.html b/help/html/dir_000023_000024.html new file mode 100644 index 0000000..b663e89 --- /dev/null +++ b/help/html/dir_000023_000024.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> interface Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → interface Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/interface
      destroy.hhttpPost.h
      status.hgroupInterface.h
      update.hhttpPost.h
      + + + + diff --git a/help/html/dir_000023_000026.html b/help/html/dir_000023_000026.html new file mode 100644 index 0000000..9fa8a6b --- /dev/null +++ b/help/html/dir_000023_000026.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> model Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → model Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/api/model
      destroy.cctweet.h
      destroy.htweet.h
      status.htweet.h
      update.htweet.h
      + + + + diff --git a/help/html/dir_000023_000028.html b/help/html/dir_000023_000028.html new file mode 100644 index 0000000..9117742 --- /dev/null +++ b/help/html/dir_000023_000028.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      status → oauth Relation

      File in src/cocoatweet/api/statusIncludes file in src/cocoatweet/oauth
      status.hoauth.h
      + + + + diff --git a/help/html/dir_000024_000000.html b/help/html/dir_000024_000000.html new file mode 100644 index 0000000..64bd861 --- /dev/null +++ b/help/html/dir_000024_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model -> build Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      model → build Relation

      File in src/cocoatweet/api/modelIncludes file in build
      tweet.cc_deps / json-src / include / nlohmann / json.hpp
      + + + + diff --git a/help/html/dir_000024_000025.html b/help/html/dir_000024_000025.html new file mode 100644 index 0000000..54c5ec8 --- /dev/null +++ b/help/html/dir_000024_000025.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      model → exception Relation

      File in src/cocoatweet/api/modelIncludes file in src/cocoatweet/exception
      tweet.cctweetNotFoundException.h
      + + + + diff --git a/help/html/dir_000024_000028.html b/help/html/dir_000024_000028.html new file mode 100644 index 0000000..1c445c2 --- /dev/null +++ b/help/html/dir_000024_000028.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> oauth Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → oauth Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/oauth
      groupInterface.hoauth.h
      httpPost.hoauth.h
      + + + + diff --git a/help/html/dir_000024_000029.html b/help/html/dir_000024_000029.html new file mode 100644 index 0000000..4718e34 --- /dev/null +++ b/help/html/dir_000024_000029.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      interface → util Relation

      File in src/cocoatweet/api/interfaceIncludes file in src/cocoatweet/util
      httpPost.ccutil.h
      + + + + diff --git a/help/html/dir_000026_000000.html b/help/html/dir_000026_000000.html new file mode 100644 index 0000000..d223d71 --- /dev/null +++ b/help/html/dir_000026_000000.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth -> build Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → build Relation

      File in src/cocoatweet/oauthIncludes file in build
      key.cc_deps / json-src / include / nlohmann / json.hpp
      + + + + diff --git a/help/html/dir_000026_000027.html b/help/html/dir_000026_000027.html new file mode 100644 index 0000000..54c5ec8 --- /dev/null +++ b/help/html/dir_000026_000027.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model -> exception Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      model → exception Relation

      File in src/cocoatweet/api/modelIncludes file in src/cocoatweet/exception
      tweet.cctweetNotFoundException.h
      + + + + diff --git a/help/html/dir_000028_000029.html b/help/html/dir_000028_000029.html new file mode 100644 index 0000000..32fbbf5 --- /dev/null +++ b/help/html/dir_000028_000029.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth -> util Relation + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +

      oauth → util Relation

      File in src/cocoatweet/oauthIncludes file in src/cocoatweet/util
      oauth.ccutil.h
      + + + + diff --git a/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7.html b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7.html new file mode 100644 index 0000000..6dc0da9 --- /dev/null +++ b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: test/oauth Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      oauth Directory Reference
      +
      +
      +
      +Directory dependency graph for oauth:
      +
      +
      test/oauth
      + + + + + + +
      + + + + +

      +Files

      file  key.cc
       
      +
      + + + + diff --git a/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.map b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.map new file mode 100644 index 0000000..4e13f5f --- /dev/null +++ b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.md5 b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.md5 new file mode 100644 index 0000000..83b9c64 --- /dev/null +++ b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.md5 @@ -0,0 +1 @@ +705f35c28f8b5ee9f5398d90b15fd3ba \ No newline at end of file diff --git a/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.png b/help/html/dir_02eea93d5f6f49bd82ab4001fdffe1e7_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..b486fd0115b2871d7df7eda21e2136843f5e146f GIT binary patch literal 2740 zcmai$2T&7O6M*^Uegp*!0)j|6nkWiNP*D*Cq(}=zY9OK4&=e3t2`z~9B7z)Miu8ou z1A;&VLJ^b>dQ^dg7+Q!);BxcN&3JR=pEvLA&dz(gGdthzzF0$$7RM=pQ%p=u9NG`n zjTthOu?JXBFwTh93ND6VvDej7XFC3U6<|tVFfpBS(^gkC3CtlZzziR`2)rece>(eI z71?0_Q!JZDqqI(8*(VJX0Pj!e0(F*i%w`pq9VQK%37IHD%O{{6gyirOY zSHCQ$0F2Zh*AwTuBKF+gj-?1GK^66!{LeL|y;tiwhcsoO#gz{Du9Ppk+@04rXL;3I z*eK{*#Z&F?-fmy7QDnz+GXIn6Q|wQ`1e4txXPX;%P(wpQRJ!?_DM;m~j7%FtX=Yd1 zfsvaE3J?rf6~-5|z$U8Wq@vk>#*bX*t)U@>f|^du{x_NUV~pv!(8Z1~%h-C)F0^M& zb9<?mHUKxcmOHIX7~F>+(JY@necj%EIOpA^14>ea z?^J;T$V1nfon812DVMz#X$E$`l8lOI!Nei8tAxb|zP=M#@};uYEq7c~kbt_!%bX>~ z2Ca~ z;IE#HO1P!&!%e6V`7Ti+6G@fXg6H+DgwZ@D`D}fq11G72r^koO>2-DET;lg+MzuSS?oLdRqnw5crSuMMu}K_8 zM$!>)-IjU>P$=dM8LKLj!85`*-22W3Opjw4_kZ14)s5lUZU>{vt2|mC#AT<3x zmWet!m1Gd!ykV(*1ii7_CiJPbAa0k5GxP0r7^e&7>N+1wt zb!$u7!I+k!BKmwQ%w^P!L8+7!*0SIC38=9#OGNpGpfYVVC+7h+StN8=;w0zFC7xv< zu+tkRpP6n=^L+Mhu8B}l?v@lAYXC}e7$75S3#pi3|Mk&K!Xo`lZ12R-Q1BFLFD)&s zvEg0~w7a|84#&T`vl=END_fulf3mY#>mbD%O+U+R-qfV*;pJuTM+ohW+fGc}PfAKM zF30T@C6DG`jY6ipklKBte?igldAx<5=WIh;d3nV43bBi5Hv>2ojRatzqaW*zS& zJ3HIk+g`3M-jrGtY7#g-JDZkXtfRjGhS0x|947c|iv0tQgW@<|8@kF&&wd}f%d1hl zB#hy@Vs`ljMK4b<{g<|il2ug)2f9ms3GNlwE!Qzy4AdK#Weqv`jS?9b7oU~oHVL88 zcxGlkH#Z*}+o0za#m-xsn!3^VYtCJ1<5uGo#_`5lpJ2x7j#i#4@}aFZYLeu;jXYwIDe@ zt63)TP@mYIJ^spq7pB;h&QH>S6tjPz$cWuM7 zIlQi1^+1)D@x2fb_Vtw!U)`&EZ#_HPIcv~|*0vo_TEyVIPCSt+P z_OGhl{e_zX92!PE8h7s2tvd3d83uVE5a;Y`XD7<=$Vc56k@?g6XLP^O!NI~y(m>$2 z>kV+;`};wAtU*TT-iZ5hRepDKKe&cGE-oo4L7_(KgaievrnYi(b44>WFJvwn0EC61 z*4DHNT}lYT*SFr{YSU`k_XJ(+`IkET74d=h7I9hft!Hz6Dycour)_-sW8>rNSM85} zmi6b0Rp;X33Q_JNYn+JqSxl_wKzCDK)?W(Q+uwhnybjDCwW+a@3Wp>OTV{BqY8C&bRZ;D~{wl#UYEBH9LJR5ndUA8IXNw4%I-4Cb2@7!Bs5vk1;qw3qP&2}fU + + + + + + +CocoaTweet: src/cocoatweet/api Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      api Directory Reference
      +
      +
      +
      +Directory dependency graph for api:
      +
      +
      src/cocoatweet/api
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + + + + + + + + + + + +

      +Directories

      directory  directMessage
       
      directory  favorite
       
      directory  interface
       
      directory  media
       
      directory  model
       
      directory  status
       
      + + + + + +

      +Files

      file  api.cc
       
      file  api.h [code]
       
      +
      + + + + diff --git a/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.map b/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.map new file mode 100644 index 0000000..9358c22 --- /dev/null +++ b/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.map @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.md5 b/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.md5 new file mode 100644 index 0000000..ae64487 --- /dev/null +++ b/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.md5 @@ -0,0 +1 @@ +957725b260c2328ca041d6574df835a0 \ No newline at end of file diff --git a/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.png b/help/html/dir_06575b8358e13047479eaa591b69dad2_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..4556cae7c59c7a3b7d96eaba94a410aa6261aa0b GIT binary patch literal 54572 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 SYGOsfKSvI0tEQ`%-ufSLWcZN) literal 0 HcmV?d00001 diff --git a/help/html/dir_06bf8d3e2008620d16ac418f1dde3e85.html b/help/html/dir_06bf8d3e2008620d16ac418f1dde3e85.html new file mode 100644 index 0000000..7d3d606 --- /dev/null +++ b/help/html/dir_06bf8d3e2008620d16ac418f1dde3e85.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: build/_deps/json-src Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-src Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  include
       
      + + + +

      +Files

      file  update.py
       
      +
      + + + + diff --git a/help/html/dir_0b33dbc856f0018626633bfe56654d6c.html b/help/html/dir_0b33dbc856f0018626633bfe56654d6c.html new file mode 100644 index 0000000..4855d6b --- /dev/null +++ b/help/html/dir_0b33dbc856f0018626633bfe56654d6c.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: test/api/model Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      model Directory Reference
      +
      +
      +
      +Directory dependency graph for model:
      +
      +
      test/api/model
      + + + + + + +
      + + + + +

      +Files

      file  tweet.cc
       
      +
      + + + + diff --git a/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.map b/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.map new file mode 100644 index 0000000..d7f8e57 --- /dev/null +++ b/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.md5 b/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.md5 new file mode 100644 index 0000000..2c4ec33 --- /dev/null +++ b/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.md5 @@ -0,0 +1 @@ +41580356de0da829dfc2af9f29dad32b \ No newline at end of file diff --git a/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.png b/help/html/dir_0b33dbc856f0018626633bfe56654d6c_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..a36cddb42291306f25aa5a083a9561032861803a GIT binary patch literal 2804 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 + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann Directory Reference
      +
      +
      + + + + + + +

      +Files

      file  json.hpp [code]
       
      file  json_fwd.hpp [code]
       
      +
      + + + + diff --git a/help/html/dir_0e9bcac464ba29ef322b4b8f7fba04ee.html b/help/html/dir_0e9bcac464ba29ef322b4b8f7fba04ee.html new file mode 100644 index 0000000..b67cf73 --- /dev/null +++ b/help/html/dir_0e9bcac464ba29ef322b4b8f7fba04ee.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-populate-prefix Directory Reference
      +
      +
      + + + + + + +

      +Directories

      directory  src
       
      directory  tmp
       
      +
      + + + + diff --git a/help/html/dir_13e138d54eb8818da29c3992edef070a.html b/help/html/dir_13e138d54eb8818da29c3992edef070a.html new file mode 100644 index 0000000..86e7b02 --- /dev/null +++ b/help/html/dir_13e138d54eb8818da29c3992edef070a.html @@ -0,0 +1,101 @@ + + + + + + + +CocoaTweet: test Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      test Directory Reference
      +
      +
      +
      +Directory dependency graph for test:
      +
      +
      test
      + + + + + + + + +
      + + + + + + +

      +Directories

      directory  api
       
      directory  oauth
       
      +
      + + + + diff --git a/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.map b/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.map new file mode 100644 index 0000000..fb71105 --- /dev/null +++ b/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 b/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 new file mode 100644 index 0000000..f893970 --- /dev/null +++ b/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.md5 @@ -0,0 +1 @@ +a7471888594454e061fc256c756e0c09 \ No newline at end of file diff --git a/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.png b/help/html/dir_13e138d54eb8818da29c3992edef070a_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..b92eae1e9f9eef4bf9a4ab00ca6aaa7e03251acc GIT binary patch literal 4456 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 + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeFiles/json-populate.dir Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-populate.dir Directory Reference
      +
      +
      +
      + + + + diff --git a/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479.html b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479.html new file mode 100644 index 0000000..9395357 --- /dev/null +++ b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      interface Directory Reference
      +
      +
      +
      +Directory dependency graph for interface:
      +
      +
      src/cocoatweet/api/interface
      + + + + + + + + + + + +
      + + + + + + + + + + + + + + +

      +Files

      file  groupInterface.h [code]
       
      file  httpBase.h [code]
       
      file  httpGet.cc
       
      file  httpGet.h [code]
       
      file  httpPost.cc
       
      file  httpPost.h [code]
       
      +
      + + + + diff --git a/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.map b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.map new file mode 100644 index 0000000..6895d4c --- /dev/null +++ b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.md5 b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.md5 new file mode 100644 index 0000000..d2f74ae --- /dev/null +++ b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.md5 @@ -0,0 +1 @@ +5e389db7962f776a4e45fddb947bf698 \ No newline at end of file diff --git a/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.png b/help/html/dir_23b5b2bc83a8d87415b91ff4fc156479_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..138a01db8c5f781ad6cad9cc4c2b1398bcb9808c GIT binary patch literal 7965 zcmb7p1yqz@zwUsjNQ;0$35aw_gM@@2E$sl(HT2LiH1emVQ#wVOA%+&|mS!jg1nI^h z&-PpEtoxmH?>*<3yg{7l5p^a#)t)t*LWoohKKv( z$S6X#Pb-&M!ozg2SkPrwBBrR4v9IaJXzVr*rd*Z+F=01Uwch|F6%O z%bfc?-owO5ZQO)6%3qry-QL?5|JXJef>J_XK>Zn%74597KE}se?=4y|$f2(GI|bIn z6nqeJw&+tkqvdY_x9pfyX&7TyV+VfVV#%es1v@TF(n}Q=6ckkMYkPQ9%A4)2ud9l? zTzXtCw%nsdta@$h>O1aBaOr1$zug8vvyJ!)w!J{9p?{g3lY>RaXZ5lEkS?~j^<*S5F(#FZ zSWPPLd~SUti^GrxWjp(Me!hvArg^5)*jZ7r=5XxrkaTUt+`MaQs%575zM5p7`o+0x zo<64_AKAV~v(0pQch`>H)yBcffv4xJx;4UfJF~yPC(GwWSeZzN_xEB397;+wzfEh{ zKe%OOWjjlL%fa{J@$t%;X$kStY7pM5pF{qOd6I;Q09WRI(}$y!<4oZT*2tv%YW^jqASt@>ENh zLZv}qVZh4&b3Oihxmp>(%wNpLF*?i8cjic6)EMAzJm**5`EwvH7fqF&w|0DNczATv z>{@zxxR&lxOZ+Iiuw=41+Cc)?=4nyDb-;eb4I+i;SoccmBBw)KJH)T>9@sWvyM-q#7 z>7FG{RTxn6IA(upX>n5f=c6M~+eph8;EFDxEZvgpFVhuyfD=E!1@O-Y^ zf1@^P89_0m%}jQe_&KVPaIS`_6$Oorjg26IHvg#!CEhD4yk75)QU`gTttskXgTs&V z`Y;9~1P;H3&U4K75=Doh=9T-p? zA0N?g@md?>otWq?8WpEy1KYfQDtZ@{p%KX4_{rL?Z19jz2YczwyTwz zmWHgixR`d6@IK|^bLq~JW?_(v=I36%IUXO@C?dTtRabY)!NDObOWfD0ooE1g{=-Qh zU7jgc=CFWToS%;*sjjLbkGT5!^_RGhM@3atPWJK$h_C=Zzw4rusVQjZhq#d*FBeL6 zoX>Wn=#tShGb$;|O)l2^E#B^%o3IC@CVp2Zwr6fw8~#qPWDdPgsi}*l$>N?w#(Rr6 zAYJ~Ds+yX$%}GVe!4z~}kLa-D?A)B+(a>2=4)69h&en8A#!Jt%!yLp#^y!wM(fRSc z-QDQv@;4udX%|`yAR;9F&SIMPaB)8>+$`3ttI4qm38!{a}=j>8Lrn?i%h*lA_af81wK*CJrru*Hr;D=Qw zTRIIWFWW_`@truyGoyVt8(BENO_G3sf~m=Asj4_Ownb`6ii}L~)WpR0%>B}$q8>L{ zC{EDWOpL_qo9l~;CifmaD74C8fU-L(-Q##86=d;d-R}|x`#j4j7g6jDtEs7R+l_?Q z+mA1INY9iPQ19+$g6_!@N02@eDygmx+=17IK#NXiYd({+QT)@DHJn=WaR(|g(d3?$ zkZ|;p#^L<l&U4u&=lz)ALkilHef#Ef z*7cBbenD)uTviK(5;HL|xrJ>3C<%}s6?)C;g{yGv1XMc6r7QflxHxTSaB!7@;`GMG zhV5LfGBcUoe8cD5T-(Xd70XAwBBOAo(S!st7<$6Pk!h4OM;r-cfVsK(!s2CrA{)Bi z!LY_6Dm3(Nh!$Ni_N`mVT!!LixYCxR<%VrE)YJL_=`!8P5vi(%^o~4J?J_+N_2=? z=fD6P6H^fi<<C@75Q` zSXfxNggB!{hl~b}tQQp)o}ZtqWWE&U;fdXWR~Au}h#}68x!Nud$5kaBKYCPYfN$X9 z>Ka2UL395;kMplVzpE`n+vFhOy3nBT^K&n6?~4)fi^yGSy6zFWTAQ9|YAPbj*=lou zF}BlzY^M^G=t^U01A|YeE)rmc78VvA9UYUClTJ=fFKJ?S!nwcg(heE=U3IO&iD_Q; zwzq!tI!5LX4k`sma=UHM%*{dTY&wY3dyw!(pC4aC#Kpyrehryc5okwJi=Ngm`8IhT z{hFyVE&cp?hVw43ZK2!E^%ZHD*-|TF4nzJxRdpmIBLjsJp{32bINPf+AX3p)+yNBS ziuskkzrXK$bzY@)Ym17Ciqo)lzQ%IoM`x(wGt#<&jypCbSEp!)^t8083d0d?tY;xo zJn&Wdz^CN~P2CDuU>}bkKc=Cf0qClvs;c8uDjPv@zifM^Drky+l2EjSgOwHV%5jty)a>l15)y4ecZokYXzA*vz+I|+FmNcFrr>r428x6w z1_gC~4PiIz)Ya8(@IKqEt>v4FQE$+c>^C;D`^uprE(6H|Sbabu}rSrkYy2qu35uPcm!PD|Y>c(b3ULxfmMySY~$i zFNK94s_-VU@JmikPiZ84Umji9#n1Kj_O`c6hDhaTmuNAQF{x%wjE|=a*g;KAP1kMu z&8k5NQH_ll42DM|JDzdo73F<^21rF2QRYTet{G(WHlK%$$`WR`S~>j|MlzF zd2%t@1rM%9{H~=*WDE?bZ-tcHE0i+@cRf5gIXOHu@o2MKU0>JH)YOGSNpXzr?4n5E z?(R1~Be-VD6s#wT-}+r1^juw>g%VO~zkfgMCcGKiCvl%b6e`=3wei{5P?43D74GCz zRbSuceP*8?TBwvtA1j})Ztd&a8XDS@|0Z6ydkX<)BFR#X7skNR~%ypCOh_NanXCm%qxw@t%b(WfijxHy!7cNA# z9eq15Hy1Z>roqW{D@3o}o)P!w;o1N@c^A&3 zRsNZo?-2;Gqm$;gEWhh_hK4r)1;pHUsgf^lBtA0X{#@;gw@vP*damAN+<6BdKf>Mj zyL9Myk!su3ngLCWplLV3uZW!fu84=S^s$+lG@+euueV6TWR#Va!PiLUKxOjtcXfAj zzHd%R96SFO_5kDKn;!Ba)pqL3yTOOjoXKM(}C)pm2e7wNP5<5fD((815Q-^-VtPN@*wLSmR{o; zG<(Fh8WhWOCZp%(;v6<7OLb;BLtlU>GpS@e;)jt*$PU{U731CVvHnWzq$M=OtM9{wUc$%mX6&cwbMOnmC zFZcL`Sudc_#J2DJPntmg0H_0CIE8_+u&@mJ=omgFc|=JWAwz%XG=xOq%^S}w7OjN- z{(j9YwSRh6ghfRox_$yM2F0zW?l00iG&I!bY1*xXDrdhrYrC;CG0E-MvDW#b+c8MM zotl~&`DrM-E?!YZWw%?KkdTnpXCEuXymD>Fuh-=S*>-)t_2*zkRJf-1rJHIyk18)c zniC49(~~XGi?Brkd`acexVbN1zJTgc6~_cecVlItl7!U#P4GoD)ZXW~r(Ae0B9gqz=I-#Bb5_UeJ@Qjp; zi))Qh8KM?_Zo2>)xZNKsK@i`cwCk@r0_ogcYLh??VUIrPDnT4?#A>pJOkhLbX3V7v zI*{UEN%Kgug==_UoZ5+sib_jM!_seO^M`BbX=(z=x=4?{ci)lyLFd{yM_z=tG>RirKOx*dhOxy@k^Ht610|4$&g}ldOGEkC;fxvB}!%b zoLp>dL9G;{QT-F*pfmQ`ZY-W7wY0Q&Er$Wt)mB%h@mi|5y7D*9PfsT|7nFitGc(IS zgsMw&q({4J&$k$_YV%}XgS!~sdz0SC7*7L7mZ+!)*pLt z?p3t5iqq479UdMAEjm42pP!FIcl_tTl#PvT&Dcv`zIS6RuTSrKdU8@$Mn*_TC?zEY zaF!ZtqT2+n6sQEd1(a)NDDgvF9KgS;gtbe)zoE2rF2}nKjg1J*S~6L4Guit+kfR6^ zzzFJy2NNC5e0zNG)!wiNOxl{72}w!OG-6&qzlD|2+S%I=kBsasG@VtM_VhAJ<*0d9 z@q0dA9!TaQ$Lq>|74&muC6N-e<=oudueG%|1>bvnT6IE8}G4&Phc&p@Y?-MqA)Z+PX#VW*95bY>Fv&dX&hS!hLwVt8kzUH0nU zDHSI9h>(+$uT}tUh8?gBs(-bDQqbPT%}s!h?{cSpsh81=$?N7CK~Cx9>T1yBRt6tx zMO?&e@sVsilZE1EWO6q3_{`{F$JZq#~)(r?{eNG)uW~odY2E((}RWo8@V(~0h z5*hFkw8Tz-*&d%1>ESN2T zDZL@8S>m5~OuKaq5nAuwu_OEgOnrIFSzlMz>U)KHF)vh&M4lWSrHi`nws@aCdGh4?@@S+)h~>PNIP`h z;o%{;Np7?uDteI`FY85ONm+Th055M|WrxZ$M#cloWdHz%Cw%hEWO4C)vuL#6&D9yN z#UKeT4x3K7En+>rOs^hT7y8U(K(5xkZw1ok_}B%3K&%PlP%%Dx*3i)KPnU_J;s6*! zhChkc10DI0Q-7w;P7e;R4hZNdew(LV@t&H5L^6|82#hcOSht=lr7Ul3FvrTjj-gq2 z%V2haPr(yE0L z_pF)H*@>m4TR@ZPvimQN=^_wUXbpFWq;R-~jggV0aS)_7qQ7bUm0@Y@UxDs+&+hH) zv_gUUh7H!OVkJ8b4UHxZeTXCns|Nb}_uPzGa>%(_1{8@h<`~udYXpM7&(9Oc;re4~ z7A8Hl%6NMh!pN#Ium-QXeuCG2JF#T#z@yCa?p^=qnuXdrI`s>Wm$9-bx)2=s6x{wl zTPdPRAmBM=0RdQ;0#k^UtT_y@(AL%#i!F)2+uKyAcoyIX0)JpYt6{Ld0Hq09N2fkK zEbRAU#{AsM&YLEr0;rXAd{zL*VPSm$f0}B;+S(*SZUgse_4hb1?8?dNX2q_ruM_66 zB%hJKy&(P3+tX7tbnL3>>udx-22_&fVrzh>Nma_ze*oiFX+ezcBqGXEQ)iFXM_6nt z6%`Z}d0)IxS6825g>Zl9A4_R$^aSuCEqyD*?z26ZoPhd`f39p|zUTi2#G(0M5bz_j zt%fY1Ur@$CAv^v^6Ucsn)YjI<%>h$^+Du`%x`sy9OHWX%UoXqCjzAEiq6mTRTRe(= z13D{<+ZcOZ-%wFa_{sR>B(k#7NF2#cG%i54)G|3Wm4uo2Dx`!4sfd;T<_I&UDh#Pq z<%sO8B{?k#aY~`c{d0PoKDM~JTK#!E&(Y13ZsWPI^VT|GfKx7AZqhsowPxDXh=3}O zOS6H`9H1EN?1okj65`)|$LltRM*N(J8?PXzpioEKHW^VBB8%HnGa@1e7Mk2y9O?+c zS9muq1-8-kT(?T1qN2bPr*g&r^8VTG0)wSX(LJydDvlDw)j1OW(?}%0un=qN=)A0DJ3aS9Ely!J~wv`x*?%niN41ely`OsBKz7Z)v|Q~>z%gtl*IJ`F#v`f zwFa}kIKU>m{6s64}uW8f%dB_}3+lJL9!*%hIf%(?S=fSc$R?ieraDY3+* zk*zIz@_;DR7>tlaL_`Z#n28b%Dx#v|;^K=gtjn?Q)2ODV>4^z|udcOH0F%6MoP*)3?P_#) zp{Wf_zJS$%A5kuV57wE>h{UA>&>kl9-QtJ)5~ALGAPN5=XG2qyJF-JyrE-7YF%XOv z{+^iH`^r57JUl#LJT6QAqE|mWHFdh!;=N!~x!|M=T&Cz~mHG&rl-#Nc#KF&y!|QM` z`RUc!vT$&K!w=#isps)5H~R0}d>8tDA(6;3 zzmSnmNgJ1fq>*)?iq_ZH!MN`Yerqg-z}#7+@=4w4$aQN9Xt5n&r2%z}+ijdp*dHTo z_F@)@*WA23YHDim==)OooXJ$Y1}K*|U9Z7VE=__H+Br5oO?>ZORc-BjrEw>^w8N>) zEf)^qjFktl_6gW8Gc&y_2SCGPIP}&MMq9j2)T>H>5mMa>#A9$UPO4H;TpT@Vn8jcU zAb)w|A&8tN4c+nHQX3FbB_;Rhp2hbqUYj(4eS|B=-o5h-o;3dT>sK%`0foS!TbaGU z+ac+#Cd_q9idj(5ePc9dr;ddLcP_F@gvYG+BOsP&ny82f8*A%S2|wSh5a9Ii3JUJ2 zBOy8ow9f4Bs`D3kZ)ko0$kb%k#kKY1@up2qj2bW-5TeR z*~G3-GdQ4m`gD1#qRlt!(Em=hIP$}X55S#)H#VP0fiMALo22ygRv@K`S>M?~{Mk1S ze9Bx*x*VBw1YA!cZtltxC+y?_tt%XCFE->$nh`Kq^YbGCEhK2&tCXECBJe)l{&9rq z_kGKmT`sQ+$~^u=eEfV{U=&!=;*J7@D9@bB}RfZ z#$HQ8%Ieb`;MH>s=B?r5_Qx$H$eNmn@Ng;I`#3pXFo4W`v{U5<_)ACF4&Ey({=g;L z*sy}RXR9$QDJkWv{~k=`)tUzle~0cFX&8{`w1CjG82kGAH2H7OoV+&F)7E~CK?dWz z^6>OL!1zoGTHD(T2nvEJh+B(4Avw8|KQ1l*Q_TC{8}VS6m$?38O0L7n&R$zt$<5DS z0NVqD8n6oTKl8VXeBdP46syL~0WCPHb8i%K9Ni7czV$z!TmGjn{r6b2*c68F@gbrT zYIh@-M3gAP=t?AAzZ6W3j~{`trQZ-JCNMnAvff#iH8_VtH08WucDA-JczOG>1_lQ1 z1r~$K#KVh|e+Jw&2HdYbJ$F0qV{hQOozH#y_U%>Bovxl9U^c7lYT!#YE#qSS>qu4F z8wPqPQBeNN=g;SR(Mu=}UI=Thn8^Q4^T55R{`Fws4xL|OoO9GRfL~!Z$G3I}I<%;$ z2qYzbodlw`K|V=Kjha|ww9-- zFq#p<+A=mBE<^9<=U1nY69Y)#wK!LqY + + + + + + +CocoaTweet: build/CMakeFiles/3.16.3 Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      3.16.3 Directory Reference
      +
      +
      + + + + + + +

      +Directories

      directory  CompilerIdC
       
      directory  CompilerIdCXX
       
      +
      + + + + diff --git a/help/html/dir_2d70b624766e7af9f02777d40df177e4.html b/help/html/dir_2d70b624766e7af9f02777d40df177e4.html new file mode 100644 index 0000000..37ec938 --- /dev/null +++ b/help/html/dir_2d70b624766e7af9f02777d40df177e4.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/src Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      src Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  json-populate-stamp
       
      +
      + + + + diff --git a/help/html/dir_30efafad49404b27c7a8c0189efd1d72.html b/help/html/dir_30efafad49404b27c7a8c0189efd1d72.html new file mode 100644 index 0000000..7214013 --- /dev/null +++ b/help/html/dir_30efafad49404b27c7a8c0189efd1d72.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: third Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      third Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  nlohmann
       
      +
      + + + + diff --git a/help/html/dir_3e4011b093e9094a5bbfad1e0d15235b.html b/help/html/dir_3e4011b093e9094a5bbfad1e0d15235b.html new file mode 100644 index 0000000..2179c10 --- /dev/null +++ b/help/html/dir_3e4011b093e9094a5bbfad1e0d15235b.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/CMakeFiles/3.16.3/CompilerIdCXX Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CompilerIdCXX Directory Reference
      +
      +
      + + + + +

      +Files

      file  CMakeCXXCompilerId.cpp
       
      +
      + + + + diff --git a/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03.html b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03.html new file mode 100644 index 0000000..5dbe863 --- /dev/null +++ b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      favorite Directory Reference
      +
      +
      +
      +Directory dependency graph for favorite:
      +
      +
      src/cocoatweet/api/favorite
      + + + + + + + + + + + +
      + + + + + + + + + + + + + + +

      +Files

      file  create.cc
       
      file  create.h [code]
       
      file  destroy.cc
       
      file  destroy.h [code]
       
      file  favorite.cc
       
      file  favorite.h [code]
       
      +
      + + + + diff --git a/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.map b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.map new file mode 100644 index 0000000..a7dd389 --- /dev/null +++ b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.md5 b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.md5 new file mode 100644 index 0000000..4a61797 --- /dev/null +++ b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.md5 @@ -0,0 +1 @@ +cfbe9d2265fafb747fd0f41131b0c88a \ No newline at end of file diff --git a/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.png b/help/html/dir_4c1fc4c0ab0da9ccb6d8740879749b03_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..3f105b4d64ef65ab0d98a620cd7bd80b565beba9 GIT binary patch literal 8855 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 F{s(1RkrMy_ literal 0 HcmV?d00001 diff --git a/help/html/dir_4fef79e7177ba769987a8da36c892c5f.html b/help/html/dir_4fef79e7177ba769987a8da36c892c5f.html new file mode 100644 index 0000000..388ac86 --- /dev/null +++ b/help/html/dir_4fef79e7177ba769987a8da36c892c5f.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: build Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      build Directory Reference
      +
      +
      + + + + + + +

      +Directories

      directory  _deps
       
      directory  CMakeFiles
       
      +
      + + + + diff --git a/help/html/dir_63772b626f2709090f0bdca0f40827b4.html b/help/html/dir_63772b626f2709090f0bdca0f40827b4.html new file mode 100644 index 0000000..a994f6a --- /dev/null +++ b/help/html/dir_63772b626f2709090f0bdca0f40827b4.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/CMakeFiles Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CMakeFiles Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  3.16.3
       
      +
      + + + + diff --git a/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..0a9cde3 --- /dev/null +++ b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,100 @@ + + + + + + + +CocoaTweet: src Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      src Directory Reference
      +
      +
      +
      +Directory dependency graph for src:
      +
      +
      src
      + + + + +
      + + + + +

      +Directories

      directory  cocoatweet
       
      + + + +

      +Files

      file  main.cc
       
      +
      + + + + diff --git a/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map new file mode 100644 index 0000000..00ad8cd --- /dev/null +++ b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 new file mode 100644 index 0000000..4210e70 --- /dev/null +++ b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -0,0 +1 @@ +8ceda9d941caaaa0fb900d92a5e51b23 \ No newline at end of file diff --git a/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/help/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..f0cdf46630fc56707e44777539cc18d3fb43a52d GIT binary patch literal 1947 zcmah~c{Cg77LOVfRZd%)DuUXoN~tz#snS?tODpyuDy^ESz4j&P5Km2orX3}gdX;01 zJrhwXDM~CwMjr;FmXuhMsA^)1dYSj{d((IBx%YSOx#xWMyWe;3{bk>BbC8o!mH_|& za!^Nzy9jqgdhh5Fk=<~9-6aCaU}pyi;P5Z`XJ^%O06^*%6k_9%Si+sfxWL(Jj7>IE zM)`J_3-b%PUO5^n$Ls@$H9R{Zc_HMIjfRc>KvXvM>bVY`4)AA&Jr7j)XtOM{O+ky!$)(3aJNbnzcGU`tal*r7R*vt_ioCGf_w!o@MDBLg) zz%y?~;r>2R7v_?m?+Ukg=7O7K{IKhfl{E)^MsL?g2@SF12l8C*gBDI@^a*x4zxC>? z(=30ACYHwg-g)1tN&gjTd~JDo8P{=LXy;)owU~agoxw5&9*cSHuZb_QN{J5%`G>JU zxVtqrHrC(YZu@p=h$Wjfsjq191f0JE1&HklGgho=}9!<*waG2f+6iP z3_3nOUZ*W35I2tv^zyoDY8uNPQ7s;>bg$Xl-#>%u?d^rb;XOS)N>6%MV_)RwA7l?$ zSy`d!7&MwjBCStT9)yR7=QN)MM^t;%lDr%D4$$POlKlKD#>NX#WZuW&zqs14D)?e6|8 zuyKROGrV{)4JCdeTkG1jsZi6GX3@d1vA@x1G%A(a(lQoms-&c3(&ukDS&yK;v`p%5 zM0$Jc;vLnjlC|)TAFnld=ufT>AP~WuFD@c%6F7gIQEK(9ck|uLl`li@ZJ%=(1ELHI zh*auK@ELDC!R5Zep$i$U0UGI1_S6}!CO&kImgX!~>Q?1r@M7SuFe`P!tqRV(+vnrp z;1ClNlbC46h?dOgT8im>D6fp`3pEvNZ&y`TE-x+d`FvLxtk^{dXWs)PPle?)udIaT zvdnT%W<%8S7!gz>uv!~ir+<;PG>4w?f^X&38BhX|n?pwDo|OHPoy`K7sl?+QwF)*6 zA-HW11>1swyMc`fqNJ-qVPPCm(_yZ40gDR@=cOcE(E^Sy6bf~9#m#U9yQy+=azY6( z%0TPWAq|eR|1de3u+5w0a5$YQ+xB*L0qwCriu|nOs=+zE3`Q0f`zCR-n+`#vzs0a3 z8|l$$J9oY%%%w$|ek;M_`M*059zG-sMU@IO+RO-(>y#;-0wgQ#6cz;Y_b>4x)mK*o zRaHxiirQnAoM5m#+gJVX-&-c|N@lq6=B4b>veDt;e5Z2omXnQ0Hf%u|x4hWcj}j}t}YZK*SK$bW=1qi@}TQ=?lt8^BEruP>n8f^xVSiNZEcGL zUR`bNqETDYX+!@NE_b#y{On<^qmPeIa`N6pJz{rgT{I1O3^LFhRaa4=t)Za-27^sZ z+#4s?W80gWniTuyd@vbK&ie?+yN1O@|JVLshQV^Ku3&1UJSN2tg<6*a=~?e;>7Iug zTUr+4qr(oU`llFl0M*IP&aM$jR{U7Eo|j@Iw7JII zlWsEk&O-dZp*!IbL0{>JbAUIxM^yH@@xKu&1#cT(pTDRAl@%z3N=L2Gs)53X7H_it zZY8Vl#C@%T1yCdB{GZeV>c&1)84?WanHuRgsXp%&6?HR3B;jK+C2g~nISWz^%ILoG fKltZ6)U;!CjH>EZ&D0GPu`K{<=LTu84NCtv|L&}r literal 0 HcmV?d00001 diff --git a/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a.html b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a.html new file mode 100644 index 0000000..f47e4f8 --- /dev/null +++ b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: test/api Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      api Directory Reference
      +
      +
      +
      +Directory dependency graph for api:
      +
      +
      test/api
      + + + + + + + +
      + + + + +

      +Directories

      directory  model
       
      +
      + + + + diff --git a/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.map b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.map new file mode 100644 index 0000000..cdc2db7 --- /dev/null +++ b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.md5 b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.md5 new file mode 100644 index 0000000..5ec67fc --- /dev/null +++ b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.md5 @@ -0,0 +1 @@ +0c63bc50b153cef29061b211b2272611 \ No newline at end of file diff --git a/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.png b/help/html/dir_68d9d37faf938ef4e7c82b587d705a9a_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..6aadfc8dc1ebc608a3b9025843acb530ff7d5519 GIT binary patch literal 3861 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 BWIzA_ literal 0 HcmV?d00001 diff --git a/help/html/dir_79efdb59f6a5ff44918633d20e92653c.html b/help/html/dir_79efdb59f6a5ff44918633d20e92653c.html new file mode 100644 index 0000000..28e164e --- /dev/null +++ b/help/html/dir_79efdb59f6a5ff44918633d20e92653c.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-subbuild Directory Reference
      +
      +
      + + + + + + +

      +Directories

      directory  CMakeFiles
       
      directory  json-populate-prefix
       
      +
      + + + + diff --git a/help/html/dir_7ab4773fac486c7995104695845818e6.html b/help/html/dir_7ab4773fac486c7995104695845818e6.html new file mode 100644 index 0000000..5f76d07 --- /dev/null +++ b/help/html/dir_7ab4773fac486c7995104695845818e6.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: src/cocoatweet Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      cocoatweet Directory Reference
      +
      +
      +
      +Directory dependency graph for cocoatweet:
      +
      +
      src/cocoatweet
      + + + + + + + + + + + + +
      + + + + + + + + + + +

      +Directories

      directory  api
       
      directory  exception
       
      directory  oauth
       
      directory  util
       
      +
      + + + + diff --git a/help/html/dir_7ab4773fac486c7995104695845818e6_dep.map b/help/html/dir_7ab4773fac486c7995104695845818e6_dep.map new file mode 100644 index 0000000..51f39a4 --- /dev/null +++ b/help/html/dir_7ab4773fac486c7995104695845818e6_dep.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/dir_7ab4773fac486c7995104695845818e6_dep.md5 b/help/html/dir_7ab4773fac486c7995104695845818e6_dep.md5 new file mode 100644 index 0000000..44c08c3 --- /dev/null +++ b/help/html/dir_7ab4773fac486c7995104695845818e6_dep.md5 @@ -0,0 +1 @@ +07de87d89e09bb3b8f3fb649b2b7f4d1 \ No newline at end of file diff --git a/help/html/dir_7ab4773fac486c7995104695845818e6_dep.png b/help/html/dir_7ab4773fac486c7995104695845818e6_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..1728505fa355e7dd8c2e3dc7aef729ee22da6d6e GIT binary patch literal 10345 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 + + + + + + +CocoaTweet: build/_deps/json-src/include Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      include Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  nlohmann
       
      +
      + + + + diff --git a/help/html/dir_83bb4264a967bda825f8e2a6706cdbe3.html b/help/html/dir_83bb4264a967bda825f8e2a6706cdbe3.html new file mode 100644 index 0000000..d10860c --- /dev/null +++ b/help/html/dir_83bb4264a967bda825f8e2a6706cdbe3.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      exception Directory Reference
      +
      + + + + + diff --git a/help/html/dir_8aa1ed3b12087951e6a0c9105a0a98a2.html b/help/html/dir_8aa1ed3b12087951e6a0c9105a0a98a2.html new file mode 100644 index 0000000..614271a --- /dev/null +++ b/help/html/dir_8aa1ed3b12087951e6a0c9105a0a98a2.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/_deps/json-build Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-build Directory Reference
      +
      +
      + + + + +

      +Files

      file  DartConfiguration.tcl
       
      +
      + + + + diff --git a/help/html/dir_99f78c8e628118007b622946f3ce3340.html b/help/html/dir_99f78c8e628118007b622946f3ce3340.html new file mode 100644 index 0000000..da198c4 --- /dev/null +++ b/help/html/dir_99f78c8e628118007b622946f3ce3340.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/CMakeFiles Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CMakeFiles Directory Reference
      +
      +
      + + + + +

      +Directories

      directory  json-populate.dir
       
      +
      + + + + diff --git a/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892.html b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892.html new file mode 100644 index 0000000..6b2c5c3 --- /dev/null +++ b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      oauth Directory Reference
      +
      +
      +
      +Directory dependency graph for oauth:
      +
      +
      src/cocoatweet/oauth
      + + + + + + +
      + + + + + + + + + + +

      +Files

      file  key.cc
       
      file  key.h [code]
       
      file  oauth.cc
       
      file  oauth.h [code]
       
      +
      + + + + diff --git a/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.map b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.map new file mode 100644 index 0000000..2818af6 --- /dev/null +++ b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.md5 b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.md5 new file mode 100644 index 0000000..875205d --- /dev/null +++ b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.md5 @@ -0,0 +1 @@ +9aa4fb4263586a868b96b8055d85bace \ No newline at end of file diff --git a/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.png b/help/html/dir_9ae0892d9c56e7b9f2ab4a1221d08892_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..5ddae403507e27c4e1fbd481c329faf702aeebf0 GIT binary patch literal 3118 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 + + + + + + +CocoaTweet: src/cocoatweet/api/model Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      model Directory Reference
      +
      +
      +
      +Directory dependency graph for model:
      +
      +
      src/cocoatweet/api/model
      + + + + + + +
      + + + + + + + + + + +

      +Files

      file  mediaStore.cc
       
      file  mediaStore.h [code]
       
      file  tweet.cc
       
      file  tweet.h [code]
       
      +
      + + + + diff --git a/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.map b/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.map new file mode 100644 index 0000000..2410c49 --- /dev/null +++ b/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.md5 b/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.md5 new file mode 100644 index 0000000..b31b8dd --- /dev/null +++ b/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.md5 @@ -0,0 +1 @@ +1ceb76bb184f79dcbc7c1137356897c0 \ No newline at end of file diff --git a/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.png b/help/html/dir_9cf5991ce8de267a99f538b490a27ef5_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..190bec365058ba5c9df512bcdf7de664e2530bab GIT binary patch literal 3284 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 FKLI_ahCl!S literal 0 HcmV?d00001 diff --git a/help/html/dir_a4143d9535409cad0db9157922ee0522.html b/help/html/dir_a4143d9535409cad0db9157922ee0522.html new file mode 100644 index 0000000..7882f85 --- /dev/null +++ b/help/html/dir_a4143d9535409cad0db9157922ee0522.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      directMessage Directory Reference
      +
      +
      +
      +Directory dependency graph for directMessage:
      +
      +
      src/cocoatweet/api/directMessage
      + + + + + + + + + + + + + + + +
      + + + + + + + + + + +

      +Files

      file  directMessage.cc
       
      file  directMessage.h [code]
       
      file  new.cc
       
      file  new.h [code]
       
      +
      + + + + diff --git a/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.map b/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.map new file mode 100644 index 0000000..168d0a5 --- /dev/null +++ b/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.md5 b/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.md5 new file mode 100644 index 0000000..82f22fa --- /dev/null +++ b/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.md5 @@ -0,0 +1 @@ +092cc4d85e662b740cd71ff188576fa0 \ No newline at end of file diff --git a/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.png b/help/html/dir_a4143d9535409cad0db9157922ee0522_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..ecbc811e4606778973391ba0126b7efd591bb0e8 GIT binary patch literal 14243 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 literal 0 HcmV?d00001 diff --git a/help/html/dir_a57a94e38c03835eed49274b75b0176d.html b/help/html/dir_a57a94e38c03835eed49274b75b0176d.html new file mode 100644 index 0000000..154dca3 --- /dev/null +++ b/help/html/dir_a57a94e38c03835eed49274b75b0176d.html @@ -0,0 +1,90 @@ + + + + + + + +CocoaTweet: build/_deps Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      _deps Directory Reference
      +
      +
      + + + + + + + + +

      +Directories

      directory  json-build
       
      directory  json-src
       
      directory  json-subbuild
       
      +
      + + + + diff --git a/help/html/dir_c06befe8754771f97f430fe979ad2856.html b/help/html/dir_c06befe8754771f97f430fe979ad2856.html new file mode 100644 index 0000000..e41bd02 --- /dev/null +++ b/help/html/dir_c06befe8754771f97f430fe979ad2856.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: third/nlohmann Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann Directory Reference
      +
      +
      + + + + +

      +Files

      file  json.hpp [code]
       
      +
      + + + + diff --git a/help/html/dir_c3fa62a8cff70d54181bfe4edcf32bea.html b/help/html/dir_c3fa62a8cff70d54181bfe4edcf32bea.html new file mode 100644 index 0000000..98c7b9d --- /dev/null +++ b/help/html/dir_c3fa62a8cff70d54181bfe4edcf32bea.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/src/json-populate-stamp Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json-populate-stamp Directory Reference
      +
      +
      +
      + + + + diff --git a/help/html/dir_ce57668a0aec1228559c5babc6601945.html b/help/html/dir_ce57668a0aec1228559c5babc6601945.html new file mode 100644 index 0000000..4ae634d --- /dev/null +++ b/help/html/dir_ce57668a0aec1228559c5babc6601945.html @@ -0,0 +1,128 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      status Directory Reference
      +
      +
      +
      +Directory dependency graph for status:
      +
      +
      src/cocoatweet/api/status
      + + + + + + + + + + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Files

      file  destroy.cc
       
      file  destroy.h [code]
       
      file  retweet.cc
       
      file  retweet.h [code]
       
      file  status.cc
       
      file  status.h [code]
       
      file  unretweet.cc
       
      file  unretweet.h [code]
       
      file  update.cc
       
      file  update.h [code]
       
      file  userTimeline.cc
       
      file  userTimeline.h [code]
       
      +
      + + + + diff --git a/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.map b/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.map new file mode 100644 index 0000000..5304a11 --- /dev/null +++ b/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.md5 b/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.md5 new file mode 100644 index 0000000..472fd8a --- /dev/null +++ b/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.md5 @@ -0,0 +1 @@ +840b7c16da437495304e6d3d47b21949 \ No newline at end of file diff --git a/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.png b/help/html/dir_ce57668a0aec1228559c5babc6601945_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..89a0879ed43665efe312c5731a0427c10f45ef70 GIT binary patch literal 13719 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 z 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 literal 0 HcmV?d00001 diff --git a/help/html/dir_ceaf37d45d7af60067755dfeb40fde64.html b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64.html new file mode 100644 index 0000000..41d97ee --- /dev/null +++ b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      media Directory Reference
      +
      +
      +
      +Directory dependency graph for media:
      +
      +
      src/cocoatweet/api/media
      + + + + + + + + + + + + + + + +
      + + + + + + + + + + +

      +Files

      file  media.cc
       
      file  media.h [code]
       
      file  upload.cc
       
      file  upload.h [code]
       
      +
      + + + + diff --git a/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.map b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.map new file mode 100644 index 0000000..6586e90 --- /dev/null +++ b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.md5 b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.md5 new file mode 100644 index 0000000..c8e2205 --- /dev/null +++ b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.md5 @@ -0,0 +1 @@ +833683433409922a1170a434ecb4d8c9 \ No newline at end of file diff --git a/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.png b/help/html/dir_ceaf37d45d7af60067755dfeb40fde64_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..86c49dac2c382d0472c5d09d35ff82e485f009a4 GIT binary patch literal 12629 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 TAP(XGNubC}D@o-`yz&2Eh-(rY literal 0 HcmV?d00001 diff --git a/help/html/dir_e9d2c87952e388da8e570b477721a3fc.html b/help/html/dir_e9d2c87952e388da8e570b477721a3fc.html new file mode 100644 index 0000000..38e3ff3 --- /dev/null +++ b/help/html/dir_e9d2c87952e388da8e570b477721a3fc.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: build/CMakeFiles/3.16.3/CompilerIdC Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CompilerIdC Directory Reference
      +
      +
      + + + + +

      +Files

      file  CMakeCCompilerId.c
       
      +
      + + + + diff --git a/help/html/dir_ef921c9c7afa4ede73f5526ef5f0e87a.html b/help/html/dir_ef921c9c7afa4ede73f5526ef5f0e87a.html new file mode 100644 index 0000000..8279f19 --- /dev/null +++ b/help/html/dir_ef921c9c7afa4ede73f5526ef5f0e87a.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/tmp Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      tmp Directory Reference
      +
      +
      +
      + + + + diff --git a/help/html/dir_f91a90d4f7f2239d1002731883d1939d.html b/help/html/dir_f91a90d4f7f2239d1002731883d1939d.html new file mode 100644 index 0000000..ee1da72 --- /dev/null +++ b/help/html/dir_f91a90d4f7f2239d1002731883d1939d.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: src/cocoatweet/util Directory Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      util Directory Reference
      +
      +
      + + + + + + +

      +Files

      file  util.cc
       
      file  util.h [code]
       
      +
      + + + + diff --git a/help/html/directMessage_8cc.html b/help/html/directMessage_8cc.html new file mode 100644 index 0000000..87b28a4 --- /dev/null +++ b/help/html/directMessage_8cc.html @@ -0,0 +1,117 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/directMessage.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      directMessage.cc File Reference
      +
      +
      +
      +Include dependency graph for directMessage.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::DirectMessages
       
      +
      + + + + diff --git a/help/html/directMessage_8cc__incl.map b/help/html/directMessage_8cc__incl.map new file mode 100644 index 0000000..229e2ad --- /dev/null +++ b/help/html/directMessage_8cc__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/help/html/directMessage_8cc__incl.md5 b/help/html/directMessage_8cc__incl.md5 new file mode 100644 index 0000000..b2b81bc --- /dev/null +++ b/help/html/directMessage_8cc__incl.md5 @@ -0,0 +1 @@ +b2004bebcfe97a9a1bb446a80ceb7f18 \ No newline at end of file diff --git a/help/html/directMessage_8cc__incl.png b/help/html/directMessage_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..dd15896cc4ce15de250d92cb91c14c533b03b7c2 GIT binary patch literal 68754 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 LGA|26-hB8!x#p%C literal 0 HcmV?d00001 diff --git a/help/html/directMessage_8h.html b/help/html/directMessage_8h.html new file mode 100644 index 0000000..811b759 --- /dev/null +++ b/help/html/directMessage_8h.html @@ -0,0 +1,135 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/directMessage.h File Reference + + + + + + + + + +

      +
      + +
      +
      directMessage.h File Reference
      +
      +
      +
      #include "cocoatweet/api/interface/groupInterface.h"
      +#include "cocoatweet/oauth/oauth.h"
      +#include <cocoatweet/api/model/tweet.h>
      +#include <vector>
      +#include <utility>
      +
      +Include dependency graph for directMessage.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::DirectMessages::DirectMessage
       Entory point for statuses/*. More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::DirectMessages
       
      +
      + + + + diff --git a/help/html/directMessage_8h__dep__incl.map b/help/html/directMessage_8h__dep__incl.map new file mode 100644 index 0000000..6b4453f --- /dev/null +++ b/help/html/directMessage_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/directMessage_8h__dep__incl.md5 b/help/html/directMessage_8h__dep__incl.md5 new file mode 100644 index 0000000..1e7e8c8 --- /dev/null +++ b/help/html/directMessage_8h__dep__incl.md5 @@ -0,0 +1 @@ +a02f54ab41da0a9a9bce689123252482 \ No newline at end of file diff --git a/help/html/directMessage_8h__dep__incl.png b/help/html/directMessage_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f038913fcfeb8282343d62596118f4452a42c0e4 GIT binary patch literal 14361 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 G@_zx6!v_uk literal 0 HcmV?d00001 diff --git a/help/html/directMessage_8h__incl.map b/help/html/directMessage_8h__incl.map new file mode 100644 index 0000000..5679685 --- /dev/null +++ b/help/html/directMessage_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/directMessage_8h__incl.md5 b/help/html/directMessage_8h__incl.md5 new file mode 100644 index 0000000..70dcdb0 --- /dev/null +++ b/help/html/directMessage_8h__incl.md5 @@ -0,0 +1 @@ +bde2726ecc9f396044508cf6dc6f080a \ No newline at end of file diff --git a/help/html/directMessage_8h__incl.png b/help/html/directMessage_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..92cfc395c9ed6d19486917f48e7cb4e5a2310516 GIT binary patch literal 35116 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 z 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 KvSrd{!T$q0g#&8< literal 0 HcmV?d00001 diff --git a/help/html/directMessage_8h_source.html b/help/html/directMessage_8h_source.html new file mode 100644 index 0000000..cebdbce --- /dev/null +++ b/help/html/directMessage_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/directMessage.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      directMessage.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_DIRECTMESSAGE_DIRECTMESSAGE_H_
      +
      2 #define COCOATWEET_API_DIRECTMESSAGE_DIRECTMESSAGE_H_
      +
      3 
      + + + +
      7 #include <vector>
      +
      8 #include <utility>
      +
      9 
      + +
      11 
      +
      13 class DirectMessage : public groupInterface {
      +
      14 public:
      +
      15  DirectMessage() = default;
      +
      16 
      +
      19  DirectMessage(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      20 
      +
      21  void messageCreate(const std::string& _recipient, const std::string& _message);
      +
      22 
      +
      23 private:
      +
      24 };
      +
      25 } // namespace CocoaTweet::API::DirectMessages
      +
      26 
      +
      27 #endif
      +
      + +
      Definition: directMessage.cc:4
      +
      Definition: groupInterface.h:8
      + + +
      Entory point for statuses/*.
      Definition: directMessage.h:13
      +
      void messageCreate(const std::string &_recipient, const std::string &_message)
      Definition: directMessage.cc:9
      + + + + + diff --git a/help/html/doc.png b/help/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/help/html/doxygen.css b/help/html/doxygen.css new file mode 100644 index 0000000..73ecbb2 --- /dev/null +++ b/help/html/doxygen.css @@ -0,0 +1,1771 @@ +/* The standard CSS for doxygen 1.8.17 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, p.intertd, p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #FFFFFF; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/help/html/doxygen.png b/help/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/help/html/dynsections.js b/help/html/dynsections.js new file mode 100644 index 0000000..ea0a7b3 --- /dev/null +++ b/help/html/dynsections.js @@ -0,0 +1,120 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +CocoaTweet: src/cocoatweet/exception/exception.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      exception.h File Reference
      +
      +
      +
      #include <string>
      +#include <exception>
      +
      +Include dependency graph for exception.h:
      +
      +
      + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::Exception
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/exception_8h__dep__incl.map b/help/html/exception_8h__dep__incl.map new file mode 100644 index 0000000..b2d5fd8 --- /dev/null +++ b/help/html/exception_8h__dep__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/exception_8h__dep__incl.md5 b/help/html/exception_8h__dep__incl.md5 new file mode 100644 index 0000000..cb96667 --- /dev/null +++ b/help/html/exception_8h__dep__incl.md5 @@ -0,0 +1 @@ +781ce4669916160e0d0b33785c005835 \ No newline at end of file diff --git a/help/html/exception_8h__dep__incl.png b/help/html/exception_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8cc50be86edff0bc0e96cb842c2447be1c80df GIT binary patch literal 35301 zcmb5WWmuJ6*EYInq#L9K1?dp!kPr|F1r(%9De3O+5>Y`q6hs zlE4>ClluyChzsPO%!a%K1cDK9Pfl9XJ#}Ns%UfgrOln8#W$t0_;q?Z?)ev1CY#H47 z`erip`j!_F!)!FZ4v|jm?3v1QSZfD#PO)FEsA6;y-No99${x01!XPW-!qBm}zip$$ z^YiTG;-7PDk?S^|H*8)m?|X}%Sfr$;dJpt?u(DRdeJEjG={eC z`}`Fzp&;awE&7ce{o!kOgxS-lb5a+_ge%I( z+atb}8V5C`NDIunr;;KsHimZW|HozF{e7p)x0RFQ4(&m?ydmnZA0HL$4Emi9Pk;G) zk2HTTEIf3h@pMbpz#zRLWhn18ht_<8nxsSbira4=EN#1sDw_%W37hKg`FAhh(aieq znhd>o_4;+z`}Y{6tg01m8mR<_beHQYf+OT5guLHy`LXk}(=xjmNdW-?MmDx9agrxD zNk~ai5FC#S@5swzs%A*W1O}ptA1@|!cXv0((uvvsUVT_mQ861zW82IeCyuJ7riN%9 z%29}qk4K4+3#_WDl1#LD{=9v?q$xImRSgx9tCkUK_-CGSXKxS9zrb_j)1YLOX;-W? zQ~aIx>c;1Pj-2Q&=0x>EcRaI&jm=#pB^-LcKMo%> z*%7OUzSe_HHWO6_r^QV!Bcr3n9g*bPl~&}-18KMj_odfb4<0=VnK?hGexdaKY^y2Y zhn?q?lcVDUZEaW~Z1IC{rb*%+jv1SV@EY5?O+km>&38(MBFQ;;otBkTC4H!mkB_l& za9Yeo?V5zscb5lTh-ovj;E^wEks zV@sWWAKcmPVpzycv2D#&NwGiw3;}9<#Oz{ELU?pEnOK!tx_HFz-_G4;{0?X2 z=U6IH=h+!*$vGrJ?w5h3S)25KnS8H@chVKcR@A+Pa z>Bae3&C(m)Qp;hMD8Wl-jz6^R(dO#}{d7F%n(}jKacHh@I7( zxcL?=2049wy5F8>r3}`e@e%LT*}&!<#`WFiz-l|c2+cfqkvcj)z6K7#s+QhP=(~gV z>eZ{+cm?{F-G#0)qZZUuaSsx(KTHHH|9nA7W9#X56OZILa$_-YDKcwnsC<2W&!!m| z80;$XmrrdoSHk1sx<>Lf%FKF53U#Xq_V@R{)i^K*1_ok!r(u4wMQB%85dSkgjDqNU z!_}6T;Ty@U5UX83?Q?a*y25?eB$`2r9$|mFSq-j3_o1LbR#CCre^C0;-I=2<;Uk-m zlamu~eY~VAP z8yXzuT0QX;@{h=RQ73n5=;f2*^iR=i2e1~_5H6F0w%w*va?YUMAXzc4F*yhU4jAv zv+olPT1))Sto59}+}`>1s}+mEn^Bbm{Z6W9*CcWW9Tw!lIE;T(Sc22bC@Nx4`(60l zB*STMZx5fi5wEy2q`)AZ_29QooP5sD!}G@UrjAd`Blsp)B3YwL^Tg?iT0_qq{zoRw=UeiuIbSx~xQByH7v1{0<-rnAfiG2>s{Z}_8ss~NPz%n0bYN9t7 z@JzpX`4VtlkXF*0N+VAd!$_Ix&)K#g<%N*Vc;S;zrBC}PUL_{xeELMXGLY7GvcEnw zH6<~7HkLl~19{(KZd-CTHe3MZB1pq8X*w5;jEcgVJPdjwWK<}E^iFv5jj1}y%F4=` ztbhj-!(kF*UUn-)m*VK2)NNm8>xO*520~#3Uqv<{3T*9~lZB z7nC_JDb@e}=YEoupCkm)Q1Jh06Ph<%x}ghQaSLyBZCfB9BM^?Yv}|l__HJ$p@G%G@ z*m?_V>raXVh-PFoTV1sfKl?pgvk)t`^TWDiZcNuMM30+cAVBb-KZ; z%(xBH-P4mvLW1sa(uq*;`8P(@oROJxnh!pRQu{fX=QE9TQItHL0M@ZzQiP(05l<%k zB=CQqkRYRWylDbVx(~h2;YChDGkdCZ^FAa*kCguh=fN7Y&qwX0|P?`QxKj? zoqwwLr-_YEtNa`f#is!y|6y&0eaQgyC1NkxO15-QZ!bw+M^@HcBl9H%QD_Tnzx;%o zuyGY`q^T7DAq~|3GAq4)!1K*1^vkE0-%{m3K3#4R{c)joz@X%5|G(5Fn=kNRRzrgf zw&%x#en0B2UOrbYsPz)viA7$WZq*Tbcz7Jx$~QeO){9V+JZ_(dji{Qdny~$(5p`(< z;i3QXBS)&IPoG*?TDAaeY)+9~UO+Zq3`PVp-gX<)N_di8y?XV9;&s5FF1SdC#ctw? zsw$=%H!$L)&V@DE$=BA_N=-U&3Uw-RoK^-f5cR)$IX-;+*lOo@s;l^3y`r+x81Plt z^Y=}_EBiKlAtdMr_Wlij7eI-7lsvhkuy>LeOqHIx-Rm8GpAM4(YRVa>{(qJOKq~XN{1K zrdw@$_ujoL1PqeV5HpM+e7{hN$*V~bv}rxwTPXvt-T3|qtEZ<&*kx_Re_c?-eilLR zy(10oPbf6)&OBE5B&f4fUi{+Eo}!XcYw~UD9iV0=6IC{ktDm-o;v@F~)_Av*#xAp} ziUQuZTzh#~O{xRvtJB6z6GQc+Bd(y$53`}r^w7`ZmuC0S@Go~S4@ypE@e*p86A%(& zmXcxs0wW8?+<3CaA-+GNfsKnBR9!7Z?|Wpdsi}#KrU+h_HBHVZ<>>2UMQz)D7hZ*i zP4v>z(g;M1d{B-;oXMBu+u;!r0VO3ozybXG`}?JfXb==!I>EqZ+`YU^zn4G7#>el7 zXI8+h`PNh&pToSI@>~86ldJifkvls(25}`HKT?l;2CU}X z!o|gf<=D)ux|=g}hb2L}=y6mvFna{T%G#QkmKG0zjg3vTeYmrOKsdX)9@I`}asS6m z{`%+!-anS`*QN~;{5!b#wWjp-@U&p%bobWE;cXXi?we`~7_kS5|p?%NCT z3bs{l374)-OOZ#8bmQ`%?(RDX{}v;E13LtwqQZGLif3ScDUr~4D0`fU;X+`!{}_L) zaeJYQe`U<&2VuvsHo~oFmBj%wdv0iJ*||1+4l0KUx*0&b?$bSK_}6dWBK#4AUIIRH zi_6PQ0siJazpZ!NjSBKQ%aTG}t1mvRyhKukpdQWVU2=s9SFD`nI#dzZB1XEoH2d>7m1E$8) zV)Q3ZDDCG0F)@P>Zf;kdMNu$=_=Z>#?{}cnUM|KHR$_GNQa5I#f#`+E4@W0cbGdFD z@kpMml70T{9ORjrl0p`UK*y?X?#e??5tO*q%0;ISxD-@ZCk8>tcsmz?KnA1t_Y+OF zCTkCDBm34iMj(Nik!I0gx^|6p#@CBj$A;#e`jyE^v$M|Fx;i{HNfE-PBaFY+$h3y5 za9LFN9{zYD^yN#@kr4s?^P%kA+VI1MF9FZQH_ zO!n6@vZ|^~-w8b(fmk*7*1Yp^Yf!POtgKjaa^Tm=jkuRDZ_RIF2JsrHtKHNl-TjD{}ysNq7l2ee}DbK!y!c4mXdi>QAz6MFOv&_vA+b2yQtuP zSZL_uD2_iWbmya^Iu-&dH+k$zYkFs9W@z~MS{g*pO-%x`G}+;O(CzFFeKWMUw|%Ht z;uRU=5jY{N^q#Ape>Tje{AK2z?%Cu9*vvFeO{-+~iHkdbtJzg8G?2jZJMQz_Sx&hK zXfY~P?0j;|HWi0jzRk^`$1L~0zJS*&-$+_?yc!tj-5z^BGII07D9+8-I3GsO!($2L<>VMA zC*NsJRh9Dk?b_vQq9Ps?ob7%ybt-fI>Fn;lBM{TAXYqkytXSVajG+<5uE_`8?_@Y} zb?u)gDkR-zB!A8irK-Xo6;*vA672SA5^DEiDvQL+=QH6eiBhqMjD>~3WF>%QiX(2 z&h&|WDUa`df$r{X(5KxoUBfwu%7mg~b(}BJTUr`#auvyXdw+0G0h9W3))1ds*tzk& zVcc5MNBiDAI;H#T?L%^gK9Bs}riZla^OE8i`D2(OV+GH)<5pK06|cV}o}#>@C0aq3 z6wgsOElpJOv0!Gox|aybSO1UfMM((ct!WIu&aR)H-U^S#lhIC+8nN8UH!5-}vr?2N#4$ z8$d`CWe!!$PJ3Mh78X_p8D!{j*XdEVGvwz#e4JP&c#>IBL4e$cwF1;vuSeUAcw^-p z-P~lglbY_fGP1B}r}}b=ieeiWoT*8{_5+iCc}YpKALfl#y;WHs@{0A_BdAK(IGgm| zlZ)bTdBna@AvN$VOVWHm?$4H61{B^@b(PJ5l7|PQlg}^664B5^e*0$B-WduNyRQRW zuKLs}G>AL-zpI??>#3RN;VHzDWqw#CiHx#-sQm#r3qCtX2^mUa-_yhywBWutk{8L; zmU~rr&wfikeVWsu`7HOaHZYL7{;UeKsHj1KA&CUjs#Y#?)j z@BaAsn9)8DB#e78d(i9k`$ zN5Fr{WrxY3D!$J(Rb%Cr()lsr^FW6hC8Aw;t?P>lPQGSfadE)J+%ijB^6kByZf2o4 z=UZX@KfK;~I6{TdpfG5DZjNP4d{yLxQB;%)eBedjQ`c!EU0`y2OnaFZ28}r>;cMhI z<>wR>7SeBS>d*gLc5>`$M_)KuPmq6CQ}Rjaew2)11j?+E`fTq7>Tl1h@6>PC*Xt0` zP2mewf0d+{;OEx=1@SGwM8VImSZ{~(4$*acr&~tz?V?A=A~V?G<@`4gj3OS+V%;`3 zgtY_rR>*6ddvHmvFve3Ek|L=3-^-kzrzMHkx(4fh*Od#V(AQ@-Gq09rx~gXa^h{Jj zUH!R~V>1QP&60l{V!tZpru+D@g5nC=uwp@Ks^hD~@tmTf!_&gbAuNE=ox>FiO5`1u z$6iJTY{b{e$$;Kod3avb-l>+RKxTP4@$1)}O=4mtdYg1)i$SHOh~O|RMt*)GV`CKX z9mqm!}($H=UE0#wQ?_3l~NY*M+; z^+6y6=qq#EZVQj1nKBFIN)^$F5OFfVK>S%ZR5NZ3wim0ma7UMJe#3PUHg0%98G1l| zCvfJ%_v#zYTG#d;f-kbObqaM4QO?h{y&;pL!VC3%LxE7-Ia%-Hvwn=K$$l|pwfy0y z_3r>S%Yq>RT{<88_x|Ng!Y9q62^C03ERMd!63U@*@rz|zw#pPt^$KYzqG zYi#K(Y11H5(zJtFX8`fA*qE-FF4*2BjNaH+?sLxR6av zp&52?CEVlla1?gk)QOlint5oEwt3ccamWWzZwBH2n!~QyX^^YbE~xk)2%I=^5>>dE zvfD#!WA0vc%tD7Z!fvLYemD1U->N-)s6RDgH*t2>kU3g~hLDjxd-0Maq9=iw`yy6O zS$W6e_IGYkF_#a;Rgx!}O%Dxng9AMD6Tf|f>X>&ED{Lrr)FseRqy6~t`GJ8!90cxN z_KV0!On|8z*i(q9Wz6H?7q5F6h=~Ir!pXS1BYUyg<03e^*qAp+GLd0Jp4a z?5;wNWvC{*G_24+|73st{ynBGY_HI@qOP`w5gV1>eO9#a$t{M)Mtaw8k<$a|MXg_i zn)qiOftXcKCkMjqiik@r<$UFzAVo*f$UCQo3qbg*=QrnT&}^h<*6Pf7YeZ-KSyZX0 zbjhx(+g5djh2E+)7d7x$QpoxC`P{{AeRn|2&~$G(ZfL5g`hzhlmBM!@#$AE(QiHHp zmAZ20(&DR}(g$b_(+DXkwP*&0Pzb>9a^;zB-^RIeMX78cjDyOy^_wFO^MXx$d;oXl zHZquZ;#>yvR7BnjdvBm=zxE2^6EtG&8reD{Nbj1gBrClyT@6kZx&3LGuk!n|z^CVBlbWVuCPv9)&|3b~Z|l+Z`aJXWw{Z~piMO_59~Bqo z%10#{h=vnN{UP9gD>sP=u@|}nwBoz%Tn+TYQ$-379~LEX^4{14LjbG_kHRHi5V(Dt z#L{wTXUD#9lb$O#f4R4Jtt0r8!&)sSxU_7JCCOo}9`~*L0yLz9#KfH!%*;U$<5$a1 z<6$Yf<1g8lnR)JfLN3Q`m9+C*v*rhpYRM!h0_DlcKODC7UU!i9U|@_QJXuk5Rb%cx zc%hcD{*Og+eENC)QIj&uUHei(pf48VBGW}89_8qDZsv2%0UGn<6B24SR3iLiXtq1i z2>Z(wZrQBWu1t4rO?9=$(>d1S^(C4^U!iVul7Hf>)x^$l##Xb?j9vx5N*uaXB`TzG zP>myXo4QTj_vTCUyL-g0mez)r`8aNQemEdyz1;whdF;xeT_y4FVlO@T2 zyqbU=030G1xMNq*H6;G4Tz0r(c#Ep=M@LmCoFr2Q(exib<}vV@8rQqXmAm8Y{6e<> zbW`d1TkO@o#h&${uU}DXC-Dok20K1J5)$cuRHdRqCu~1UHtn%uy}0yrOu&0x_Rg)o_6&X z+Q#JDr|}!{J?|jNytY;E#7;mf93tTrJGb$j{rZi3sQU|W>b~JCT=2P0g@+2wCev>f zKN%~2xOyK>VSX5GQ+u_xkEvIa2?XIb4o)<4plW)3_{quRZZmZ`c}ym@dp@IOQe!U8 z&bs$J4etdX?jM`mjL_t9U&acFOOGj*ajT}^-{*Rqd%~xBp`rOs`hMSQ4ptSdvlL1% zfo<%E?BuFaiM6+^t=5`ro!&UT%8;_Fr>-?;noYJgdH&ewu<>*{xUP=I_iSB^=;~FA z1Q&y%)KvbBAFo5sPSs=}4-Jz_jb7@z#pmVvvZfz)x-DIz3w%Ee60-C2>7$96$53ng zCzh)^ji*sKYN>A~`1qBYJjurNnbV~Eg1eW1b^G&~b3>@yDj=dODa`oURMSpw%g7Yd zuH-Jvw-GkU!W~pk@?VXjRBKZaQn3$@)rB3tObkXe_T2)`>IREn*##00|RkZvD%?r`R~Z$`q-RSOM>>RY4as3%Y!@rdd+yBXonreVSr768&~C`5xF?@6M_0DE98AgbA+sOC4N5LYmRhu zQ^-sLx%A8m1F}U2UHWb+9lw^|hDThXUwS-|$Y%WD!2_-_IzB(1drIoM(fo=^>U>wk z(U(IKV(tZVFz*809GaZG#yv4p;Z;_4E%h@JT0dYR4W;{iWu?m#=kpZNbCrwnF~O+5 zlT$BdcJ>FUtlvj=?bttC6clv#93-cR*&m$d|LXtGEWpMr3Cho(L)iE(MFl=8T0wq0 zE%zV^nsn&8tzGX&~jSOvzuE=i|Cf4Byc>eEnuD>fWDp4NCocOjLGJkvQ|~ z$i4x02$ED#4_`*+F`a(5Nv*tqrl#r+XQ}03ik(Q=6~0$;{v2wjS))~Rvn|gzzU>+= zu4pksfC2!V9}p`Eh#Q<0JKp=n{vwrD@Y(W=5Y$P%{tRB!PZZ3SM`*IQKx3DbQ!h!f zmy3q((W96L?Bue^?26zlt3$ZoDmid7ykFu%nUGWGRqW|jipaCvTQ`3XDawwk<> z1||bF4Jghv2Va>}RBhz%Wt5PhhH&%HtNks$%UU+1*o*@hO|48MFNq^EZ6hH z+cSR8pF`J4P0S7-|Fws??qGovK;0K3qMiNmm5u>jH8m02CLbK%UkOi=#6?=Czc}3_ z6fZ?H^mdTn5ZJiKk}$uV!aBQItrhLqml`BLys>jPnob)0@9y2o`BN=b)vJz9eM3V- z__cbWH8l@*B{(6Hv9ZN(q*j&9jS=vt$tGoJ?C1r8S*7A5#~BvCii&=Is4+ZJus3tm zp&tb$UWf1J%ha(^xFHz~O{HR=0Mi$jo~WT8fw{5W3xTRBvW%gwk&~&;wlQTEmNg_` zI@3ssT(uiFT;^{E)NLjAqNYCq+5`T6>KRZRu^^9!#{ts0%Q#toUk=wuwrf0$_A zfq$n}T!keRt|aBUAOBPaKD2&oCJq`PxFAKzKRV z5}EFGbs+aV=EHe$Rh@eo1q7}6@-vt7IGQ}#f5cZ8#eq%QpE%dv&C@c@!t`tii10Ut zU^;(x*wj(CO@H^vlLld>=GRee1dn`tIKZVjZFTEhr4U9C+c|9y_x2VAMB18}I;)0m zArU18id~2XQp|hztXPaU-j(D>DX%CjE$vfu40`aP0~3v*KqAQM$0W*=b&n-K2Zy4& zSh|Beb<2Aftk*vXH$>pBiZmSv&5$wkl*~IaHIw%A7)ywL(oFR=ChAwXLM!?Tje$W8 z{3R5NAvI=qp>1QTp3iux*A0QNt9NKh)8(%!4KLfYthDJKEUD6YH6?(Na(w#SBpXMa zZN_}_i!)!yF$Vcr%)1Ifm-wIcO8J^QpOB?w%u7dKOH?(#^YkeiR4^Xu=(ru{(La6K z$y1oihL23hp~}Du+fGDE8VF?!xw{z5kTd<8R!)*o+l=AZ_+I$10TL^te^Yd+q+syg z;hOe6wbp!e+hnXzj?+LKAD1$>ZCJy0dpU+pnIKx6f{$M0%NIIeyZ@|Vb6t{LyJO$f z7nx=f*jT1TmXdU4XFbO4|LRWD%=D0ej+K4TOV zY@hx@^C^jzN}tn2{8wRv-OA#ttWO$P|M6V0|8mezZlCfAk;NLwBkSww$;t6Qe6Wyv z^5kskg683)(eN!>34|%%{@*$v6D-fehtefNu@xiOHgSY+JhAV$LIn68E}yEz%Jh!F!^;OD}I zrj?~fnMFmowzlf+T^w8_moXp}pH9i{E)AW^A*y!xtRbqQnbC{) z@Ar8drgT#dXMVd~*6rNyvgl`BdViVc)BKVWEEZ+#mB~@&4|Te6YLY$VV)Cz*q&N+{ zxwh(fNQZ_tsOW$+eq)HDng}znYYxGsCL`0#$!yl{gYlOrsJVs!TZaDL%ai_ck9_6X?^hDgVuJvB zWmRIvvO^&tun8nTL-<3Ib5yT*KPpuHr}+xS@F-NUvp#=5R2*5e;u1*CHK5G-{YXHB zg@p=;m+Le&>d*No#-ikHklTdbsm7&PN6W*Ns zX0oa0T6#A@Wu+{4zDGRc2838TBq5KvV9QJiiDRxc#g!&J!r!gXnVLOkmqHN(8-_?Gq5H@L-z#{S&96+D)1}@ftU`=7#@UNeN&xcT0!+34l}xdw&yFnk^{7 zfhu5N-FAB9(>{J8dU~Vn<#=*s0%1Z5K3DJm2K#{g(gsWFy2V9~9K3&qbLO_To^3xH z#$MkVgZzKUq@u+rZ%80Um^bDQ?8f3TKG;7a5*h^La(TGNaxd6!exM*loROa|jjEdA z%HBhVRNAEX6&17~yo4s+lapye^t3DUa--1E6?0fGV$*IECmq*M?EXngOPhc;02`a8 z@HfCeR;Yb)s(k-m#G>`8$={ZPw2F#G3AJ9XS>R7`J-AzO@n(~Xfa6->1S}v@^2h~z zV$5Fi7=lD#;F@HZ_+cVqb~M7w8bY0EKu=%69o>|DIYddhGcDZp(Q3|isojjw z(Q=AOdsmpr_wuXSpPeyfWV|=0#Hp{dV5QPTQHkZH56{D;GYeJI#>CjzJ0&nl8bpkY zC_21qsT}XT#^@hntN-@##Mt_L8ZZjz#K5!?HDr<~R5hVm00eov*O{0Sk(gA=X>CZa z?3egvtnK%~>h^ZbyX)jH6GkZv>F4KV=2liLSBf&rdNoIeMy@%|%kfqG5M)734X->N z6j5sS;1l6>g~+qFetgwqP4f!3z7-1MgCGv{w~b;+@-#_?a%SgeD647Wyf+At?IGJ#5=lvV z*GUp4rtB8v3~8#4-`+(EA)O$P&a)GlZV`nZdQVpa@6*k@(4*xio?TR?i#|Qf2nJ{* z^y_|zY6_gr6!s@hA5T2v`_atrVShzM zWpln9T+wtB4MTyElsLW(`N^~fT8RXY9_d7(`{z?2{m=Pxz{*8jEP)9YUCigK>!?5g zAtR`EOR&U7)--0D58Y2UnSmgyrzS5>d)*RQ*@rmbzivdlP*zl1i)KFfSjStElEMl+ zeRgFf0$2p6WC|(CtNQR@%%YqeUC!9ax`O};YL!nNBkz|r$lv;fMa19-K=oh+Sv|N6 zU?Rb9-l&pMj%NcBK(6GlJAZ?W(op7J&kZm!6a);ULNfv&9C`-mWo0dpcM)G`-E`l_ z|E@MD*W8mp`Opx)YMW8t*lEFHg#jvLpeDsRzeIFuTtM{fhr>fd zG4t~}WaMvOA`-bTN&@7E@eoKq;pfLLE9)G%fFdK`6#$@C9+O2PPZm^UkJZJ6>qXBy zDxm>>VyIL0aHw=4Ad$u*e6~0aiJv9+i!Z9 z%ku|R>3aLt9~w+Eo^x{)Q2GfZv+SO}sje2w&JINOG9fI>$r~Kg!M9%@NI{kanG-6I zSBq|EQ8adT>cTMuG%$gBKS67Lh0c2eK|-QgUmi)T4%>P-lbBsq_1%ieUkf`H`Z>1_ zHpK#_>f#_?-2XQ%8J`S++MGmLIN#gf;(kz(C0FS92zX(Maaocm*LWi@|F;}Nk%QlF z&5$&1?R43PTIxnKoipJNus$;K(MYLWwg9-Pj)dM9M25hOh$$%p zkB%OI88S&ql0kghkYf%T(_%ubp566@F^;3tPt6zqPS*FHIYsrASqzbh?=-t4 z3G+=(e__S~Slkc08=cQO>>&?@rGHDQ|0|-ue5tt+{+>7wxYVQ3o3R2nc}f&4EgOV; z>yQoauYFxzva}vVbab5OHh-=x*75-%Ygt6ZM-5v|a2B)hsiJ8H;Zj)*qMw-niET@oXE2hp@q6AAELe{nAKt@ak~`}dIEp}4L-R8uDSYE&A| zx1aZKa8FHuNe8qbY3LJ2EH3g!IlXL`BY&sPf@kqNDL4E!&&%iM`a|BY-2E^TOig7o zAGm+_u!hnOFSv>$%CZYW`8J|I>@BMQWd|0KofETno??Xp6}T+OG3znpf}qcLjWv&! zRh2Blu+iEo8Sz^cT{(p!s`<_U#)j3uIf|VfAu?glICmBVR{6PEQ@akeBr}s5L5eb>`=2}n%9O7Xg~D^tDR|O5WmW|kS+G{E zVCC@d{+qMcs{HSqJxWv&5_Z~6d4d*k4%JIh`1IL{3BIaLqiNW+=w-GW~&T7Pze<1-&2~H%Jz$1#Ps+(EWFy;ox4XNk_XTY zCFi9_Z_%3_BjaSl9EqSCb>n{S0$?`4kqM9>QV0Og1MWs!)_~JN%Z6g*PHpXy#q;Mu zP%_-zRRRVRnSru2HKrXeF5>u2K$pc#0Lpo6#IWX_ zWi8#`xA9;6w8CXF9~&77a9UyKB0*Wc`=_52Wn7OmXx7NkOXw}F^3$ixl7DutpP!5~ zLu36ifip~x(6v(u(Bnq#=oQ$}s!pa(GhB&v_Owf6(n0)gbVpLE;NYFq2wE+uT#b%4 z0M0d4{t$F{V(qf4d?gs{aYi8`95Vt+OJY`b+cL(+TySf`e$(3MN39t6@crt>2nqst zPJGgb)*1(;Xqr4Z$Y7x+2wk0dUT133(3jY=i8^a)uys%$;xLFW&^$5Tows(F@p&5_ z`|O`r#RLgx0_xiBNzaSSTbniQ@Jf}bz=%7dqQg@IU?`=$9N9ODlIoP{>1@)~iDv%! zUL6^+AgjH`&W=4a)H1&fNiNJe{NYxSbG{11Bq!6H%RdlxK@p+R!XhNZ1{s4_4633k zK@g-E+smZim7Sch2GZ&Dn2;r?tSs?!OCzWSefzW`e6S@E3$^IKIg7p10;NO}(+PW?m30CeqX-i89VA~Otvpq}vyQkHB zmPT*y%yuZsEh>TAmJ{#I-_N!52XKOZ207Fy5XgZMFgRj}9cV9Jy=(kao!r4|*>B9` zFRu<{BE#2HhxP^(jqDGnhV3uTJ|U~s+sl{PVvHaKUvB)fO}(Q3yYckQq4CX&%*8SV zRh0spPonw{EiLIF24oIjMIg4eY>{2lJP!Vh&o>1H(Q!f&)2f5RyItYhsI#Ge^lw#u zAfu#KobCnY)2A+9f8xQQAB3cK*xl>bZ^pmKB*{aYzloqOKn{E@D~EI>_5mhB%Sja- zX6k(;bly0O06F5ZEi%)J$J!eW;qT+*=iIjbU@NN(Ak`d&H4jI`< z_!Wc(KeADbn4Oz@Hnf|O^nq+0)t(Fy^YrWn>SZgMIs(dX+TZ8#ycF*IZc!gV4G0+z1-yIB1 z_2TOh2JY0AHcu&_Ta{H=NecbSR<_&Swy;CbBo(;%W(M`yQ28q@F zSD%C{o!P)i1urm2Bu*?wA6e_rvMypFjEod8DKmqL2-G$%2Y?##xFJ0>X&_{xexywB zq7SNOkr)9g_xzn!K0eT$z(WAhMP_yHu8%Is`R|4?3@oxIVKXWiN&0kZ8Ir?j9hubm zE*_`8Xi&#ocQNwXAUrH8!WvMly!`(C{a1_VnQGzD>$T;Lxtt&KEoH#wphAjLI*mdc zBMI))&vyf*KMFNNLYM8?8Z?$WfFM)ZtG}ck8j^mYn1s$aZX}tp0kyP+_6Ue+8 zn)RVN-@C`&i4}8GW9|#cwFva}J6ltbRhG}|Bpw^_vJhQTQKG04nE7wuDbIXybnJCF z_eS>PQhI;;M6aYR_J*o&H`k8^c>FS&6utpvfsOhba*NMBZ(#NI^&!WLy(+`HKSD1| zp~1G`g9T8!-8H}A?Z7}QXV*0Z0vff7io7f+BqXmA)kGid93E1Pw=AUT-7_#iEC00q zb!0IV_ytgNBC1uV+9bVK+RTjnj_yu1x6&)+%jp~-H*rc!LZ-2WCE|4|MMkN_=#0IBfg?a%7nDySqQ{Ns!K(*VU8}R0$}LEUaL; zf2$w)62t@wocDxaV&2sWH?aEfy0hDO zR>N6zLyD|v|9nRjQXY{~SOB?_hX;9L0%qroq2HP4=g+;*%YB*51(F79b8`v!jE$5T z^{%=+(9wx2=3c;f1+pNMR;c5lmo%PWf37P~FufJtEvZBb;vt~EO z$gi9!vM_|FPQAQw|M_Q0sFs?UMa#-}3hxR=nBgzH&>J(7T7kD!P9_V0vXJK#D>kZ? zRdWAJjLvpx0|N{*euj-79Y;)#5qDPAXm zzz6dze5Uf=ai{d3Gzy@VUdm1`A};-vj}O@x`ui}GMV2-G`}p7DQBY})|lc6_)paj zHxLxGff}ROQ$m23e!I=jS7FA@fB)cCqkL=*18H<#L7O|Zeyp!DZ+bDoLeH+qi9SWFTrNtP#kgR_^7eB2v(Rf!Q#qFPFWf8t!MqEm!i(Jy*X<^?@6~2 z(zuAZg~pt8cV#?=L%Q#%aXIiKv+i7(0Q^>fh@QEv%SWNgEMc+Px}*V`I>JXsM@9!5 z-;cKHw%boZeO3lzGLs;C0Iep>=$*U4@PhIF+Gu!Gl&p~vBT}F-HuiXz4~vk#-KKg9 zGhg$^b~)&Y00-k>@-s_4AA<2=PGh5i-r%UXYfB&oL`e`;!t2{Wga%16;!@HHI*8rj zjB_#=MFG9W(QFXmi_}z3NnfN!LGk)cc6L+*t&}hA`T60SgN$P1OpYQ8#!_0MNP#+8m^UPDN-6Jwzs8anTG^ zPv3rAThpXci)QUi*yK$|esgMq$B%h6=%7p3jFz83fnXtOx8sO9Cz$?VYl=g=wpI-k zp@DkbAleXNf>CPRCr_TVf?$_zI^)e7mJg#=NSz^tvuGM4c3`Q+5YrqCn3Mkc^(#0u z6mu>{Xqt$CUi_xy^2vG$C1}geP!i8t2z?p*Go%bZeE2}5bpL(`jBGyy%~E4cdVxn_ zglZlssDs6>UArdzt--6>{S;(sAx-D|CG!`cGYkaXi;|KOx-?NR*zz?#zK8A$F+#{6 zV`zkMqA0jX5}QC!8RD_GeC6)lyMd1j$YFBS@Cpb-i9sWoxwU=#XY63=&cqA2cyvrm z97EsZ_nD(sAzZpu*f=3FAfp3hZH>NqD_Cg8`_s5nbZ!=X9CL#&{kD9pdp%)AEU1E% z!K6qBQbm~S;iG_ZkbM035wr3FQ|ItbnOV`li_gWS5*`~%5z8RO4YC~^8X;SJm{AkhWb1oKx&NH5$8y9SFnqJlGKt5rG*Q89Sg) zykFnYbOusNLbCg4K8ys*x4|w*eL)+o^IQs%RbOAPm2%qZ&Tk^lcWJWHM&kRUzFzIa z_9E(eS4?+sIy2YXGjncWQH5#o5_HMa{&I>1BQD=wnbaO0UpaWB#z96&83w}H+5Eip z)(Xqv9hDazcm6XA06xnkCN^R67Q}D6+t4(XVM#EatZ{fe?gr9EJ+~-ySpApw^BkO04=O9?;pAP7pCL%&cDoR1Lr0 zb#H2ok3DQDUYHAGkOwJLuJYT!6x+}DE*I{bi=hf9QeKL9ug-S9xwM3V0M!`7h?6i= z=P)_=`tYcUxPFVfiTHOk{VAPvn;7jh!a)qu|yPo;~xCXgY4B=@&$31x~#K^$Mu;8^%<$ zcHD&=-!1s?uJcmiLHFnMQqnBtM{n1#KbC2b*HTEcD)pwYa%K{A?%JJyjR?q@Svzt$ za8194^L0~Iuy$q{ouQK$ll5zE*%|R>jYH# zx|bZYYHObmp)c&jftp`O{24@tR#2dYzyS-`F)=Z%FuqO+BN#z4Zf?~?L_|h>sqadj zVzdZ%jRE2ZgM!z=;3Ghk{=R8cR1^##Ga;4jG71V|$P)>!iHhnZ@tKC!Y~78bxB}`L zo)AducB^7z30nI4?!yqKjH_!EIN{FGLL4rD)=`g|uSprr zl0oV?gJWZ3rKe{0j=i@2bxk5Nvg?0Np;VcioE)qLv*=*ore6Ylcii3jkt=z$U*g9F zJ0T6aIAWy6zGZMwts8p7Bj+?0Q)nG8E6>JnHDY@Dc+u-_Zf>3t3|EByMKQ27(uIg! zvu$^3ZsD)axY5#`nH-&&IVv3O5ME*{g%?+7A;3JH8LTaP)^0@rk}n*dra$E`Uc6v* z_wcx4X=w?Z+V|$P-6no^S=mFFCVCA8&>J9Fy27DVOh)(*#9KnECjj^#KeEq(5SLg+ zMke^{*9XSOzm{ZdY>HIqPuHM_#r|3eB(9YF{QSY7BA%SbpNGQ~T90-YFocAJq9#Dy zYyFUF0mS8bh&%3wQ*K;U1^M~++<*13h8!Kaw{&$WAh!T1f5tyKPam|inZd8XM_%2n zL2>5(& zYjzj-BaHzjJwMLZuNtB?$eWhkN`O@ZE3^f&+?jBz>t8&3!M7U8w`$RY(s^yczOdt( z)C!ehG!F~bbIbOZXjQ-4N!5O{n@I=VO7(#uf{7tvos}rAU3Ugag$cI-qWgi(?o8{n zHZy$b^5$n}4i%=YZ-sv}I=z7%QCJfwyP+T!n;Ma`Syx6M6#Is@6n=h#{8`LAR@Qgm zp;~O!cB)9D-cUIC^{V$lScE2EQ3tl68uN`#lHOlJ<4$8e=lS^lhoLd+&N?6|nHh)p z8{}^>TTRW5YPKz|*L<%-S;oP^*_cAl>+o6eK1#+1BDddeY68Fhz)DYgN#L3nEa1oP z$L^fS-{J>%b?-RL3@O@wSVY7WZ#P{`PpdFelTzLPf9I;EL9!|w0%W73qX3{a&OiUj zd@~3~dw`Tvq2|#Uja5nnk_f_y3UD^cMtB$E;S3eS2&IDXc1|OotL3|0FRcrzAUWnJ zK6#(3n}e*r^s)HNXX*15JppC@hI&23yEU}bTRf=GooJ&wOf5NWNkv%cqh#C8?wT1! zOJ~P-P%&$DnEIIspZZo>IwH>;0diEOw-o-#JS7eekRa!HjOTd_XO6%iX4(Vx*VuS? z?e!jeJEK~L5r=9ig7~0?Kftbdbz)jz+D%`QQMp39<{&b%Pq>JbUCS~3+}}H1$(VSj zqGkH-kP`pPX#2E%+!v%hulZC76L=Q4>Cjwd5TMHaR(j~sa;K{_F_Ch9VWG_X*b$mx z)yzLAe5>|j%B;Nxh=SmN3d@qGetRi1-^`|#rK;fs68jW8jcDodg>Z*&Lqo>ze*)()MGQo2+Thol-Czc;i8zI=g80##~>N`_r&*STVoA%5^STTb7z zo&Y$a0(8M9AR4UFSqgWm5*&nZ*Vx#IB;$~hMY5*5qv}>YFLV2(m;8xNb^xShqeSQ} z^X9;!4s0nzh_qrQIU741^^A<@S2#LoyFGnp;UMT1f3dc z5*Q5zc6%;|;sa90i=-)1UG_kh!g4yZ^78UJcHIuAE}9y|2;;JQ54$e5wm8jLnXbGD zd4AnLmsHU#9z7nHGU$pHBesRMoIgYZZOQ@VwI3#T>XH%-sZZn!~>+K>uDdmB*};m$1DVw(JQ20xSM!r|m`G5)j2s z$Ri=#6S}#%;n9hbDa6vYK&Zj@^Ya5(oco!V5vo)4<_!-Vz5+^ZOgM|<=;Xv?y56J4 zbu(Gu?AKDCqOx*uULI>G0bL}Wn5)I}CeSe>1^CSYXhU^wcGp>0vVm~lHx;Z>G3B#% z6T1h`S7r&)<5sY@=Y3qHgK-TVky%)X2W%f1xaYRF;gkwO^bhzb# zdS8nsj#sN}I$EyMQvWdbS+`Tuw{iIS&keYJt9t8A$u_N5MvQ-HH$;20kS0&*WzSo{1kyFz8EWLu@Hu8xi{ih+*Qm4iNa z{=0d`>$UtWFBYR3@wHYjn)TxM&S9d$e&^nrT3V(HoiUz=ZC^#~1|@p6ukybipkX)d zY;?QYD*Ely8sk@qwJh$=flp;W>7G=V@oR#+K#aTZvH`rfpl6%UoNoPzOX2=uX{zzPRj*YbG@E4!QaJbBmQA~lQ^WQsdgfN6bq7X;_daTxC z?-{3FP3f2VH{JyKgWyf!-Q9{YgK(h4-0Uo4hsnm#r_JZ4<78PkBqa1#kG_2vehFvBkb$CibtEaqW>~xbvk8ez`10~IhhK~Lh$$#oK#hMr zm`DcX~i_3C4&#UH~~cnqJ8-nu#RoI_n+Pw$n8_f~F&?*T@u*0&n;pm@dF zPh+_vV|4r$`Fmvtb}3~ErKF^QL}V~O(cIj8%pdt(a@pv?O9E4i zi4xXN4VT);a>s_gdBXw=nR+e!R3JXd zDd+`I$r2V?_gzF}YOH)s%^L-6W%3go;IjnF+KR58D zSPm&0J9{WJ9ExN3G;iewbAfIachdbI*XJjGZ}jZImd{O)U^Ri}ioB<1<;TuWD%NXZ zMhw$F`EmoxNU{wuFQ?T>8K63xgDz+@5zqT`c{xXWePlg1SHezOefbs$dy(g8?-XZy291m;A|Z1M^;FJHdg(9@$%f5qeW%fp}RouNSLR-E3U z5j(UMAL;k0Qh$a!kgrdfpP&B*gV8y;m*_qomBA$9C=K?ns;hg+XA3gzP^ei{37O>~ zyGETmNko)BpLr|!EUF2Z+47)ehC288^XIgAC(*(o^aWS(@2TGeC#_Jt)vKv|f z<&En-%AzrOAYpX^#Ud;`kZYAu)ECSnTf!wbT+(Ui9gPbvv#do3Cj_n)-SHx2X49@1 zT`9OtZ@p5ywWs{pvpenjG3kU~It$_CvWQH8N!M!`#FBxo;od#>=l#Q z*`nsXG<{*$#OT36tu+w;3Pn=$nVAcS3_*5)i2bO@8uXQ6cg3Di{~RVtMh1dp$5Hb) zA8{BGlDtrm`-C$-;-xZHS{lqYmQI?lRVWK>B|eiTLPXKVYCPtfKgZl?uXit$(pKHb zPTTt&#xYT)MQ|Cd!BEotP1-#xm`g{>R=_PunS)?&xsZWNuClVyZsF!lwPbW#&58>{ zr5n}h(}a-vCw9gw>6fRh+go~hC%rgf>`T|xyWayXO#qI@g96Vf#IfB-S6dpdu2Occ zqwQqYwPY8d;?g;(}u=iU~q8ohW12_ zPkOEQ<^rCkrY7_YtnT-Bb)isyadSTk48(o#;6d6vq&D3p@Uq}Qp1(>_{Q}LX#jhElvLA^4whT_Jki3 zJS{W@n-CEY8i9M0AmBAnDQWtl^s153>y7ft4+tp~E-JR&-c^z$T}4bI?uYHe5LZ@I zpis25v`UhidojWf3tcRiB@<|i^W9s=e748BH!PAo@u7=GEo4jG63OHMe#&0_{CRoP z%BN4sqdQZx(H)~M-BB)sl=DaX14my|sNJ|jqM1II>7|y`a@Sqq5@o38kroLE+wppB zSSlr5q1oSFQ2>Dyuw`()rLL9v7mwzd#7 zgDz*pdv&0{aL+|v`JouxKk%}K-*jP{yI)3GqLB31SPo;^y`?MeX^iL+;ukS7pdFx} zT4Nb&<&Rd8Pri$9igH+_aFS z+E`nYk(E7$2uC3DdSE*GnCi1wpNP$1sh>C?T=k(ZN3#$#ibO<2AmhJo%INbU*=}yc zcK&5I2a?o<2|cW%$HBp|w6|}8_mtiV&CoO}=%OJ?XW;7ut7j7ZQM`_mAdcaDM?<5G zLuBvkf@NDvnHA?fI}loklkgTo^mp`X?$cP8(t;pVpZG^4r9mWMUcWv!Kc?wiIXf@t zrl$-3DSG>+?(N&;&=>u&zTW=wD9_4xB}GL=75-!dV~euuOym2}nkSbI zOwjP<^jU*q7a4TmpsH_XPrh%0yxXdodtV?Hqu^e}wiObx(Gg@l28;xPm-+MC29udc`+ zeqo)px|I!Uf<5+#IXu;9uB5s*o$L%q%FzPbN|X(r?h?#0C4-DzlAmamB7%gjLQMP=UX3B~>1>z;3!*U0zrmnsQ zq6?HD7?JD<5<01CFELo4j*?6LT*bAvwqAvLH6<h{E7aH z35o5aHplArj5}TXNc88pKvJ(@jO8I}9nnwdq0d0~yb0OwHe9XP=nsO#aZF zelrSm-r%J4)*g%5Qql=(?#M^0<1LtxGZ<5b+5BgxQ)w0vv;<6Wo z`p@l9QQ|JZEW; zj&n*%3es8tU9@-bR3{}{wCDD)WY`kaD4Ct;*TP0C*4Jt4BLGuTU)@id5!8&w!#H8-a~7zP#3<0zy6h3#TT z`?}?GP~m*b=Xb%u1fajdtcP(u5g#8qp@O5|Um^2lP{= zf#}88c_fN$UY4S;u&2hy$NNd;2)`6BQm?q|(TJ}|RO$^r0nsx=3-mEKn)3Mm#7IB) zh_N_sx~C$ntf_JZbA^wVsRf44#xS!i8jZ1bhob{OVzdYz=SFV6TTIK$JksaP&X&>8 zIE%;#Y8T(r7UwKF*Uw|EOc;QOXgWGM)o;xAfi>;~o}oOVmmp zg?_h8G2eobF@vf=zW;;QAR37q(AA!Duia-D9UVn>@_RVF>?aN74A~6TaY3W6LP%MI zvc7~SBo32I$_@-IuP5MFw8f9JBsA~Ilm*RvalN7;-`^~zC?S(9>4RuC+61RiF2?!r zyNzpeV>IOC0_*3;c6Z$821jxl3yws&5Na{}yjectR{j11{8Ri$s%XBqH%(SX25)Oc zir~c!JFFve^qxic`SZn=e0^;Z_vKTxbP2f(q|lxyZQz4DTGBE#r94S=33xCZ2U0u* z$MEoG0BQP2hpVf+fS{5%Q5yuTt%y@4@?A2K*ty>Q4cnc&Wor z%903a6IT&KjQheTTH2SY+Mbm0@k5U8OaZ?RSK5JQCT(ntmv4~w0+d6X{q;y8UA>w7 z$&6qA+FnAbL_a(KL-Jz}AC@}0KCiErAyrTi1r5m8w?B5}#A2nWCl5Xy(u-^0pej~s zYBVB(I6tYOtBWrSj@HBq3%z}j5X)z)5mm1y@%>}FX3xc$S!mXXKc zsx26qk6*lG1EOky(;s+1oFyguIv!w;%%E8gnmJ?*4fiQ%hp9R`a0}fX*m|vTD)su! z_hrorFpEAB!v%$^a18r{&(F7_RF0Xb$9*OyxDa`m=A+q%w>4g z)NIZ>I{HY4&1DBGg=b&O(NDoob1qtxR!iqKW={dGP;$G(jOOUN6W%UZ0&jN{(w zTmvRWt#qD!iJOR-F=ly$pE>BAEGO`Nj0wnQjpn=U{^G8=*Ft@a|Nhocbezaq5_fp` z(m+A20mvOOf#3ir>wwNV^}hKe*3-ZTeKE<)+IE28y4%V^pN_mjEir0mcTUr3du&-F zB4p{Vy*&-6YLE!TkVF5`(b>6fZ*$#4iajS@Y_mYbIjt_ulY#!*?d;Bz`3xKmt_b9@w0i69U0flTUsh^E0V4`4AGK7D#_Y;nA( z=m{vg@>Dw{WC@TkjxtT$Uq1#7N)!PBUKl$*N*Z550qrZnVE6682)$N)E7E-NqEy5ObKIiiIq2c3y^_>_@a9bpx$Ns(Ozy`GW*jG*nyP_F68iqVb7Dc0v+HxYJp9?t$i^b`=&9unrbKw+7tpPt zgO!raJL~9p+o<`8Jg1&W$FOnK3q(-FZ0==3-_Ax)pjNdPmHqggluB(pl%uoSWaS*2 z$){)6#bSG6d2j#qjgVwB>KWdRbgAX)0jB)?`yw(KyWdlPHC`&XuQ;6a_ly8Ml-;xA z{PDypDx}mRtK4mIPE3q`_XWMS@9{subO6O8Sa{-Rxu9c4U?6>KjB?AHtG|qAK7JfW zyfuS(glSJkBYatf$J)i0FYk!WK8FKY4|rRwY_+~2icBuP=T0#&gw*&*xaKS5oh2mF zebmx2a-Hj;Ea{6Iz#tBuiEoTy|&?oIrUpDG_fJeb_u6w79yqHxL-mbSGee_uV;HhfLCLC4HoKS+e5JG$jQEUYL94K5a z`R>k~@;%)3gJ$Yb%BB@Nu}TtWLtl;(^;0LQU-v0EIDSdn*`;nQYQcs~_B%8j^(hy( zwx(T!?s`~nuN*M5P8%CbLYO&zuaog%)iVD|0A3V#Wu>{8VIU5QfRs~CUS5hwL4J#c zeePtLop=P7ZUpiq01+bO;7DETl8bV5y@Ntsi!^xn=8X;NI6eJ0M>n^ImT)3+D&dcq z`sj8WYqgZuuVt+h%q^&hSsY>%HGifHZ9rGf-8OvsL_){dClafMp zAT-pQ0T1sCZL+A?xUX*Adgr3AE^6pV@FI((R0l|!Dkj4vaopOqZVi)7kBKVW@>FQA z6mC+frSqezy+qxv)0^!B@8OAdv824!JUXlI7-$szoMu`dZi@x`FDX&FzdLgs;yJHX zceUbmn(&GW8T#I*!*-hse!%LTn3(P3f`H1Yv%#c=5v;!vrF!d*{#Xb=(P&1>7#a&r z9}}xVU9I&s_}=rO`er|fz+w)5v|dn( zdv|S4P)f>yUVN+QAuEgSk=*joacq#xO-(m8Vo*G0T%Yv`0+$Kt_zJL$^4-UWhZ8_F zFS@(2^y$+Y=%<{&*FpcdYGt;OkiXMsyZT9Y_o7%P33V6UhluL7Z*uYWX9?!!cSFJt3?Z)w>Xh{EUebJjyHg$3!O*Wd?Mu?<)=PmpT$58@ zhyn?=2P|(se7Gx}@>EycmW5@(1aw|hV8JIAX>tf5vd>Y_%sWhFebhkMW%5F;uYzPW z54*#2SNikr!5$Zetz7hp%v9H)wa`kPZDGOwYf3Q7P=ddb+gEvtXV3a+URlg_NEz>} z2Aq8o;`OXQkjSv&_6c~~pFR~TszhA2dAix2K*lP%D_N7&3=GA-U;UJmD&ic%<;1dt z9-fuf8~EVi$r+bhy_qPY7*5HaW1IDJnz`|!V;WMZtL`CHR<{FaKGuWVd zc*_+|sYxeryBBBM@4<;OOK$m+Hy<0H?KlVg!fh_kT=BipGhq3*A&W*gvyJEFsJY#WWGs}ac?jhd>8QZYGxu(4C-dv6^4Jl6=s&PdPkuwF)-D* z3!Q)mEf&C*#YI7$AV0kx7k4ge?D;;BZ1)DZH*uvY#|E*LJF*6NOqF=q!e8+(yjC z(RhIde74i_=!I;3&`*2hGRKXS7VhpA#5DZU3na+CW@06$h=TRsMj4l?PP> z9gzDdC{!p#!U-Hf-nnf9Pc~Bi!W%U4xR^t zR|Qnn5cn?=fqP+fkRi+7?izy!;sgTiF_DUQ5;hXI9f8=^kzD)W)vHUWW#ZHHjJ{RE zb=X>;-HSkCDiVdS7mBD+gtQ;tE@%iJki)wdxHn25?cQ*X3(F44Rqom_ij5c}3;}It z#}UZr(?4eDcD{yELKY+k`PKooz&&zEtD~NuZg-cX+%&@AQzc3H5fe}?*Xyt!gA~wl zp%-%NUQ|UiA(-L=wfKFQV9O5RmHFmZU#x_lEm-+5PZZ!?{0Up)r*Tu3QksJ846Ri7hI+h~zfe*-{{J zKnp2(T3T4k#ylUAPr7;ZK8~Y@a#^opt{W{S31OUsq646hak&P8td|ZnR}?_m^;P0-i#}X*7rCe{4s-;x<5E-Kv{U1Q#bsv)clD+{ z$h6>*m*+J$YW?OMFDNAA=}7{4!xPvY;686upU6-S4am9V_wa_PFDiRmW1>vcK{vB3WSQ6@z!1c)sy+t=n4i?JNOX!6B{OJst z9qfpJvg#A`aJI{f{@}^*n}4reLiSAYA^+W3Nk;mxc;3hj zbKiH8x_uTf5?!c|h6i21`+vMPzhHdZ(2odQh$7iF-=BO0bi#*l#9i0Zg9m$3kTDEQ zq4bnk3$QX6eQG&OXV&seAyu3ewB3SP0DTC2vwKhGt|&f z^Iw;8@KKBtSla8nf7}J~O-#ZUe8RLFw(JTEJC4L#ZconskRs3M# z^zqXtX&61tL||+4naGDg#eqBM@_HXxykIvL5I$kitJWc!RAG5N!zgrrM;clz_D35U z!@l*e9k3}~S}MHO%7dZAH!#S*eenRU#Ovo|b+xaL1WAXHdZ#0?3dEy*$5MoLM( zB;&RtkH#ItC7>#^Yj3yyHWzENfe#`%r#Cmt0YRal7!rAnMI6~|a_|HyAo5~miiFUQ zD%3ZqEr0O~T)apQ@&)~*L-r*bY?cR~qn|(j5)w&P?q<0`2cW)${Q8ILYS&yGjW1bC z*sHYq%x%n{g1$}t7uA5t$(nA7%$Z-1(&->+#T!QOI^9RgSy2o**;XJ9AL~lGoR!E6 zgdX{c8YODi^q6`zsr@B#*ul-<(1xPQ2N3#o@8CycvnbNpUA?I#&gF7TR*Und*-zj(c#1ns_8 zQhs>gU{Iqpe~DcA>E_@+;WNW(RjEz#iJgG}d!=a_li)?n!qEjayjt)<4 zQY(?Va*=Y6UWVEdqWRPOYA`6Ig82{Ew+HN7aD7bN+$#N~3E;*tgntLCqKda~y^v-6 z5OL<~_b;-LkONZ;sM+{%8Z2C2A6WT)pp&R4qZuj@zSZ^V#=Zy>=hy4t6g%$z|7G#- zj(ohC3=+nWGA-mIn`P~a*ri35&#ma%mA#t%2cm@8ATB;LSTyq&)RKT5TSy-$0^aG= zWZn32Z2dRsIk0GkOq;gY_wV^3U1Mad=Jjy&3%9uk9YpV=@i9PUIubgQH!E(VIp@+8 zV&vhuR&QbhmBn;|!}7-8DMd#$6Aq5Mw)lJdho1r>;JVm>?w%V1lPh5SwADC>a}C}v z8UUY0G5@#WLh|c#A}}UEP`6fUA38u&3!k?waFNC;%za^1ye0L(W%61l2Rd@=VlG8NRB^OlEADX%*hdvB!<0=M4)aS{xY7z2@s%dCkGU z*y1MiCy7W&p(8a~$#_+ML(VKs>Vp9o`5SJ?m43Ufkfld|*OmG0xR{t<+Y2+6*r!~w z>1xxN$v=QR^LVVPcnXVs#G(F(8Nw6`%bqsedEGaEdwM-Bb@k|zNcsBMzbEr1%yu{q zeLm=N4`b1f;NFq;Mfa=`76t!5gtK{IfQXXa%lK=PcUor&CBDsoZ|LFx_L4EQr74)0 zkQ8U$*ui??*3QoKuRt{#fAF4A@L;3%Rc3pHD^?YlB#bo!i3WNFzm8Vk?A~OBG-R$r zUlwj*dAWm{-wf&HA#I$7Mjt-gLFuiJpqc`4wBaa@%Im;aeuy;eO5g=Ldr+}U=YI9W zzmuIpi%u)(W*UEfZh2)*{>mfbc}RLVBP0lxyd9?&7Vv-WEt-cf%Km45*rUioO8bqd za@5x_9bS%n*<*=+y(oFME){C%uZO^v$Fdj$g(e(2lg!{wu3ptlA3qLuSJ&4k*<$@} z;G4e$m^mgNw9lq~?p}fh%CX4~>H4Xu1IToN7E|LUk%4F_qnZ9Tw2L~}mdp^2 z(KWhP#Kg!|RK~=OyUK(ESTmGp9(k^}0AcNCE`vdAQ6_u=33sl3@U1^C(ESt+*Crf% zll$y@Y5k7HTM)%c&?^pbkO4;-X*R@x(4rLaDv|b@+*$FnNUb^4h*U)MnyhRe{P;l& zp7u0k(${o!GI|q?7J8=~U0llCvU*7&`}AFF4)$)EZ1^2MZ&u?tJLfAF5UC$^t+QNRA`kqzicQC-)7VjbjZLd5Aoy_@c2?EGKuK4-tl{4s7{4Qjo7xiGn>**~` zZ)(AFnN2{#^T!LD8PA?4z7|H-9_uU&}PPh0KQ$5vzs=_U32kq)wr=2?3B(;nZVrVtmAm4&hi z9^jT>7KH*O1ez5A(2qI?ITAF-U~r6LTO0+Ep&^e=u*IGKl~Cecx#DHKI(bNoKF`^f zse8Wf$o$|q>`%~(3g>^$3oosuD+O0cg}N<{4;Rob<*SS+{&)dBy@siUw?Q}1xB~?% zMIOY7^>8qPdYv+*c}bz$S49QaaX`Pvas3|i!s4yz+4j)0W4wXXAdF|$L zs5L;mEs*@!f4bhStbk`wab)=*>>n5( zD=hLD{FOfg3jOzK(AD4Jx;Om$4Ql9}t+w*SK7DZ)y6GnLqR%3sn`mjRR^L-h1shQH zPA^?RKpjjVvYwGR=iS?FDlJao_`{3>4(IS3*+IyNpBBy;0HquPjg34SA;g;1ZP(Sj ze}9Mk*b`_Gs;c79uB_Lhb7(9&4W2PJ9R3JBc7O4tcF(8i18`=)2*9y6H11D9lzM0O z$?q%to6q$-s-jXrD=yps z%E)nCfyw7I3=xCLX{Uj#8Uc_d_>2Pb++&q4>_OxRDe(_oPieRSc(R}(h7WYsAo61f zN(sQ>QL(Xz)a)@7@NR+ujcp7F$nILW0|NL#)s0rVL?tAI0-1*qfZ|T zLw6y)u>C6!7)}QmP~eghp%8$tjs^(Tz_h8T#6&w+ObxbN(k){Nlv$s9%%{f+&eHIk zg&^p1a@i2r!%qN(^<7U>ldt?I@*JfK0Iuepb7CKP@BXgc#&>uA#8K@H?H58Ixy-gF ztj$UNqJewSdS`@FR8%B5dxDtw`C*OY)Unei@c^iT&Ug4X?6lq!z&?QJ_eTJN#V~o) zN=G3E&mX1_LeF>#sBpn>RtURKRZY!gRSRKR{-3B!J^*E*Al+p~)d3m^&cfh-Cm$XI z6ix+90?(zw2Mn|Z#oU?2rkK>T?SkfAi*DvPX?5h zT%Lw0cDS^=N*za<+hOEN5)3AU(WsFy2FwHo=>jU937?qSAHCS0aw}O9(mq0z(PUi! z9Bw0Qd2-q5TDYauo=v;j%|ZclCVz3mVI81$)J;s(wqp?cT4ES^UtZX5llD#TbN>uOa^sv5de@DYqeBw z*L%QNQH#5AB9KkE`&1bF*D0}0f9lk!u3Eoeq+BDXYJscu>eVZdsWFCOWg4bZd%w|q z;XI5^PEH8?7w8b&2PW1HK__6;arnkc%)v{T1UlQ99Qo=MJuK(+V4-Q882Y09_nPuf7N0y{`WJxRkdPaZ%{4=C!QJ;;A ziv-#_$TVDFSR#zzE6`gM@mM|g^WfkzMshKM3iS^Nx6;N|d_24@d8yhG(-cB`n@j)0wyaC3I==2qtT@;R2NW+%F4~)C!(G{ zMFG|6%KlO@GSu`{VxscP{AwSpsl{hWR2@W;aA4RO)%oK9F@e$zJN&T5XP;Jb9tl=% zkL(P}Jh6#Ngv_}NM~(xX2hcQB#lf=5O>czYw6qj9VCXmYb!2&Y*kuVq#u}jf&Rw{W zPQ)q@dASwlmQV~u0_w&DBvszEOskZ6j&y1azwhUi>i<(a^ri#7G>yB#jFC|siI>X( z*s`tZ!eT~(KXFn*S4AbFRPKA3#}e$Y5DY=t$Z+I`4zE9kZmXlNP6>ui07R=%@0IGa z6TYslg5BNSoHb)xV(5kE%GGMf=R(4Oi*(YAp9ZM5}M!i|8php^su{~fIGc5BI zCpanu<;|YuA3k{931SI62*4DE=!&?^hBcQT%~Le9>bLfe_W3h{o%kdfnF7p>CxwZc znMq!szs;DKnyvv}&&^{WneYna7C`X#O`+pc&1=KIlqO?`w&56_@V7SrvKPX%hEpA> zxKdIV6A&$BVQEydBXh%Z85!rwr4c|&{T3sMGC;tbNGt-7ZB8?QQSkua7i!<5vtJGI zn2;G^2SQMS@sY^9!?WSgU5Ea9DuZo4Ak(y|em_{6=HG$(hmd{(LOTOy0325^CM6}o z@7DoRoCpP-qq8cnL;?`9A>1d>UXCFntxeXxHdBi@p7YvX4sU9bKYiwmRjvyRmqh@J zz{UaS$m-$#3NjKL82CHt-rCtH)CueB@-lalf9*1%q)kj%VCiA%ATlHz$TNh@X`2YE z3oZ+e`Vq|b1bTW11|t@2(lzcdxkbgLzO6n{1N;@!|6-%fUs;Ab2BgAe0L`Wu`o8$* zoMZOCavItzRKvs!0&+db@_4=J$JT>Z0Ww1rXkg&nKLCsw84!yIwZLg?F!&Y(zz#9i z$`d$k;DJ~H5e#1qM{a+)Ee)m=`e4h-3%3f~+5qf5SniN4me`G1=g6iH}4Mk=K6EeSp^+nZzTV)QC2HODG2@#;3 zEC%0u7MDc8w;;pa2TN_JfPOTifcoboBF>eY(Pu*y2xe0t zC4x*w1>FTciw=5}G=Mw|Jf`r{($k^Il7o0z*DJ)$fYda-XGsh8uX-zOj1i{b@*uL+Mc+4Ns zgpn<=^R}@WJM24C4Duj@Rqh3X)fX}V_I`8UEX!`#YrkdqP0LpSb3fh1g|ckP#Jj#2 z%HN#=mPEIeaey+2czAexPy7JXn!S;QVZrvCOfp zs@mEon1fpU^2%AGKN07b|6^7K6bF1{Cag@l8ncvCZF^BhlhLxT%}QoXCnQRzb$=&H zhI{U<{!K90Tm&jN-~*8%qkAE169AyeU+oF8vFysY{{NWx(S>C`{I^Z@esOzOD3n=S zD+MEpVR{%hm-_A7uibrGhHEhf*Px_fHm)YKsy>KV|t-u?LLlZ=m#1d!++LE`fj;wxK0c}fZnP-zSd z3;^obFx420h(lR1Iih!AceGRX<1q>!QDCqdc$^?`5_A(5(X+;X7j0`s5v(Agmht46|GeIXP zmBjAtWq=o;*c43sLMqfhOAN!Dfeg9&LFy17d1wCm>#w?-Jk@D`Rs_^LTEOs~fGZ8L z%NT@J?D}o2M|!n%d$sOoEb)wF^dB8^LrH-UCJ}zMD}&GglsARm+x8U|6-c^(vL{;- z_gFPLfBt;khYtiGy}}8JBpJlw=mEOZrxCFuNH6N@cGF;u>O881 zLAnYy8ceyq3gH(*Opd$$(e^Na&>TV$hN4_+#OSuYit<#h0DF_89|+8#m}pKvTx; zA{5NS%sM9e^JR@5{67t~gVq25 literal 0 HcmV?d00001 diff --git a/help/html/exception_8h__incl.map b/help/html/exception_8h__incl.map new file mode 100644 index 0000000..4854d3e --- /dev/null +++ b/help/html/exception_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/exception_8h__incl.md5 b/help/html/exception_8h__incl.md5 new file mode 100644 index 0000000..4e2c394 --- /dev/null +++ b/help/html/exception_8h__incl.md5 @@ -0,0 +1 @@ +f217a5e97abe52d4ebb329143f10375f \ No newline at end of file diff --git a/help/html/exception_8h__incl.png b/help/html/exception_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..58b5fa425f638d2f168cac7487d49934507d29ea GIT binary patch literal 6547 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 literal 0 HcmV?d00001 diff --git a/help/html/exception_8h_source.html b/help/html/exception_8h_source.html new file mode 100644 index 0000000..648309a --- /dev/null +++ b/help/html/exception_8h_source.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/exception.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      exception.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_EXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_EXCEPTION_H_
      +
      3 
      +
      4 #include <string>
      +
      5 #include <exception>
      +
      6 
      +
      7 namespace CocoaTweet::Exception {
      +
      8 class Exception : public std::exception {
      +
      9 public:
      +
      10  Exception(const char* _msg) : msg_(std::string(_msg)) {}
      +
      11  Exception(const std::string& _msg) : msg_(std::string(_msg)) {}
      +
      12  const std::string& what() {
      +
      13  return msg_;
      +
      14  }
      +
      15  virtual ~Exception() = default;
      +
      16 
      +
      17 protected:
      +
      18  std::string msg_;
      +
      19 };
      +
      20 } // namespace CocoaTweet::Exception
      +
      21 
      +
      22 #endif
      +
      +
      const std::string & what()
      Definition: exception.h:12
      + +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: authenticateException.h:6
      +
      std::string msg_
      Definition: exception.h:18
      +
      Exception(const std::string &_msg)
      Definition: exception.h:11
      +
      Definition: exception.h:8
      + + + + diff --git a/help/html/favorite_2destroy_8cc.html b/help/html/favorite_2destroy_8cc.html new file mode 100644 index 0000000..dcfeb18 --- /dev/null +++ b/help/html/favorite_2destroy_8cc.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/destroy.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      destroy.cc File Reference
      +
      +
      +
      +Include dependency graph for destroy.cc:
      +
      +
      + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/favorite_2destroy_8cc__incl.map b/help/html/favorite_2destroy_8cc__incl.map new file mode 100644 index 0000000..f9e3fd1 --- /dev/null +++ b/help/html/favorite_2destroy_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/favorite_2destroy_8cc__incl.md5 b/help/html/favorite_2destroy_8cc__incl.md5 new file mode 100644 index 0000000..520b304 --- /dev/null +++ b/help/html/favorite_2destroy_8cc__incl.md5 @@ -0,0 +1 @@ +1991183dae9442a1819f4c4fc8689f5e \ No newline at end of file diff --git a/help/html/favorite_2destroy_8cc__incl.png b/help/html/favorite_2destroy_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8a3be26e92231ffd83fa2e716b0c0af5740949 GIT binary patch literal 38811 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 literal 0 HcmV?d00001 diff --git a/help/html/favorite_2destroy_8h.html b/help/html/favorite_2destroy_8h.html new file mode 100644 index 0000000..0d3023f --- /dev/null +++ b/help/html/favorite_2destroy_8h.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/destroy.h File Reference + + + + + + + + + + +
      + +
      +
      destroy.h File Reference
      +
      +
      +
      +Include dependency graph for destroy.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Favorites::Destroy
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/favorite_2destroy_8h__dep__incl.map b/help/html/favorite_2destroy_8h__dep__incl.map new file mode 100644 index 0000000..77da7c6 --- /dev/null +++ b/help/html/favorite_2destroy_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/favorite_2destroy_8h__dep__incl.md5 b/help/html/favorite_2destroy_8h__dep__incl.md5 new file mode 100644 index 0000000..0cc0e86 --- /dev/null +++ b/help/html/favorite_2destroy_8h__dep__incl.md5 @@ -0,0 +1 @@ +8c03d0bcef13d3af6d65dc00b0be5fad \ No newline at end of file diff --git a/help/html/favorite_2destroy_8h__dep__incl.png b/help/html/favorite_2destroy_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..71786e233ad4026085211b7bc43faed7defa6c45 GIT binary patch literal 7915 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 + + + + + + + + + + + diff --git a/help/html/favorite_2destroy_8h__incl.md5 b/help/html/favorite_2destroy_8h__incl.md5 new file mode 100644 index 0000000..8217260 --- /dev/null +++ b/help/html/favorite_2destroy_8h__incl.md5 @@ -0,0 +1 @@ +ee02100de0000a8e254f96fe3ec59a65 \ No newline at end of file diff --git a/help/html/favorite_2destroy_8h__incl.png b/help/html/favorite_2destroy_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a627a17e75a866de6e34edc30ebb7a1594177f80 GIT binary patch literal 38490 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 z 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 + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/destroy.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      destroy.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_FAVORITE_DESTROY_H_
      +
      2 #define COCOATWEET_API_FAVORITE_DESTROY_H_
      +
      3 
      + + +
      6 
      + + +
      9 public:
      +
      10  Destroy();
      +
      11  void id(const std::string& _id);
      +
      12  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      13 
      +
      14 private:
      +
      15 };
      +
      16 } // namespace CocoaTweet::API::Favorites
      +
      17 
      +
      18 #endif
      +
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      data class for tweet object
      Definition: tweet.h:9
      +
      Destroy()
      Definition: destroy.cc:5
      + +
      void id(const std::string &_id)
      Definition: destroy.cc:10
      +
      Definition: create.cc:4
      + + +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      Definition: destroy.cc:14
      + + + + diff --git a/help/html/favorite_8cc.html b/help/html/favorite_8cc.html new file mode 100644 index 0000000..026b53c --- /dev/null +++ b/help/html/favorite_8cc.html @@ -0,0 +1,116 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/favorite.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      favorite.cc File Reference
      +
      +
      +
      +Include dependency graph for favorite.cc:
      +
      +
      + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/favorite_8cc__incl.map b/help/html/favorite_8cc__incl.map new file mode 100644 index 0000000..95682ba --- /dev/null +++ b/help/html/favorite_8cc__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/help/html/favorite_8cc__incl.md5 b/help/html/favorite_8cc__incl.md5 new file mode 100644 index 0000000..20fde6c --- /dev/null +++ b/help/html/favorite_8cc__incl.md5 @@ -0,0 +1 @@ +6d8169b58984a4d25fb11f405b864810 \ No newline at end of file diff --git a/help/html/favorite_8cc__incl.png b/help/html/favorite_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f54d90106ef848eb1c3a9c5362660d3a48943393 GIT binary patch literal 60513 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 X-nkgtJrDlR7=Xaj)z4*}Q$iB}ikGr} literal 0 HcmV?d00001 diff --git a/help/html/favorite_8h.html b/help/html/favorite_8h.html new file mode 100644 index 0000000..d7686b2 --- /dev/null +++ b/help/html/favorite_8h.html @@ -0,0 +1,130 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/favorite.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      favorite.h File Reference
      +
      +
      +
      +Include dependency graph for favorite.h:
      +
      +
      + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Favorites::Favorite
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Favorites
       
      +
      + + + + diff --git a/help/html/favorite_8h__dep__incl.map b/help/html/favorite_8h__dep__incl.map new file mode 100644 index 0000000..85e5c32 --- /dev/null +++ b/help/html/favorite_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/favorite_8h__dep__incl.md5 b/help/html/favorite_8h__dep__incl.md5 new file mode 100644 index 0000000..317788e --- /dev/null +++ b/help/html/favorite_8h__dep__incl.md5 @@ -0,0 +1 @@ +8bec3ebd6089cb347be940981489ed68 \ No newline at end of file diff --git a/help/html/favorite_8h__dep__incl.png b/help/html/favorite_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..673f9582a4f926f1b84aebf3bb401f1bcc154d48 GIT binary patch literal 13074 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 + + + + + + + + + diff --git a/help/html/favorite_8h__incl.md5 b/help/html/favorite_8h__incl.md5 new file mode 100644 index 0000000..bbdcab4 --- /dev/null +++ b/help/html/favorite_8h__incl.md5 @@ -0,0 +1 @@ +abb504098f98cffb9ee1083a001240b6 \ No newline at end of file diff --git a/help/html/favorite_8h__incl.png b/help/html/favorite_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..667105ec6247733f8a63603adc8a7ed1d3bf6905 GIT binary patch literal 28785 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 + + + + + + +CocoaTweet: src/cocoatweet/api/favorite/favorite.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      favorite.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_FAVORITE_FAVORITE_H_
      +
      2 #define COCOATWEET_API_FAVORITE_FAVORITE_H_
      +
      3 
      + + + +
      7 
      + +
      9 class Favorite : public groupInterface {
      +
      10 public:
      +
      11  Favorite() = default;
      +
      12  Favorite(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      13  CocoaTweet::API::Model::Tweet Create(const std::string& _id) const;
      +
      14  CocoaTweet::API::Model::Tweet Destroy(const std::string& _id) const;
      +
      15 };
      +
      16 } // namespace CocoaTweet::API::Favorites
      +
      17 
      +
      18 #endif
      +
      + +
      CocoaTweet::API::Model::Tweet Create(const std::string &_id) const
      Definition: favorite.cc:10
      +
      data class for tweet object
      Definition: tweet.h:9
      +
      Definition: groupInterface.h:8
      + + +
      Definition: favorite.h:9
      +
      Definition: create.cc:4
      +
      CocoaTweet::API::Model::Tweet Destroy(const std::string &_id) const
      Definition: favorite.cc:16
      + + + + + diff --git a/help/html/files.html b/help/html/files.html new file mode 100644 index 0000000..212092e --- /dev/null +++ b/help/html/files.html @@ -0,0 +1,144 @@ + + + + + + + +CocoaTweet: File List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      File List
      +
      + + + + + diff --git a/help/html/folderclosed.png b/help/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/help/html/formula.repository b/help/html/formula.repository new file mode 100644 index 0000000..9b4f8f9 --- /dev/null +++ b/help/html/formula.repository @@ -0,0 +1 @@ +\_form#0:$[-2^{53}+1, 2^{53}-1]$ diff --git a/help/html/functions.html b/help/html/functions.html new file mode 100644 index 0000000..5fc6390 --- /dev/null +++ b/help/html/functions.html @@ -0,0 +1,409 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - a -

      + + +

      - b -

      + + +

      - c -

      + + +

      - d -

      + + +

      - e -

      + + +

      - f -

      + + +

      - h -

      + + +

      - i -

      + + +

      - k -

      + + +

      - m -

      + + +

      - n -

      + + +

      - o -

      + + +

      - p -

      + + +

      - r -

      + + +

      - s -

      + + +

      - t -

      + + +

      - u -

      + + +

      - v -

      + + +

      - w -

      + + +

      - ~ -

      +
      + + + + diff --git a/help/html/functions_a.html b/help/html/functions_a.html new file mode 100644 index 0000000..9240b90 --- /dev/null +++ b/help/html/functions_a.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_b.html b/help/html/functions_b.html new file mode 100644 index 0000000..6d3e3a9 --- /dev/null +++ b/help/html/functions_b.html @@ -0,0 +1,135 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - b -

      +
      + + + + diff --git a/help/html/functions_c.html b/help/html/functions_c.html new file mode 100644 index 0000000..99cb653 --- /dev/null +++ b/help/html/functions_c.html @@ -0,0 +1,178 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - c -

      +
      + + + + diff --git a/help/html/functions_d.html b/help/html/functions_d.html new file mode 100644 index 0000000..27e60aa --- /dev/null +++ b/help/html/functions_d.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_e.html b/help/html/functions_e.html new file mode 100644 index 0000000..2f8a412 --- /dev/null +++ b/help/html/functions_e.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_enum.html b/help/html/functions_enum.html new file mode 100644 index 0000000..cee7ff9 --- /dev/null +++ b/help/html/functions_enum.html @@ -0,0 +1,77 @@ + + + + + + + +CocoaTweet: Class Members - Enumerations + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/functions_eval.html b/help/html/functions_eval.html new file mode 100644 index 0000000..96a506f --- /dev/null +++ b/help/html/functions_eval.html @@ -0,0 +1,83 @@ + + + + + + + +CocoaTweet: Class Members - Enumerator + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_f.html b/help/html/functions_f.html new file mode 100644 index 0000000..717bac0 --- /dev/null +++ b/help/html/functions_f.html @@ -0,0 +1,126 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func.html b/help/html/functions_func.html new file mode 100644 index 0000000..e5e84c4 --- /dev/null +++ b/help/html/functions_func.html @@ -0,0 +1,384 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - a -

      + + +

      - b -

      + + +

      - c -

      + + +

      - d -

      + + +

      - e -

      + + +

      - f -

      + + +

      - h -

      + + +

      - i -

      + + +

      - k -

      + + +

      - m -

      + + +

      - n -

      + + +

      - o -

      + + +

      - p -

      + + +

      - r -

      + + +

      - s -

      + + +

      - t -

      + + +

      - u -

      + + +

      - v -

      + + +

      - w -

      + + +

      - ~ -

      +
      + + + + diff --git a/help/html/functions_func_b.html b/help/html/functions_func_b.html new file mode 100644 index 0000000..edbf4f9 --- /dev/null +++ b/help/html/functions_func_b.html @@ -0,0 +1,112 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_c.html b/help/html/functions_func_c.html new file mode 100644 index 0000000..357d7e2 --- /dev/null +++ b/help/html/functions_func_c.html @@ -0,0 +1,133 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - c -

      +
      + + + + diff --git a/help/html/functions_func_d.html b/help/html/functions_func_d.html new file mode 100644 index 0000000..7a53573 --- /dev/null +++ b/help/html/functions_func_d.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_e.html b/help/html/functions_func_e.html new file mode 100644 index 0000000..a1c35a4 --- /dev/null +++ b/help/html/functions_func_e.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_f.html b/help/html/functions_func_f.html new file mode 100644 index 0000000..393d33e --- /dev/null +++ b/help/html/functions_func_f.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_g.html b/help/html/functions_func_g.html new file mode 100644 index 0000000..0abf350 --- /dev/null +++ b/help/html/functions_func_g.html @@ -0,0 +1,127 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_h.html b/help/html/functions_func_h.html new file mode 100644 index 0000000..b4a9a01 --- /dev/null +++ b/help/html/functions_func_h.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - h -

      +
      + + + + diff --git a/help/html/functions_func_i.html b/help/html/functions_func_i.html new file mode 100644 index 0000000..7b10865 --- /dev/null +++ b/help/html/functions_func_i.html @@ -0,0 +1,165 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - i -

      +
      + + + + diff --git a/help/html/functions_func_j.html b/help/html/functions_func_j.html new file mode 100644 index 0000000..112b5fc --- /dev/null +++ b/help/html/functions_func_j.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_k.html b/help/html/functions_func_k.html new file mode 100644 index 0000000..1743b38 --- /dev/null +++ b/help/html/functions_func_k.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_l.html b/help/html/functions_func_l.html new file mode 100644 index 0000000..1e529cc --- /dev/null +++ b/help/html/functions_func_l.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_m.html b/help/html/functions_func_m.html new file mode 100644 index 0000000..c453b30 --- /dev/null +++ b/help/html/functions_func_m.html @@ -0,0 +1,100 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - m -

      +
      + + + + diff --git a/help/html/functions_func_n.html b/help/html/functions_func_n.html new file mode 100644 index 0000000..bfbf6ab --- /dev/null +++ b/help/html/functions_func_n.html @@ -0,0 +1,118 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_o.html b/help/html/functions_func_o.html new file mode 100644 index 0000000..a826b57 --- /dev/null +++ b/help/html/functions_func_o.html @@ -0,0 +1,208 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - o -

      +
      + + + + diff --git a/help/html/functions_func_p.html b/help/html/functions_func_p.html new file mode 100644 index 0000000..c94104c --- /dev/null +++ b/help/html/functions_func_p.html @@ -0,0 +1,111 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_r.html b/help/html/functions_func_r.html new file mode 100644 index 0000000..54bfec4 --- /dev/null +++ b/help/html/functions_func_r.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - r -

      +
      + + + + diff --git a/help/html/functions_func_s.html b/help/html/functions_func_s.html new file mode 100644 index 0000000..d2dc46d --- /dev/null +++ b/help/html/functions_func_s.html @@ -0,0 +1,151 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - s -

      +
      + + + + diff --git a/help/html/functions_func_t.html b/help/html/functions_func_t.html new file mode 100644 index 0000000..5301350 --- /dev/null +++ b/help/html/functions_func_t.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_u.html b/help/html/functions_func_u.html new file mode 100644 index 0000000..d626a70 --- /dev/null +++ b/help/html/functions_func_u.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - u -

      +
      + + + + diff --git a/help/html/functions_func_v.html b/help/html/functions_func_v.html new file mode 100644 index 0000000..dcfb155 --- /dev/null +++ b/help/html/functions_func_v.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_w.html b/help/html/functions_func_w.html new file mode 100644 index 0000000..3984a0c --- /dev/null +++ b/help/html/functions_func_w.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_func_~.html b/help/html/functions_func_~.html new file mode 100644 index 0000000..5d88aeb --- /dev/null +++ b/help/html/functions_func_~.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: Class Members - Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_g.html b/help/html/functions_g.html new file mode 100644 index 0000000..23140da --- /dev/null +++ b/help/html/functions_g.html @@ -0,0 +1,127 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_h.html b/help/html/functions_h.html new file mode 100644 index 0000000..60cefe6 --- /dev/null +++ b/help/html/functions_h.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - h -

      +
      + + + + diff --git a/help/html/functions_i.html b/help/html/functions_i.html new file mode 100644 index 0000000..2ed3a1a --- /dev/null +++ b/help/html/functions_i.html @@ -0,0 +1,191 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - i -

      +
      + + + + diff --git a/help/html/functions_j.html b/help/html/functions_j.html new file mode 100644 index 0000000..c7dde37 --- /dev/null +++ b/help/html/functions_j.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - j -

      +
      + + + + diff --git a/help/html/functions_k.html b/help/html/functions_k.html new file mode 100644 index 0000000..d0f4e2d --- /dev/null +++ b/help/html/functions_k.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_l.html b/help/html/functions_l.html new file mode 100644 index 0000000..40615aa --- /dev/null +++ b/help/html/functions_l.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - l -

      +
      + + + + diff --git a/help/html/functions_m.html b/help/html/functions_m.html new file mode 100644 index 0000000..180c815 --- /dev/null +++ b/help/html/functions_m.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - m -

      +
      + + + + diff --git a/help/html/functions_n.html b/help/html/functions_n.html new file mode 100644 index 0000000..9a5d752 --- /dev/null +++ b/help/html/functions_n.html @@ -0,0 +1,139 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - n -

      +
      + + + + diff --git a/help/html/functions_o.html b/help/html/functions_o.html new file mode 100644 index 0000000..75ca547 --- /dev/null +++ b/help/html/functions_o.html @@ -0,0 +1,251 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - o -

      +
      + + + + diff --git a/help/html/functions_p.html b/help/html/functions_p.html new file mode 100644 index 0000000..bce1a0c --- /dev/null +++ b/help/html/functions_p.html @@ -0,0 +1,135 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - p -

      +
      + + + + diff --git a/help/html/functions_r.html b/help/html/functions_r.html new file mode 100644 index 0000000..b23314a --- /dev/null +++ b/help/html/functions_r.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_rela.html b/help/html/functions_rela.html new file mode 100644 index 0000000..690d63c --- /dev/null +++ b/help/html/functions_rela.html @@ -0,0 +1,163 @@ + + + + + + + +CocoaTweet: Class Members - Related Functions + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - : -

      + + +

      - b -

      + + +

      - d -

      + + +

      - o -

      + + +

      - s -

      + + +

      - w -

      +
      + + + + diff --git a/help/html/functions_s.html b/help/html/functions_s.html new file mode 100644 index 0000000..c102887 --- /dev/null +++ b/help/html/functions_s.html @@ -0,0 +1,170 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - s -

      +
      + + + + diff --git a/help/html/functions_t.html b/help/html/functions_t.html new file mode 100644 index 0000000..366dc58 --- /dev/null +++ b/help/html/functions_t.html @@ -0,0 +1,125 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type.html b/help/html/functions_type.html new file mode 100644 index 0000000..57ace83 --- /dev/null +++ b/help/html/functions_type.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_b.html b/help/html/functions_type_b.html new file mode 100644 index 0000000..c67477e --- /dev/null +++ b/help/html/functions_type_b.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_c.html b/help/html/functions_type_c.html new file mode 100644 index 0000000..50029be --- /dev/null +++ b/help/html/functions_type_c.html @@ -0,0 +1,109 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_d.html b/help/html/functions_type_d.html new file mode 100644 index 0000000..3ee9c23 --- /dev/null +++ b/help/html/functions_type_d.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_e.html b/help/html/functions_type_e.html new file mode 100644 index 0000000..cf3f3d4 --- /dev/null +++ b/help/html/functions_type_e.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - e -

      +
      + + + + diff --git a/help/html/functions_type_i.html b/help/html/functions_type_i.html new file mode 100644 index 0000000..408643a --- /dev/null +++ b/help/html/functions_type_i.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_j.html b/help/html/functions_type_j.html new file mode 100644 index 0000000..be5d0fa --- /dev/null +++ b/help/html/functions_type_j.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - j -

      +
      + + + + diff --git a/help/html/functions_type_k.html b/help/html/functions_type_k.html new file mode 100644 index 0000000..29d44ab --- /dev/null +++ b/help/html/functions_type_k.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_m.html b/help/html/functions_type_m.html new file mode 100644 index 0000000..11b719a --- /dev/null +++ b/help/html/functions_type_m.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_n.html b/help/html/functions_type_n.html new file mode 100644 index 0000000..3809339 --- /dev/null +++ b/help/html/functions_type_n.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_o.html b/help/html/functions_type_o.html new file mode 100644 index 0000000..42aff4a --- /dev/null +++ b/help/html/functions_type_o.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_p.html b/help/html/functions_type_p.html new file mode 100644 index 0000000..4494a01 --- /dev/null +++ b/help/html/functions_type_p.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_r.html b/help/html/functions_type_r.html new file mode 100644 index 0000000..123d093 --- /dev/null +++ b/help/html/functions_type_r.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_s.html b/help/html/functions_type_s.html new file mode 100644 index 0000000..e6b7ee5 --- /dev/null +++ b/help/html/functions_type_s.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_t.html b/help/html/functions_type_t.html new file mode 100644 index 0000000..457564b --- /dev/null +++ b/help/html/functions_type_t.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_type_v.html b/help/html/functions_type_v.html new file mode 100644 index 0000000..5ee0399 --- /dev/null +++ b/help/html/functions_type_v.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Class Members - Typedefs + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_u.html b/help/html/functions_u.html new file mode 100644 index 0000000..1a17cbc --- /dev/null +++ b/help/html/functions_u.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - u -

      +
      + + + + diff --git a/help/html/functions_v.html b/help/html/functions_v.html new file mode 100644 index 0000000..7ba22ff --- /dev/null +++ b/help/html/functions_v.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - v -

      +
      + + + + diff --git a/help/html/functions_vars.html b/help/html/functions_vars.html new file mode 100644 index 0000000..7414e67 --- /dev/null +++ b/help/html/functions_vars.html @@ -0,0 +1,117 @@ + + + + + + + +CocoaTweet: Class Members - Variables + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_w.html b/help/html/functions_w.html new file mode 100644 index 0000000..1e11037 --- /dev/null +++ b/help/html/functions_w.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + + + + + + diff --git a/help/html/functions_~.html b/help/html/functions_~.html new file mode 100644 index 0000000..613ee2a --- /dev/null +++ b/help/html/functions_~.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: Class Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all class members with links to the classes they belong to:
      + +

      - ~ -

      +
      + + + + diff --git a/help/html/globals.html b/help/html/globals.html new file mode 100644 index 0000000..9fe3f6d --- /dev/null +++ b/help/html/globals.html @@ -0,0 +1,101 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      +
      + + + + diff --git a/help/html/globals_a.html b/help/html/globals_a.html new file mode 100644 index 0000000..acd3833 --- /dev/null +++ b/help/html/globals_a.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - a -

      +
      + + + + diff --git a/help/html/globals_b.html b/help/html/globals_b.html new file mode 100644 index 0000000..4618bae --- /dev/null +++ b/help/html/globals_b.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - b -

      +
      + + + + diff --git a/help/html/globals_c.html b/help/html/globals_c.html new file mode 100644 index 0000000..060ef34 --- /dev/null +++ b/help/html/globals_c.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - c -

      +
      + + + + diff --git a/help/html/globals_d.html b/help/html/globals_d.html new file mode 100644 index 0000000..64cbf68 --- /dev/null +++ b/help/html/globals_d.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - d -

      +
      + + + + diff --git a/help/html/globals_defs.html b/help/html/globals_defs.html new file mode 100644 index 0000000..feb838b --- /dev/null +++ b/help/html/globals_defs.html @@ -0,0 +1,78 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/globals_defs_c.html b/help/html/globals_defs_c.html new file mode 100644 index 0000000..37b72e9 --- /dev/null +++ b/help/html/globals_defs_c.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - c -

      +
      + + + + diff --git a/help/html/globals_defs_d.html b/help/html/globals_defs_d.html new file mode 100644 index 0000000..327c10a --- /dev/null +++ b/help/html/globals_defs_d.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - d -

      +
      + + + + diff --git a/help/html/globals_defs_h.html b/help/html/globals_defs_h.html new file mode 100644 index 0000000..892ae40 --- /dev/null +++ b/help/html/globals_defs_h.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - h -

      +
      + + + + diff --git a/help/html/globals_defs_i.html b/help/html/globals_defs_i.html new file mode 100644 index 0000000..a23ea11 --- /dev/null +++ b/help/html/globals_defs_i.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - i -

        +
      • INCLUDE_NLOHMANN_JSON_FWD_HPP_ +: json.hpp +
      • +
      +
      + + + + diff --git a/help/html/globals_defs_j.html b/help/html/globals_defs_j.html new file mode 100644 index 0000000..3788a1a --- /dev/null +++ b/help/html/globals_defs_j.html @@ -0,0 +1,463 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - j -

        +
      • JSON_ASSERT +: json.hpp +
      • +
      • JSON_CATCH +: json.hpp +
      • +
      • JSON_EXPLICIT +: json.hpp +
      • +
      • JSON_HEDLEY_ALWAYS_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_ARM_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_ARRAY_PARAM +: json.hpp +
      • +
      • JSON_HEDLEY_ASSUME +: json.hpp +
      • +
      • JSON_HEDLEY_BEGIN_C_DECLS +: json.hpp +
      • +
      • JSON_HEDLEY_C_DECL +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_COMPCERT_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT3 +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT3_EX +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT_EX +: json.hpp +
      • +
      • JSON_HEDLEY_CONST +: json.hpp +
      • +
      • JSON_HEDLEY_CONST_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_CONSTEXPR +: json.hpp +
      • +
      • JSON_HEDLEY_CPP_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_CRAY_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_DEPRECATED +: json.hpp +
      • +
      • JSON_HEDLEY_DEPRECATED_FOR +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_POP +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_PUSH +: json.hpp +
      • +
      • JSON_HEDLEY_DMC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_EMPTY_BASES +: json.hpp +
      • +
      • JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_END_C_DECLS +: json.hpp +
      • +
      • JSON_HEDLEY_FALL_THROUGH +: json.hpp +
      • +
      • JSON_HEDLEY_FLAGS_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_IAR_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IBM_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IMPORT +: json.hpp +
      • +
      • JSON_HEDLEY_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_INTEL_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IS_CONSTANT +: json.hpp +
      • +
      • JSON_HEDLEY_LIKELY +: json.hpp +
      • +
      • JSON_HEDLEY_MALLOC +: json.hpp +
      • +
      • JSON_HEDLEY_MESSAGE +: json.hpp +
      • +
      • JSON_HEDLEY_MSVC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_NEVER_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_NO_ESCAPE +: json.hpp +
      • +
      • JSON_HEDLEY_NO_RETURN +: json.hpp +
      • +
      • JSON_HEDLEY_NO_THROW +: json.hpp +
      • +
      • JSON_HEDLEY_NON_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_PELLES_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_PGI_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_PRAGMA +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT_FALSE +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT_TRUE +: json.hpp +
      • +
      • JSON_HEDLEY_PRINTF_FORMAT +: json.hpp +
      • +
      • JSON_HEDLEY_PRIVATE +: json.hpp +
      • +
      • JSON_HEDLEY_PUBLIC +: json.hpp +
      • +
      • JSON_HEDLEY_PURE +: json.hpp +
      • +
      • JSON_HEDLEY_REINTERPRET_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE_CONSTEXPR +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE_MSG +: json.hpp +
      • +
      • JSON_HEDLEY_RESTRICT +: json.hpp +
      • +
      • JSON_HEDLEY_RETURNS_NON_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_SENTINEL +: json.hpp +
      • +
      • JSON_HEDLEY_STATIC_ASSERT +: json.hpp +
      • +
      • JSON_HEDLEY_STATIC_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_STRINGIFY +: json.hpp +
      • +
      • JSON_HEDLEY_STRINGIFY_EX +: json.hpp +
      • +
      • JSON_HEDLEY_SUNPRO_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL2000_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL430_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL6X_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL7X_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TINYC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_UNAVAILABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNLIKELY +: json.hpp +
      • +
      • JSON_HEDLEY_UNPREDICTABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNREACHABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNREACHABLE_RETURN +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_MAJOR +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_MINOR +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_REVISION +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_ENCODE +: json.hpp +
      • +
      • JSON_HEDLEY_WARN_UNUSED_RESULT +: json.hpp +
      • +
      • JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +: json.hpp +
      • +
      • JSON_HEDLEY_WARNING +: json.hpp +
      • +
      • JSON_INTERNAL_CATCH +: json.hpp +
      • +
      • JSON_THROW +: json.hpp +
      • +
      • JSON_TRY +: json.hpp +
      • +
      • JSON_USE_IMPLICIT_CONVERSIONS +: json.hpp +
      • +
      +
      + + + + diff --git a/help/html/globals_defs_n.html b/help/html/globals_defs_n.html new file mode 100644 index 0000000..4fc9c15 --- /dev/null +++ b/help/html/globals_defs_n.html @@ -0,0 +1,304 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - n -

      +
      + + + + diff --git a/help/html/globals_defs_p.html b/help/html/globals_defs_p.html new file mode 100644 index 0000000..961a714 --- /dev/null +++ b/help/html/globals_defs_p.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - p -

      +
      + + + + diff --git a/help/html/globals_defs_s.html b/help/html/globals_defs_s.html new file mode 100644 index 0000000..2662cb7 --- /dev/null +++ b/help/html/globals_defs_s.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - s -

      +
      + + + + diff --git a/help/html/globals_f.html b/help/html/globals_f.html new file mode 100644 index 0000000..f8ef2cc --- /dev/null +++ b/help/html/globals_f.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - f -

      +
      + + + + diff --git a/help/html/globals_func.html b/help/html/globals_func.html new file mode 100644 index 0000000..e7631f8 --- /dev/null +++ b/help/html/globals_func.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/globals_g.html b/help/html/globals_g.html new file mode 100644 index 0000000..62e8963 --- /dev/null +++ b/help/html/globals_g.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - g -

      +
      + + + + diff --git a/help/html/globals_h.html b/help/html/globals_h.html new file mode 100644 index 0000000..252fa57 --- /dev/null +++ b/help/html/globals_h.html @@ -0,0 +1,83 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - h -

      +
      + + + + diff --git a/help/html/globals_i.html b/help/html/globals_i.html new file mode 100644 index 0000000..b4a2a30 --- /dev/null +++ b/help/html/globals_i.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - i -

      +
      + + + + diff --git a/help/html/globals_j.html b/help/html/globals_j.html new file mode 100644 index 0000000..1d85b12 --- /dev/null +++ b/help/html/globals_j.html @@ -0,0 +1,463 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - j -

        +
      • JSON_ASSERT +: json.hpp +
      • +
      • JSON_CATCH +: json.hpp +
      • +
      • JSON_EXPLICIT +: json.hpp +
      • +
      • JSON_HEDLEY_ALWAYS_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_ARM_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_ARRAY_PARAM +: json.hpp +
      • +
      • JSON_HEDLEY_ASSUME +: json.hpp +
      • +
      • JSON_HEDLEY_BEGIN_C_DECLS +: json.hpp +
      • +
      • JSON_HEDLEY_C_DECL +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_CLANG_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_COMPCERT_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT3 +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT3_EX +: json.hpp +
      • +
      • JSON_HEDLEY_CONCAT_EX +: json.hpp +
      • +
      • JSON_HEDLEY_CONST +: json.hpp +
      • +
      • JSON_HEDLEY_CONST_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_CONSTEXPR +: json.hpp +
      • +
      • JSON_HEDLEY_CPP_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_CRAY_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_DEPRECATED +: json.hpp +
      • +
      • JSON_HEDLEY_DEPRECATED_FOR +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_POP +: json.hpp +
      • +
      • JSON_HEDLEY_DIAGNOSTIC_PUSH +: json.hpp +
      • +
      • JSON_HEDLEY_DMC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_EMPTY_BASES +: json.hpp +
      • +
      • JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_END_C_DECLS +: json.hpp +
      • +
      • JSON_HEDLEY_FALL_THROUGH +: json.hpp +
      • +
      • JSON_HEDLEY_FLAGS_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_GCC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_GNUC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_BUILTIN +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_CPP_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_EXTENSION +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_FEATURE +: json.hpp +
      • +
      • JSON_HEDLEY_HAS_WARNING +: json.hpp +
      • +
      • JSON_HEDLEY_IAR_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IBM_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IMPORT +: json.hpp +
      • +
      • JSON_HEDLEY_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_INTEL_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_IS_CONSTANT +: json.hpp +
      • +
      • JSON_HEDLEY_LIKELY +: json.hpp +
      • +
      • JSON_HEDLEY_MALLOC +: json.hpp +
      • +
      • JSON_HEDLEY_MESSAGE +: json.hpp +
      • +
      • JSON_HEDLEY_MSVC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_NEVER_INLINE +: json.hpp +
      • +
      • JSON_HEDLEY_NO_ESCAPE +: json.hpp +
      • +
      • JSON_HEDLEY_NO_RETURN +: json.hpp +
      • +
      • JSON_HEDLEY_NO_THROW +: json.hpp +
      • +
      • JSON_HEDLEY_NON_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_PELLES_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_PGI_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_PRAGMA +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT_FALSE +: json.hpp +
      • +
      • JSON_HEDLEY_PREDICT_TRUE +: json.hpp +
      • +
      • JSON_HEDLEY_PRINTF_FORMAT +: json.hpp +
      • +
      • JSON_HEDLEY_PRIVATE +: json.hpp +
      • +
      • JSON_HEDLEY_PUBLIC +: json.hpp +
      • +
      • JSON_HEDLEY_PURE +: json.hpp +
      • +
      • JSON_HEDLEY_REINTERPRET_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE_CONSTEXPR +: json.hpp +
      • +
      • JSON_HEDLEY_REQUIRE_MSG +: json.hpp +
      • +
      • JSON_HEDLEY_RESTRICT +: json.hpp +
      • +
      • JSON_HEDLEY_RETURNS_NON_NULL +: json.hpp +
      • +
      • JSON_HEDLEY_SENTINEL +: json.hpp +
      • +
      • JSON_HEDLEY_STATIC_ASSERT +: json.hpp +
      • +
      • JSON_HEDLEY_STATIC_CAST +: json.hpp +
      • +
      • JSON_HEDLEY_STRINGIFY +: json.hpp +
      • +
      • JSON_HEDLEY_STRINGIFY_EX +: json.hpp +
      • +
      • JSON_HEDLEY_SUNPRO_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL2000_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL430_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL6X_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CL7X_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TI_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_TINYC_VERSION_CHECK +: json.hpp +
      • +
      • JSON_HEDLEY_UNAVAILABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNLIKELY +: json.hpp +
      • +
      • JSON_HEDLEY_UNPREDICTABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNREACHABLE +: json.hpp +
      • +
      • JSON_HEDLEY_UNREACHABLE_RETURN +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_MAJOR +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_MINOR +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_DECODE_REVISION +: json.hpp +
      • +
      • JSON_HEDLEY_VERSION_ENCODE +: json.hpp +
      • +
      • JSON_HEDLEY_WARN_UNUSED_RESULT +: json.hpp +
      • +
      • JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +: json.hpp +
      • +
      • JSON_HEDLEY_WARNING +: json.hpp +
      • +
      • JSON_INTERNAL_CATCH +: json.hpp +
      • +
      • JSON_THROW +: json.hpp +
      • +
      • JSON_TRY +: json.hpp +
      • +
      • JSON_USE_IMPLICIT_CONVERSIONS +: json.hpp +
      • +
      +
      + + + + diff --git a/help/html/globals_k.html b/help/html/globals_k.html new file mode 100644 index 0000000..1bd7269 --- /dev/null +++ b/help/html/globals_k.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - k -

      +
      + + + + diff --git a/help/html/globals_l.html b/help/html/globals_l.html new file mode 100644 index 0000000..c4785a3 --- /dev/null +++ b/help/html/globals_l.html @@ -0,0 +1,133 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - l -

      +
      + + + + diff --git a/help/html/globals_m.html b/help/html/globals_m.html new file mode 100644 index 0000000..60f3c37 --- /dev/null +++ b/help/html/globals_m.html @@ -0,0 +1,81 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - m -

      +
      + + + + diff --git a/help/html/globals_n.html b/help/html/globals_n.html new file mode 100644 index 0000000..e8032fa --- /dev/null +++ b/help/html/globals_n.html @@ -0,0 +1,316 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - n -

      +
      + + + + diff --git a/help/html/globals_o.html b/help/html/globals_o.html new file mode 100644 index 0000000..2af8195 --- /dev/null +++ b/help/html/globals_o.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - o -

      +
      + + + + diff --git a/help/html/globals_p.html b/help/html/globals_p.html new file mode 100644 index 0000000..95dd590 --- /dev/null +++ b/help/html/globals_p.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - p -

      +
      + + + + diff --git a/help/html/globals_r.html b/help/html/globals_r.html new file mode 100644 index 0000000..7127996 --- /dev/null +++ b/help/html/globals_r.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - r -

      +
      + + + + diff --git a/help/html/globals_s.html b/help/html/globals_s.html new file mode 100644 index 0000000..02e103e --- /dev/null +++ b/help/html/globals_s.html @@ -0,0 +1,96 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - s -

      +
      + + + + diff --git a/help/html/globals_u.html b/help/html/globals_u.html new file mode 100644 index 0000000..5f1b435 --- /dev/null +++ b/help/html/globals_u.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - u -

      +
      + + + + diff --git a/help/html/globals_vars.html b/help/html/globals_vars.html new file mode 100644 index 0000000..99441f5 --- /dev/null +++ b/help/html/globals_vars.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/globals_w.html b/help/html/globals_w.html new file mode 100644 index 0000000..26fac22 --- /dev/null +++ b/help/html/globals_w.html @@ -0,0 +1,79 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - w -

      +
      + + + + diff --git a/help/html/globals_z.html b/help/html/globals_z.html new file mode 100644 index 0000000..d0f727c --- /dev/null +++ b/help/html/globals_z.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: File Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all file members with links to the files they belong to:
      + +

      - z -

      +
      + + + + diff --git a/help/html/graph_legend.html b/help/html/graph_legend.html new file mode 100644 index 0000000..2f49303 --- /dev/null +++ b/help/html/graph_legend.html @@ -0,0 +1,136 @@ + + + + + + + +CocoaTweet: Graph Legend + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Graph Legend
      +
      +
      +

      This page explains how to interpret the graphs that are generated by doxygen.

      +

      Consider the following example:

      /*! Invisible class because of truncation */
      +
      class Invisible { };
      +
      +
      /*! Truncated class, inheritance relation is hidden */
      +
      class Truncated : public Invisible { };
      +
      +
      /* Class not documented with doxygen comments */
      +
      class Undocumented { };
      +
      +
      /*! Class that is inherited using public inheritance */
      +
      class PublicBase : public Truncated { };
      +
      +
      /*! A template class */
      +
      template<class T> class Templ { };
      +
      +
      /*! Class that is inherited using protected inheritance */
      +
      class ProtectedBase { };
      +
      +
      /*! Class that is inherited using private inheritance */
      +
      class PrivateBase { };
      +
      +
      /*! Class that is used by the Inherited class */
      +
      class Used { };
      +
      +
      /*! Super class that inherits a number of other classes */
      +
      class Inherited : public PublicBase,
      +
      protected ProtectedBase,
      +
      private PrivateBase,
      +
      public Undocumented,
      +
      public Templ<int>
      +
      {
      +
      private:
      +
      Used *m_usedClass;
      +
      };
      +

      This will result in the following graph:

      +

      The boxes in the above graph have the following meaning:

      +
        +
      • +A filled gray box represents the struct or class for which the graph is generated.
      • +
      • +A box with a black border denotes a documented struct or class.
      • +
      • +A box with a gray border denotes an undocumented struct or class.
      • +
      • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
      • +
      +

      The arrows have the following meaning:

      +
        +
      • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
      • +
      • +A dark green arrow is used for protected inheritance.
      • +
      • +A dark red arrow is used for private inheritance.
      • +
      • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
      • +
      • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
      • +
      +
      + + + + diff --git a/help/html/graph_legend.md5 b/help/html/graph_legend.md5 new file mode 100644 index 0000000..8fcdccd --- /dev/null +++ b/help/html/graph_legend.md5 @@ -0,0 +1 @@ +f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file diff --git a/help/html/graph_legend.png b/help/html/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfada4875ec19170dc2766167cef96526ee173 GIT binary patch literal 20608 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 Qz*10V-ySMbMm`bq7feT{Bme*a literal 0 HcmV?d00001 diff --git a/help/html/groupInterface_8h.html b/help/html/groupInterface_8h.html new file mode 100644 index 0000000..1d21d26 --- /dev/null +++ b/help/html/groupInterface_8h.html @@ -0,0 +1,132 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/groupInterface.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      groupInterface.h File Reference
      +
      +
      +
      #include <memory>
      +#include "cocoatweet/oauth/oauth.h"
      +
      +Include dependency graph for groupInterface.h:
      +
      +
      + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::groupInterface
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
      +
      + + + + diff --git a/help/html/groupInterface_8h__dep__incl.map b/help/html/groupInterface_8h__dep__incl.map new file mode 100644 index 0000000..9ca0728 --- /dev/null +++ b/help/html/groupInterface_8h__dep__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/groupInterface_8h__dep__incl.md5 b/help/html/groupInterface_8h__dep__incl.md5 new file mode 100644 index 0000000..3e157e8 --- /dev/null +++ b/help/html/groupInterface_8h__dep__incl.md5 @@ -0,0 +1 @@ +64ef1c2ed6f5d6a4714f5605a6149537 \ No newline at end of file diff --git a/help/html/groupInterface_8h__dep__incl.png b/help/html/groupInterface_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f92e3cb443959008ba8fa8f502001573a9d30dca GIT binary patch literal 31291 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 literal 0 HcmV?d00001 diff --git a/help/html/groupInterface_8h__incl.map b/help/html/groupInterface_8h__incl.map new file mode 100644 index 0000000..bc2c696 --- /dev/null +++ b/help/html/groupInterface_8h__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/groupInterface_8h__incl.md5 b/help/html/groupInterface_8h__incl.md5 new file mode 100644 index 0000000..3d63548 --- /dev/null +++ b/help/html/groupInterface_8h__incl.md5 @@ -0,0 +1 @@ +c9d895c8c0d97449f35814346a07d019 \ No newline at end of file diff --git a/help/html/groupInterface_8h__incl.png b/help/html/groupInterface_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..7d25c4cf8de414eacc97547f4d610ec85332db52 GIT binary patch literal 16280 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 literal 0 HcmV?d00001 diff --git a/help/html/groupInterface_8h_source.html b/help/html/groupInterface_8h_source.html new file mode 100644 index 0000000..a385e8a --- /dev/null +++ b/help/html/groupInterface_8h_source.html @@ -0,0 +1,98 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/groupInterface.h Source File + + + + + + + + + + +
      +
      +
      groupInterface.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_INTERFACE_GROUPINTERFACE_H_
      +
      2 #define COCOATWEET_API_INTERFACE_GROUPINTERFACE_H_
      +
      3 
      +
      4 #include <memory>
      + +
      6 
      +
      7 namespace CocoaTweet::API {
      + +
      9 protected:
      +
      10  std::weak_ptr<CocoaTweet::OAuth::OAuth1> oauth_;
      +
      11 };
      +
      12 } // namespace CocoaTweet::API
      +
      13 
      +
      14 #endif
      +
      +
      Definition: groupInterface.h:8
      +
      std::weak_ptr< CocoaTweet::OAuth::OAuth1 > oauth_
      Definition: groupInterface.h:10
      +
      Definition: api.cc:3
      + + + + + diff --git a/help/html/hierarchy.html b/help/html/hierarchy.html new file mode 100644 index 0000000..93a56f3 --- /dev/null +++ b/help/html/hierarchy.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Class Hierarchy + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Class Hierarchy
      +
      +
      +
      +

      Go to the graphical class hierarchy

      +This inheritance list is sorted roughly, but not completely, alphabetically:
      +
      [detail level 123]
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       CCocoaTweet::API::APITwitter API Entry Point
       Cexception
       CCocoaTweet::Exception::Exception
       CCocoaTweet::Exception::AuthenticateException
       CCocoaTweet::Exception::RateLimitException
       CCocoaTweet::Exception::TweetDuplicateException
       CCocoaTweet::Exception::TweetNotFoundException
       CCocoaTweet::Exception::TweetTooLongException
       CCocoaTweet::Exception::UnsupportedMediaTypeException
       CCocoaTweet::API::groupInterface
       CCocoaTweet::API::DirectMessages::DirectMessageEntory point for statuses/*
       CCocoaTweet::API::Favorites::Favorite
       CCocoaTweet::API::Medias::MediaEntory point for statuses/*
       CCocoaTweet::API::Statuses::StatusEntory point for statuses/*
       CCocoaTweet::API::Interface::HttpBase
       CCocoaTweet::API::Interface::HttpGetClass for Send request with POST method
       CCocoaTweet::API::Statuses::UserTimelineClass for using statuses/user_timeline endpoint
       CCocoaTweet::API::Interface::HttpPostClass for Send request with POST method
       CCocoaTweet::API::DirectMessages::NewClass for using statuses/update endpoint
       CCocoaTweet::API::Favorites::Create
       CCocoaTweet::API::Favorites::Destroy
       CCocoaTweet::API::Medias::UploadEntry point for using media/upload endpoint
       CCocoaTweet::API::Statuses::DestroyClass for using status/destroy:id endpoint
       CCocoaTweet::API::Statuses::Retweet
       CCocoaTweet::API::Statuses::Unretweet
       CCocoaTweet::API::Statuses::UpdateClass for using statuses/update endpoint
       CCocoaTweet::OAuth::Key
       CCocoaTweet::API::Model::MediaStoreData class for tweet object
       CCocoaTweet::OAuth::OAuth1
       CCocoaTweet::API::Statuses::Status::Options
       CCocoaTweet::API::Model::TweetData class for tweet object
      +
      +
      + + + + diff --git a/help/html/httpBase_8h.html b/help/html/httpBase_8h.html new file mode 100644 index 0000000..dace5af --- /dev/null +++ b/help/html/httpBase_8h.html @@ -0,0 +1,154 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpBase.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      httpBase.h File Reference
      +
      +
      +
      #include <functional>
      +#include "cocoatweet/oauth/oauth.h"
      +
      +Include dependency graph for httpBase.h:
      +
      +
      + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Interface::HttpBase
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Interface
       
      +
      + + + + diff --git a/help/html/httpBase_8h__dep__incl.map b/help/html/httpBase_8h__dep__incl.map new file mode 100644 index 0000000..3d5afa7 --- /dev/null +++ b/help/html/httpBase_8h__dep__incl.map @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/httpBase_8h__dep__incl.md5 b/help/html/httpBase_8h__dep__incl.md5 new file mode 100644 index 0000000..0791cba --- /dev/null +++ b/help/html/httpBase_8h__dep__incl.md5 @@ -0,0 +1 @@ +de3ce1ce32a122aff3bd35433d66edcd \ No newline at end of file diff --git a/help/html/httpBase_8h__dep__incl.png b/help/html/httpBase_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e642a5adb7b3220bbdb33c330b6efa8dd0bedaa8 GIT binary patch literal 93221 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%0AO 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 UES*faO?;IkrEoS?;?m9k19DRdLI3~& literal 0 HcmV?d00001 diff --git a/help/html/httpBase_8h__incl.map b/help/html/httpBase_8h__incl.map new file mode 100644 index 0000000..a363b48 --- /dev/null +++ b/help/html/httpBase_8h__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/help/html/httpBase_8h__incl.md5 b/help/html/httpBase_8h__incl.md5 new file mode 100644 index 0000000..8c25e93 --- /dev/null +++ b/help/html/httpBase_8h__incl.md5 @@ -0,0 +1 @@ +53d18f35cf4bdc352d90643dc0b6c0ec \ No newline at end of file diff --git a/help/html/httpBase_8h__incl.png b/help/html/httpBase_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..060522c5322b6df0bdf464c2d2f6d696e7d009b0 GIT binary patch literal 17039 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 K#4AOOg8v7omB_9D literal 0 HcmV?d00001 diff --git a/help/html/httpBase_8h_source.html b/help/html/httpBase_8h_source.html new file mode 100644 index 0000000..5526742 --- /dev/null +++ b/help/html/httpBase_8h_source.html @@ -0,0 +1,114 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpBase.h Source File + + + + + + + + + +

      +
      +
      +
      httpBase.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_INTERFACE_HTTPBASE_H_
      +
      2 #define COCOATWEET_API_INTERFACE_HTTPBASE_H_
      +
      3 
      +
      4 #include <functional>
      + +
      6 
      + +
      8 class HttpBase {
      +
      9 public:
      +
      10 protected:
      +
      11  std::weak_ptr<CocoaTweet::OAuth::OAuth1> oauth_;
      +
      12  std::map<std::string, std::string> bodyParam_;
      +
      13  std::string url_;
      +
      14  std::string contentType_;
      +
      15  virtual void process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth,
      +
      16  std::function<void(const std::string&)> _callback) = 0;
      +
      17  static size_t curlCallback_(char* _ptr, size_t _size, size_t _nmemb, std::string* _stream) {
      +
      18  int realsize = _size * _nmemb;
      +
      19  _stream->append(_ptr, realsize);
      +
      20  return realsize;
      +
      21  }
      +
      22 };
      +
      23 } // namespace CocoaTweet::API::Interface
      +
      24 
      +
      25 #endif
      +
      +
      virtual void process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)=0
      +
      Definition: httpBase.h:7
      +
      std::weak_ptr< CocoaTweet::OAuth::OAuth1 > oauth_
      Definition: httpBase.h:11
      +
      Definition: httpBase.h:8
      +
      std::string url_
      Definition: httpBase.h:13
      +
      std::string contentType_
      Definition: httpBase.h:14
      +
      static size_t curlCallback_(char *_ptr, size_t _size, size_t _nmemb, std::string *_stream)
      Definition: httpBase.h:17
      + +
      std::map< std::string, std::string > bodyParam_
      Definition: httpBase.h:12
      + + + + diff --git a/help/html/httpGet_8cc.html b/help/html/httpGet_8cc.html new file mode 100644 index 0000000..e53e842 --- /dev/null +++ b/help/html/httpGet_8cc.html @@ -0,0 +1,124 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpGet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      httpGet.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpGet.h>
      +#include "cocoatweet/util/util.h"
      +#include <iterator>
      +#include <memory>
      +#include <vector>
      +#include <sstream>
      +#include <stdexcept>
      +#include <curl/curl.h>
      +#include <iostream>
      +
      +Include dependency graph for httpGet.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Interface
       
      +
      + + + + diff --git a/help/html/httpGet_8cc__incl.map b/help/html/httpGet_8cc__incl.map new file mode 100644 index 0000000..0af4a03 --- /dev/null +++ b/help/html/httpGet_8cc__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/help/html/httpGet_8cc__incl.md5 b/help/html/httpGet_8cc__incl.md5 new file mode 100644 index 0000000..1dbbb5d --- /dev/null +++ b/help/html/httpGet_8cc__incl.md5 @@ -0,0 +1 @@ +e29576b1bff743e6eb3624496d605fb1 \ No newline at end of file diff --git a/help/html/httpGet_8cc__incl.png b/help/html/httpGet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf2fec7d05475e5dd315b91b1d98c161ace2128 GIT binary patch literal 64866 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⪋HU;Qzb>Bqb5AQZgc6cmZsWtf)!#ERB!nxsRG`3iNMpZ&zshRA8mV z!^ig-O-cmC4q-zGSXO4w#k+TRZ3-kM>4xA{+Q4MC8w23Pta!&0`bRfE@ZGEP>tmqh zFc!)GB1g_h-uj`sx_a{0ufW0!ofYK&7d`TZPY!q~m`1l}O7bCIN8nE@i57(J zr`#n@im6&HE_?CQ(e(kUo?Q#1;tDlh7@2(qBGrnO@%0e>=xyKc>6SksDFxE&UfY}J%SDeYHxk)G{&cnJzPM*G=b{k-OzRBTL^BdS@~HC zKmK8bqwvy)dc6jBy{asoo4W+y*#N%z2F;QWJqy0XDZgLJp=Rkn`mS-97ra{2kdlL$ z&6~`AqS>6^gT^2TXixi#`9C#4LD$0OscUMV!dv_L6o>ow3JH-&n9~z>_3D+_SX%7( zW4XT-F?a^z9w_`?&0FS~6}v=dv+n%gwZVnI&XfgOIvE$7)=H&jm~e-tR|Dd6_()T3 z-MSSg9S1Q4M_Zc;6IWm)znO#-fkc7|18^(0Ru#x~91ys=(Pagt|09gh8E2)=xVvza z8Gcz<{wNKz-`z>#3lZ8iKnE~YMlgt|t$4CbS}+ZzX@-+WO6qBQn>$RuRnn@k|9>e6 z$1$;&nHAfkK~YwRmNbA_g|dxC;o;$gwn6mbPjg7sRI`n&aURJoh>qO;?;(yScF7jp zDK06I)=QQNfc<|ONcaclrQ(E&6QLu+d;XWRyZZ(b#GPc&HNpHGtEqGu{XF+q72?~s zC%T$*bUpY{p8mtPEmHW@J~cW@)0TEJK!r+6ZtSSp)!sk!ux=z6SMh^cvy_?Gx`ewp z9Ua}|mzVUqcNELp+wv^SC(TprJR`TWV% ztqN@smJ^{Eb+tVSIrpkA(aO#Wn#*!gG$|7k4kaZS6GW^+&@Uh^E^f4=&B6PhoMTKq zE!x3o#!}zCvhpyq_ngAn#j-34mXx=X`9R*-RFY5sKf2yMF1{9q?W1`=iiLi>d*REY4Ze|2$3Ta+S_j{u!QbNeA=-?Rt{F~sbS*IZ+$GDBR9|EgelKgfl zC{Xwn)tV;&XFE6$Wt)Z0;eJ>eBE2`2(1ME zkTXdj4GNKva5K~hVFzVVdsjKHyP6Q`AJkb(faoYAS)QK(=Z9&<8-^M$uBBVFOU#jw zy0g|Ku{_@`DM^nEt1*oBoPOzJ;J(DAM=F1f+tRVI<-BC4;KV!w=(JhcM0j}AY;0)H zlAWs@KGxE{|F%>LA%SVQdKO9(;`MlHR@7g`hd3i1TK&LO-?eN2Ux5{KraHSX{e9Kc z1TAXu()PShZgw>=)!; za7paFmY5jAAzvY6#L2yISwmw(WigbY*3)N1T5c6@joHEItCfI4defF=CYZTxhap+; z{b8=FJIXo0NK*N1p^HgM5)&8yV%>OG1%`$QMs^VSa-2jeytW2Cx8l=XM*0Es3xDVf zs`^)Spr=Aujsx~CCT1}I?EBlYjPn*7ud)qqP14mL`K^;hhbf5L?;rLHof!=sfcT=w zp@jVHy>W~@3lCP@dN#EbQlycH)6H8l9FOUEPpPx5Wy<|KJ$c>3yfYY| z9H5dW^yV?wn_R3W8Q(==NGmpE8*#0DuU8xKcq@zm2w$hov)l1&gPHUHt zc#Khr%vhkhDXd3wFZ7=VoR6jXxhD7+`UL40msAISR**pQXt=m|hPNHAx3i6Ze;{JP z_RMbdemV8^V_Ku|ho^bmYgZE>;c880tm3vU9^2X2PNLUMU0CB3f+y+7gZ&bHr)_Kk zcKWej$~-R-XI=0?4RP}0v*>5umxZw}{14sMtF5(JhpMS{>szjueSQH2l^%ab z3r3&03sOng&aH*6FryP@%ax=iXWoapjEylSI?NIH1UWzpeE#N?TM?5I$h@W(IOTJvdaU;lz1ylZ<|2^&_18ZHN+P5Nvhzf+HdM0bbU!YW0ixqG13sqEkC zpbEgS@-r7FG;C(al+d)!(UGOIM0ZD|jQ>b-63c#lp0~q1Zc95Zuq6n{4W!N z)*o(bQ|ZdzEb2AuTXepB8)zfh=2H*cOii7W!lekoN{$If{YZ!9s=Q}4zCPH7jTHne zltLq>FQg$VCwsi05cd`F+^(U_zO$(DD$9O?>;^??w72w^L6-KhmOB%XuEVzJ7G-jT zXu)ml89PKONU*b`9GaF(V8xzv2B_9n@O%tIjb3X=LKsyz9?29Sx;nr(-{s5Bg$cng z4)Y22v|M%M)+mCIS2$5->W@LcRhqrAJSeWMyY+N|Dj17-jOj5+YHQ7k-zX~5jlFT? zX>Z9LZq&ZtTD}L1pKhs(#@Jvrwct8y3YJU|*aHQX`IsL-k!HYqyf~#K)64eM4Q*aD zJdx5f=+PJw`kwYsmRa!_f$9>$Z>NtD%*)0Ow52*YkC`TFG)RLL{ziIiyCHUN4LeKM zy1@z=5Z}L8&xHj?(;CHgSj?$!oo>np#&f-$`lF>f#2W)B6H2sYz($4cXujIbIqzWO z`+BDxKguvvR~rtFoC(F=8@h40^Yh|-C~NcG0!SE6*xFtNJA^>@*sRd<`SkYR!wdhT zO$dwd$9v-k#lBr>SsJ)6l;0`ue3!>Mb9s9thAhZ7KF>JU`vH^XN*a1EKL>dYRF`(U z46Us#-$?I8j>W~!p}#Y4dK+uEb$6TYl9fFKS*Hk?q)4U>X?`p5=mL7acG5lwBUXaA z-}1V;dS08aua>WAzh6l(b>A!Tk`H6wtkwO%pxD$?y%v(beCPIU`q{C0D!(Pk9e`5y zd*%k->G%BjoRL?1hlSm_bJ3YR;4OQRj3Cdfg@9sB{h(G~g^zSq!tN&uNov#QMNZkp zRxPPXY0;xuPGyit_KS+INHl_$J@Y@ZD|j~F)!Q1 z#0P)!Bu^a_1n!9Dp)yx0K5Hm#r3k+8Q(5CKIk|Ny@+G!nJmrDpZ`b;0X_tTUAlKFm{+@A`?BQp&Y}tZas2JYNmV6<%fG1LZK{$t zESwLj3e9p(k9?Q55mYo-C()BNPSADpdhE-yJ$J6*G#{7Th0nrh>^KueW4^icrsdC??Z?ntM7sIu3&Iv)%_ET9zvyGYEt#k4s@O>qDCrJFw{eUQ!L; z-}awG$J#R&Ub^uQdkMdx$zP|_yQhk-M{TyV4dcZMz-Oohmly<4xNwMoqx30}s(J2( z$Y}ZZok~&1#QPeGFHW_!h>8oOlwb&_CCZ?xqO->&4i(jxsYmVfovclg7(CPCqImC6 zZ%}vlsluVNjDmvaNdoauU+&@@+-uwRKQD@tN#bCE52Q@QVLko*)_2p%%KZ}Bc7LBE zvl2Wy+gR)nyJ^!iBLSP6glZTtck~lGyAy*oZP=CD&5F(ZgQBi*k}pyf6|^%4*jRjSb-l!r6t>kqRHwIP?S`(BVC z3(b1h0K|x%8?;*hHM8wt*@P#?rRtpN^WH(6;0D)E`duq|Y%NWHh@N~M5xAhefTBfp zZHZ-4;KNwHYPo6icY6OwcL$?InN)lCGpMcb1q`w?jT)1r^5oH{|LBDBiR@@Y116?> z#5pf)o*1lkL+<2oE4A}QD}P48Eo@^OJ&zx!4iXtT^I@Vg^fOe*rcZONvMZ$tuKu6| z@jOMIGhz^@g=Oh1*t?k{mwNa_{PD44NhkXhtj2m=Ss>CDnwipmsLLX8m92~RX#V2H zp$7LVv;o6Ei$vg-p3im1F0mRv&E*AXtL9Ybz>o34kqFZSIs3q>U;p1@@e%9o@-#n^ zLhto&?_UfJQau(Gop*%)q+@PUNnFff?n_>NS0^fZBY`sDz3vgr$xYWd*yIRr_vkpm zm~{71_3jt*S6j_hwb0d00a^8Hwx68ol)xsX(OxC$ZZEx-)5WqDV!7FYG$Yp4qm!wu zJC7S84S9|81u!a-y!!x-<+^*~s&kJiK65*}h2W3Dv!D6oNsDx3SAt-D^wEdtks~98 z#dNhU=}o^(lK6wJDn=Yp)PjN%Ys-4=I$!6eIU8FD z`tmSIhiJ4_>)Q-H{J$KgDJQ27mAaUa9)F-P{H}HAH5>xH28Z5m0{g?TS_jf*vqZ9F zN+XQ}-=tD{= z4$#6I4wz(36scU z;n6N^hW^p)j?;W3;y96Y^|bD<$a&`Wy-=gkq~xLTIHA8xmJ#FF%w|%LCfmXBJS+9h zpp$@vnzrz(b8^PO7;1x%X*(OEpjqT9k{hPI4$s02I@GlA^Csk;M1O&LGiQQ>N0Qc4 zH2S9z2ao(85&pR6D`}M`d%bck7Gwj1D#6RdiQ2YonI0>pXp9aH=Qy+%AE_3*UCYdj z@1EY~1C7!7s8R*~Ws1DSPU?O%$U{f}7LpleeOFYP0?h=>^+E&GG=R_9WT7JvA}A#!;8HV|0VR9zbz~EstFL) z!*OGGZ=`&dLXKq4H#=Jr@i+vsN_;5;gXjD#+K~_@6GwGG06oS>!{)rJy3J`n7!d)F zBI}p8l90;(K=&%WV~-2d${)Ww_WxZcUadVLc;wV0;`(5t1KZnWA%lP4{S2ldbq|d- z(~NB0KS7bu2%--sVi2x_)A#__OHaoeeDB3h_Yqdif;bBWL@g^ zU5xlie4SMhTIwhI&8$X@@+JXzCS^xQabz@)JkE(i{5bH{m>K%zZ5%0K(0z(otFh@O zcWaG3klQ0+7%gmJa@Sg&jhy^y0MEi}P2ybfd}%sHQsad;X*gs#Xk7MS-Fu33pxo1V z8|z>GHl}ol^{Tr~sg$?fJ;FaYsISAF1O)oT;w2{`E8k73p-($|EA>jw3$M0a2edCjsy^k(`q#zZa#*i|pc7g|gc0theLw<2si-eaW-;6_mun6mDIx3Z;&Y zq1(8bl}%~IT>55c{Azx@Z`>z!&-6o4b`(^our?8cNc+HWtI~<-k#TV8dSho~U%dE{ z?maJFT5;b<02Q(eqd1hLXFe2#+#6c*^SZdh#OCkHx<#L-9&uSWPf0h$m-8FMYt8P} zx$bClr&@IT6YsrmyDN3AdRSSHv({c~5q-*X>`4p_txC=&E!p0Qt(9l@MT{i>R@gn! z<^J0Jd-8Cp(!|@#`&#cWluj5xEueNKn4>1aYWBd_SEqy5QdWv8TMCxFSq4$X4t|;k z{N>S`=>410vpqwTo}}KN&707SmO6Bxu$}J=%g$yuyzd+K`u5>noSd&uxCejvKEDn! zLMoGd8Z~ck@fR;t;NilD0q84H!yzF%s)`-5J)7?xX%hAI-gq#p;LhG7mAc_DH5Bz(^_= z7Ci3tJ>JaTO@#uFdHzLsIL(e7J4f<-&(6*dD{<}~mSqwi6LDJwZp3#armr5ACLGYAI|cR?@WuD zcEWRMbDr62V^HDglKE>29q!6GX`_uDrji_Rb2#*+Vg) zDpIWT1lkgeqa1p4>LsbWhqCMj5kF{Im~OM2x(RzPSOFTsaBw_0I`HSG+jk$mWT6U% zt$rEx)9okk>mkakyI;97Mw?mD&OpV2!Bqhmdj>uJUo?X>b8CTFx{+}YCWGh%x`{Iz%(=UP@x(vjeEcf9j>hc_k zM6Az-xL$aKTvUb6?bWgp>)ojc=2SHqns@yqwXY%OPk{DJ+cZs-MzgJk7Gc=tJ1X0An zlS(sfH7Aet?{3+Z;qv{B1*~Jy-EmJva}S7qnp@HZ6fjx}R*4X{V6FY|L3hM-o=i?sxXD*@-zHWVIJ~MGRsreZQ<2TqC0lt+aaw( ziS6qI;t2Pp9XrfLGGx#(6?v{#&!*>bfU}42Znsrvn{GSyoKbp4TZThdL*TiKf8~6A z^V{tMetperzZW&9cvmmEdmWTOlz16b9O|Ny_T4rs%ZF)qDAL^V>D+*VI1K_@c*gF1 z0tiRJCDZ!tOzR)T@4?(es1d%3J%@j@w8sWNi+Ve8EX z1<+!^_e7wx5Ie@wvLD^aKM<5)yCp_wD7?KF9b)uzikq66lcWlAPHC$L-kU zbvHpC!LIp$IOW8}rKN zJ?;t%A8>S(dr@BRuJfk3?;T0}3X6nqUAfmW_`XrG5oR@NH)9YHSVOm1C@;*;P<`BT z#2kcimumV^_wm2%=q94bHvY)MA~M=vxdA;a6t|@~8m~}tOkdOfs4ZSw)zPsoKVOc9 z>_mOU0c89g<9FqF+$4r3+{J5ZgG%)XI)j$6N)m^|DZAmpciFcmXFFdr`1yz#aSvGl z)IBj!Wiq$Cka0vHvhUVS8r7C4nly{@TM^lY+=$zj=DUgXBFwTHr(E!}XSa_CyoVSr zzFq%n9|{j55+nXoas)p(60_s$E*TkMe)5A)+7_>@ozz@)#NWHIn_j>CIR|{bnB*cl za?DGG3|(=IuSEAMai3LNvpH6Ll^{RSuus_4sXE(;hZv7XaXirE4sZG4eDnk(oyQ)EvuH_=M9fKtF(|( zEO^?_?3*8c@$>JcF0r?7(J|S+3)90htm`9CGVsHR@W_c4*n+|TiyHnpunOopZV{?t zm?KGq$eY@doq5#X0`Cw@+DHf?f5f7~dn?K&sY{>Uy)%M|&6YR;;~GrRhEoj;yASa2 z@IYHxi?m(^JS@aLB4_ro!nAA`^eBaeE4iwLa4#WdzZ>UNct)aEo*d-BwOh9$@ONog z#L3O_I;6c?Cxh)iVEIW6`KL@oi7qeT##>O0lES@tEMlZM=!4yBS zYg=E%RuFTMMM6xBRx_Gi8P*a4#t+Hu?CgZ#*#JW?m=V3)>AE;Kg)J?4O1$T|Rj7(t zr6N<#(Vei$CTo8X`(!O;XbO9jq?{ffKf5Vr=Wx17UIaxR+m0PusHv%;gA!gTM1TEy zQgU)KWSGQ1H(nB^g-EHXNyH;8Vj3?-OTr+H;fo7KcZ`~x+3e-Du&8wV_H8m!>VAna z>tyT}LZUxAexa$^kfrFU*rO*4b}3BYdg0jucbCUiHhz_M^`(k^9xdP}4+tk@K(a93 z)&<~rrL@vG+rW7^rlfRBu*>8CBWzO+qnM)hoOKjfI~&Etu^=Dt@?@?f*>_1fN^tY= zkZ)#_QiIxMYI0DObO3xm>@r~1;B%(%V#kgebG z<>kD|>9ae)f$_UBWSAt64xN*gmsia)0H3sHrEs*XU|8vobhw(qfI^{FXoB!35C?4S z5WAqTRQ|Vgu3+itmtEi{lagYhs7$aFPOyPDBf;szkt+t%B?x~7!cOqWk!{#9A&3lw z+e*3T46IEpmrJ3xsE323^H{go)$L;IN$B9(@RsVdW6Qna3?4K84h!cl&SHOrGH^fg9xF; zUVnDf^pxiAD$X+41HlU!q73nCuwqche*A$Qj{)@v5}?~C;jpE4%JEW3zmQY!)6I}UP<-O$5fRyn$fAPf4Iiz$C2~uD z%jfbuV8<8U_^R13?ZS|V=xJ>`48_Z@8wx*!@$;XDh6cZW<#l5S>Zo_WG&gw?>JSFg z{;w8$;_PWy9#bGe+9mhbMn;zMZ6*(q&b>j~>%n&h29J-RBf4EI;!w_eE*MF|n_}ec z{h0O(5wG7FVbEs?RCp39nw%WlhTJi}^018SHzwb?lMHL;ypgp_8rimTJr@@yh5bs~ zBDCN8$wu^{R{iPUsu=_g z@@hqsZh$g^t{4@gv)jH@G{^Lr87H8M-;8t|X*0?WZ+3a*@Y^QI6<^kEW9Lq1;CGxt$NVe@C)ZVcisVq(l_|XnIlp z1H@RQBn}q6d9#CzBw+HTg+}#)dmeFCKC)>%mX>jiR^H`{KtuG>x&c$eBoc|eR!dFU z2vA8itn%sB%BDCKY~V96U88X+WiT;8Hh;MQnkn**4(3Zal;t;&nrv58U1jI|4l3ZIpJ_vKixRHi4>Hz&`osb8ot!o~rVqdi zymZqhXV8qkysV>Rtqn%} zr%a#NZfEB>hrecj>Xbr9Pd6`T?7@N2-fd+U?;zz2e^(uJRP;={z$LG;6XPFFii(}& zUd?i8LW$o@P99EAN<#laK;H4g)_2X|`s40c z*?fE!8-3-~ms8=XBTG;u^Mv)A%-1N6 zJadc*c1uxFxVvQH@m<-2?CUco0#Gg;^iD_{ zhBPo9C7=;y*K5vn^b#1g$uKqbvb(}Z!P|Sf{~b564L#|Ja8hJ;pvf}CBuD*V(+;;E z??`*ijHJ(uZ&h*(1AerNhlk?$(`3;z;|a&iZq@{z%*$+S=U|Fjm(RSztymE8Rb?B3Vp@Zn_Mq^E6wO(;h7E*0tWo??!q>q z#`|~vT933#5oxntsxAYMDv&TDrNCea&VxSUx!5q?)B5B@wTHb&*6+i7_xE_%>f6*N zj^(|acBj?U>bQ7$sex_sn}$^SEV&E zip!U%1B3P#p6fL=%00vFCbSxRyNIRP{LwrBZeMIg(6dRI3P*386z;aL_=>7Sg$8x#3x)+Ae;N> z2S?kRblO?0zlSw5fRY}`iQhjvv2wE{j;LW{^-mHv++LEz!+Y9#sKF*tu2=%RCXLCT zb1-~dM@!3nVRr1C_u`c8nSCKWGxg0m!qztQG@S=Hm(WnYHBm2mKXY!!87qg-j(^s)A->{&0>4TOF7}R5iy4~O3ts;*92Fd_^{7var*5g z)T@>wrfa|1BBNN`;q?-FmY$wcifl={R^ff;$7ql#QDom2MCViW$5J0ijL)lSq`vVg zpB*19OggFd>z9$~i#g`Gzrq3L!nGAXhN2$1(wPRW4ZDb^AL3({BkAh{^H&2fypJ`{ zQpuY`$(Kws+PwbhIh!b#S3XCMu<`6xssomNBrTB9+uMBFq!~{kXH0C+bq-#Y^6mYF?|C7dXtDr_xV5iuW*bA%7D~#qp4m1I4gt^}aY{)k ziwwOj1M<3Q>k8S99ly~a)CFzPkz6Y!_AOhaR5Vwk;u~4w_g}?%b+lZXJEHWOCQds@ zJ#sev;)Ly)_9`tANg6G_8=uQ2)*mVJP@h{U01CBr#^C;;+h$==<@pJP-#@{yDy%hy zc?jSZVZe@Y0CtnV9fa2QA6GfCoOSvoB&5#CMfa9SVE$#OCyUi4TU#nMwX15SF7ewH zE=fLq?BZrgbn4HI7BG~zCZ>JX(rc}Gc0uVbHpsxhiKyDp`!=n~mLT;Q$mRwu}pSZuhmuP_|vV*$~&^oM`}AbNH~7jMp2K8!t*bEN|aWx zyyrg1+n1P?l}C@{n5eTWDsZgK9~SBUV76)PtsE33N@7{L4_vaxE=oxJ?DGkm8MP6+ z{3~?gHCH%h9{@*D-n4nYzj4l%(NitxIaCo&KA@~1%L+c&#ugTGZ1UIQZ&|ZTBCxSqkxk=p6jGCSR>p{S%8~v` z_3(x#kHyt%L*i)Jyf~l;=+M_*?~nB5#MEai94@De9FLJHE$!QZX13sH)SYT-JOcmS z``&ReBr~TTUq8h2+=X{TZ%N~z-wGSx{d*Z#8f?Z)ole=>4!u3hebVkI#dvSm-i}Lo z$GeE5oFglPc#59KK6B$Gmk9HchNuiw&WHcSuJpQI-Gjta+%5eRb|+`D%W6+p zcxl+m(!_~aYBN6G(>48myq|||P%A9ImhONB1+7Kdb5^eB{65Q!shpmk+3_@ zc-j1dhZ3QcLPm4#*56I|v2Dy3=^-j?0HqWgm$fkNrjtX|Fmi5tVU-X9({<>%HjVZC z7F#PG)e1N}ez-)ErPIB!FFvT(szRKaADgP~`1RFyWKd!lBp3IPmM?)O$1gCzIOrh%X9bm2;_0Uk!4P{q_nN>MhO*0z-R1Sj2P6 zC`mW)$9usM$r73OtD!aiEJBdAbb#=@vB#aE-&qT!;6wF_!kleND z2?;2Ud}!!C`Ljm)`f~6yI6XY^^KF^E4JTFZ^9IhQaX2x^am&Adqn+mPMgM7|?@lID zUH{{iOfOo~^&ZNm&nDTe{=}Tesz1&f)f0BglkkOHzo%5YEvFOO`BC4hS(1^~*=%-f zi{e~WPC@ETvl0tExB^qasH)~hQ_88)(RX#SQtiAm#FK+wV)4Am>2kY$o-dsyCJo^! zw2iy7qU(2(cY*t-T7`$4biTpIli)JI8fd4#z@FD8L{KKmcA`;xc7uhL@~rLoN%L}Y zts9sp-X?uoIUM)eBT2{x#{p)r?by_cuw<8z*Ms^Ey%<^;`Q z*#|T2TG~lT{gutHtE2MopQ{)uafv(jPnZQk1W46o?U|WK#3tYm_&%PcMOcuCIyPYN zg>y;r)XpXn4Lk-*Eq7R3^p=R5p0pe&!Bll|p3NDSA~V<9s`7}mz3)8c{=MjB zt;%L@8Fn(5xN=?ij7f?-nXKeluDtWLg-mmLI6NQ>NOV5W>FKT)>Yw*CG{#Vh ze=6EdKNfsZwxgBP$O8c^+JztU+p%8m#&9^1x=gY<3%xMmKeM0H6u1S|>X*06uUMWi zU!zJv6tAm~50~lm@hM4QS+V-b*IEXFf3}Nu z{GEmJi{CMpfR4^)lJ^>u_rr~tiz=-(iTjbu@u~au-nz44Yi*OqF+*ysWaGxdkZaGZ zXnY?sEhJy|>MhwxT8!9SUG*q_5c7cq)e|sa|-h z)xYDtJ~2ROP8S)Y_sC$3QEO_X!JtY{Ttw9UIug7ruqOJO)yAhQ~J8`g`{JaZihMF~5T;&~|>w^Sf_OatE6-yUDt` z$4Eb~vy2ZMg~qi|E^tJ4;!EciS!F{PJ>TboL1~mIMWMqZL(hX0yGq3brxP2|rFF%7 z1)x`^f+prs$ez1sCP-}|t2X>Itm0yjR8*9^fIK}9UArtskw%}doSiP*-E}w9zv~ZL z<7LsaM_m-`eXi8pXt(mLb)namhyC?(M?bwbOw;%Kg%z&B+D%EVJlqpDUt4>6b-)Fc z7)mgGNAraV(KMBMTy@!#>*5%XBwr zBnO2Q#0%H2^z@=w3;G5`?@$xS$la;E?I9Yy5$mU`Yl3P{ zFqZ{=eeVNWPR!0;yJ@WnDH}T#76HE7L4~wWL9T{C?hcM^L*uy_<8MIItHTk<6}Mmi ziBt>dL@?iukUL{C%j&MueAnEMm!YntZ)3agpZo=rWsY4$sr$mA4?S`qy2wJa>n(j5 z5$Y7*EJ>#^egD8QwAXxI07_D1*>TpI6`+N&ZO7mp^w+}&BvPU+)X3A=Ns3CrDa~^? z?s8DX6lrEkO3K~ z0wratMZ>|X*B)baObQeuD0A1q$K~t1YRC`+D`tHgY`h9sm9vQtGvU9m+%};lTyh|t zut2m`lCxwoZP|#6Y5xZTJQ>fB{sGYh^HOMs?5GGk-jr#n(slXX9Z-!S-f7w=@h3XC z=5W`N;^JZ(;rd(w)cK()t#RqnB^bffy%5mv8EU{O=t%}6%BMC4)+1FonX34aF9q&` zR|5lJ6FuGyW0*TH_xHbj8;4Ev+U{<(j*bq(c5HmO`?7eZ;KVyAqBzM&3erbFO>eTcL&p^QYEU78a^t zl{oMgON`47J&%AyIaDXHVjBE+Q#CL)!ehk9t8Cfw<+UyJ=9`}7p%g4K*JGbQzfA8+?8Js2<_8TGAv49sFHH=A{!PtODsbF7olEJDK#)MqM)Xx zMqs{h6(lGOvn&J2%|tUp$#9hLjRFD&D+D%BZC^h>V%=BItxz3C5)>`1tQnd#J@t{V ze_P%{UB@dB1`MU1{E(Y$6$zbw;K{~>PCtX;0~j+V%-+_XyS=KeP6pQ!nln+rzm<(V zCmO~Yk|oIWMqT}|%^dqwT`r+pQB(w5a4Z5|PlEA~XXQCi-HKtrB@0wyJ1|2Cf0>t^ zahKdb&hogEA_W3LqgVj=0>Cs7eD_xo4{T4h|+&0kJ+h(z^ll1THp2 zC!dO^E9T$+MypBi?9421oYikW*4pKvJ}U#arLt;CU#eNRb>J9Yb6th{vxEDzW1O z8w_I|hCs!DpTYMXlYQk9gVA|goZ zPkzjPKA3h%6fZfCxXnf(B%QEIV7nL;L z0^Nj2(>FYv2yFRy1ih~xHd*x&N!rNDN^^8{)aGHf_@U_Q>8s%>%!g-RbkYy> zzUjHI@=}=m_5E)M$BDiWIbiPP>x{eQ-~UEO?%S0i3%7TM*DSgr1 T! + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpGet.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      httpGet.h File Reference
      +
      +
      +
      #include <functional>
      +#include "cocoatweet/oauth/oauth.h"
      +#include <cocoatweet/api/interface/httpBase.h>
      +
      +Include dependency graph for httpGet.h:
      +
      +
      + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Interface::HttpGet
       class for Send request with POST method More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Interface
       
      +
      + + + + diff --git a/help/html/httpGet_8h__dep__incl.map b/help/html/httpGet_8h__dep__incl.map new file mode 100644 index 0000000..30fa308 --- /dev/null +++ b/help/html/httpGet_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/httpGet_8h__dep__incl.md5 b/help/html/httpGet_8h__dep__incl.md5 new file mode 100644 index 0000000..c03d734 --- /dev/null +++ b/help/html/httpGet_8h__dep__incl.md5 @@ -0,0 +1 @@ +3a177ff6d01a80bf1b88bdf3952943da \ No newline at end of file diff --git a/help/html/httpGet_8h__dep__incl.png b/help/html/httpGet_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..238a709fbf45f7baba3009540a2a9256991a4498 GIT binary patch literal 14672 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 literal 0 HcmV?d00001 diff --git a/help/html/httpGet_8h__incl.map b/help/html/httpGet_8h__incl.map new file mode 100644 index 0000000..e787005 --- /dev/null +++ b/help/html/httpGet_8h__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/httpGet_8h__incl.md5 b/help/html/httpGet_8h__incl.md5 new file mode 100644 index 0000000..d252568 --- /dev/null +++ b/help/html/httpGet_8h__incl.md5 @@ -0,0 +1 @@ +6bee47fb76c33c13e8f1f89878fe5e71 \ No newline at end of file diff --git a/help/html/httpGet_8h__incl.png b/help/html/httpGet_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4da811a87407f25f23500a9431e62986606043e4 GIT binary patch literal 24312 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 G6Z{_%>w_!+ literal 0 HcmV?d00001 diff --git a/help/html/httpGet_8h_source.html b/help/html/httpGet_8h_source.html new file mode 100644 index 0000000..e024bc6 --- /dev/null +++ b/help/html/httpGet_8h_source.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpGet.h Source File + + + + + + + + + + +
      +
      +
      httpGet.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_INTERFACE_HTTPGET_H_
      +
      2 #define COCOATWEET_API_INTERFACE_HTTPGET_H_
      +
      3 
      +
      4 #include <functional>
      + + +
      7 
      + +
      10 class HttpGet : public virtual HttpBase {
      +
      11 public:
      +
      12 protected:
      +
      18  void process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth,
      +
      19  std::function<void(const std::string&)> _callback);
      +
      20 };
      +
      21 } // namespace CocoaTweet::API::Interface
      +
      22 
      +
      23 #endif
      +
      + +
      Definition: httpBase.h:7
      +
      Definition: httpBase.h:8
      +
      class for Send request with POST method
      Definition: httpGet.h:10
      +
      void process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
      Send HTTP/POST using OAuth object.
      Definition: httpGet.cc:17
      + + + + + diff --git a/help/html/httpPost_8cc.html b/help/html/httpPost_8cc.html new file mode 100644 index 0000000..424c79f --- /dev/null +++ b/help/html/httpPost_8cc.html @@ -0,0 +1,138 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpPost.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      httpPost.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpPost.h>
      +#include "cocoatweet/util/util.h"
      +#include <cocoatweet/exception/tweetNotFoundException.h>
      +#include <cocoatweet/exception/authenticateException.h>
      +#include <cocoatweet/exception/tweetDuplicateException.h>
      +#include <cocoatweet/exception/tweetTooLongException.h>
      +#include <cocoatweet/exception/rateLimitException.h>
      +#include "nlohmann/json.hpp"
      +#include <iterator>
      +#include <memory>
      +#include <vector>
      +#include <sstream>
      +#include <stdexcept>
      +#include <curl/curl.h>
      +#include <iostream>
      +
      +Include dependency graph for httpPost.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Interface
       
      +
      + + + + diff --git a/help/html/httpPost_8cc__incl.map b/help/html/httpPost_8cc__incl.map new file mode 100644 index 0000000..75f6fd6 --- /dev/null +++ b/help/html/httpPost_8cc__incl.map @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/httpPost_8cc__incl.md5 b/help/html/httpPost_8cc__incl.md5 new file mode 100644 index 0000000..5a7fb03 --- /dev/null +++ b/help/html/httpPost_8cc__incl.md5 @@ -0,0 +1 @@ +902e96fccc69d192abb8ee9308cba5ac \ No newline at end of file diff --git a/help/html/httpPost_8cc__incl.png b/help/html/httpPost_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..13c4345263ad80033948af36dac06fc7031ab3a0 GIT binary patch literal 118735 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�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

      l{L6=~|{@PinLNoC29FcIN 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 iflaRw~?{J3*pXxPEzo^1L|b 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�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 + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpPost.h File Reference + + + + + + + + + +

      +
      + +
      +
      httpPost.h File Reference
      +
      +
      +
      #include <functional>
      +#include "cocoatweet/oauth/oauth.h"
      +#include <cocoatweet/api/interface/httpBase.h>
      +
      +Include dependency graph for httpPost.h:
      +
      +
      + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Interface::HttpPost
       class for Send request with POST method More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Interface
       
      +
      + + + + diff --git a/help/html/httpPost_8h__dep__incl.map b/help/html/httpPost_8h__dep__incl.map new file mode 100644 index 0000000..db04ab1 --- /dev/null +++ b/help/html/httpPost_8h__dep__incl.map @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/httpPost_8h__dep__incl.md5 b/help/html/httpPost_8h__dep__incl.md5 new file mode 100644 index 0000000..69f392e --- /dev/null +++ b/help/html/httpPost_8h__dep__incl.md5 @@ -0,0 +1 @@ +70f51bd95f4bb6f536c2c12a2c3e7e01 \ No newline at end of file diff --git a/help/html/httpPost_8h__dep__incl.png b/help/html/httpPost_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..00798abc45d9a5d713720df9d23ea51709fd02fd GIT binary patch literal 67781 zcmZ_01z40_*e#5Tiiil(EiK($N;e8f3@P2+X%HfvLnBhs(m9|YAl)&fba(gJgZlmN zcdqlJmku+;^Xyn_-RoX^f?g_0Jwhc!MM6S)BqJ@ZjD&;&MMAojfN~o=QzAB84F0=k zASWe`bdC7)8I}``g!B|iM*M}UTk^(~yPJyfxX2Ez1Y@D`HsQuenT4qXq`d=US*LZC{P|WduWxQ?7^j_J_e2~jJ+QdAO zW;O2exb05cSm?T_e_C4t2DTr|M}35c@yY)>wi845BlzB z^8WYp3`}L>|9t+oAB7J6Kc9a$`}yb?aiicve`U(Pjbv8$Hd+ajR;8ck1H_Z80~$Z{ zStl(KkCBkxlD8U^I5;{|Kar`%yDj$Jq9P6ooj()+FMUV$gZ%kTZ+BP21h(RNY;~*E zZ;9z|Ps8%n3Q>>g5kKH58Y|v?#Dl*d`kbPl?)>`%{Le~A-tyo3!4Hj?`_IcrA(GPe ze?Jds5qm6jun5%)@Weqp#TxMMTi*uT_X-`y#KwkR*h3jL_lDK=LU%UxCR3)qy=i`b z_hEpU&doPq{?9i&92pxMo1RWhN+R0w5Al28Y>K!Debw23f1`^*s#Rq(RcahOWix6~ z@mS=-&cuX<+-P^Mg~Oza*ZZtoF~@T*h}NVle)nj?mW^V)eQ zn$GLE)Pyj=w>oYH{P&lCgBAZVF)@+bX0qDn(xXsK zOGgLhd2Ew7hau{+F;?PnxR#tu%$;=E#nD@>UF5tz64WvWzQE`D@|eT4=g&CIHu?KS zR9KE4P0uR%o~alaEi82>UHV+tf-f)9sk51?eK>Vmvz$ulhkW}T_+_v2)#ze7PWP9u zcf)--@zJWLJ=PCL^^{QTYqalu_+d~Yoi#Au7EVh|O(NoRk)342?{jeyL#M(^j1D6S zZ`?Fi=jsd~9sCK0Frwbun64HJu2BwwaVM z;dZ8r1*UqeWu$h=h>lyPuy*w$@Uez^bmr~$8}qy$oUbh102l9J*9yK1~zZ)`Z<5)l0b zR!xp#iYy9vxuvB=N%%BVG#vv4`LXcH=O6lC^YhoY=V6b3Ov2wm5BAfpy*gs(Zokv- z|03}uXyN<2J7POe5sUk~U*Ny}8YG?mvOv3LubXGaiI;eFb@d@0v%Hd0&NX$c>}o)} zkwF<;HmkI4IW8s!te}U;@7LDWrUf(@anS=Qp`ELB^s%2X3@RW(q`kjgvs?JVDtuvR zXz1$7L+*F!uTEt#>p-Sb5Bo<@{tI?7Zfq|mzv7cu_7-#`6}4)LE&x)Zr9M*tvJTaFe< zk-8hLj}&5JV)|k5ulr+AKs)ced)sf8Ig2{qmo8Rj(!FMTKUa0__}m=IA^P!${!>3` zswa&zA}1-EF6ZC}sTD$;TX59HB_zDhR&zX$Hqz6YOs+HYe-7oUTwg4Uw6(S>CUG;7 zlasTt?M5pJW1{-!=H@#2GvZoKR9cIsvmTUz8BHVG_CD`QA<>sv(ANHG)tf4GUa#ki zxbnCAqEcLl2S{&&R_eAJChFbGe(3L;$7mh5Wqxu_w)l*!*hr0RYXxy?`Ax$`iTb}5m$EHdEA5Bt9YTvDX zZ*LEPH*3DEwDi})!o%~+gQ<&)i=Lhy+lJGC%9ly}&TC-#iC3+nn)ar`z*fu7rm33H zdG)HqVNtetbYcd;g3k)#7W^W>zDN^vFD)zEpAQ!SvjA{~Ap8Ceeb8Y4qZzDzu+t0- z3=qpc$+p2AKv}Qwxs|G_>h@Hs`w~F~1ZL3kNg^0`)v30VrSSp`=#wD7)psMF_eD`) z73W)Zw(U{WK|w(X;Pc;NgmwbRE(NnoWLt0F9Pr3-xyLxJ+^qjghE%vNKs|u@803C! z^NY*N`=?$N5CxP3Zfl6CDQz@>pj4l;)tHzV90s+EIlRV`b-ink%fnGHEVqP7JR_rOj=(uG6FAJZ|Js_XXr1_%9|ZeIx2zP32wHBXco-HLVj^W zZQn$3QBhBOJ3$yqU{QVJ^=8TV3ud2|PdMs2&cm<4Kl7nH%vzNj3+>T(CEtS2MIXh6 zp}SV2-(0d7`d`uU{pavMq80E8Tv=K9z3V3CQ`TIy=l>87%tuw4*ItlX{$<+rXFaB2U+$mH1+#1cf!5P)FI-APqWs{_A&{klTOtaT8THZ+{yTkO2AQK-$lUE)^zYhYj?F_AD< z_V5>FxO^ff-2nq721*r{j zk8QdXs-5pNKQ=WnIl2-(JV`v(-E0wZ5!U-$UcUSLM;^?RA)KuE*v$(QQ@d)SSh+=K z^3k7_=ZF1Ae(86eoc3NPLUR}yhq~g^Up))>ZFC7PAD3Bs?0jC&_wq3Bb^egWAy_5| zP6oeMntqKE)mE1P(z8I@6PSFn_tJ}50_?H(bTJc5>OKi2G`b6r|bDIPe`MpDpSr74MS3+Ww zsDelB0fkNXqQh%7wIj`k4q*M7nwnyX+SDw@Rn7QJn3Pe|&|EoDj{tlDEG^E6izQ0x zweth$g507a#f*LoQ5)FdNPT_%E%fgHl7CN{$c#Y=kc=y7*B3dmSrmSgPJ;?}$iB37 z^wy0FUjjl(V>d=6Hv*)Nn5uVo?yuO>L5Q$%aAK2^CjO`lpiv`=7G?v{WZMR<5zBQ~d)4Js5(pFjPjSGq7YH`h^F$;=GJLP0ijnBP6|*a*3~eSN_f zfAu-5$+K8{4;T|Zl^;fQdx`bLuJuINx!0}8XBOj}ham)s?{6P2LUZ=ql7CD>WMpJ~ zd>WoVUAfege=RF6j!gb@)8%+9y{0As12Ig2K7B^){n%3Un>??_>s+_*lX>+4V3?Xx zKuP!RlBdB+>QPnYocsCZzBRh#O)uGT*%g znLk1VoztQeQV55`8Ptos_PcpV(4{;)&YJum4h|0XdQLvnv6c#~DjmQg5?Bsq@%c=) zdwOxX*|q4vOYHJGR+BMIM*5@hwgCcC^kc;S-8MIVsI{UgUQ+iL34A|{G?wQ)#9>83 zo;@2=TC>OZzkE6I_cv!_yGs+@yZq3uX5-3c=a1kZytqBKL1rt<3@y_r0Q>rZf77(* z(I`ciO;xdGnaOb8YjtgV302i0a6`4Gy`&zNKnj>~4!m8c55({45L2Hx*KuH`HmC$V ztx$!>tX*vdFYOb`QqG;(uF_!SOku}I^TP-d7ez@x=pfCq_dkAvjY{gi5DB(|q`3Hj z@JQCjuq7O9@vX7lfi^NSpT*b|XJ<9^z|G_PXA{2L)1QhP_$8_&DBj7_UK%f=5su&qw^PKbKhG~*L7dqZ6iBAzbu9wjUTKI zwixV!Lg2XhvB;!d^CRV4P7D+`!PMtZ`_4638cx2n8=ZCPU9q3AINSdCd>tl$ip!kr zvZFtoWVbPKx>Sy? zEk{y{N!g&4OY($WVmG>|h9C0zxj1g{Hw|&dFz=IDOHw!eD;#w}ERrePY=^ZWx*+i; zrw2qKKw-g7=7K?$I&4uv#BJpUwhE$ND$potvZ=}+Uc0{9z9!{uBKP~XxJNA)2Ubk$ zqJw$GIFJo-v9bNv9!m+Pps*?g;>pR`83?3pPykZ+9k_o4RmvMyhV7DZ((Nbz)YItD z&{x&GWebENK#P(Db|k2q*Y z=Lo(-d<1Ae#VCj9aHg^)5aR}y)tqi<XjZn9~kr8xAn_)#Q z1ftEY6$lnk3GZsa@EYo)2nvd71N#v1CrR=6l(=nFG_A5!B@Z6-gXdJ~Gs%b-3TP0w zv~ug8wiGL_o3P{-AR@Hl%wbDNF5gO*O24DB_!Js!(j^V;^mo#t$DyHak&==+sD_gW z$OZ?WE7-pWJ2#@mfR8xk-CJ7952Jd1VkmrGCp%FMZ7nJe1|BCyV5ES*33NpIWPurjMh@)Gf?bk2I>F8T!;_Os4$d3`$IL5{ z?cz=*;qo-fxpVjNe3Pb0aVxo9Yghw0EE}ok^*B%`$ z=1AyIq4+F>_~aRBcyU8RR^0JqPtC~X<9$F zlsMEx#O?J_kmjoXia9|WgdyewfAQZQJ_rqa%$Ae_%NdH7w^m$+^WPCpBO+t@?0*;B zU6Ux+lnE;OJ$K$TmcB8w408qR!mP^5tfC$Z*0I%7k1Te@jL2U`_OD;ZO{aC5l-+sv z{KY$y#g3#Lc^QJd;_tkbz{#;=nSGCgYax7naoo~U`#QfejnB}iOw-5rbDJ@1jUhyfAzE2`-43v#`H&_BN<D8)LUY(omZZQeh2wdh zjm@qU6mYIOnZTw;`t%3at@%@O>n7yFV-x8W6>vc947IE%EnuvXq|C~hYCJF6`hH7i zWwY-rsgqd_RBLw~myC4xpvaPSUnn+vQo^^#UpJU^<8g7B;I7j;^Syg+cetjNqo_a) zYiMgYTXQlt=3w%D)6iB9Nl;@@Qou1a`h|S^3S|cROPW+i(pTW%tD9kBezW#iO>ImHk5zK4Lz5?XIDrg$Fs$sh;!=v2wjmj-mh~YHCbJ zLDA$s{kxt`DI6{+Zyc^@%AG{Q#Iz}2^JH)$f}j-(0?$xwZD~!-fsun-eXjA>GsM)_#6h6#1W8S$)kJ&4c{s<+2*h<#Vtd?{_iIr7 zrSoG4zX$NW@_A8}22crOr>?f%51ET_m7{m^pe$`MJ#y&hPm?m62KSD`(PiJ0*?y?* z_?s%%v&&oWo>Gvf&%EFjBn=FpkdP4Zi3oC`XHeizktwdi!CNOJgnan%6xyklJGaVX zVUeeiA8T2$Cx^xrIP$&ByBhF%Hrk2ot`Pt-l(!zpYuvz^`5`@W~zb?6lxpAh^ zem-?`qESgcB+K!43xdf3sVm5bzz*(&KERcuB^Rep!RRgpOx+)##@8;S#{P zh}R$7(-bD_U0*!+@;c*Y?syH^W5;X73{^k@DAPZB=#o6 zww>PIJ?W{V4aAaHs*J>aO`DqTuZs_Wn;d0QK8wdn%*{1e(g_mhrAleL*KFmo z;l55Vls!&#s?~(+!P*AxIzvlBj?Mz|U zY$VC*>0I5=Enn%b<+s$DfD?c0G+#_F76%@~lrZDbo}rZQFi);$`Y-*V6J}$f7-vOxTT%+5oI;-;?Gz z5&^{$jm$Q@iyV#Z#_R8|)s6KI-UW=@y)-g5>1bUXB1qijB~H0Binn(#n?=~-oxUW2rjipcRBw1ZuL6@Rs!uy;P zdtQKFeKcO5C0E?j5tTn2H8%FfyoX!W!C`?Iy>ol}yj(cEEhucM7~;H6;)<<3_s*|L zI#hD6`SGJJDX#{y52*KoTOhDAJW7ID4ADw!fgkf=veUd>45(C+!BA`-pI@J}S*O2H ze2U>z=c`NzWUD!6l-$N1G#iK|N^i3v&=~X^8LLH?O1>H$DCwZORvy~xbiB6Iy?DVy^pzHgx z<7x_Oi%Hr07Y_5G(W8ZRI*efiQS&3CRoFO}jaN@7MS(Hq0XV%guA3|hR9CF{$^6c- z?F+zd&uRiwJBU)11u6{hUg0|HwM#fbRaJ)RBj0mIK@4(-P^K=?8Fe%)?3Y&)Y=M{li*k9r#L0Fj?w% zI`2MYCK@-s*mAu->GhR8XGDHeqM;<@JWm;}%~38TSR55Ku6HrVwKN6nuFTKRg_?hTz>!rYa8;hzn zT+f`af?H&jpt!hs!Jo<3#EX=u}^B(=<0*w}C+5Yt2t>VE?)7N4e4!YfISlc#F$P$SKZm#ey~ zocl62MCF;d=o?kHZA8t5M*4?(-|pu2x(LCf*bngQQWEJ+91{CovRUxa2+^!7D&i6e zEuAZXwpZ4&^VRE_m&`HhQq1`Zbg0c2CyUAWr;P zB%wuv36>U&oL&a4V`dfX5K|8H>=~aB3WgF(Xof+Gi1LV z;1rR+7opp=01wIa;^7;>GwlTyXPmS_Xe)QxcAEpJmKpVYF6YDbcoyypv81s?q+K_n zOX2NfMm_^QJ(0l0jeWhVz2Qz4U#zpa#7<*|*j=^!^;A!jt1VacPNODrk(Hhl<8YBH zOs0-myRq2V-UrCu7bs&^o3x56a z4F^L*D-GmsL~rK6m>mn>#aTg9rmuj9JeQoprA)Lu;ZAte6L~=QLHGX9{r8o{!!s?d z2~WJiKI`C?7Qr;UAY`GQYPM}zs-{=MGIQ^HS_c$m!P4qmS=&qIA9mW%n7X>G1wbc6 zN)|oYl@Oi#GPyBsC4guoO%QI^MsnA3WRib@3m1@868EO}`Q{}X8>U=b7X$skv|Y2u zl2%xYfzZkC`d9{E;qv<=nZO&I^gh<|^J_>o1}4`Xb)8s}xWjtTz);t_3~+Y`{Q{Q_ z4PD4M!flwa+H{@PJQ*_-A?mv0@gljWD3(EFqI7Z07@D;)wmas2yv@;12e1S;udRbP zWgm63RdR4<&BD<%C-5Nl%A#WLm$Ys*R1o4OC|n1dpS*jkr|%nWdG`{MuchQB7s9_Y zB>B6NSl5fs6}E#j&Ka`_93R<%vWEY=WDW-?-D+P1Iu8yOKng<=JR@VX@J;X3*44qX zvO0H zEsHnN?|l#?Jx{dUoAx=c^1~<|ZM2>Ug6dt3n_1N@#&tqj8kw1x?9IaKTx})1VVl#Q zrh0v*h=NO4TSr;h6-;8TiUKh@1JAM57Y;+oGu|XlLvDeU;zY+r7kN-d0fgx^&R5-C zmfZNYTAaeh!*6MHa3vtooZ460d#kowVTTmawuAnS$9(^0*yEcZj~?7YP&+kbbbQ{c zNJsV?J6@TfZQj1glZE;H=sFMKM2`-(?ZCQqY-~4fa4?2wuvIzav?h4Y7!L2)ef6j> zsTc1V3lBEl`qB1iY|K#Yln4#a{*o~Oxpiy;a1y`7 zLWzKxl%*fRsQIJ^r42!YLShdYMI|J5J32-JN@@)b*Lr8X9La(uT(-O@c+}gyl1=#5 zM|}-h$82jB_u5F$6Cg|vMkzeYAUaZELkEgZOFhH5*k9X>D`d@@B_X%nmO@Hkz-q@t zr5qffD&GjF=^!8|6|Nh;B~e$-#W^N={r%Bo7LyZ_ma?*!6K8EXSVm~bfA<&0isKlP zP!`U3aJH*rvsL&9_dCEgc^zAm-Kwl&m~LogCJ7{hYMvXvr=XBdVk)zY5|lpHe*XOZ z@pOBrJPqhKVdIz=*RwP5@sUqH+{i5{Ikfei02WT55&P`rvEFIEUiaMo`PcVnhs8WO znIA_BYMd9;e~mR<2F_e=k-_x3O5p{eM83}Z-6~C`^cIU9y@Z5Tp#M~T?Ay<{Jgn}@ z&0RU|(76~ce8v%Kf^Ezf(=x~JQJ!6`p{}f)Gni1V%^kghjcd`W`9}M3cegbc7hofX zOKLS0Lu(6*N67E3xEbi^USvcX8A)?+7y}8`C7&Svo=#wSbZXNY@L^I4a2BjwxOoIZ zB))wo+UzZ3?)=Y8G zP&TyREC+nAstyI*Ma?1Pz!jaT^Re(@U(>uJG*)&ESPL*Tg!GlBUuIojpyaz6q&b^YHo;L zrPY;=s{+~Q7iq(5vhpDhY;U`6!)&+VDqH(^J-m{e-}I)X0SnWc>KP>sJ{qW3AKQHb zEis?d#dbX1u~+J*I^TYm0y-t96yuL#AQmixYbq-XuwjvO%tv+pKl zR8QV0D<_L$N@b7$3oQMkO72|Nz}T)g2^h5J&;HgprZrOym6hl;nGaHw4cYlXMP5r3 z-UeDWTakky+q*sKQ-LercMuiRDE!@Q`6>np;|nF@QuzEP11l0u4IN#sfJ0{M;+jcR z(iaMAi?wG8HqTOe4$ju=s;mXlm0MVJJW?-AV(j?q_V%ww*Eb1fUkZ{g59M-Yh%jeq z_Q;n^f6f`YORpV=dfVzNpZFX;I;cmz5 zN@nA|^Q2NSsg2C+PmT^TK|yS@y4&&MZ8?W0T9bYHh8_{@z8`zJOtA(|CFc)|S&@+B z?f$g>^>6QbTox8?0>5pgvSrR7l{8rVJ!uPPSKX5!JFgt<%an}FXsdX~7~nk7O7Zn% ze|{V_L-ve8AZe0V2r}>FB9~P%n3IEtWBw3z2-FyMEISv#cd@N6IWOx~%*+9yG}u|? zM0Qv#e4fl#dvDB;4E$8QWq@9+QhP@?` zk_O*+MwiRLJhC~V4j&sM#A!+6l;Hwv0hRCg+)M)`iNCjy7bw;T1zmkd?Gqh1PeWtwz4u36?MW_b1Av$nJt29cN7Q_ z9Y=+&y~R--7fpw1JT49SFJ*vhRHB9GKZ#gFAaBxZzr92-i})6+3Acb5uCAu}mqx>G z6Iw(X^HEWA(NRxS^8jYJ#nKDY(UC5KFePipALI3HNsg2vR;@MbSb{kLXyw;j zY}~DpZ^OCq>#%kXz6`=&>&-Y6HMJIuPSDdQ0tG`Z4mx;W14iJPnIBb@pV+D8H{R$! zjjuhuN`zW^UpP!dit9`FXRd`4QVQL6ez-rxQzW|2bxSU;UJeCbzB)Rq`zz~7)e;nEJKDP(<8&z)1vI{^RzO7v5n z$YPMleA|EL566T^PEAb%JOr=~x*CKNE0cx;>VRtieFNz=3&VSZje?w%2>FMM94Vbs z0|SaEK_LrSIdX%8SqTXMvI(ZbLKgfz+cW%U$i5a;0*_lt>MigQz&_+KH3{io2%u-+ z03xIg^lN};@d@Ou#zAM^ig7wvI5Y`6@RfFf=hf+TGH*Hy{Xmh1{rpgF?yPQqi~f@o zAn`y~n6n@3cdeJ78!q-#srXg5Eq;Nq-Q2W6Ozr2ah~+$&1pl6d~E*$mDKlPp=XH7Z~ z|63KKF58ou+|Cx`puTkM=BhC~Za6T%$l_I%k=X>f7GAe+wV$6~E=2PH<-$X)wQEvpnGHZj#N&p%Mog zJnFXbtkjL<1mVpF_5*bG3zHI5^6zXd^5RVdv2rLGfMZ4V2hCZvCvEh!wC-aK^qn?4 zO&B@wrsz2F+?aAxlsRuI?Q1M;L7%*KTwBMwe^nmv9{_gi!r}Ep&`bx;YzUgUTAU!I znCu;*NNEhP*K`jS9PCTBzQ3cdgHh7Z%RvWlHkh ztZ)a@_zl094*j*V^7(+A9vSavhG#EDc7Gm9NQ~PRuPC#LIDyO&01nn5#aEFo1DToj zeRH40c*_^7Ct8`}W-u{5T0>jDNGVZ-bZrcdask9fS-MBOH$tr@)-+nnD70 zhmOv}!m|F=uC8ZynW4ap7~D$)%@j3;&Q28xDWypohYy_39XM2E0tjd5(7ANU z`hs?vdF4g5O8Q?2fT1g5e!R+MK+7OU9@`q=37gkr#V^-LR!}ev-0G`(^r*76b)-k} zF*zu9+ZVrNX8Ofo(@X^^$;v*j1~87v#j6DTfN0>W>DUPEJs8V&~3@1v`N zsQ^i@Gd{;wuhmv}1wZUSewTu+!%O<))_c1pS@&HotI5&U-${U4qCmBE)?gs`H|R5e4@h;*pmjwd z_Y&q|Vv1B7>x;I*H*rj-8GjZwXE61UGRsT!WbO-z2sBAf2_tJ0%acrnZ}hEpEf=A&zEQvAn1L@AH*2MXg~!Q?qy2YeB>RBT7}*x0X~>EM#E)R!5i zg9jcH2^_6)aV`#9@{d&BfMJP_#R7R(w+ywi| z8Xr%G?z|+w-x}&!X(N;xOYOV!Bj2XZdX2YeZ2$a@v2g(KUJ)a@neW73M-??jz%dZH zqD_%gR@X2sn?W)jQCK@ZX-cGYaDrMqG7{z(6qXX?67Li!tlQpR?m|n>^;&+Aq=c7d z^5K1uVSM{1WYuL?=WT6GA|y&UZZ-A4z|d5YGWtQ5GP$DjBfd12mwGeGull>X5{n8e zJYYWDNwLYv5eak|O#Q&_2ARHV;!M}GUBzIAVvQ{ zI8$t^Vp^)MY9`aOm!`(;&9Lt!h54N-I@Y;)?CVb1fDnwcWQuKfPj3^W3-Iy1YvqH( zQO5(BC~hC}zmZ(tVikg~+#5uPj%W<7OT;f(5r%To&`{hA!Nb2pfc<|d-ufW%_tWH$ ztdmmX@ddV&X8oamN}{i3BdcAeJ^0T2j?NYE^}|69Z9YC!j{pWrF~C5f2*!uaBS%ke z{70U?{-?}M-aB2TpLRcF+2D0-Md;dSrD<04DEi4@RE|vE7)4W%7M=ojJ}9wjomPjd zrum)Um#cpXQnW8A%FNta=_jP(Z~g(!9*jWp^SS`EcF3x{9uD_CR95~8hwlNjQ4C`T zR0wwTG2fX+ziF))(MqJQnCprpXeOsVzl{{4_-AEH5_0s$0sU(-0Wv=M!#F5tF~F~i zMV;!EQe6>D0zX$XA-!x+3?;JNuY3Y6g__k|`H2boW2T$hOHRrFSY#lK1riWgOf~61 zu0!=wy>?qjfawVQWpEN@9aOGBv3-4uO&gp36#zl*`Nm%fZ%4bRK)rA=bV+ zkxSddh`UQLi8Mh$HP?j%kQz9=DzD8fz@sjq)C4YxM*o=fj~k?}H>IgJ zQwr=}2DQnEROUy=UnDUzd0{|T>H2yfOOcVhem1w&c-^6QX))sWNsx}FAKs`3tRWrO zDyWQ8(Lc+9*!Eu9x{)y*&2QViS3RJP=N{0`sYsu-8dh|4B!ZPoKMRpnz{$y?PW4QR zkE2n0HaBMFv~m{-pZw3SB`W%QflE_qHV=}PCfzMG=5+DA=2VH8p zW?z9OrAJlG#LRm0sozKO+e`d&phN(73-Vx-!6a1?lLtXdJV1+=<>ns7X)*h5l%(Yj zN7=Dh488a?n3hd*o~__H4@LuD^vw1Sy>A(CDAKgNzjxSY_hGp zVM@BiGiFwX4k-fz*@=X}JXlFtH!@|Q(eL9ubBA4JXRFbS=N8+7zd*nr4B!f-hU?K6Rfq*{^dSD9`&)vIg52oJ*F7f<-*3@EW zv7DS78kje_Ox`;j_#3tjHUIIy>b6t)e)v{<(DH+@%pcz|FTeCPJ=k;~dq&f1&@aX0 z9ZAN2$>ql?r6!9H04{fdnsDJ?m9ZEvz94VG+{DDJ~Y)RMViAsQQlbQuMVJ*j}vUzLz(t3?q7 zc)o#;)sGczP#+F+m}F+~hhoefo{3yl8(p5+LLk}*?{+0aM1_7HkjJY>bUpeSg++~* z)-w~f+u@<1UccWlY}eUtA@@3b-LkPYH=i#tbUr^`2kE3kHy?SYq6Yr^A|8~VU5fyg zq9eZt{j9>czN@TX&aKE*6Q=BZpaMD|zzcN&IPT;7HaXZOUQ@t{lA8LKQu-~Vdk=2P zr4Uoy;zke`cV&AtRjHxfWj(^ zb@U><^{4#=AT6Jomq%6%1BysN;YgnqAE%|aE5={9FVcxw~qB@kF6E|nAlTJLi2&4O6P)s^QZ=zsueyE>@Ah#Qr(zrJFJ$nlKo%?wX( z>6V+dmKyIHv%dkZNbA#<8s5S}lIvsN7F$?Fc=PPVQI#VAUD=C>qujDV#|t;Io0{op zqsz~4#g4^}!l9-XkhO&WE=b3AbS&-dnbg5PU{FLqC@aOTsrgjED4`f8njf3t_!}Rb zizphc8XB$`8rHP5EOcsKT%++5m)tW;&QPPZ;Cxcc6#2CL&f5onyyy^AppBVj(Up_sK(OiJ zavO2)BKT-mYwBfCraD5A$~&JC+PD_TZ89G-6a}ZHuJ({{sV`XEPH3dwO)oXgf!E;V z;(q}Xbg!qx_y!l^N{*$Q3T{KAU9JQ9G;adGjn)TSnzW`J)W z+(Meixxr?9^28C@iE`Ne(`nBe*2bKlE#J~^mvD9d=(^G}Ye zJ3{W5J4tpi97!bdUsWLEsw#%N=XZn>0r?~Rw`z4%ybwu&*jT`BlZGQodDgYe|{}T4iGiUxfm(Mw71LPF9s6_1|(B@ zv^C)yF6Y(Sm6DX*9Z{AQ>>eHx`LVO-Z#eaP)aOtS|2hbq8d+EVp*Le5$r=^t-MLjy?yxmrc6KY zGVd}0={bW`2ng&6ixJ+`_TetLSfQQ6I_iN(W`zq^q_0l}I_H1JIO{ z)BQCSpk{A{qvJ8S^ZID4y6#egybQ>`t{!$#326OTo=<3xUpPDi*)~hd)tHnr+tAiZ za4^H51RM30M=ht2PE-P&9B|Y*m1F7A)zNQ#|LT8JICwbl@+;8ffEENI+RWipm)pK| ze1FB}&H^X>Ye8smvdP?9u@J<{DiacVWR?L@hc4G`pT*DX0KB6g=ve#$_UA?kd>ou% z`#y738Q!}LjuUU(Cyft$pey!}uE%a=;{cpjiR76cn|E+#f^ZtbOY@D{FHZEnf!YSt zyZ>q87Ss#Ae(?@?q@m)b*r?V`*@FoTH;$xrlVrZ%>c^Cr806%2vO3^t+~iI`>J>pw-9$LsXpNg<=>$;?!uzqt!>HrzK(N;|Phimq9u;2DTJ1 zxj?}fTpksTHD>kG4V=cmf&UPt|6k-|kxf@h&*BDbGvixqYyQHsoGrU<0;shy${M<7 zFY$0Kfas9Q6?bry32ChiC2I7(zHBZjiF_<*x9EM`eN#Zan#Toqx%6M5Q#I*u3W5OP z?{=VHv$8ICX4n4I!HOvsb9NdvHKtf8pc3BQupDyWuUlXDwR)`eSNZ-j5`|=otvj=G z81r_DjGTJi`tW1APd~pvP(VT^ha;g|Q4~cbH8#q@Wkk`Yh@R%2iVKpy+l~K?pMTZ~ zwwx)*es&HkxB|EF58jDZHG8rEUBk<-l*SzgB?26mqeSGyA3eGb602aI!BW&sWoJ=} zjn4R)^)n;+UmJGiD^b;X+rko1m9OZysL()v#&+v+S>!Q@b~9_TZ-eLpc_*=rw7q1& z==x0M=1*XPgOs|KO^w&--a2p{nqgmezgswy@F@=p{B?gNkpw%qxGPin3>g_Xz{PZS zpdn64p`rS}s;TLi)TZ`+?-vYdeFP~LBiaI`%FEI_NR&6q4MY`oPd1LirpZI$8$;{X zAf#57BTXf(fODKMC`~0=@AvkhgjO>&jypiH0uwc(v~(ewmez238-GBc20*C4eB2mO!ipVAW0aJ7{5SQ31LlexB_}tZFxNi9%aEIx{{#ZK?>`@{G86`%nng zlLK}6=oswY*>BCBQu^|Mzd`vrFwiP2;P*ST8DtnI5yAASP2;E}5Ur6_R75$x-If$^ zZ(_Z8`)Va4165-3Z@*adJ6}}9T!>)eV*S}#&)HcVD1x<0<^sSq0nsuIG$&bnr@@L! zK|sI=cnghnZad8`H{-I3oAxRqse|yeV{6iX;G!VA3o1e&U(^_YA_Y_d%4h-tWx)d^ zR_UASFCeA4AE-?xTu@AW(@0LAP*8Ab6nXAS^fc#H?p%%b0w=2xNO2%KSL4}VzQ94E zm3xM>3`jmY79|{#P|_L0d(o3IF+*St0Zip+@1Cp~kHMz0YZfi8g6+0$g$wiNA-a+L z*F|;N^R9=##6Dp$zk9yZ$)eP7G8Z-uS$}^QDg?ahgoIL1D|)dfr2xsvnPhABO+s=H z#CK62a)BB?M``po;|_k4;H|+`d0v3FaHS}sTuv7d+ymX#7w`BPjNe1$_*sw1_4mk<>jk^WQ3p*&!>)7INY(iUk+M8py|PJQyXVI7V37+ z%j?q7A>A9)rUha8qu< z(Lpr~zqIOzi2+OV3owPj()_=>g#`N^+R*0Yk+y}V2k&JL&59fmag?0FD7MfM3E_<9o6*+uGWSsl%^L z7)wvb_R4WXgM`Enxc@XXtzF3p_AlBWkshbd?IKTmtE=ly$Hh=pZ`Eej*PpzR?TLzx z1_u+}gLv5cNsnEp`!PkgVCsnXjY)oW<^2ThUT4RKp6?WR3y_2)qT_Wv%Tup~6fyms zaDnKR4Y*^gnN>zm57_kYZ&yrAO-@?jZ)G)Mpn6Z@m~fD2iECrQzCV6_Xd2RS$)*xvnmX^9@h z4Zz(3yJ>r)GBoJf76A*6jfdHL2oWnvI-#amV+KJo4W40`CHmBtqeL~X-MipbB6 z28o%OC%Yc*T!`@mYnIJ>Yg(Z4O_`<>u8ofmxPpO98Cl>j%xq4A_X+|%oOTpuV&>Q2 ztx#M%sT6EXdb;9;1m-DP1Lp0?L`7!>tLmmVi^xVY5O46IRcTf8lPJL~Tp*B=!tdlV z%#OuqAtZJ?`s2s)j~_X69Jjxb8qZZ%x54r{yms^tXPbwC`BGJ0-qz*{g*NgLcYb)o zzB4~PGNP$wBIsSaI+P1wtrdhUpJIdrWA*U{#u*HDdhF2a%Ny!q9)Ko&ex5uI4h`W3 zXt~r)34``xDsy-HE0EnZD+jjv^q%65*;7~H~I?l;Dw*Z+fTO%F)Olqy0mV<2@a;fTPtWL{2#*J0;mEJ| zN=Qq0NC?v1-5}j1-JsG)2}qY9(hVY@A_CH&ptJ}gDILC&~{8wcP@5yWbQcP0M z53znf8v7An^WDVAxQXYaeCX@UyoJu!KbZ5$@6#@z7AZ$N0pD{ieEcxr=+7J{jjeig0R5P+F)hz>o7SKQyGNB->T~5auY{PHPvhBGa@KXQ!_uF z*j&USlrxz6*m(KoC z(=s$P(Hn{R31Z#BVcoASDwa;~EL~k&_mW91YW{ii>puWr`4a5l>k-uF=xnX4!&|jg zID6ikrlqBIYb)7)TCJeCSTgTR2j8{w^MAf(ZZ&}uN&f~p1;x_O9C7en$VXZ!OiynQ z4n}Xj;K>mmsTd;`BP-5n|02;gF_Ca)O-e`S%$zK>u8W`+wQ5pDnA{j+Wb70cl$?6b zl$)J!cOfg2dJFN~0U>l}v*ZS%zI$Tg{A&nGqFFhJmb#J{=^M}coSl3@$4!;z=s-H% zc=GD?YcjG763PI#`F57)&x;w+<i;}=qLwIyX_MV4ydgr4iI8Y*ZBHEG}%sWUM!FhDT=%7G!7K*DV!5^(OlIZ?+HB_t$dTJLT@^X2*RIT^o;j0O)o zJGNv(I5w4og9BHZ3bN$t+FA;miG!2VyP~4SjSUlZ^`M_Wy@Y=5`tZGWRq)OO=K)aq z*xA{EnZrbb7k19(^0GJBf^BwB2c~EIK}Toi;@X{?&!H54UGL#2rO*i*I&B|5{6WFc zw{)oQ?y`?A-N0VNj7-1)0o`?0nkf!Ws=#mW4q0QuiP zisX_?@FFzPkr17{$dce*6xzG}_Xn9!Rsgt#ym|8m1)CE3=5OY>SX*1$*?DhGi83Tb znvWJLCS_)2xjlVaT3Sj=OFK6Y6qm8FF`H>4lU>+Af&4RHU+~BRzm_->?)JgKyH|P? z=_DOiT$P_b_4fAmWs63uk#Jgki@eLYodfseKE9HqZ|?jm4}py3P#q4>B=Rpb8*Xgg5lu|5fRUy+5YZ}-Ki!Gct11i0_WSK z*VkLsa!MQ6F{tn6swTYWn=L!Ro2;@Qe50Dd;78fnyl-Xp$}jRJj2jX1E}N*&7SmhC zg?EezUY*Z~zUl;FEM|q*en5o*Z1$xhE`7eQjij-AOW~FS65{D*S;tu;04|*&uzuK4 zsrmG&m5TNY2S(uO3>Zs^>}l)jmcD%p4iURqvlnMasKMYZHs2x^cu6jq5KkrUX=jto zyE)x5Ju*Ucm9|9f;OIz3LSmq$RZvnwLP8RmvtD0cANJyfIkB#`b||$1m}H4@M}Pm- z-|v06o|e0^k@9m)pN7W3z~H?}!|T0bh)?rN=y=QDB{fdp8-d^3slI{1v_H$ur-*Un zF^9YNCZdtXQnJ^TcU>qJD0cfWciAp%gVfbJ4b-T&5{}q{%Mc{p!q|$3a}vA>*$#*% zfgqF^@P!*oOHIub4-5cnIdCl6`}?D(ukY`9iR*OpF*cQ$U#?~eT-?%04RmUO3l}V3 zSf0$x`2%(^m)in)xw+dI;Zk7|T3UiC0#KtmK5RbQKY7AAjrqjQO&R!nMa3sipYHDO zH+rn;`uksiJKV&?1P*f7&!6%*gz{iJM4vbAWlaT~BzR$UHmv{6LeWNQ9{j^@)?9WY;o)@}lkoHN`(W0R z{qiLzbT$wXrL?!p`3XhkA7jHcT2|;E58_O~TJiVuL;lfUtVYF3RyBHHugS#cM7{%?ODb3`>VRP`1Q4;qoJK_IU!O~Qf#fP?rCBn5*Yd!66#cg z)|0r;VD1VpWQqK*sr=86OE-oPrT=q5W1!W7PzIJCUSQM+o{c3Xkw0wqdIxJ<&0Jl# zpbNjr_n`F6o4;V*hlYlx!mxLGur@U{6>P)7%j@yv2^s`CR#sMKX80g!0#7W!2u_%X zn=&5mNN}(ec+$Wn3ThmzkL`igQzlYjWu=?5^9C3nZQHWIt@YfTh`frC7qI_T2;;H< zs!={Z8ylO4X@=x zszLkzkAT1KTt~nKN4mG5`Ua<^$zISf7>spyuXZQ19J{lyl!4vKW1F%MAHY@XNsgGm z@BT6_F|odxSx#aim;16h4fi8rT|+}5%XSPC6BAKUQE~AWz!+W@f8leH5)(5qF$o9> zfqhl)*RMBnuA?i=!vQ;AZ zicjpKV<`(q*syfrcF(@|50?<7v4xo|J=K8v;idqtQs9(N#9EZZtFzncn1#ipU;HV* zAbsahnG=;qAi5+qK%ioCy1!y!_SDYqZGQe7bT6_U(ks*8@()8U2H&%QfPlovsCjS~ zI!4*Q*Jw%|ovVs-C$bvNqIU!wX2PjKX6!UVG(>6D(!^$CW_%Ld7=33U3u$*MJMZ2KQkt&TPxK)B4s!hg1UJ@1j-v`q|W+6@IcaIC1(f{+{6rNCO1>i%%w?6`4 zBXt?Lw?<+~K80T)+_6eL@4_>g6m+Not;{Ou;Q#kwhgN6crGw=QIvtIK|2znXYST-X z#@_mcDA-{z~r9LwWzE^UXBL!!ESlhYu6HsL>%wAp2ZHMu}Wf#FG%*Aq3*4 z|LH!O>;Qxf917GreIp}zSy^0)TL?V*uHp89ft}F`OB1uW+|)%6A{R%;y`v-Why)u| zrhy6t;gh#WTq#dVgzR6&3sJL8nxy1b-N3fP40;u`9&(tgs}S!Zq%RRAdGs9WiXeq= z9@BRbh|rK>IU$oKUx=`kwYA6K)Hhi}2nj7HCQ0>ZQHsmsAA4H_Lhv@A5Km-@1z^WPQ}(1~TFq>MnE=i=hRK`tpTzb<1QJ)-t<3VuyRNN8hW zkzZQc{fGnH^Fmej4-e%uUP0T^Ho%gEG}kju0X*epTUS?wu_y(W$oa7)6CYWQSw9xNk|Ukn(jrz{XD5@O zAW4qCv2jekorec+F!k{8Fo-ZMIfwzeL41c7JGQU_hMNw&YHDt7e*XMeOw&wUL;gBUoj|t`_RY4^xj0Y&PfLZ2~Ie zA&o8O>Qthb!DslHW_p%HKH&DvB#bF4N;3r~U@2Bg_bY{9Yk8GV{$hsRYzHbPW-PpD zWN2tM{uI6RSH3p0iywc|mdr|r;&Y}K)D~nc%c*@w7*x-PCFTm5SMtfHeRLVSWz%wn z=(>0Rq@+HuF)RJ_U_m5j>$|{jbhLzI($*s;_T@)6h;B;oJwhPr!l)HgRC@Jn-JU$D z^WLEiGsn0+4>n+|EG*BCHnZNpXAP!?g0`Ilvdb*w;^SUjUEQ#-Fc?frt~BB>RY1{m z-y*?x7AAgPUS3-`wrzzz{63whYivxAk+Hb6lo^1$m>6Z-M_f9&Oo1oCm8RI(@ds-o zu4A9RPft^|eUuKzIypZ6*3nT`TKe?wY{NMi4)(9?gKHfhFRv(|5J(2ZVLMr!U;l5Q z&+G6zhJ?Gjr)Rn)(ACuy(5R%*HxqUEg#KrT{;*J`rQ5(=asS|8%;|G(ppk)rVxBrW zIywi2o4Y$X$0G@_%?mS!I_=txS&a>u)gU4@mDuj*^9UKIyP-2vcK~x7!9@cM1`97J zVA=IQ=H})DpQ7YR4hFP3Z$YCMPmS(a$Zv56n+1u-{EDq+q(dqot$%P2~8Q=s-IlDC92 zLZUD7X=C}jciI{nCGX$+A8k?uQ$y8w?0%kiySYi=cphyuP`*1c5${}&FuEu&Z)bgs z`@AHy#&vr4U9>CvLj!{}fHShPFN%t+Ei7og*yC~+m%#a;v{dZbVa&5xKgQkBmcW+s za`rHDC@L1kY^EE1?q2Eilh)lqXAcF4>V}R39&&RQG*=K)__(+}y?G<2rNzy~g(ptr z<>7&O=gvF~ZQ=_j+}rYA{kSHLw`a!g9IlUrsDXijq()V9Gv(C*SW)X&+F&wx6A@Na z&$f^G__X3Y-E8*UFzgej67l8;P;582JUiOLy)HXCY`rhf1%s)n!~^iFOldgX*1oYl zK(1&Km{{yR5_=FQ%nLrx*l1{9Ibwd;kdcu=syCO4PCp9@Mr$r+SL%7NTuax@soY5z zNqqY!X@e;WYMl|I5eZS1vgdN|jd`!>*LU+0FabsH?(Ma4ysN7-ke6QqOSy@jb$5z{ z$5VCOeQs|$_ycg=z9m^}tl~{y)UXs=rJ^{sE~k$TbzIL6-HoI-OpQ{gkslDW!#$v{cve>HMFGU?#@@|1uF0 zvQ5cJN@+IYcWF(3D7L*oU~TRpC^_;;5eV?ta`*Jq)zf2VWAk_WT>oz^fG!lkBO@Kf zM_bco{o*TsYS=HO0|LZ?slgS!y#-nM-*wyeY#R!5GP4!h1VjYJhnd7UIQ{+oGqbZ_ zFBm0z_>R124}3l|w-S{<0}qS+Ufp(~+pb-`d;9M@Qe5l;kmiX89M)17u0af5&K`OQe}#ntf`UH2zEkxcWzEf(P$Rpz zxcJ=(we8Bsr$gXH$?t}Oj@O|xlZkE)y;jpc~KVle?0%yFJ+)Fw0 zu=eeE3|j&&w#|O@_HIW853~5*xzFG5G2toUt8|D@*`m)rS63elzc(5h8qz9$C>u)1 z+v*{KEA{HNLFbdDvW^EdM)xd;MXaj+Cqq#Pxy?jhPXmKS?;SvIEX>SMBHQz%$H!y; zl(NdlLhU-%n`ojA?DH01^_CB(LPY z(u?_qGzuZx*OZy~5&Ee4RTaUghPSG2<1y$cb_5bE9`{KfLuy)#X!fJzO7Xwn`-wWZ zo6teFCNYon*CiACf&&&Ca*#^UHFph&C*I7Jn1lqd&SSB;C~VXoqU(AWPz^ph-~#rE zi#9PavHvN5EgdJeXM6q_!G*w{CpheO8hqMbq(g<8*bSZ%6B7gBvc9&KhmUVJOJ7%) z4~(`U$R@vj{b_6+rpa8$pF^lcuh%IK)=@jU0bOw}GVZP`>>h!EcQUxLZ*IB(=LV*` zkXlxjmoX?s^gD0fNZ>P@yyJ~JeqYAk8F`~o#2hAoTVIS%vt(?JgPX3omDRV45i$Q$ zj7NTDXCUqb!~f7pPSXAGCQ2>W!vP0 zoO#pyvyww19{1vXlBEr!p|WC`5BBVe%NDE>=bn{evXTZII5#r`inlI0`MBOR?(m1j z(fXa5MFpz$%MBs95AKvI`yEYx$V{Z!;QAvr5FCel+#mq7C3w(VcErhs4kP2T5X5cS zpxZYTl6avv8=}&Fu85ei6q?qNaHKYe;60%izqO(F??v1EF6r}wJAyxnkpFw%{skv= zJDq!OB5-h%x*7v6>T7EFgQmh?SbKY^&;C;1XgOdk<{w)l>Y zo09YDRTbPFpl1NwR_MP2pLM>BA6~SVfvT#iw{E@I-`~H!waR?l+(0OzV`2RTfZ({m z_BQVI?O&6C(SRBf~s(>*=K0%igAjnajW)rL(QF? z{Q>3x4GtD2R6`g>7xh@6h_wyqtd)( z+nEe(c&Zdu)#G#~b4Oh6@m=lf6rEX5W5?Yx?x{$&i65c)&kYXx_YMB_+MQC$@Lu*1 zS{>8fPviqB?1N(|t=D(>iuo;p1)~vf;f022|JR$aGT&XV%+5_%D1gE!O5Jp^>00elw_p}7*C+Sia z$!k>jr9l9ZU;?CQ`0c?2Movyn*fRlq4#Y6rx9aURHZCH3gaCZj!h0BXjCU6w+?DJ` zPh(P9LBnhNxV`-t-1)&w{`IoHkfJYoWq}p{(>fZ=`|!6OKkX-tkRnAlCbdX#{iWXe z3kL~DhV&C1CMQAypL78B{7_$KWGK6%hC!C51p&gk7%?)SzePIfMa@f1psT72n}bfiYNXL@WOA=#`bjixM(A%SDx8OQSt zfzY^S03=Ld;|MmTWaMukmI(oJ(F-9Xf+ir^&o? z^@l$>n)!-!9-f(5%56I}V8;{-UEzcH1mNz3PmmlKsIH#Nd|zY5Ju3L7tU+37u0+w` zeL1;OX69eN)ba6uFD+>M_#UowOHH+u5B2A+t=x}hVYdIG$ce~LP zuT{inWL>X0navoIH{IR8ewiv3gC{&3vw}nMA~j3&tgoZEJS;32d00pLHyEM6DJUp> z|6ZXef3p4q06IE4x+knkm%DM)owIH1NH=eLdC@-35$6v)`881xZV^uzZj}pPWo1Ix2CD(p(JUU!!>en5c6V3ZJ(Ats!IQpZvYyRn z(p<7Qk2nmM0tt~zmS?=g#iYc|p&y#R5zj*${OGFsHtb@c2GgSIn&lYirNmJ?Mar@e z%bHA@s{UxM7pf~+vDPD$DJDBy<}CTNt7P=Y_Q@?qdZ2#uCB6sxhiH~KXqOVkzL71k z*C;XMF~nxpL6R+T@^q8^F3YeNT|3elEv4~m#7y1jSy=^Val;6`53EZFlv}4y;b?~j zaB=qZ7u38ZOMrnv_E)&p~<^{u%x4NF*K3M_M@OicZw zPM$^?UmSVRZ((BR@Pc@uIq*fJ7jANCUIBNOl1>{3VYE)0l`dCWvWg9Fw9a=c-O4dl z3$p_KL$5-k4>t>8$3cyPVw&BouckU#@sS6U(%^9RySJk#k{o;udGFt&tBFSI{D4>K zR};6d#~nm1M$G_w034J>B#JCF(VPZe*{he3{xiOkd2gvvyKVTjwT-Q~%D#PKvoH7{ zrlk4<>*Of&n@@3EL}7VYibkB#+!@0eH*`B<)`kqm}!LQfYC%Uet-#HZ#Kx=s=eEFD<}r>{n{ zgk1%+-fE-22!8BR2yp~1L{(+~^k8sf(g-~IU#_kyB}QT*zRYd~KDd8>X(@*h<#s(D zMRY1Jf6d0!#n0Kc8g+aEU*7OMrp2x#v;Bi1dLr_HdznXGTiyPChaZl)fG6%k{a6b@;|=GbWAiBM@G7|1k_)gu7He2p{V=(j<&7<3h5+1N5dn_sPo+TKCDZa)J4kkcImxQS$%UaOo*XjzJZmh&d$2|cFdL2 zn>VQAMW0=cRj&!f$`z^i59?lHr_VBe8W@Pq%sf?QD7~-M3X%g2{2$%4BcgXWth=Ab z#P}gg)=zb?*YEBMQRVpOi0Rz%#UgFV8yxR`>PGhTbpK|Tj4Yp+*x9E~=uG%Zy2Cc2 zqG%fjtgO8Tm6v|oGfmsY=IZzqe7(!32aAc3=!h>nCvI7>KWz9ioGmTMsaj%|AJ=~` zkcVbC8UJ(r*lCW%vcSNmsw$7fm?-_wg^RJu{1Po}K7Q^oC$Y#}O%3!Htriua?;jZn z*qTa%U8PWgv6`y&jMU?#Z^Pha2im{Uv!k4y;<5390VaI(qUvN`JN2In3k3L4z2bvz z%l+?Jjpj78N1d%mV}S>UE&fEw5ML!OzOFWo2RuA~TVG%_E`_lRWp!Ir5D=`8kdS$} z|Gq~;nV`otO@@J3#!*(L<0EU!A(@pd(p+}${`+G(Q;64$wEpqxYI;a;{%cm@>EFM* ztv=!7zrD+VaknQ?RrP=q0~XtlG`9x~4AKvJkb~~Q=|b;6eCW0MgzPa(jjEKF3r$B% z6>OQGKBf2eVjou~?ChxBtJI{%R8lI1d%}rPpgGWT6~It&u)0>(@%`4?ihaM`c}J^F zWd+>!VCtTfX9^FPHBWYnF1wPXFr?M-o4j{kej6@(t03&}`@E^?eloKYu{(yelr+r& z0*9K9@2)H^hBVx@o}RS`tYV|l@$`x2CI*hj7*Y9tEnSkuT7Sm%TduMb(of%%l<4f@ zDpAt-z(C(6Ado1?^P8@F*?^A`9Yn3-g{7c`8v~`3KRr zf-rs$B}+-QqX`+w!ZwIxYuiP8T=In8i*jS1;2OgRgu;A$S{7@!LL0nya7_se9z0;% zthlE)Sy?FYX81z zWMnDn?~RZCePZIv56r3kTR{lhpKs>NyET~Xo_-<^V8$*kl!1L85OCGns%;#G(=a6Q zJ_`DJu=dloSAffV`_#2XwAO1Ywzt>Mua>b+Mth2a;w(q3DM+aZwchv5z}w5q0uTYx z6XK0=q^*O7=gE|^vg(iIg>es$AvQCt;Xy4TcO{7;%`l7=!GOjW_X<|UVD#<~#pMkg z=bUPm-~*|uoD%$i^-Mv419VZ#&ymDcG6huB)2LCU3N(;z$|-X(Q%_&thB`RA;Pva* z4Nv9?jQ*H4HXfQbrV9FbPiqzbW!Il+^{!>ns99aqOlTzkX}~JxgTEh;<&Fp;IeH-uuf5!l-ezVs$1ZrK-`<@4C8H zE3IEON?vVm8?dn6xqZYIb%rGcmoL!N5@}%7=>7xRoBgUO5D?xY$0PYYQZvzV6}LxmlQhS44Eb-wv&;2qni5Bwm-Kzlaj*VN|S5W=V-s`{Nl)dqZoDu11{VboAK~i zxVVy~PL9Z9x~%Bwn-cu|H%HWtR)>Hqm(8w}WKJ$EE(XGa@!ZIlt1v(R@~60KSsBZ& z$ag>;aNkl>zqf@a?NGQ2W%;g;8VffBoM*4KPPMRy%VRtzmIPhuZqSeRY*Ci+rnA#f zv}fxZfoCU6wSWJ9{*lq*bMC!&u+}3j&8Tm9I4gq0<&>%sPw9Xftj_c{Stm!>YxrUI zg8`JKTamFp+&v~Q=VTSn)MPA(8QQ-po*s=Xop9k~#Ab>4!*PL3f|L%3pbyUuO5Han z6xhrCm6WtuSqV1d$nj-$%MURy+>;+Gq_Bz3QO4H4kG)0JK#P|B8;TTTszb=32&@L;Jy2PRWe%e_MAj|Ue zZ$h9sX(8Geov6dWmu)^{^J|Zx!>0PHD8P(RC<7bI)uE0F+g&Fri27d>cysN&Fk|T0p=<5U^TVI|pn(YI~!aR9&TwMP4gt-b(4XmV<<(25^;$ z?L(s9w#hwupB&L=3**(MBIU;YEBJ)b8>{uKJUnj-We&S_PZ$3NboZWr@mEqe7~5Xe zDOsT73(acCld8cdB^@BGKBwA7EU_%096D{OLw zIUg02wgkYw*Wbiyg7oyuCDoK)zevT!<#~DO z(NGG?%Q+ohjV<=Xk2xW?agfHYE?N^%iuL^b3F2ap>E^;p+rbj;s28%XGzB(D0~=#* z^H3~Icu9{s^?s9aUGAU4ivy83pMByF&=xYYtc^LvNJ*X@3<~?Y_Z>|Oa}ocAF#Qko zNG~fZ8*XW74z)xIa$++J@Y@*Y-n_5Pe5(zIipnuxD)HW}TjR$&gr7fOKyV<#nQ?G> zM`vXN(_6U*wiJe=31fG*iD8{y{{2z>_U)N`T%mE}F%$ohmWM~dhY#rs@x@uxqCQ@a zIlyhnA4;lAmRLE13JVMG<99cZF#2)=Yh9;ffBkY`DQljq&%T8kygreZnzZ-w%rEF+ zF*GJwL#=i4Xn+5=Pv30{iXZs}L=Q7;j&>{$;wU1~(9{4q_Wr=Matz`XIkxWUgNh(=f9<_FD?ua3U6y`!D4AdQBlxqvk?jo>2T7z2J9zZ zHNG5T6V{ayBHfqMeIm>6sTXY)Q z%pTt&nr-`#-=-=BcGD+~-R)u5`rGHhaIdhc z%2>QbJWYi!iuV5fG87DsFU5f;npC(?&PFSQ>+4saKmSl^8?UXNi;I`%XXk8>!@ez6drnI#N~8ms3y}8j96=L+*Fg9P_;uiz5B|MSz=}oT>Nm`@%wUNZa(v?R5=3 zT}QDu5~QZ4&R|*0`H-p@q+RYVf>-7}2WUsmNPcCPCD6~qUnBZV_f=Y2PI`Jq_GRg(Us zxsiPRI$!u%#9G1MKRS6xE*r&H9lyF}%WF{yRYPO4ZqH`;UBLswJ8cQa$JTUm=V!j% ze`>5zux$4Z;ng>@~sOnCaQi3z3R!M?0J zR`mZ;i}XuaaKv@1E>g(9_pf?jgLq?!Y$^5@vqE-Hg%EUJ#Uj93wt@w&O0u zD=_N(Jqpdj_+`#?&i(u4$klU+eZb@(5@d^thQhIm-~hSlFA{X{)W0ey*|XV} zmfVm`jy7sOpB)AM6b%acc7D1xG~coHnd*a*nb~|-(vMFEg=EVKb#8P?NoKn-+;RDD z-#fRI>7g~at0{G#>~zdeO$~=*{g^u$?1+c1reYb{$&o=VY_umioNYIzdR8(s_|5v# zJz{M2wT&HC4Y|23Onpk;Ii+$fN*IxGvpSocxgLx9z6zZA@?&8k1z;Y)FBcc-T#uU) zaOAHTH*w&0L*;WhSyp0UPmUX$U7x_zuOnW(@Xg;hMT=sArYd>4fFDRO+=z(Wo;}lA zSs_SjZLHK^myLeNc+bjpQpjV|`1TP@7Q>&}s@QjwEx5+SFFR2&$lJU|F{tw`J2V4N z79Gyi`qWEaWoEu7B@GpQnU;DiLOt_sc_0LGqxa?hsmIDx6F(l_CugS^z4Gkkb*G04 zp=LVT+Hl~i7Zg(E<>iz(+u|4e3$m~=8p+>c{lMcTEYze4iNgrFa2eYmDAABz`&y954^NnsS~>)vCGUthDG%- zGDc-%K-y!rl{0vX@=?X;pPH*Chh#>Yqk=J~-tp5VcC%IJ^#_0?EPNL&9QhuoZ3ccl zy_?jv#BIYAWn+DzGBfB5RT=98-;DItoeP#rZMtGx{L`mGG*EZXeeXT|aarB)Z!G{- z1>HG)V^q|sUbz^0UCPTOEj+^4nF$G^-j9F6bZ=^UpUaMdcrsScOG7*7c{YDD>*2|! zaJWgso4a_)ey{`I5_n}|Xy_s*7vQo9YM#@N=5mLJZ`j!W#>HLKiK{dE{7O6e%r_i{ znNs7F)?M=$T=XAiH$Iz@;L3VvRNGJRK}Z;-jf1iHy{s(3hO2Ep6CR16Yip>v%(sJb zjRiE>C)XGe^)TPq(-))tpX&01&CH1zeKY|s2yUJh^awP!cr>Khp`?H4lz z;4vp#5#1w!CeL(NEZ|*p;1zTaeD=FKo$m1&SzArF?Q_RKdlK^U%k$;yI?Mi^T`v#h zF`4k;jo^@Kd>!KS>^VD{1`f9GNX=bn=;u%SwP9C!a=e6?yNsJI zFa?+{P?jDt_Aq6+b9jHSwd2cC<21*HkNH+&TmT{ z7S2W}MYXdY$db>VGd#p!1dMTx2z_sQqc(wlkGwcuQszjVQ-GQygZLS@+HU-aFiAf1%AQ}*h2}bnjzs}Qpg(ZGgA(TW_!q^i8m%IZpH`6~0BLFnARV{eJ-aI2gOpNDYsZ#10ZyOrUJrCx%+ z*D9T$rLqrhU;Yn ztd_w8Ph;bc+Wwf@V)*#lg++^VS2}w9tE;7gf@z$@e?2`JkWfgKs1bsl&+P3FAWUt$ zs(sMsyfHO^Kba}`lHaBAOW+&L`%F=qOiW=kPJ9{PEy#%NM0|GdRNzK2v9cb;i+=$6 zw5|@*plRH#Gr=@5e)dO(+UzWUxp7zPPlee`nM6`Dqn}yI;*Y88N=k;Nr%A-pZ#AQX zPMVr{B-LKf+PWGLPi<{#LxWLmJyzoGlH&IdfP5xuv$WofKF-c9fA4JABsBcPxwB?^ zH;|%w5H_{Ku%}gu@|&Bn^71IPnTNXUd(wHc?-0fiZbcyy0*(tLjEm!4kmKlC>)*ab z;pM%$Qn=iiw+Ask7w5^<%XfbM6z(2F5vZ8%bbk0Z&zHu>VfX2jMeoy_hZK3a63{_N zgDO>&&!YG6Rq~qJxns@oLNJOARDUjfIc`ohd7GmAg-t*0C z3r)}1SVwD6Uu#fXZv-2PXo_3%Av2* z*T>+!!F-p$;NW}H7B*3L)a?5-l$RWfUqj&Z+}9W;F-TI^Ddigzb7`a75~i39Y4rEc zAD30LIR}rS4kzKpN=Y69vLSN`6Ty(gdWf>hiDA?%A|x;xyLS+57TDx_vOAB0&8Kj3 zhJuK|J^Bdm!ew=;vuWBCAoTQG;IDhN`}8S9>`LwN(;iz>LXjprp5YS{YAD!KjeaLP z(5u$-TGA};EpV%P24f&ixCvdEcp_)OyK{u0AuKo@hXI7GK0E5WCxpWV`Iz18HOy;h zIuY|r9U1TD;TtyR=-s)hs;b|)r!~BHT@C((xq-@3lx2I53Zi5k7@xu#Y zj`l{MK7i^Rzs2paVJ0V#Z*mSod9SIVK|PylA51Rd?Y7kStxQk)-TN~U>qKQ-M%Ms{$FSbaB|E@ zx$@Cw)64&4!&&=@a##?2;#WN{?nFatCWd!2BZj{q!X3`>4OdY;`0Si?SZ>kT^yba5 ze7xAdpiZ;5Moj)&sM8={KYMmpZ$#3fMfg6IPvCj&qq9RtudQZlj$VGJZ4$oTh~)?? ziGa%`je-C*B|~%bfsAGS`lui6A53~K=i?pe>2;c$4`JQizHJduuneUkg+h#$C+&?=M+^jsmLqaXzpzWUf?DS%Pu6U;x4tO8I^XkDh-grWxh;)<>z1LiGTDGeg#2`~5Kv**Se|ElKZVKojKv;P z`+N-^_@~kcisnTKy{St>6OQA7X#K_Pt0Ycgb2Dr$-E5R!I^N-7CZOOd(#|1Cy@qF^$`)dqXk{Ha_@7N){2Zz7bSO^_YGOi#aK`38<#&?*b>a4|7C0J`v7 z+&4p=p_%1c>#oEnU%$E_hux6i|H|<|@MQ6`b6|^)78LB&p6~Tw6H5k#o^P8COK>)) zA#m5Kax_Qh9^qx-J+V*Sz@BDi{fLZHAax$Y3q0EVvo?})mm(sSfJjePW+E=CzPzlA zl6YCjaaciCHm!vhE$ExK_qyj3lG=bKe$bd)iUod9RtwB|{rcHbUq*hulC||Mqdx%v zzaTyL=gDPJ4l7>nW&@Axvo}=ZD(=4*`y-0r?!rvgyh~#GsSVIYThqC>&Bw-g_CR|*d=tYSSN&JUgmME;8QVMZ!a{qp)^8U| zLgF(!TeHpGMX#KDCC2~(j7spSFc%krI87)~wIUV-BAgJYZ=M}ZG0-o9D@lH1Bi2gb>BJw;;+o~^`E-$ zx1Al0+@(<9Kiw@71E_9gRhpg-{s1f(@mOEmeGd-S#3Qf@$#{9HGDS|Vrj>B5{ocpK zG@3MgfSP=`ug_{x$-B(x?<`|zN8IGVkd9gXZwj$o1w%l35=&3oRT})ycr#+ZrrJ{+ zEGjo;{K1012F(U)?hme9k2VA2D4W2#tNme1B}ULI?|r7gjyRd~yCrMGK1K#zZiC28 z0t>GacTdBqXr~%aq}QhvU-QAu5cXo2YB-Af%3;>rJeblNUXv? zvniV$@x>)?nLyvkO#MY?lSKrPWn)?C14Y%18wHVA$nJR2-}}1mD=PP>s{Z)V+39F+ zJ{PYrK9&Y(=nkob&gS0K@87=X-s6y))$yU9`_6RNjDVlO;5+VlwTXArKE9G zYS9t3?+ay!xSDn4xi8M$CIF?=$?ek#5t^EtcLAMK zT)O-FO;FE(D}Jyg$!@*VfJkN_3(T!3lwvm+6fLeDHI|sE?T_Y>8M^` zr{%AqVbN6q(hibs1TMwJV<4a*-O~x-M7C0W7xm>yRx0YvSZaLq)sEN@1>s_2Q&!`0 zF+4Joy(|%w3btxu0p~O@Ism|d-9f)q{c-unqtu4l)IWbR4E5i^!0)(bQwe*@tEq|J z`80MU zzjBUjZE0BsU>s%v8erGpb!GxKkqo05+}!Vdw@wahSd# zsq-H`%v0CSHy=OFL3UdDDZV~!CeCEHUNb$OxSbxMeO<;_X zcsOA9s^!vx3@W6MPKn(xDhktr#lyuAwnmQjeQ>*Q?9c5f+%>A{5RIOo@$Jdf5k zSCIPz1}^31Ru~#SeuJ*?{+iruq~&@#^(_+Qqqh_k3=B44Z4$DJ4Hkqu04Oaj&5w<( zh>jKvF&A@6eL0bX*Ai&f92ocuP~H1?rw@$yvPE2H-Hy+w27hUewU|XUSF%70pXc7+ zo-E&$(e1FjU=@ce48Z4?AvrNvx%af(= zOFubm4EawtYFZv<)qBmiqibo2=3C;vg|n}^?ALym@R9L9q=i(3JQt851~o-59W#_8 zf+qF*b|<^bu#RL^PhICP&Y*xOy~0DY42=U$4_ zrwe#vEupt1uF=ByRZJQo4u|jgao%wSPK1f?>6!RdW2IwC`KxJ5u+U*QwN^W5{E_l#>^mlY?%#`IbKY$$_VS&h+k1bgNPkPujr zQjVhmlmd&%cpwxsY*$3B%nuvd+YMHgbD-Plg_-3DOf6VQZ{KPLSK>WWP%uAp3WJj3 zV_Qbv$0u`#+l#Pwf%UPgR^a_Y4?T zN!28s0p~v<;d9|<6xZ#}JK@|qJdA~wh(FnRZ^z2{R4plI5A)sn^VX1h=VOzDBhumm z)>j4J+grVaPwij-6lloJCBtPR1z@+I2b$DPvPs)T+1t)kVU$1Bhy_IGagR5D-xL#L zg4DOHSz>zw|Axk=)tB&&_^G_Ievj#?;n4QZfwq{ACIo;%+i)TFZJ%I0fVr2Z{Vqf}i zRI)~_gfWSO0mAqM8D9rfAP9+;;mkU4-QvKaIvc6PWAcVaGnl!_#uBvjjJl$0a4!sc zdQ7SdK8482kR6ld=&5Y!G>T{|cq7Tpv&j__%HWA;T>)R^w9#Q+(DJZ(e43>*Nhr z*c{#_`6LP=h2o*Ur@KQnxD15A_*BW8cTHPHNT|Iv#P%j}saTS1D5Lc`06VCt>_)Kz z2}4@%uhO_X$!{t+n1AdtLX+_|LkkyLV3t@^9>| zOKt7*>+0#{Tg)Qq>EY{1%|WX_(Dm9i97tZ^e~XLjn=E~y^aPN$iK$CSh&-w9TUhWI z9ZiQ!Bc05}?8eO+Yp5P)snk$$;|drY{2qV<0hAZd&blC%qa@%)K=`FZkLyb{Ogb6H zs#(u`(nePEg^X}X^EJ65hxrDP%|Rzm?F+$oFy%b6Y)FO|=CME9a_aL6;pc{ln%%Pq zBjIj9z#yL802~(7E+DRlz#F1cnY4vKia%`+6co8@*9fwojtgZ0<2j-WVXnojFfXtD zu>n+mvU5y>+BfB)Tmjh7)WA?RsoIW6^{ z{FCNN#kvfGw;Z7Dh7RZ_e>AHYbg~EpEO%C2Wm#ECsM9-j6aoTFvxDs$;3$not*FRf z7aHxJ)6w+6%ARhu4?ta;tK#sQ_B9ve8pr+J^71)oy@Bx!^nWf1B12eUv%`Ca${l?K zEJssLT6gY*`88ZD?2&4WwH10q>K?_O;~dcSKjM4Ytk|^UmK2fH#J4oF_Urke|i$s%JjjKbg`C+ zDqFSnE9@1+X)Y)<;&92cX*JAiBUux76yiq8!Ua_14`Uj z`aU&j=ch<;fxL~=sY7Z9FEP}&tgOZ#+HY+D_DsTx-c5DmED{P07cDWq36myoucM=_ zJ%nidI$QIW#g?EkNQdm9d-UyUkj?on%DJ545SwMPmRW8jaUpdq-@x#&QMJRP#x6`g zw@sXbK>CaJ2ARasQs5CnODZH-rqx^s}e%mLkR%Kt*e_XWu=b* zqetgwMBTA?)c4OQEia%EfC9&5Brb41o)Q%NeNoZHL0)PW|?cG(55|bA_LyER$3*8WQmt#JB_yf0niBbq+ zAsYRt*x0^2t+a~-LnN6&{jts7O3*`IGh%o0qM}Yz_m;W}&hy==@yrav7_L5Z$Ufe< zT7GpbotUUNKeZrzd|#9udRKXQf{7a3N;dDFs$ z-T+-22n^_H4z{3T{7)kPnjxSbVG2-xo)@c{CBc@ zz`wWlIMd5;{px}C6>YSih>SEo-r_~%-{Niyf1ovNQkKbZ$4#;pYGO1PJFYG%9xBJi z;aI9xNc%SUy2zc5*8Po|0Yh9V!nC&=IXT7l8O#1$=e662_Y1VEV^gGJnI-2=x(=fw zB<8fCHZauRLP9($n#6b&ne*_V)NFbFC6l_mbjiaKLp?4%$=ZX>nDOYSy?PHGGMCb| zZvL=BlgXI514%G3W&Uhg<5`Xd)5iWfkoLZF zKKf}Cc$L}vD)D=+zS7yz712`JF3(dNcli~nvhm?;LZVL#s;7)0cpCnZ)=Oj#J` zGU-cB{rOrkS?d?6hdcCPav)TP!#Lp=P=6~i=bLIcCcj6tQ+e=U2+|~V>D=H7#iaOa z`dyCJ)~kL**TR^lcx)N>e?L>$rh2Nxb4Z(G%I(PXVFR}+tf@K5N=b(p;yq}s#C zcwA2AT0>%4Nl+CPUJe>fxwx#3${}9a+-&~ww$G_-_gb}hSSe(XzN8beivp$Il&yt@ zH7~PIqL20fqJr9BSBS9j(qik&;r2f0Il3Rxp#uY*SL{FsMg4&3E0DK>6`F zM_plk++Gtd$=cdFC(IdGPyd4P+J-LYzT}JK@uN)oDzbox& zQ#Lx6zQSi{)m4Z?cb8d@P?4C&W;;xS(R7Uc%d!wBl3;jbq(sEsiNeK>!nZcrD zxT$h=0epmoI_+hT41chjJl<}luI}v>GN+%tIZ#kX=5k=X(34bGmkn15nwM#UN+=an zxsnN%$$(mN=!r9V!;;-^1|KVl~FF_DO5x9UqS;IUB+=N*e(RI0^N ztvY(Wy96_$D&QHYsJmgHg0An@6*DQd=qL2Lzjbbz6;P=^3--4voBK zsN!3b$$n4uQ&sd+VMs(O=Chv8Y)Z;JDfj0plL;|P%R9EVC}d=KY5hsChl@Ma1~U{t zHa50^HG`%?!mnS~Wz*U@raqXzF>%`hkOrNJ@3i!94j9)NY!PKM{(5t4&84`Q-N%QB zOUK))!LyG}@vPc->`;o2fZcxUwU(AD+Z@`Gk=en<J`fBXEV`b}o7wDLji3)*6hMc9(-)PJU)R(IWzMFb`(sk>Vc(n^P%nRt#w%mBaD8F83FP@{%}kr z{idx-AfdX;%Nur-Q@CS2R*d@|**fI88Zx@sQf~rpU++LzOiYEg*UDhlx1Xoo;(+CBhEt5~rjyrj5V~S0T z`Lt2zBv_HWy!05=$}JBzh=mC2DNx@WSpoK<>-1zhX+fV1{Fh`~yJK)*pv}f>n*dT0 zc9STHQ>B{-$`Xur^8WO~aP7OUHR#dp_}+W3t!iX8dQ@bgaQMfP6IE20Bh*{L|we!`-V8LJ17sZXJTD(b#*2x zoDL^Trbz8~(?`1`AHo)uUz(mD%Fuddn0${4)jjaJnm<`=Y_LW2SEUDc-@H~GN9Ez6 zOa5)3YH$DL3yvcbG0ajgrNnlbj97Hl*K41h?3Zq}L|~F+)||4Rgh)9l=18g)F4QK! z(1RJ$vpN*gClnQH6jx7g-MAJXZ*uS19v~D9oKCKj#kxKfMh7-X;p07eUhEB&wWce` zl}@kh&z#f^ma^_ppV2erB+p4Wu2wVQcI9{KwttI%HG}Hj>8ZnF`X<@HC6za30DoHaEZb57`8;w|GTN_&1NM`<;FQKPdn7D=}@{r_H9Za!nl&oPtI-JjZ)o>MYQj_~G!i!KQ zew&kn&Jb#TJ#MTx9K3DDFuJp&3>seE{qeH#jt*ctngN4IeYOHI#o(YX@3Okr5zCqF zRMKM?Rd$;dw{HHM24jQni*ZYl+}5x}z2(*+;h2fl-@b(ram0)iP`~GX599J!k?Tf- zKYumg84ksaS8xYbxfu6>m%a*#O3QE<_C)f-7XJkXhurb?<8Mk(e7^~gy`64sLP@&%FX=uFWw*S`HJK&>$q)6rF}prR7?`E${mro6T`4jGxr0=?q` zgCC!7@~aM2RZQ$p1!!^yo+~OHJY?DISew8bD=zZ&+SFN{=;#a%**<6{bCnV+o6OM& z8y-f8Lf*i#ra9Pbo)Ujf3uPxPJdPh-lJ!>7PK}2N*K?y(vr8RzT@02qnggaP9rvd! zle1L0OlDfD>0{BcmFHs5AIr+`JY+Eb8n2$RHr&fipE)&JL~Sm`!sc~Ea6H$k2Vbt5 zug#Xh=!}SuTvmx$@ugbkj-k`hVlD=er0ecL9mI7b1*fkp1X$U>`x;o`!;LokFRZK_ z8xAHueQLZoQSm#9>+C>~F<08!nqka@0Ey6ycOCc<`WfI*hgs~C&E~5H!g}DDfIz;& z_Mdp8sjn~M%z%)<>%Js0n}gN4@z@VI#?Qc^5U_gY%}3bl=qTLwdeA3xq9P~=`0?l@ zQtARba~ibu*Cx=O8>PN40w^;5f%N{CmQFa`oX_lg0x2fK{m~YLNN(J{i+rC-CrkD4 zxbFSP?`Fr&h~HD$(Nul$n`p2#t5P}izWRtCySdpSB04zQasH|=xx(Yfu2=t|vB;3x z^J4`oi4W=QEH453%17fdzV89j0?}bibVE7(Rn~?;p<^!LyACl5#vEl#kr@*ve`iEN zN@k`(v%h}w)n7jK^E`<^J%7BPLT0RS5OX7?y^B5$4pl&7bw28R-+8wsuvY zH{7g==8vWRQckamzcM%IvG~c&#B{O+(4AXtUz+J?4ZeM=)a%;OYM=~!{7#0rhiZVU zPx$UH@Xc4QtRo@st@gKiF7^nlKYvd9@umj5w&*@QsfQ#!lTSrVTsFVmrP5)9{jm(o z4J06Z6civR=X~_Q$0c2N<07PG)m=%?&Ymc@rtN#Tfwmh5gf$PNqmAJkiFnKT<+Qj$ zs7>LN(5P}iyqB~+vN{&PZp7()d77;9A8O;jcSaDv@!UJ~x@qsa@$;#JgUQR6XNTMN z0c2sXl)`tG=LP&0c2*6g=JmNBja)eF)fGzEb*#sZ{_0h@Ov>1g-~M==jM&oYTnQVz z;bV@?k~XVl^1Fbk)C(6`zEdI|wssL1x{?g0NKq%>LoBayIh~u2Wul@?grDxywmA;c z^V8A!&MuIMnEy0>6vf)vouepF%i}Bc>js;T_vqGqtOrE*-#=>E!nLK!T>p5p8!EgJ zi%M<`>NPF}5D<ogT@3#8g`y?6moge!qDef#yK^Cw28~G+}T2S}zcm z=NA?2?5xm!DL**cD=bM_oG*C#lnKr-ojqbV%2q}-+)Nb?7Wz!G&Zl>ffGSV=@+8QrdPlH(~EhaYW zffmk+ab`T<<>P}(axfc4@E&Db$EJUON<+)oSa-PQ5Ru`L-3oP=8orwhv5U9=q^>sQ zXs+f%FaW$=x_+UL+2y6fozcgnokQljoug`yj2e$M7k)v-cyKHL#~!QRk;ljV`BtW& zcOKuq6)PzhKNmgtbdkwab~>s>PeUvOL8;}uMM3_Sp~1z0l_(o_r31)ZtE+hz>GvU$2Tw=BZB+#4lNA5# z@kA=6SaQX_#tbv`2E5P++bN}<_WuWB==LxIUOKNPQf=c+= zi6uIQ&O6a55G=w_nHKP@edLJ|dA-}cv& z$=&5^lwx~J12VL$e6WM#g&dc5-Cz)<0TQFMv=VrJkjbd3@hs=iD}d>spdaWxZ-d8& z;_$rE`M5V-A+3L;3xZsijdv(6brLc(EeX$ZnADC`psXw0SPS*~LerdmLE+a#17))* z5}W>B1iG4&@8vccqj1MNROkl&7f3NTT;keOiZk$ zf;%*HQbfcPq`haB*9rI~2Ha2osDItBK;+34t+u3pS<0Y}2 zm4&4E4+~-}FUprM8;p(laZwxDu$#%a7ZIK#pJYvSWagwj$f{{e!Pv^avZXGiqtjVt z$t51zBI2vGID`GHd*4dyx4-eI6HU-Tk2LO68nzHor^Q2Dk-U7u!Q$0tS;~v2q4&Dh z)}P4rsTUW^DHlz*BQaP_x8X>}=YB~_3X7hw3Tk;WrL!qmRmoxDU|bu!wy`%^na29? z_7DE~x0aBSFB{0gOdc?c_YDl9j|wMW?MVX4FolelZ0`dhw*O&eLUbXH?1fwtLpk(H4V1ma1IvT107SUk3Ce!lWO zp|)kJ6u8}qDVgU7pNoTMEM)0%v4q3VyqVoj)fg2&3Evxb?F>}mwDpiH`?Y(E*Tv?MF$h1b zb>eVWru$S{qHc9bm6J3HPIA5YIA4h5e|0=DMTU3>3A0y|Okk2rnA+ZS;JGmQdX)Pq z31K~sq>Dkg?bWC&*Ad)Ezki<=3qf8VHjgha4_#FHODKa-ivSxJA#N5G5)MM4D&$}ZB4wuIb|Uf2!yi9_X2+kG98|%ew({nU)An|3G}kr<9D9FX zZt-*m6)d3A2VdE0EgVSgaqq5xMo*u zyzl2ZrG)c2FMw6Lp6-HMR6=pC5TjooV|ZW5aov81VkX*L)HwwG(Jn?jE8F#G!KogC zaF4&gde!0>g8p#*#gk@zSsxzci3FenX$3?04?}In-Y*3m6*tAzhX3cEeBDfc zV5cxr(wI^FttOv=py?IN1BHZyl$Djq(*g?}pZtFhGlcYZ-Z3RIS`P%A4dLBz>%XF)LQe0N9#4axoF#L1ofAuDTEX6B3q zmmn4}PC*426B83CH7O`4ZjwHZ8#J}DuUZ|-FiN11@hjHv1;Jg~Akp!O37`QJU})yG zjd~yLKF{MJKn^~h%ZjEVF)BLsoA zGbES4Yv^(e>0ucjV-ba>n%HhA+vkuFm~yZ>J2?a@blC6L&~T;Ofny!a!1Y)CwK7%7 zU~MI(a3G`urh4^ir-<-ynvmAi0id12B<74W@rW1thzu<{92`ha&4zO|1qB8BE4~&z ze99OG;Z>1J380Tw;zM`Vr(8imqJJ5lUA*)GuptFgR#jF4aa~M!xM=VU(Bpv`Nh;tj z8h}V~dwaXR4Mc3FfqWJSx>GdEmiCqvUaER~(lck5y0p9e6~ZzItrnRmqwk@@;G9^)jfJtyrLh-t z;^HklTaz?16Xe_emX2LX)f8&ceZicVW(BNl`@ZsuW5Rl`rSy6fVEYHzT3Dr?}#1WgX0=Ot461)On6 zf}mFta0Fg95=jusBB`(FhUm;;_5;|K`Es_P!00 znt?n|(Yj*KHUor6NzduRh87=CMjLJ!U>>n&9I+cKZU@=UsNrmNEmr;>kFiWM{nRBx zY=w+#gPbg4-a|0lN3d|=74NO5U*0$Mh&ctCBIn@<3*lVG2rCRdaIH>M>=$(NZEtLZ zb6dl69)e3q631JDagY6{cV&hEv{bbZoa>X5ld#kLvZbY^$#H#1NJ!H7L2p5X!Dz4z zNpJ<^Hzp<~fE3wTCxadFv|Z@Ibx=DhHN;FXXK==~RfT?~v2BstE`&g7p_pnd~( zPsDcuGG@HqH_Irow;&sizRuUmH}o+cH5=OwkeY!A2+;Mz^ehmOCx@aTAuf3&BxtFrkvuX< zettj1!_zZeB_5FM7G*#!@UcG@s1xIH*$ro@rDA-^_|GCus~<2jzNEq4+}!LpvW3Z0 zk8_1r@EqVyL5lzx38@g6dEsEoc$sAY{K%kDf$DB%W`=dc1GEqnNw#iaU?}{xh})a7 zE<#|KB_$<8v?#R?hacq1VIlom7#nS-LDFF*0v7eWkyq*}-oMws| zeI;7(;)sa8a_KMNccz8;$RYdp|!CAd`^XePnOwME7gW(x!-1_Vfnib6COkjk|V z)XtF=TR>8Ygjkm*mvX@{tzJ0{Mg*MD2KO{IHDR-4WMw6tWy0Qn^yrHyv9Pu_o+#f1;S1P@Ky+yG z_N~|a^umqkeWEuh%q`L1boL*nBu_5&XaYI;uIaWm^|!PLg`SdE10|6iVWEMxIyiy0 z3N00ab0qV7QR2=*R$Zx{UA6UHwf(*Z3+OA0=vH01A7Gn+C-JW=m_e7u$u`?6&|3Ie z#tDqz{3jbiFoX^ix!_lCl5i*bN<4~&(~niRV*$db3wri9Z)j<0C1d#}K(+*fE|BsS zh-{dQmlhiXdU(hLNH;;+!?3OmF21CofR&wnZ)@u-k8O7TYF8}(RDqrp5PzxyXX9%_ z!whK}(O_^aG?y`yyoi#zdiCo%MBsr0i4!TQZr~<2RL?Fyb@-xyci}a{G+el}Td>g3 z&^S0sz&2&tS-iLR79M}s{O8HcOWp8z(-OFj%kX^gnJD+r%mDF@@ylJ~(d@a)`!!*< zZ!Y7Vmz~0jPT*WXr(Z#r@SBcf%}rtLu~)$RYeRai1aY*gzh?BBd+KN;eL7?LHFkse zJYTf84UVA*e1xwn!ng7E94?S6Jg_U(Y*<{IsG(uX`C%{0osyC90VCd&V`tAfvN+?A z!LyR%LnRS@*DS0>dHv6~=XQ>!}YZ7bA@u?ERp5a$hp4#fmfT+3z)=b+ga)>Bqs zcNsn&u9oy=hGQg{F5`$}hMV5;1a1*Ht`x$cwgy`_C@2WrH%Mz}a^o`ovYO-yvKmBg zUF_#*9JP7*kt+5c_SI!{`sVb0jt^b6QV{)9te%Mc-})V@dgiCZsN^cP)R;LT84=#4MuwUlkIN)UBw%t5el3^R+30> z5qi2VV_y2+Eg51E{_#aG8lquRE5{}wnV9yYv$wMYQ5m(vd7z`chWKvD>#Q@91Ag%E zXc`MkqSmK56UZ(~EQ?2PX!LrooewiNUnEezF*&^Ww#S1;c68ftGydknQfcQ?`3Ch0 zo6f#In2CFyqmx!_S=G(ixf6D(>!Hca`PnKI z6Tk&ab3UG{*-!z!T~~bNCqkPj7FkrtMBb9Wey!cVKRq);2iJ*5FLqbF{wH-P8=rVR z^W!#8kR@PcVbSD{`c83N-jtPCz$JRM*30JmEw@`n`Zny1wPZ&6#_%6YBhf2FZ0bdg zMNwsHDxCSB(v6-xakrr5wWj(OUua5`mmhVeJab?Vjq|CMH{F$EPrVl4?XJ^zCaS zY!%=}M?>=gqFp^*-E7se9}ufR6agf@K(ME*q2}77t0yzGFW-<`QX(ZTo&ezqE{F*K z_#x{~4k}8x49b*Wo>SfSs;D^jK*J*(oL%fo0YQOW*fubj>gx*>e7&mK<>3l>@hD3~ zV@C)DnyGEAt#9p=eiNr_Hq_S-W~)U)RE>pNeY8aPzd^2L@7-JHgJF9;{f3QwYp3q?9XS$UaLB*kpYU$wMfSA+FjZ!R4{-_Rx48RmKKn4sMB?P)4F+eE>rw`DL%g|MnmlvB( zok6^6Q5Hqny0NiQTU&c_asr|%rKP2S^@6iIh>`#ocW!mn8BRy=2|y{_ru{IO5~92s zK#uE_-Gjmi@SH=|07JcE!KyVb&LE&9ai5g~x+Q%Jd%$%K$qby18VU+uf`ank2n?nq zQcI-_YlpCD6ml8p#Yu|;ari?xXCa?}<+lYz!nU^bj9Y}yk3D4#3T^xt`~PGUZ!I2? zn4pxItV#ZY3KwL?7cqTX8zg-o-$RRi!+M?J!Gl{jJRpH17yHrPo&mZckVjIAF}}*D zq^HkRXSDj^Q^*hVdCMLMSIh_GG6N7t~v5A!#0xQ1`|2|!$K8v)Ws-+x97X% zOua7J?G}j!LW}8FD^Cg1FiXT9RfKkmzTH9?TX+@anL~LZRu!CmB!E`j00w*5nynng zu0b(i{48>HC}FIhHGJP;xDO-TPf$#1YL{kbKKhT<)@X0e=L($TbUBp%kRq%)OE@IN zM60<@`v@Wd5%YgjwDs{aA*{v_YN^!Oercryyv#H~hAsY86?u8#(^ra$)Ip+PD}sJH zAfGcpm(hzh2s$Kr`S}h|NdOn_2-MsIXoE||;FC;EOk4oJHQ>ilo*M&H>Cc3P11TfI z!cx92!pF@JN}*T4B(4PK(&$1-oTR9HA!Y`?VocqJGQGm2Pn4ef+rC zXhinqOI;Z2)@jG3WrB(YFnr2jNGVo{QqN1>6UmI?b=+4m5q4F!`I4)C8|t^u3=Y8q zT|*Rn`t;iF{4+A=o!Kyr;3dbnP#zyzov92wPfw{$@Km%@laMSfVZSIl1&fUm{^otnGlO@eU#5)1q77 z{YiNAx`=}*ac+3Lf8PKxgP7lO*wRPxv@^nNFo`7_Mq@s`NByGh%%82QfA>B1Zn!+L zsBmNYf=74hBnvG=s3$wQkEw_%KIiyK3q92Zx^(kt;b2N&Fd8d-8xj?jIqr_hgWxD) z{<$+-hc#W+){SZ)sws`mT`^7Z&5{9M#zRSi(+ls_d1(yCt8|Nxcj*b5G!-~rGb2-- zIu9lEMA@sw+x6N>V6x+8B8o)g-UdO@%bGCJbo z?U0T_$P6_f1A9ng2dZFOG4}hw#s+S*G&$;v)Du{cF84hAbL)j#|-=Me)f`4;!b8Y;dPn7Wy6I#cxrhz5`nzw8_5D|Hl?etAAV4EgE6U zdR3^o-&q}>@v<%Gav@5(w1AFqbMVD@OzKb>(4fct=;=v2)ir?`_bz{=$Vh~NpMxkV z8#OUTGP8|yH-$ZRWmo^~Mw$uFsHsM4plpt}!h~BL{%3UhUWj}cYKAh7gFPA$F*y6B z2-VMfH*{isrjS$~df$UG7AuaUBa{r<;K|9hr?nyxQDLE`;z2#`N&E&x2I)d#pbiAC z8E|L)H`UMR_%wgt>I!GM$HjFRBE=_T@@jkUx;yAo@w%MYy?hx8J3kS@rlzJF9w7b{^A$f2{5DiE`dRtq=`!Ml**=G2B=zgB_A5jv1R8#e;PK!l zoLpXCcLfsx7?qow8#w<9nFE+qG9E2l9LNY;!c`jZsc)EQdLv`8g>$i(_d}Ed%A*Vl z3R0IHck4kJQX%I10}j!6KC3TJhsVY;&J01_Y}VosGQTwbwAi=6W%o+0Y_zc>oivr2 ze&s50&1qfAc`I{*+W7a4pB4$cRC56~==(a7#!)##7iNvw*Po@L$8N~DoFhLdV7N{ z%2r2TL>~jyz1pk>_HI=Du}zPZkz}Q)U+P5tn4xxTm}YbJkS`%wEy>XqO;cU0C9TV}UFzU||O4_HXOkn4a%TF2K%%OH1ocz6iB z=SEwrpmKU0!aHwo$ikdK1_g8z8X6i54GciW<~B%ESTFTMtuyS)7kI!AfHjQ#6DA4w zc&T~9ucF&&^3Q{3+^?Y(j=O-S#kZ$EP;-z2j{qe}*mlx1gleLvQ(!*B!v`Q6bWyem zg{l_2eoq`+!B9qK`R!h5Wp-fY2HN`mINO9GIYpg4fov5hOO-rAb>GIK`KHK$Hil);&0A=w4>h(9@&eys3Dq2(E*SEEbM%Ts%BHY;2gDrDkTn&>355 z8^B^63eXzW(j$9Ki#}Zwz>h2-)L@_wTBw{5wmmW&1j+@o3nP4DeH=E2@MrOL=VePs zFdqH5k6tfrz(a&sefD(t1xkmA}Fy|1Q)ul;GF`F`a~jgzIaz2pIB_ zYLUAATL|K*Tt0?{7dzLe-Hw;gzhT$AZv#iR!KQGk`d5-V&RF>sITkGBuNN!6H??88R$_YPAy-_CcC!>AA4b+YxC>F&99jz~&p0t`Na95Sh;mYO!v&xiKIThx{Y$ z!M%YZWU*k7@@qpGfnnayzxbQN+p!gK z6kbpWO|M$}9l-DJ=a;0O(VoW6Bc5?j)u!Z!f(WY&Oq~!JQE&8`HcrkF6THoVDCNb^twBd1md)qg(q4 z1VbLhD2TOQx$VC+2tML}27&1rLF}4=N8_8;U-ogM#w_nHuAm2N?{hJvJ*}A*<}tLN z&N>}2ZLnB=nwou=QVd3=lfmgg`LsXwXaRxVp3&dnBE5zzg^2gUW~!6ay@KWwa+!ZC zyW|hi`OBZ<$Zp#dj#r<_c6-iG=VlQx<6ISMx8=PNZLcRZW^i6r-OKdqgo~c}K$X~J z_fNj^dX+;k$@9=)kERQfQw1{IMim%?F3QX6%|#^i{-G_jcs;tAa|UMYc|0&{SREZ* zp>cy^o&R9MpibdQD5Xq0^HTJHISE9Kr2{DF2%Yxx!VMO8TS|oIX)virL+%JJU59!U z?1-1wUa6^p^(;eSb14Tk)OR{Jeq;pe{cQ}0S!N9Qh?FBSSeQRyBye74>2Y^1FFT(C zS@N|R_D2k^>G@r<{5+>ejv|jDBnC6DOQ4HEng#mIVCf)&eAa}g;R~~!4Q=`~3`A`R za5Y!H|6D4V6_HfWMVHAepbx)`5N_@!@}HUZoQ&|-<^tzxBM;m{9tQuJ?~ zLO*EQarWj$p#}?a_Qph^{y;GM7Cmw&F(M-3AMGv$G85C(;hq(!SJZ#(FNiN1!MfU= zM{&*QQ=N2PyfOSg{qLT{c@%Iq?9pJx7QOA$ovL=0cvg4ipIT3Eb=4R7rQpw>bpYo# zZm~N0C|T&DfYc!TqVwkC5B<cA?p&qB z8=y4divkGfA*$K0L9yh|YoY<(k3dpc8O393a=M)3deIdI3LzIEDZvcIlsDukfBq0X zp!C<>cLD;g#0cCRpp+PGG!Md|!w-J0UPp58kuHHEQLHOzOAILvw2*EA5(8U+gLhVq zhV7PDX44zPpqA(K#kgLhpPE8(a3a2Z8M0P?*-*c_@(qtEMqO@O`dr5xXU}%>P4`F4 zLf`DJx7UeL1g`m`L-lU^4)nrXDk$op%bgy!e@@s$0EdFC?Cq*egavVkDW+WRf%`lM zFFEDH1B{n29N-F=A%OhzK8_0a_aH|_L~-hZH*JiWLgPFqHP!j7@@S-B36IGjhBw3E zsBmed;OmkBxJzi{P~L8tr4$ULpinzG{aE8{{-WHuf{kT!uO%o}BE08|=d}L!n98fs zR>8JWV?@Z&QGK^LF>76aw*05uNJI)1<`f5eyg9qsKf+HJj;pp5X9 zLBoZfWfT38)K_U5EFTYRYi%{P)3lBcPwF}%8t@p=ld03WEcYm>HCP@!I$X}7`u^Q- zTo3)vGStf0F~Wj5L+AyRGA~tBnqk2i*bF|yBnZQf!jzFx36Q8b^zM)&!->|z6Ml*8z10r(D8qMK0bRz@o7JYWWe%moS!hAtQge}hbDI0N~(oPr89*>PM5s}X# zI%EjTyQCeKKWlNg|HVA?&|O|u+vsQq^s4IKm-e8mJ_*(a9Mi3PFS`KyC>1NI*X=?; zz}48YFeTN@^6<9xszHURhA&K1biO0uG1wP9O8{XA4MOz$pYu zHq7=5^eoNd2}%J4&p|`OM{6M7>_3>6hIaeTz38aX&WJk#7_pz4>KWBWi63*y-DOGQ z%1x2dfMBv@vWgRlLR73w(vtG;y*pfbigG{v-sZ+eRJ^b6PV@7(_zzwi3pXNrH9~9f z5N;UomqAC=Dk|*&VRt77%orwd_**S4NmsjP{wEYbb;KY~gMGZOk<5?(_j8?VFPsE) zj{L4(J%-VSPOv!x9X)-^@K0BGA!!iW(ogs1=cT;j{mWri6j zI=a4uXDn%ixuPa(zr({x&d%D=(8O(4KJi&-`OoQ)K={tCyG*!x;#CJ~*gL{HC79 zYm?5S1$vINu`p7jto#+9==``5Cf9lGWnrwiN%~(~EvFzKI1R)>K-gK_S*+ndqJaud z(*@+t|Jp%D>cZ^OK-%%14mWpkH1C)z?9;oqsMq^ehs`Iy`vqxgn*8UGh!Zabo(eYt z*);J;cHEj%8{ov_2aFw`!&&8BKwDn`o{I`j&W>4rf4BE;iXyK0y9CUyFV2Y9o=Wt@ zT>0xk_lCeQ+2|gmjpzQ_31yf!GU~u%!UR^)T#LI8|C+;V9MvLtkA!~eattrQ{u-~P zg+VhQ($R2m9`V>jX%yV=99AO6)*3x7;VS|mYWqYc*VvH+WE_ta|f&> zX!xaVZC_W%x~VS_hJ7hF{r=+T{(fN((#1|>7NNY2e67lHriBcy`7|xvp+K)Y32@p& zIa9(;5)58-e!EN}c=gmQt z7;J#k_j10?<=|II%{e0`rp-iwUU`C+3XB5&d8b>+<&O8nAYL#6g}o59n-b+x(kk!dI1PuG?6hBZ*nn*nR*H9eZ zIl{^*QLy!|Zv4u)aSbLuY7GDt3U1-xIERMTp-k)9PEJi%9TvEy%a_}gOSezwOE|FJ zoA859aSec5x%~hx=Q}^ab3LDh<%jVc`j94Mq{;>>=|68nh|>s{!9Z}saoAlNPIz_< ztsE_w2!x$u^8miZ!FmZWrjnAYE+^*WC}ei19*F;W_6XdUCm%z7{gLs+*Rz^)B1YWb zB4XqKj$vd}t2x`rR>K20_LM8X?ungL5UTTE=kNB+j0F|JjRB5u7;a!v@6h7LdaVx7 zVwf~RC)hd#Ty6CcEgP@%FK81ofB5^hT8_&-&Ol5uR(+g(`m4e9;9%!9H|}eRw~NaR zDqW|S!&v63c{C35a@4{PUht2&viu9fOFPYfT_^!Im`Dbt|jnrV5Eul zVf9xoOHNO-zfTmQW)~UZ^(`Kr3;-pA>IC;2;fqNr?*73+s*BkK`;&o;r3Z3}1-gfz z1#)6EtkBtxtWS}dl^O%-k|=CXAubNfoBe3 z6%!=a0DfA7$(>f-ROeif-hK1vMQGg@(=hcIJ@jR588-sz zuu*QVzV*uRNn)bZlzqybKEc0x6+!RPEd9RwZkAeSEbOg5gT2bI0~2%i?s0td07~f~ zGEQdJ2a7-&(Dh%-P5l1C2eEJMSlO8AzaKL%r2#)A(cvE$s6a&pAiY?aYL2RVU-4fn zW_J5>#YD-moHpJy!^nxX^$l2RBHsAcWc7##3{1V`y|K3`y=A}PL zW6^pHkVdF{8N?CslFaEbr@g)!k5ek;x#&PZS7`s5}L zk5?DR*{_deOHPqaaw>F{7D?}eWYoeKb4H6C8L$@i?^y#N@jWtzL%Sco!DKrOZ z7^&J*a2q5kl&QPFB*w}F4KX+Q}llpia z2{GE#b+XbPFjoVIx`Jd@!&d@rF?*Z+Z~nOiV)sjjX?$Xrb8?~w)8ODz{@yz14_+El zmZ`=u;73;{BEg;h`%8h#*gJOuj=_f`MOzkEo#y`CAqe^~!hnEKeEjq3O?Pro?dbUL zH(o}^xzWNuXdhRe`;*{ZJYU=%7AB?~Ks~UMTHc>3(w@_qV2fyqeiz<)pBp8ymEin)2Nt{gnMT5WJF=eNvV2iVn)Ys7Q$M(hJaD(QdtM@VyL*);fB6QV|cI zl4Aj|1-L=?fj3_Hd^x8E7ZnL=!bpPJy1L4*UbW6zT;dWy>zjm_I5R5?C?iQ9+X-Y% zEo?cAA63(P8}4! zHW4YN;sqdMG+g>&DEk16A`~(_+jaF>{tNus@p=st0|N=*HWS4{vH|+Av(O9eq}}zY zb0}!`bN_=!BL5_!2=Tqqt5+jX(F8n#th6-q+aHvdfMcjnQ?`zdjsgl}4Rq|h&EVNV z_i3uwm`E%bKE(%Jk(A8E}Cfo%{14Vk=J4h^0+yziFt6tY*r-NL* z?wDV{e%XQpM zphiiBIt>@s9}6lkl&I5CKLmJYabjR-??nTx|0KtmJ$mL`<*ByEfW)P z@mH76VwB`$X3hmhMMo=WWcY-dw>T!W6PZla{_DV2E<@QaGbOagS{8o6CnN;s zvrT~DfRZtE0)_A;M{oXp6+i#fw!2Ut=Iz63sDUBlifA8V|_?(R2 zCCWivG=Ywjhv)db82~gp z^s8uc5*-~K!@|PWM~i&QuQyChxgKuK_8ZdH=jP^uJ_4XJpo6OcmHx+%E0dE&E;f*2 zR;Fhls{1eu06_ES0{Z@@$r~W;AhgU&wZ;H|xDK8_J1FZ+nOMy)eo#bCDE3o{$0NjA8+t}C`-F&@4DWV`2 z;P~M$*Q<|B&d*MHtd|PG0nBBuEG(27jpRcMQk*gvTA2Z)yvhVW=3`xfgMt z4sID2L!m4prxce4-Q@Hkl1WYrL)#-TV!nTH>PsnYzMDR`o~Ma%j>1d;$8K-?RKsp`)iYXgS(VfmoXG z7E9owk^mjx0JOM~UL*Xw>rAg-gqLOkur2jd$No=eUmj2O`nA1JDH@NKD&OYl=I}8^DZ(kGcs5WIYD6O%zOeliTL=4 zPl#nZei=9n96lAn4=6Q&7Y5XY={NrVe`4XKpKlu~qt zbu(;QbA}rtCm)dwPv9;H(OXnQwAIvj*R5+rn+d=ho^>+Nq)mXh06OkfVqiLB4M0(2{Um!+vG6H5nAVIq2J(=re@EQh*k6}{G+KfUT0E+l31{XNj< z4#VA8|I%nBdV6~x;ZKjP8jaSqS+HmO)Cce~$Hss&+nGB;P%+$>2$g5oqAhxTE@xms zK=I$ZTYy4>*D2SSU5X?-j_EntvTT9uWnDX7DxLQ{F_=6B`tU0Vl5Q_OHa^iqzh-LqEoW$|?Ky7#=RKV&9`SU-%# z)TW6WCV9Dlz@8Mvkr9${8!42^hK5|!c=3vrCP*u}8^`}A-a~hXf6BJSn-vuc5v~BS z+MBU7FzWczHour7ZKC+n(9qE0x3gV=FxBZ)a<9623lQ2b%#;xC!^8JyXgeW<8>lR* z##H^U!RIlO#6xb21JJZbSq=#x{|@ahy*Z~(pT>E=|A|d_vhc=wlqigxot;g_K{msr z;aI)P$TM-aIC_h#bz&Kxen$nuY*j(SfyzgS^f>Hkg%}QIUWr9f!+any8^TCyZV_9Q zk{}5MO?BbMtbM+2&w;iCa;gU+wok6GzGmQQLJ(-v)6?-cFCaj6@7_RAui_#iBJj+3 z0zly`Mvh>7zB=ToRG>aAr@7Dk4^REGh6d3&1|?e^N*+I%-|^%qMiCsik? zA@piUt6bq*{U4rYF=K|A)|VvyOljLq?%H*5owxR^8ErOqe$GuInHiXxN?LqkBNx_pXw}FvsM{y`@h}r10oA`x&HT_qA3V5pm2{W1&OK+EP7Ln`s|Aly#SZ% z?O)2UV6H>);X^C2>7TtNNoe}_&9^PLc{Lui%{I0UE*}hR>Prba06c*k(xkIG0^Cq1>Cqw(JhR7*V4mw@l^rs2_Ow4=Y zDLeU$Rh#m*@>Gf0DqOzTnN`owE*@@~`Zb)TyjADr*uB5hcNmC^WpMG{IlMdWJ)iPV z@;ZJW5A#)7#qVx^u6yTypFw%6q;baX?mcb~`lfIl%B`^|Zt^;vzfT7DkGEWNDyBX4 zYlw09YB}D*(ETy!lo#4#JEZucf50gRFH-u<$eI+Ev4C5M)wwz((4nEIXp*-Aq{h|T zmrYWUEJJ>X^4@x_v|RKu8(U^$UXq5+c9Ti6dRYw&EVlnVvD1EyqroI^Fn#L=jFg>>2CM`gXCfp}OK?>v5^Hd5eZ{wyt#d zP7XD`Dxj`91ub7vXivt>zgRW3+~>ib;*m@at#f8e&3#92m=q?UnOPYb+ipNB7l^wN zrWCk4f3yr*kY2GdF)8}WVS7*QH%W8oX%LrN>NGie=0wSgxEA*GQZ{L>AsM-unNdeZ z7Jo_In)v*=W~aE31Gc>g`r3`Q5AEo5%`}PI9zoL95r>316Dn#`6i@)Z+lk zV?ykLLfD3~Z={3$sYX8IgFp3m?~aLD;=0ASvr>-U;29YcbJ3!KDrrC2^tyhv^r`wG zRuKf&S8#+se@>N|w4paYUAa1vnoTNYzWo3^VUBNZH*0B-aax4EVeenIe_Me#) zr~1rOhYn3>T6T1F*sm8gM@$L^7 z12Kx7-JiAfI$607sa%0Bj>GZGmYujSkYe2Rg-10w^LNRCmWkiMNN-HWlYE=CK zGoRTS+AgrIw&}Yx={)6_)fSzbYeA!>-?V2x=W4%^_Co%-q`=fYrhLiCF%LdoQ8~Ui zx@69FdPjLua&kafnE1tZ0OUW|)E|1!Q)^X7pBF>kEML}Iwr)S2_lkW2p_l3rl;%5qR+#bY`lNT*&$*`>_1kh@d{FQ>|)q!7Ijx%$Sm608X0O(1# z;6ASE3}AURYRFT4<2b%P;*1rBWZ_Zwe0blB(D5P+zA)ow<$mm`hGpoPUTmd@P8*NpY3;rKJ zc19}N7T&YZD3h0YxUb>MXsdr?O(wtMQjSB1a(eRgE}DJX<~n`-un&=# z?P|{Va2)L1L|=In=T~o(nH<2rrayG*YZvoH5rn678EJaz&NiP|%wb@lCao|au3la* z?QLJZy|ctKlpS)z&QBY23@xtE)1$rg^`+tNrEw`?YOUY3eTv9K-NofKHNpGKng?s# za|UQ+<39XTpse%#^_9O2?|FHlqMUQN$0_ocI@<+P#90oj5 zwbc$96<9RpVta*S2tPp5uC}D4b7EM;-thp`&eqePx~1Y*!7IGhb8UOrIr3}K=FL|= z6>IIY*~T^ww|6L(m(q@hPWG7A9LxJ{le|*q@mlWI@@PFA7unheWaW5w_fF)TFEfT9 zf&U^t;q;!JoIJWI4rwofw0Z)4_;q)YDc|)HW{k~KZyzZv`fTzW(}8vs$gEwvHl`dr zkNXK$>2}tE45^m4cYZ(BVHOAf?Cj~OOixU%%m@({6Z6m%7NVwh)TIS)I?tZ)kmZD1 z*@^}ZMgQX~9+{&;`<_~owX_p9qdG#NQiZp5es`W4A4iSC(#a5ODcDqyF-;ToyGE7B8xJ=l5!h?lWm)>igCjminH zJq9=f6_`2f5hm4K>I3PAi|6JIC^R9&b)okXA9v0I-$M(mabU27h;Gu|Mj6RZ!**N>d5sw%UQ*rG?j%or)*i8#&&iECBY(=^<#|o(zR-8uPrQc z6x1G2`PpBNlEcn=`>C^kJJM)FV}qPBBd-)Y#kU6^ije}P_HizLR{MPO zxvsMZ7z~{_TlT9S6eC`>sP!jPc1L&RbA3k?dOF*mnQ26R{P)b{V`=MM`!#QNj1Fc^ ze{u8OZ*^(D_4QK%f{rG26p^@=RIV46jm#H29SgmdXJq6Ju$Zm?vE+8l*pe_|zh#8| zUMwhuhrd`@mu7A%PJh%UE;}{$RHw0^AOxBSYsqa8pk>To{LF_s)2L2eO}wq0vfouv zz90GdJWup`#OQto?UNJnhum}F>)4Yces-4wo@ddbg=F?ErPfY=4?tthN?k>d}BL1z+oNXs8Vx9h+5Q9^eba~Kg+7(L|7l{ z3H6!D!Mm>HZ?w7Govg3y;;yJCEv-4TBa$Kp$px*|M00mZ+at(N&UJn9PfTPg3B}yO z!dWITT0A*n2vuE?<5pZt);6U4SVVK5S#Z9Ju%?mF(f)eAyS7Dsj1B(oM}wn{MR(?* znO!S%pxo9r3HWw>Rvqe#2UZIR91Whyw2L_~P)*K@7Z2<;>jenH_Si>z)z2DHUXfLO z{YgD_gXU&kaq;mcJ9m!Xmvv&b`frb3!ro=Nv=PZgFQ-V1g_G0VGfze?jP!=UENO*h z)ZrctA?iSmc8E_%h@mO-JkBpm%GvwnYj)Z{i${tW<;hD`@ptqXgDqo&IJ0QMI#9i1hedjdEsq*sbjj>(?-92ZX=_WwLSD5x6UUjMV>N|0hqR$qdv@^{@nXr6(o{me%5KD&z3A+^W3B=*GJg#&$FwPg<@X+uQPPNjgiO8UVDMW>%NN2o=7*;tQ+ph z4H|Hs+NaYg?hLRroSUpfUy!gOYNKV9jg4DH-)E?c{Ih;YbVLr4)ZIAa1W&<3Fph-pFR~qcRs{#C>SG~)Z^0B)C}t9KQq*O_;8x$cKUphOFG0rR_(rU z!=uQ9mv@q8XunZk|BA2gXN$&=$qH2s6x}5lW9Qa|PC^GtIat{NOaz+Z)g3Fv-~YWk zGUmo1@{@Kj9WQ_eOJ_&5_1wg0ESJ1C;vPVjZOj?x)~NB1D(MrIl+^g%cMo$%rG86D z8VcHd(I`~LkLF&!F+%j1P;*9UP0v{!op@TkFZF1?hldA*T70SOHQ+s847JdZ_w8kj z?CdW7onF|UZ&z0rj%%sB%${1sBThKKPj0wd2#36pA@aTD#iUkC*a{>0K+~UW)I`Wq zV&y9(YVEWC{+=6A`b~aX>|9aNm&t~o;}8bn*#CR|IgPWwbdY=yp5`hIIct)xwDC|^ zeM@29w{LwBsppXn={W}r!cE;-KI%LkWPH-Q|DHeziy3q@XePiL9V9F=X4iSw8}imp z9pxiQxtb;yE{H0*{j4b(>Xt@$|B#@eOsqb-Y1p)T6jFM_wkpzR9^!dB5CO;+-ntchuBG z9(+{xv@Ll4Jj=$u;JuHaE@QA_>i3T}L^d*6V~1Y1(ybd?z#85P8cioV423NqvZ%+! z=t=)`0)gf;NEA}Ck%}xFML=wTASi-@%0Phe1wb32KWHg+$V!NI|wA4x_ETx)%(;kR9@?b|o7OP4KQjsrZY&Xd;yj-&p!cG)tU z@gei#RPb9+o>fmgQzO|7MIf-<(7tI$9S3^}G`;sYN>_bHr(==p`nwT092mWqW6`vP zD)q<5<3^bVrD1ZYAfnt5V=#Glg&2q2OS_K0G!xHkdkFA5TFoYDnc3MW?2TdzkGdl| zT|33aD?cUKW>^0*)iDe9p{%Pr(39QL)%EqUiXbPa`*M*JMg>qmO9gqtZ7g^Cr4Nz| z?wXKDO*|-S6OG@ZR_s#2uegZ9cCi*1MtUzSbd;13p4I2hnFEO^^kAUqvqne=HPZNi z$djT{($e$fVr^YRL-jyZL5&zxUbKH9>k(G_Gj2;vR8(wLCklFR-@XMqUggb~FK1CY zLm@i0$|RcB(b-AxP$MEX$}RO;BUz53n6RRkQ940EjENE9l0SFuoRiaJ^2I_BfRXg< zK}-4JvD1xL6I*IBzfgsZ&ERsuJ_cD0!zO?xH9;zB@n`S+1BK3MB(1oSG`yZ)odY&OSji^K`H>mepEJ5yW{8B0BHeob9JH?WN{$K6lePe)T{d_ z^MRj;^h9o{%;@*!(9=TC7fm?)a3Yv$ToMgUlBT9z;1B|4U|jLIDsv&&TOfrCN!p+< zCbDnea6XSLK&a;+M&Ki?i2l_)IRL*-96JW#_s~6sJUl$80FMA%A}%i8xdwVE3G};x z9*F{RwNNM3l$CAYM};U`29V?n+SywA4xrep%;Mf&}^pa5iZgAadgMqiz0;X=X~ zi?v`Gfu10Qg3@78pIKEm-1PcJU{!wSBdgYrE6`jHIR4l^uEPw|)pyEwp4`!+N84+X zLcstRy$b>%#+0sm8!Zhyuh&{>>eb#R^aU6=X8`W3xLs?l_jZZt4?y2$?O>w~65(Wg%+;Q*^Of^9#g zB|_9>FUpe8<{`@atk{#H==paBmEtEfO^de~x~_-byc&7rl+o62e8`604!quItdTS#D|OWmbG-WIx~n(l1M% z`1@-xT6oswwOv@pt28o2_bI?^L*^``eWql*l;b*5q*9|tj~;=tAARC_;r?qQz0dWF zcIalGg^55LM@=om|L{vrUiAFkL4A3uF!OyRX zmX9O@nFu~%f1>(ClF~)7oGc+R`AzP@F@0z<-T3~xAF6s6z&>kkhK3PA%~-e25(N5Q zN`|%to~66n!qn6e_&yj#$bM^->f;T#Q{6?lT$l3m8(z3j4ws>*sEFAG+(4Rj3C*mv zYrA`TEKN*SuUz@q{=H`bIEN4%FuHUp%HHoj>?|e47Sd3Z`>6ub4t5w)6%SN`AjpK} z-rC$;hP7{xp3o!7iqg_viGVpc4vA|ufd$}g;aNNTuISVOw9)|g)85_=4l2lyl*)bV z2(LLuE%A(U@E@e!u4@d&w3%OZig{_({01T>xX&3=g}5!@yfUGW75Ltv4Ja#{H($07 zeZ0lo+%<_>HBE}u@~T&p(f5Fd1ORP}9NIq0&|{CIl95ARA@YaUBB9rS%DHG}CWTfv z2ze5WnS^;a2r%_PTFl0<#-UbhX zHjochLD*Q0pY78&MTyW!q*t~vNlBJ)|0X7N@u$T^L_~_!4^i4mf)hq}<2-kye3Fx1Ly`u*Yz)79xWFs`gj9YZE z3!h}`$Uyw19B`MgurS=WCR^X!Jh2vRRyacz!bl@@5FabeRtX3!a6OqaF5Fki&n_C1jQof?i9+xH zvjYwJeHeYy;o)Jue>==7GRIT0Dr3WS&d^LYkh;{2s7v%;8R>0CV@oIdDl{UVqXifd zAs_BO_OFke7Q5@NNeV z96)zeON$A2cW;ekA1I$#5)uJjA3g*71Kq`mi3t@I6$sKGriMxm<=b}(9!{}_RRX9X zcVoVi5c~BGirqFz)9hSKaxwhz^QRaWJjR>;{UiS@^I@qa4f{iW{;1%)6S0b)|HqFX zB6ROeg1+v)&Ivi2drXX>iAlWZUD$Fkx|UeldlEp`Vcr+qw?kTb0>n%>X$Y9AqNlu# z%N03>l~r&4i{>V zd=-mxN85s+Q3J)j#1{?7xS%nzaKVDOewTmeNOI)Fl9|i1-V(6rgJNJ_m)6#1Akw(5 zho;@Y&zjGGu<^YsEiDC1CeRrDR2~c2ku%%T-iA>jYjf;cKmCL*mx)kB(v%B73GCwn zS3r5`P!D`4ra{OoMbi`xA3lYn6OW6DipJLFUK@S>@Zo6&=YtQIptl16l*7L-Qw~K4 z$(5c#HpNu zED81oC}bg=C&{}3s!dOxJh>zhu$~L(M=7bVjg5_!l@xLDPfX_c>i{@wNZvt~#n#Tw z4gfP4#9HgK|1*A8@0)Qaw+5mJAVqH>0zP7lZuV8{U^2Q~{SYLoTzzWW!#zw$neAa> zg#mAa`Rc#n`*Y3AvXv)_wcocsJf^3o7pHEt6-o8?@0;igr9$MxfrpBzoT);mE+Ra? zIWU-hRM#_58u}(|vJA;Vlo#7j!svu+F$O#Vc2as3B1j^1_AOirB8B0RXFruhMl|y| zC`e>^A!`pSC+vX)GiZW^dslvN68OBo1{&mm?cdcH!-{gK1DW|86r7N?P+s=t)=r(L#6Kx1oH+bc{+#Q7 E0cNR9bN~PV literal 0 HcmV?d00001 diff --git a/help/html/httpPost_8h__incl.map b/help/html/httpPost_8h__incl.map new file mode 100644 index 0000000..a995c18 --- /dev/null +++ b/help/html/httpPost_8h__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/httpPost_8h__incl.md5 b/help/html/httpPost_8h__incl.md5 new file mode 100644 index 0000000..88a276e --- /dev/null +++ b/help/html/httpPost_8h__incl.md5 @@ -0,0 +1 @@ +c89888010434a1c0931ab065278186b1 \ No newline at end of file diff --git a/help/html/httpPost_8h__incl.png b/help/html/httpPost_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7fc9e7b43f7e420b123c800c03e53c1d7ea314 GIT binary patch literal 24255 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�B`h! z@o<`u-<{<=$CrNcn)`C`m$X}9Q8Gj*e+vboS23$z7CeUE6A1i{Ac+AM?7TnSgg^!^ ztAd9=Wwq>Sd1>}uQgSkP8hWobF+MIG9Y`sqqvH>BY;e5B(edX;?4IX9=>V!!*%t?3 zhsaArm7)gqEj&1`-1GFJ8d!Jd|-s+K>Gw6F$Lcz2T;u688>@s%heIe z9AaxVoMq+b|F|yHpy521b-dz%uuTr5y$}}{4EpW3RAdmf3{5vS`bCaqlUWop1=ZMr zuC4;nW4U#T^aH=H7*ar1Xgq7kt`)IYm;TV8{n7F=n=2Q582-6&@*M-iM+F7Mh&($C zY^05im@^&x5TH7RlP2majh)QsI%)7D-RVk!3h3@+^`e}OP(UE&y4o4YtBUEjaBu`E zp}~&13?!jqCf{(TxQa@SzP?#rSFk-Q?qet^!N?FZvPw$o&Eq944weR|o`ExO#Twq7B1tU;W!5Fd4?11~@a)wp6@hivNZ|BHN5`|`K~yhrJr*tJtKErfAn#|jhF=z`cel{RfTsY8FVF(d zP7?#u=pC`}yCo&>kLI`iyY$_L-}q1h)8*y2#S=1+$Fb40tnscOI` zB!}*__L~}E?}QVeovW=OO6%iiFVTO9iRd(AK|q6gb&z;|dw%WbXF=<-@&N6irKE(d z_x=gM?7G8HyWRr!cz!J9PvbabkHR`S_M3mk%*+l3uP(2y$eYorqh`lCVq@K-qnBZq zGah_={Q;Q1^-3Q|z|ncmTYHeV)JvNOhnHwyiNdcSkF4!6antgNXWL`hXbTHHoFhS* z_hM-iQqqYbLEm`Z<|@%!%tgFX2hB4DIJ%Fbi=o}>St96sGF7VmHaHkZtI$9QxS2U_ zW26oec)y!`j1(1W=epyouP8wEqSL>_zaHP+Il)RD$ddp?kEA` zsyT3Mxx3T${N|U~xda8sQye7WpV7K*F7hD0vP+(J9)s!q{ORnxDUexJD-1jON{)rl*=@W4 zny~v^Q8*g;;^M~rwIB$KY-S{Cw)*-6Ji?hPZDO!0PXINElsYJ{lY~k`12go@3SToY z++8tS@`9arB`WIl8xV+&n8oI&r{9`S7ZY)Qtp-Nl|3y;qAU0p55!G zlM$|cBP0KV{?^ktuq7lV{qXaXOXLs-CfdHfo$e4qaEAW>)Nz(kQLTL+9!d}p5D7&} zKtfPbLSpC+2`P~QgaaZugoH43N*yF5q(!7eMUj*i1!+M*LP|P?p=O>x=RE6O?}zv0 z)2uaXGkfm6=iYn&?(26!dJJJNfPICxaoOT}`;@N(eIP=CH2Y~v${iyk1}LFHf6)VI zyBeseLq-Qqlcq(FM4$#aIpZ3Yg8J|wYN{PP>uZZUaDo8&5B`p+TCY=4N`Jlz>{0-< z_07zFywooM?wF76O9%-C1hmg({Z(bTxVbx;n-$a+k^V8L8aHcDh#&)xP2V~60~x#| z_gFD|Wuy{PV?1^XqW3S&%~zoFFCnoH*gbH#fE*9Wc=jSzB7xq78b$+1Mc^Gcmnax- ztd^XB_X2}Eu!o_6O8${-PH5+-si?$UjQ}m~(zE-p9zDGE?92*}eE78C$rCw%p4_zOVsd6yq9 zvsC8ihxo45=iu#aY|zu62$om6yR~7R4CvYbX<)N}VCK~BMes*5GB6M#0QM?b0`~y| z@feTG_QOIs!M{xind52gjzdvH!)9eAvR}I|Y#&1qT3gGV#poO@h#?n;vKwEn|G*f`K_M0>y5tSk; zV+MF3zH=6SawSUu{uXl^OgTQpZ>X*AKc-@Jc5dI>tB8oe3y>4rCy-r)EQM3;l?eGF z6Bmqk0|wt18rllDISjj(r{`-^Cmo%*{Co}_T~1C;Ev>H}i{I|SIRFGE2gh+^DVx6# zd|+--kqSo=9MPA?_`S8uH@yt?yA=S9ib4R9afv@vX6`HTsO{ z6=7k0b929m8g~%bKw=8^A*-j!LxA+fh-q}rAL z6po#OUIGb8IOsh*3dIOw@bk1pvN=R7z@{qSl@_}?@3leagJL)BCb=R-;T&EACZ z5`vxk%!%M@xKyqDel1GVV1ckY~pwK6g;dirxv(6gJzTOeV&P*zgnM^fSx zh?8Ps{JgxRGDytx@FZu570mBS7ZvtREs}CX!LB@fz}LssvV{rG0}4k`p|FTl=%7qO z?w`M`6fybNfB)U#?97IkKE!>5))OrAEO=iJX+PSx166oJ%#p=5~_be}(AMo#vPJbK+jDp*+y-Fs51ITDf|q@?&SMLmjS#Du{JH4SJS zQq#k{-)KGi8ZRis4l=G!HojHKC|3~?xqt(M`3+ZTZ2r4y`s8Gy5AZC9o|^&cCnlz* zT8k|#;)Cl~I=aHcJv@8?%E{HaADOeAY&tn|e%%+(#XpT`w>gGo<0)!Dd47zmu}beH zD$aBkHHSTc!f<&R<)NiaAD)ot53cwAQB%O(yYo#`LzGowA`Jnat-bj&l&x81KCehSbSrcujOgl3 zy#_+5Co|c&OcEL~19;&?g6-e^#c*5x`x|p4j`1RdoCpM@aWbXQ>C=WDy{>Kt_$G*d z{olcOFkeh1rjRShRN$o+hbt7($6j{RDQWdi~ZFXY4B z!&$hqiir4*+c}r9un-ReV_cT5`PPD%I$hj(cec|yHT6(Vj;FPy;(fK(mT8bs|HOnl zKJa-lPiw$0*!8n8-A!WgE#dZbzp(ZW74oFDZWd zv*Joa?Cv3I_mtoel?ZjfSCxyk__|v4VmTDByj4V`o@%Prr$m|7#X< z;}P7zLzr+&iUm?u<-1AjTXP!CBbCG57`5LR1w}0_a6vsUy~9q1ULKnASTKEAy7N^r z6iT|RvgFBWX<5RvRz^dzti3_B7QcQyhm-*x2eLI-|J}B#tSr9t&O}|>{-1|8)$#)* z;g_d~Mo&MN^@wNd&APebW^H|LEC!nma2PzZS-$U%@D)GZ^zPlfs;W5k)oDw5cszzY zB|VAr&PNjxe|U%?q2LDZ5>FB@*bA(uX*}`^1|z9W+&v4CYsIAhZhRhOQC;OXJ{Yxqje z6|WrY-Dh<`Y%p0VD6TFbunTRn=~btCn|3L1tHi}A-E!jvfQWN;FrLLl02dEaM#t~| zWnW)TWk z&o%9K&jbTKTc*GGC^etv3Td&M5zf#mYqt0jgvG_WuoL}|T0FS_KGK2HmbAmVX&<#} z5xD3td9?aSYKo#OT{`V&e?KR~S28EVYiqIrwHzXUYZV)wb@I-dLEqEVN`4$*Ux~uV z2n+Aew7Qc&&61p(zcVsiy*frOwrv=M)94t~duw&EF)&+QZ?vooO-^E2_dWTOxEEo_ zMOLZp!<=9x(i^D8l83P!3G3^P4gM5UKCKVGWz8_-A`rWJA~bD@?HQW6JdZI=zuKa= z|E%PwBx)F#3GhZ4nrF=Yvbn%~tncX9_?(z(?dRR7d{cvgFFdy>e&;-{`B+7^iuXWY zW0OgYj9if$iF}url)iND0U~-DqWDr&$af%c`fQfU`n75<&x@0>z>Lg?$xf2HZ6Z;&M&wG;7@LvnWb3<9;n}+ z<)UOh#LmXTl3*H--nmVanfRJR z_M~pORMcf^y{}q@I4FN~+;y?0W>i@ftu{i~hvb9C#~uB=wXfv~a<#wL*5+oc)uJ>m zu-Q%Dc6Wd5x=|1m6p9M;H8V4atGBg1zI}Jx^Y?AuIC0G@L?_9Ax5u)Cw@8l-5x%Ny z+8@+A7sj}kiS2%N-_R7h;k8nqoZLiCAwBk8_4}v1Qj?8spQ#NvJ?!IqUS1|RhY1&i!NLHC1E7&`y6^7GVbb%>wY%2 zZyH~|OzxFisdq0h7IX>5X+&rL+`T0F!q{j+S-Ha5Dhlg9^GE@L(pB+e9R`|9tk ztda5Y-r4fu?XxYmIfP3*=!1e06mo20V)*Az!IZs$rJ-Pg-M78s4zGs6;0TD-q8QVY z{F=%QL+uv|Iz9J-t$0dUaMAf?tEv_j@ruE$lAEty-15CO*Bom3X#Xb;=aIl{R$4~T zxo84%A*f8)E_PL8N|wgaQ1KBGOx@0j@-3Z(L_%<-w=z6eH|bJ1SP*45_~ zV(ugf>B!G#x|V|8E2Ehk2xoU#8u)Sbss;gp$4DiT^@4|{b9nXm2kBR@JPjkbkfTfMxZpUfw53svo22sw%RK3=2g9H_8_27{0HLCfPg5gm+Thd();-&7xA3o7;N* z`aaaoy1Sor{is8==8+UM>;xYFfonoZQvPN-RM-b zv@r0%Jm52yoO$%ss-%E7BHzb+Ou~PUj`mkOSqGl0;KP3Z_B?4u#yUTp($wA^;}>IN zx`zJW2a1kxSS1--&TQRm;rq)UJ*rYux$oQXKYQTP$i|p-3>UpQ%}t zCC&KOs@X?UCy#ew9j9wz(mVC2SqPTj_gkr3pF9z}arlI|51&lQ$=R_rdwHmF_tIY{ zl??$7!}7PX9qsJ=_MF6Mn#@O?MCCBCANI@MiNuQ9P%QTz91X3yf2l9Ca5o9jhd z7|Kh374UK=sn5=ObTkKLWnHU|Z}7a8(wy7gNy>bSE`RJ;nXFH)Mqx z`0VVTp-pXKOm<^p1s;nwqfT$Ds{ii(JfAS>w^C@nkr7N#2AOSdC6gf${H%8tE6+Wf z=SvHOYYPQ2A4r@oQf8!@z*ND%wA2hk_o`a{T1q}2nXTKK+t*US!Ld1PGXAuv4UwU) z#qZ>}JTS)=Ji8gs;)_8UTuFRuAI^K2mPZ;+_}0`=FK6<&oiWo?z$UOR7}rG(S0QPJ zibF}en2rkhA`DYpi!IaKqMEdnS^UQUTUGAlSY_JzmbwTDXUQ12IGc@yS)J4K-m@d~ zE5qE%zGX+gw)Wvf@SY}I49V)r`;gHyZhvv}R2mrjT~x)dtpSRyUDTqg`UHki_RmmQ z>6&!EJWcEB>dTIf-Cw_I($g33-LwBBMA^DIJw+H!Sm#xGlKp7Avjvg#vf=%El2*6j zpr(46t8#%PGq|y_Z)}KKXt^&2;y!NuYM+X5$DNP0yBKl#vMBbre5@^I`7(_0q|CVQ zj??U{iKq7-88PN*%1w)UEPUgl!IFy+{B)yT$;czDOtoW*bXD5IPN^Gnr1j`G7eBwl z($MVl(IoZwkxL@a%1WYx>faeWnCgf_Wu^oZ`(ug9Y55$r)x}d{=->0byl?~WCgnddt z%4u^OetFU(ZueFP<<~{8vUOR4Yk2rN3CW-H=VPO;WrHPWKP$WEzD@mg0i4u#`2%{U zYMcVTQk08U1H2b$U#}Kc=LFW~l`P-A3+vPwLHoyG7>#8A+|#3T^g_MUXVPC!51A}w z7e<|M|Vt z)YKGy6ArRp%gY%_Nd&EKYMr*c(ZzQ`ENfwrm5@N4+~w)zRbEymP5hFPa8=1EFQ0wh@S*bO!S5Ct{}VTZ&G4AS>qgsJ+@+f>yQ7TRL(yG+z56b}NB zIgdV=|C)AzmiFnmtc(m~nMRQyLIApzf|xK|F?bdW6f5#%*KoK3^bXKukb8_3x_-T9 zV1Tw2E>sN-4N8iNT(n(~&M{s$Csw!(7n;qEArQ6<565l0XnZ5vfY$iW$;n0-{JJ`6 z8JUT;HgHtwfVmaeQ^5DY*AYr>%uA=3*VomxG*n{vY7qRhVAm)#SZWM7q9IOF=W0b& z6&5NBFeDr{%HxrFd4o%oXNVMNh=_>v^m>U%sT^*h$KN|^r3&O347WwLcXZq^fA{(G zXNQ&V<+RarK;%LCL>LS%x>ism_xHO)PI}+>!l8<`_LIm+(&R3S4=(rg^r#a$PtC5N zg#|KfFd{WoD8ukIY{oU@M}Rh9x(vxz|jK0FeI=u z(13Sz6f?$xANIwId)F3kD=8_Fh0LMBW=)aYB_<(Z;_}GT2z3)7L~caDa^}n#@PUBL z`c(q@U{=5h*k?FcRwB=YC_6hk#3dw3b=i&um|0jzH<&2kvu=U#0&q9rC&8Kx;2#V> z4Y5A265GUu;b2J4p#A^qY?FFn<`?n9Xj1{IbLW0G_&<91kUzp&hE*>Qi=j<|+Ib0% zAzIl<++RD6;4r5TSV9m$7FAWbTUjAg^gmiuSSY=zswycjXE|>0<$zNaIQ9I3g7NWj z6%KtgS|rbyC_?Fg25c;sC{c7llM0dY8}-Qa{?l#$Dk!!}%70q-?{-|7q}$%!0x@_;QnS^6icVKjZU?HxC{&#Vu@X2+~FaTC1q| zu7``7ozv>LvRDRxyaUI<+uIv}X&7cwYSy7@6$A_75F={`LU1XmS^c&%Lg)(1hFjlE zh)@2V0f-QX6#tzJPG6eh2Zd>)l}EUrJOwchpJ9jK%{AqMrluTa>W5*7la=(tL%(~O zo5WA5rN@-vl9aS!9Y;KkCx!XP3irQeq5pZgjhvc}vZPJw>;NM@LPJGYxkAw@ + + + + + + +CocoaTweet: src/cocoatweet/api/interface/httpPost.h Source File + + + + + + + + + + +
      +
      +
      httpPost.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_INTERFACE_HTTPPOST_H_
      +
      2 #define COCOATWEET_API_INTERFACE_HTTPPOST_H_
      +
      3 
      +
      4 #include <functional>
      + + +
      7 
      + +
      10 class HttpPost : public HttpBase {
      +
      11 public:
      +
      12 protected:
      +
      18  void process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth,
      +
      19  std::function<void(const std::string&)> _callback);
      +
      20 };
      +
      21 } // namespace CocoaTweet::API::Interface
      +
      22 
      +
      23 #endif
      +
      + +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      Definition: httpBase.h:7
      +
      Definition: httpBase.h:8
      +
      void process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth, std::function< void(const std::string &)> _callback)
      Send HTTP/POST using OAuth object.
      Definition: httpPost.cc:23
      + + + + + diff --git a/help/html/index.html b/help/html/index.html new file mode 100644 index 0000000..161e70e --- /dev/null +++ b/help/html/index.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: Main Page + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      CocoaTweet Documentation
      +
      +
      +
      + + + + diff --git a/help/html/inherit_graph_0.map b/help/html/inherit_graph_0.map new file mode 100644 index 0000000..a279d27 --- /dev/null +++ b/help/html/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_0.md5 b/help/html/inherit_graph_0.md5 new file mode 100644 index 0000000..ea6de6a --- /dev/null +++ b/help/html/inherit_graph_0.md5 @@ -0,0 +1 @@ +8c9650b0640341b796e72c78f2af31bd \ No newline at end of file diff --git a/help/html/inherit_graph_0.png b/help/html/inherit_graph_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f14f5d04efb2db80332b58d359eaf22eb665a754 GIT binary patch literal 1697 zcmV;S244AzP)#F}fl~)QGsyRGp|uREioCF=A+VY-~|621F8zwst5eX-ryc@d0yxi<^Hl zfBKO6`?V})KC64rJ#*&de&@bshCm1b2P@$%bpjkq2B$rH;k0Kjoc8P`nprU#jTbIl zSgKSw!cAdeVN+9+xB7qMo}#Gx_wPqMC5}j7GMS7(tfN6{&nUBFCORdlp!@ z^`5r9UL6=+K(JLvV>uM`5Wzf zdU|9sSyooo^XJbU4#%B4cbrb=+9=rd2Vhld^ZgaP17Vv z*4NkTbh-siTCEl#WVhR;QfYa4`OM7Bl85z6$l4=>4jnpFS66rb{P_(VHpIonZQi{3 z^y$-;m6ZT6Gc&Vq-@e4e#H6I8{rmTS{rVMO<#M^ST5U!~#)=gy4jw%C{rmSI&MK9P zAP63hmywat+}s@KEAxW~4>oSxh|4EWo+Jq3AU;Ey@dxwXI4;(l^5JW*i0RWsib7uYe_4pEI833L=d$w}r%FCB8TP&8h zZ{PZ+ClCl)T3Wt+`?lbXO8CNtO32!ekB?ie)|#3czpa&(l}@Mg&6_u`UcI6ys=B%w z+pDXqU%!6+&$e(&BrsZ@I7#tnp!$z%%N z4?3Oh=+UEmKEI)%;p)|^p>|`0!}gebw z08C9y;ZbEan-}A}AZA-zTUAvR)54td^Yimbl5{$qLZOf(Nwr#y5GpP%zI5plLWrU$ z0I=Kb*m-__ULX*RjEn@bBZR!#2gh!=r>3U<`t=JTtE+3vmM!t|@dQC=wc5$a$w0{{6bggE(BI!*SXj7y`}V%RKDXO#G#V8O1%9vq zASERQ?~eTe~G)>d3t*t>ebP9!{udlDSx3{FEWX+m2VzKz*#fz&}t;)&C0f6-MbRLiAa5$I` z`;Hwu0@(q8$NO`K&@_Gh`t`A~G4Hj#y}iu&84pCa+ifzLU1@oH(J^>oYSmWinYqL&Nm+G(}O3jg3mBGC4UpEiFx@Qq|Sf zjgOBzoz835u61{J2XdaBouz47C=~Mfe3Qx4+S(cp=g&ZP07y>l}b}m zQoM)Mj*gDp+}zUA(#*`v;o;$J+qMOAmPjOL&z{w2Gy;L3si|q#u3bSgiHV6RDk_SN zjm^!?1%Q&05|_*6)gA!a+uO6Vvz1C^Vq)Uq!-s2YYhz+!g4mB8JNESH(`Cz+;eEbe zbUK|=wgjAIGG-*A~9=(%^g?1j^wy>QyI z7fyTj!fDT5IPKXBr#*Y|^Y4RRuaA5l9N}hia&qn3wM>g2?W?M)B9#wEL{Y2N%qqdX r#bYhpde2@s?b!>bJ$vD_XD|N%IajzD-aMBq00000NkvXXu0mjfr9@9F literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_1.map b/help/html/inherit_graph_1.map new file mode 100644 index 0000000..c9166d3 --- /dev/null +++ b/help/html/inherit_graph_1.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/inherit_graph_1.md5 b/help/html/inherit_graph_1.md5 new file mode 100644 index 0000000..07067fb --- /dev/null +++ b/help/html/inherit_graph_1.md5 @@ -0,0 +1 @@ +60fbd2b397c14777515d23198202215a \ No newline at end of file diff --git a/help/html/inherit_graph_1.png b/help/html/inherit_graph_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a329517c0123f82bc27c80b50de5e98b84958287 GIT binary patch literal 18128 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 P5C|!8d9i#EeeeGPxMxsc literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_10.map b/help/html/inherit_graph_10.map new file mode 100644 index 0000000..0ac8fa4 --- /dev/null +++ b/help/html/inherit_graph_10.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_10.md5 b/help/html/inherit_graph_10.md5 new file mode 100644 index 0000000..a724733 --- /dev/null +++ b/help/html/inherit_graph_10.md5 @@ -0,0 +1 @@ +4bc6d322de21bce09fa60632f0f809f5 \ No newline at end of file diff --git a/help/html/inherit_graph_10.png b/help/html/inherit_graph_10.png new file mode 100644 index 0000000000000000000000000000000000000000..290b0eacabe6e7333836c1c1fea95b67b0d0d284 GIT binary patch literal 4347 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 BFe3l} literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_100.map b/help/html/inherit_graph_100.map new file mode 100644 index 0000000..2a30f15 --- /dev/null +++ b/help/html/inherit_graph_100.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_100.md5 b/help/html/inherit_graph_100.md5 new file mode 100644 index 0000000..d0e477b --- /dev/null +++ b/help/html/inherit_graph_100.md5 @@ -0,0 +1 @@ +25e3ae7253884badc948c1134ed53a45 \ No newline at end of file diff --git a/help/html/inherit_graph_100.png b/help/html/inherit_graph_100.png new file mode 100644 index 0000000000000000000000000000000000000000..2fbccb03b4948b806ac29a22c9075adfd1987c8a GIT binary patch literal 4076 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_101.map b/help/html/inherit_graph_101.map new file mode 100644 index 0000000..0be404f --- /dev/null +++ b/help/html/inherit_graph_101.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_101.md5 b/help/html/inherit_graph_101.md5 new file mode 100644 index 0000000..5c9725f --- /dev/null +++ b/help/html/inherit_graph_101.md5 @@ -0,0 +1 @@ +fc6eefa966c1d9663b535c0eb134a4a3 \ No newline at end of file diff --git a/help/html/inherit_graph_101.png b/help/html/inherit_graph_101.png new file mode 100644 index 0000000000000000000000000000000000000000..7e034b4d9e677599186e86b11699851941f0ea57 GIT binary patch literal 2703 zcmV;A3UKv_P)X;100006VoOIv0RI60 z0RN!9r;`8x3PednK~#90?VWotRBsr^&tcuN)}<_R*|l^t)w)f~Af-RVU?M~`mc&Fw zs6>~U#!TtL)J!vsbWx&cG*eAR(-?-VE|O9scT0*8>zds?zdzn)e?;q2_3l$0bY{xq*}x!lsyQl*DPuo&TRICXV(=o*rEqmq&mWyM3VcnJy$no~op zR|xPzS=b(QX z4u`YQAxHpERF000`}XZ)v)PIZgP2zc@FGjD*xK42KYrZ9!-GPhtXj3IqM|~)&A`CG z&Ye4{RH~7YQA9+<@bIwcR7*>X__emSwn<4zZf&5c5#*xTFJ*4APhM@J>mQAkM0t5>fgBO_rLc5-rpAZUDiJRu>0 zMx*KJ>G}Bhba!`)E>BNS-?V9yj*d=oaWO`a5RPAOM#e8ynZw*7Es$>`yr`FfcGM5M3i zE?&I2W5*8ckfha1L)3+ijt*^Y?WU$C^jR7DC2atY9z7~5u357tH#Zl<_?%pk=m?!F zTrL-apuWC7P!tFR6bc3Og~?=s`S_QJ=ZcK$6)Keq4z#qiAPAb8nnIuDa=9cDiB6}3 zBADSp2QaQRG&BSUnwpwRmMqcM))o~-ZAwZ??CtHzWHJoH2?+_ky}iE-2|HA2SXx>Z z6%`#ibjZ=sF)AwR&6_te_e&xS1_OQE+uMt69L+Bsb#`__5M*j<3d1lA!>X#PV`F1o zU0vX;g@py45fDcqYg==3b3UKn)6)ZrZEbC!a-L?teEAX@8hYZyiT?h6p-`Beoz3U- z=NqeZe0_b(%gdiXf9~Pov2o+Z$;nAM_6vNRfR2t1Gc&V!8dp*I|D&YQXeufyU%!4u z&kDZ2zThkj!!iU6DJWMM493Qd8{^~S`}_O3T<(Db2fVzzOiWDXX?ALAN+=ZS>guYi zt8+Mi?jpDV%HDzZeGxhZ{F;DB25?$-H^w(W_1Z zG(@iapr)o~<;s=Ywrz8Db(M?3uC6Xv428afS2V*Lh5c3KFUjEKpStOhIe;JD_SGI253hwJ95{X8m9Y20tv}^cVa5$Xk=xA(5iHV7_ zhWQiI)6?SX63_*?*k3#-J6D84;nSy2*=%-ZW~Rgj2?+@Zf=o|O-@bkO(xprJ`T0tY z@ORPF)D%5cZr{Fr_wL=`SP}1(larI<;^OA~6hmn!FISqIn^RL$X*61NbhN3dX>f2b zMq?6*RXKbaY^hq5MI=Y*EC!xX+(I zXJ=>I+1VKw7{tcLR##VJY}R{vdV+anc6PR|u1;51x1^*5-C&LyL7H*^y)oFMdEOPAiecMsG{6eM7%2rw8N z90WUp>FMd%EoEQ<-rHtoW@cq&H8wWVXtce1_kyn)MtkrP3Iu}o_I56p8x<7=>LscX zBq|5cbai#9s;XL9SxIxJIPF1PTwG~s>Cn(nNl6KbL=tWDLXrdt*eZfK2n2$Pii(Jc z2nK^OJUpC}larE?BCUgRMB%w&WMp*k;KA3gUsqLCQ7DviEEN?7 zgAp1UT2@vDVX6_tl>=xybUGcR9fmIjX%B2{Y*;MT_3PJja&p*gwwjun=#;o10b4~N z;{E&gNl8g&W@hp6@eBr|v9YnHrY1HvR!>jww_=kG<*jYku3ej%nc36Rlb4sr<#NIO zP8tY;baizV7Z)>`Oh~#KL85X1ZO6jG!pFxaDk|#3hYzEpqj`CG4<9~6H&CedATBQM z?Af!=o;{oM052{`z^Nk0&(EKln!0!IUTbUX$&)9Qy>*37>LxOeV9etPC_puWi45`xX}$ zXKro|7S}+U>FMd2n3#xRp})UBBqU_nvSo&bhT-AigM)*h9=$~j?mpT^rKPof z`*wvoQW}5Td+1*h92{I*TYKclku6)cDAduCB}?@5^sZjLieAFbMwH!K;?!+ zut;%oa&mTdM%Tay@jqb*@IkCs2=GGW3ISe-Tp_> + + diff --git a/help/html/inherit_graph_102.md5 b/help/html/inherit_graph_102.md5 new file mode 100644 index 0000000..243ec17 --- /dev/null +++ b/help/html/inherit_graph_102.md5 @@ -0,0 +1 @@ +c85399c2954ed7dad908c01338edebd7 \ No newline at end of file diff --git a/help/html/inherit_graph_102.png b/help/html/inherit_graph_102.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac96ea4aef017c12799678d3878f8c2dfa1f014 GIT binary patch literal 2903 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_103.map b/help/html/inherit_graph_103.map new file mode 100644 index 0000000..a92ebf3 --- /dev/null +++ b/help/html/inherit_graph_103.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_103.md5 b/help/html/inherit_graph_103.md5 new file mode 100644 index 0000000..ba4ff25 --- /dev/null +++ b/help/html/inherit_graph_103.md5 @@ -0,0 +1 @@ +9c9c3df6c7be9eda31a89a597bf7b541 \ No newline at end of file diff --git a/help/html/inherit_graph_103.png b/help/html/inherit_graph_103.png new file mode 100644 index 0000000000000000000000000000000000000000..a44e98abef0f03c895338e64c09b5dbe36889a7b GIT binary patch literal 3633 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_104.map b/help/html/inherit_graph_104.map new file mode 100644 index 0000000..f711e38 --- /dev/null +++ b/help/html/inherit_graph_104.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_104.md5 b/help/html/inherit_graph_104.md5 new file mode 100644 index 0000000..14bcd97 --- /dev/null +++ b/help/html/inherit_graph_104.md5 @@ -0,0 +1 @@ +79df0fce6f01d85746163bde7213e86b \ No newline at end of file diff --git a/help/html/inherit_graph_104.png b/help/html/inherit_graph_104.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad771942aa7195fffaa0ecaec979b7756c29d02 GIT binary patch literal 1894 zcmV-s2buVZP)6xD8(A{;dNm}6azI(mrb6zl%s95CD*W8%n$dK;jQH0R)-=0!;t`0HhEHJv}`-oi1Kd zATdLwQf=F|4Ilot6QC&C+1VL$NsyS*+1ZJrC~+nwcu_}3N38Tf;sAmmvu0pT0D&fe zKodYfY)s&EIuQi<_U#+V8a|)j*4FliAG9Dr!ckaQ*xcM4M*)im+zB8HX9A&6`0(Mw zg^C7=CI8}1;P?Aqym(PvU9Hh*;;rScAQ}_gzI~g`W>cwDkw`Q!FaQ9ksHk}R_H9i~ z4T2zrg@phBhr=P0$>?-?etv#eR~LS7V`F1(Zf@{30AP4{xVX5OPN#3!u%WxV8=I8L zWC(&#C=@oE-O$j0H@<^4kOaZ`@Zm#!eSJ<&&Y?qxGBY#F%gckanQ_4f4isMTt0ULX)Wc<=yUCK8GE?AhaTxhxio zP$&cdxZUnRAaMQqbuO2Sts!3Xc)aZF?7qIf>FMc)h6V<`Osx6fL0 z>(;G(`}UD&2p2@DR0061tE)X84|#SZL2wg{j*bEVK7amSI_~=f3hLAxt z8jVh;Gn>shIXTCU9W$9s0n+!WLI%M>Q8Xnbg~eiFL+pu$pT>u~ckSA>*v0bY%U7&e zL8VghA-*PLvgBdOrAA0JHGy0%fBN+4n>TNYi;Kl#@z0+>0RR-r|Dm$7vZkk}$H&L9 zq19@Q;!^+sE|;savhvE6D-MUl@AvEVdY{inq9GjV>FITKb%TS0uU@^P)9Doz6&w!d z(xppZzI=&76_d&I`Fu8;4I5(H9+Sz8A`}slWEY!xo8Z~AXBRG9uvjd=e*K!6nelqP zSY4Bmkufwhgz4sTx!bpIKXKxO+wHbmt>@35$8RSo41>Xfr=_JWUAnZlw^y&%lWUlh zO`A4pG#Z=D*3{I5qA2$Gn=c#=M=TZ}KYrZdaG)r9^5jXWRGN{I5k)8>;gXF3^EQD* zB3ZR+l~gKSy?V7?uWxT}r_pEtfU{@MK6&yaH8mCcbzn3ar>3U3T&_$etE#GsP8^HH zx^d%1Wo0FuPFJZ^rKP3h8X|;3q3qnbv!$iw+_`hn2{RgvG#ag-pg!tBs$>F3qwfq0ZjmbCV)T_KtNKOAd<#Egh+@NO%t8o-rjgiNHCJn z1dGb))2F>&uR@_9zPF#~B=F-P+~FhfaS*cO9Ig=@NoTgUwszUFWu>L1>({TpcI{f! zC*pq<32cHn85tQ-tJQ67Z4(m{H*elF7!25ad3pJdA3w}ybANw7ilPdI0>7oTwY9Oa z(dl$nRaGezia=1GY2(I?dcEFmx8J#Q$6~SY`FxQ`bno81@87@2F0loNcyg2+Cx&>> zH)O{-ibgOAZns-5mjeJUUc9*Ai7XP}pE@xN*>R4p5j=~TnVIhHZlzMm;czA=C-2_9 zt5&NQIh#c!$qPfdTrQW({eJ)B$B)HgvBTlO8^PJx*|fk4pG(h_eKe=i{E z3qyy)F*-V$9J_SPNGcPUOs2fNyxqHZ7Znx7TT3F5R5d|SQIW^viMNWxBdK-*NOV9G zK%faA&;$?=vM}7ccW>- + + diff --git a/help/html/inherit_graph_105.md5 b/help/html/inherit_graph_105.md5 new file mode 100644 index 0000000..a2d356f --- /dev/null +++ b/help/html/inherit_graph_105.md5 @@ -0,0 +1 @@ +41f8ea59cf5fe9d53dbb9a1009d3ff10 \ No newline at end of file diff --git a/help/html/inherit_graph_105.png b/help/html/inherit_graph_105.png new file mode 100644 index 0000000000000000000000000000000000000000..e2fdefadc745128b119def5a7f8521b5cee0ca13 GIT binary patch literal 2560 zcmV+b3jg(qP)<$r>fsP_5x?n|NYL`C>3biXib~mHKT54`(UNS3lRJzaaj~^b~=62?Ew$<~3 zf#-S7p3nPve0%nsowpnj5f}{DCtviZ6)+g~!pzEW8<<%cZUZwb!)@qg-f;i^ePm^2 z{Ru4$22Xx|zD1kGl~t$H;lhOrJtBy~Fh{S~TlJsCm9>qIoXuc3o4mX{#KpyR*vIy) z47Y)qmEkrpvohQUmoV$6PoKbX9O~=q?K*$bq)9k&;)Ih`^(>v8lR}}u*|TSzsL1tj z39~X7_TY50hKGma)TvX>F2nc-U{}^oVl*0Y+&m^5h;0HC_M8cL-S5{U$(M~}wEix*AC+rNK5 zMvNF?_1K)IrY5Xgw+=Fy4E_7}hf=A;`}gk!^$GR0=jF?nNKa3POeRBWYAU2sDHbhS zWVdF8LV=w-cVgzunUF{%7&U4X3JMCW&Z)Mx7K;}zhOe(Lh71{k^$nF)V?fB5+LVEOXpFdB{gdz4BgIF5rzB!XNn z$KJhr(LO;cG>6X4vD1(lxw*O2L9WGMF-@bhm6cogtZ+<*+;zT-r{5XFc8yibe zQBhQ0UQS=Xex;2YH&SS5D7Ch>+SDhc{nMvUq|s<7G&Gb34jf1;R;-}AckhzXXtY=d zA`!?zU`6`7b-i1xo& zolZvp=);E(e1B_eD@i00DlILwsZU6Ia&j^OAeBl*-@kviOPe)9LP97rGm}4VXlNh+ zq}S^$=Jf8}I|4uz6&3vXFJ8PL0QB+WN4v%g2??RBtSr9&)~#E_aU3-@HSukUiHVe+ zo^Dn1!Gi}WE-udQISBRJgDtamc^e>?%aN0lgH4+@Av`=BDJdy<{`|Ss^YwZ?yuH2Q z>+8$61qB5;T)(2C0stVDO2Kg)IF5sdhX=lW`-aNON}KwGv}a^wAS){iB_$=0$z)i$ zawYEFyJzyz*csZ-*~`ld0AMf}EY8#Ebm-Nq7XktT__nq!g-)lld%VGe2lGFBdU~R7 z-@fqn_BLs2e|~;`KE{t953yJbj^nUy-8$&?`cBQk-Z?r#x9nMCVq$Rp`gJ^f_z*K^ z&O~HnB$}I>|6f34TEgGoA3uKlKy7U;-&S5;?r?3HOa_rig!=k=5Ru6%CMHHupRK+j zLxy1e`t^AB>>2LdxdVwrg82A&1O^6T$BrGStgLicw=ISZ8-|va7F1PL@oieImhW>0 zH8nLzNJzl0UAs_ST@9nr2#rRAmX;Q$)N_O`o3*g85ZktGgI24>@87@C+S&?(!N70a z{rvn;T3X6aIw&XzQ>RYF>eZ`JS67Gf@^Wn5y47UN&fH)PA3hv&=gx&nrNWyxZ_wP_ zj7N_iAvQJ^KY#wTsZU6Id&Z6(i;Rp6R8>{s`0?Y=>2%1=&2>n#5P^Y#h>VQHs#U8{ zU0n^GPKUK?*CHw^3Vwcm4vi^9+q`{zeDL3Y|Dm|J7#fYnDYYD>%VwQ6Z5sOb?~kac zC=3`d02+-3d3kvdi^Twd&6_vl+O=!&^77)p4am*SMN?A~f`WpeR4S2_l++~+XU?2K zaBwi9qN3pI>x(sO)WvC^&EjCvkh2VM9a~A8H3Rk zZ1|7;cPqnvU}j~w4a}?zx54Gj+S&MEchJ)j#J@4}=nP!mtUUoUi+k|bnbnacuuzp@HF=@E(#+KK~OizEs~ z--NaSwlp6;d>Emjp(f{7R8+vj!-IbuD^%Yce}8`z6&3Nvdc7VT$Dy&YQE&}xVQqcP zNl8gTpFVvsZ{9qN961tu_U!4>Bk}IS<+cHFadGhU^n_Nc#g!{pEIzW5l9KTD?OWWw zeH&F(RR|6aMr>>>j7B5QpFfYVurOq2XM>1PTwDwQxO(*}hzP%b|Hh?DmvH*@Y2@VO zbc^1^#6-M){Td}DC4AedQ>QR}`gA^s(%toKt${79t&cfl#*BeRqk&$p$Kk_=q19@k zP$&=)5rJdJj`4pqJx(VgT24nOJ}49iBlbd`yotufMw932-C5t!HE@L1)>af06d*Y{8G(U; zXlQ7_(W6I^mX_A7b?n8ZZm`|Q2M^->`SabTd(NCW@bvV=)vH%=`SNAN$H((oPDko{d3l*+K-3-k5qh?6Hz!eB7q;>C-2 z`}Qq%@812#jS9Hn4VF-R&{iA}u#6=3RP;@)R^!f{JCMuem@r`i-|k5LjEoG_*VjWT zl|rdhTAVMm2Da!ZvT06cW+sjtIf5xurr0s_o`XdM87>8j2r~W(m|6cKDl04bZwSm^ zDwXO_%j+^O^=$y7YXk%Y{MFkxc4cL_4a}?zw}F|J;WjX{GTa8MH&_c7F6>Di3 + + diff --git a/help/html/inherit_graph_106.md5 b/help/html/inherit_graph_106.md5 new file mode 100644 index 0000000..5b9f836 --- /dev/null +++ b/help/html/inherit_graph_106.md5 @@ -0,0 +1 @@ +177591b65edbf3e237f09812b59d483d \ No newline at end of file diff --git a/help/html/inherit_graph_106.png b/help/html/inherit_graph_106.png new file mode 100644 index 0000000000000000000000000000000000000000..8b56c3e8dba0761720786a94bb9ac2f9a7e3cd70 GIT binary patch literal 3859 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_107.map b/help/html/inherit_graph_107.map new file mode 100644 index 0000000..766bcc5 --- /dev/null +++ b/help/html/inherit_graph_107.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_107.md5 b/help/html/inherit_graph_107.md5 new file mode 100644 index 0000000..74f93b8 --- /dev/null +++ b/help/html/inherit_graph_107.md5 @@ -0,0 +1 @@ +523f63fe9734c2631d524a4cdc856cca \ No newline at end of file diff --git a/help/html/inherit_graph_107.png b/help/html/inherit_graph_107.png new file mode 100644 index 0000000000000000000000000000000000000000..a6376f703624d0a9727f2c00596a3dc74d8865d0 GIT binary patch literal 6065 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 OL`hCnwm{m%_rCx_L%7QT literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_11.map b/help/html/inherit_graph_11.map new file mode 100644 index 0000000..9b23744 --- /dev/null +++ b/help/html/inherit_graph_11.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_11.md5 b/help/html/inherit_graph_11.md5 new file mode 100644 index 0000000..ee6b1c3 --- /dev/null +++ b/help/html/inherit_graph_11.md5 @@ -0,0 +1 @@ +c5f59e94adc6fdacb74eaa7a9b29331f \ No newline at end of file diff --git a/help/html/inherit_graph_11.png b/help/html/inherit_graph_11.png new file mode 100644 index 0000000000000000000000000000000000000000..8220ecca6fef93044b6031d497c8be5256a5537b GIT binary patch literal 3907 zcmZWsX*^VK8$KyZjIHcTGHSAAFIi?7J5$*sVK5Mi~&Z6`)qtyX7HR0PfUC0 zMd?sk9sAC1yBK3jsvHlFLvukeD=Vv`tBdb6mIoG27Znv{wwL#4+aSwCK-pJMnnjie zw$^c1F7{V0wRbF{=DM>C&%wfUQ>f)X-dSY1hrR#%)tfq48;`bh=gRVOBrO3360Ga%$3N@-4BTZ7=xaRbsQ<=OfU!L)x;;n3r7ap&xp+N%| z5g}Cl<2BQ~sgy~72wN-mw57wv$X)1^h|?=}?B?3v-&YsqnC-lj*0MF%e&w6z{rhc{ zk$ih+=Lj*=?DKFq4Ss#xIM-*FVjjD9;mqk*@$oYY3$#8yK0T>Oen&?~QbUl6fPjFV zi%X>6$~UxBqL0V#qa$H920J@Dh?|=`GbbmbkaHCN~T%3{S36z?eTIVq6 zXO-XW3{`tCFxJ)8o#$Yb#jjhxS0mbH1lizPoLR1VPR3|Qb2T+L(?oM!ZZ7LbW(!1{0T%$T|Gt@#k<15FMFR2nR{K1K(lu&2xksgboSwFG zb#?tnp}2bE@t2_C!9fizEi@WEzp{e4a^=eKw{JRPVqyx;eFBuVwTtkNgzd$D6S0r; z9{#@4nyI?pHCFS8E4uZrhsTW^!?f(m%Bx)+9p}@H^m==HUDuZRL{L65e}f?&tM2aX z7zGBZoDS0v7ZaPIWM*a#lsa|~KmY2lg+ZMYD4m}Gg{%r%>Jy|#lF$+sh4X@; zh29=!78YkAklpNFiYnn1#x~E)0Lo2Ieu_wQLlRdj1>YaNbf`P$+KxQ~aa{+F6|fbljVM5~I13S_h9~n4Fw^_Tq&u4kwanA~qSY za(VyYzyTES>!7o<^QC!jCCST|?cLpDn7F0RtEdF(9S&6P&rv8*zqXe|goRIBzI-`1 zFAweNDsF*qi{WK}!L;t)y-;XV8&1!9Zu&cxsBL7#R#RJh0vgJ`@ihyRSj~E9)Y9VI zB(A8)?cDbs4Pb~m+A#$*c#4*m+1-n7+0)uupweS3JdJqF>-N1+&}(Wgf&EurZgDZ& z;^LzJ`aerDo|CGiu`%3KL(tc6X=P>de?K?Rzl9d%fGa8Sb|*>;RUQu;TUtJQ{+y+{ zrlxsnN@!+ghH>F=Z|$q8A(9r0#gaxx?T-$2pT)$qv_zgg0c|uKNM09YmF1nHXWP#5kg<_baE9&+aqH4eN10(;IP*=T8!M#33M0&fN%O0D(Cf|om|S46l7C!>@6Ag*ps5K)iI4ZXO*R_s11 zx85hJsi}EQNy)zZ&1J^sXH9_9X(t;!rS4S1^!4>M2a6CjH8s`#BlR$5-91;Zt{Vd* zV@OJh;OByZnU$4jpQXOMf_JH@EKk%wP)!%UMz9J433xE46LzHXa5Wf!i%cem_Yxb5 z=SM=UrP}jMbJ%!!BYS$T7xQIa&| zf3TcW;B9Q^zk=l)dlxUxLl@?h5M zq$E8ptrzEz9|s3bO3TYLKYoNK)KDC10(QlDd3lZX^-udfd}!k0BIZFVe&Uw#dGa(2 zmPyORW#s61aiTsjkxHfh03vI#rJXp@WFUVCpqdS;35VOtp=?Yv8`4<)Iu^W>m3$EO z)Gi4#D=UMPloY;|hTqigo!#%)v+Tw|JPWXmwgvTxwgHju9v=GeI3qm1>ZZ`MatQcHLoGjy5{EQAOB|P@{R4h$jis249TDJm+;$;o}>w)IDA>yQQp)So|pzOy-_35UCS zcw{XP6ei(`ahAvL;DIndM&6%&ze&-Ag4UN|- zNfsbMdUI>*NmZ5NIaU7;4pTsTRn#}p@e?zzov8m!iJGF;z!0X<(%$|RysRyJ)4f0{ zb7loC%(p%kZFc?igzbogE0Z%64W*gL3A_Oc^&t=A)2OE<}aCoi93cO{ri%yU}nBtOXc07m1x`4)Do4D&?FF)e%>R+?Koa@ zd}L8*ZG7A7x3paDA<5OvZDw}%W2Gb*dw|Uoj3Kl^mL(3feQ9bhV)+$kTe-0U#@M77 zLp7K<0kGicSw)@G8O!|xen+o;w`R4G1i1$LoL(@uh5g@T7|V1^SXlUAC$z~f7d?jU z&V974tgJjcVu2OB6~P0eQv*Yk!eU03=67CLTT(F6H>HUuzj)qJrcD$Wgcw;y%-_L{ ZO4Q)9^TC-y#$YOj^tEql6>8Xp{0BHbZN>lq literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_12.map b/help/html/inherit_graph_12.map new file mode 100644 index 0000000..94b1322 --- /dev/null +++ b/help/html/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_12.md5 b/help/html/inherit_graph_12.md5 new file mode 100644 index 0000000..9da610f --- /dev/null +++ b/help/html/inherit_graph_12.md5 @@ -0,0 +1 @@ +76e52ca05ade81dd14bdd5969b0140d5 \ No newline at end of file diff --git a/help/html/inherit_graph_12.png b/help/html/inherit_graph_12.png new file mode 100644 index 0000000000000000000000000000000000000000..2730649ced888b600f77716f2c4624cb5544094e GIT binary patch literal 3791 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_13.map b/help/html/inherit_graph_13.map new file mode 100644 index 0000000..796a4be --- /dev/null +++ b/help/html/inherit_graph_13.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_13.md5 b/help/html/inherit_graph_13.md5 new file mode 100644 index 0000000..be8a89d --- /dev/null +++ b/help/html/inherit_graph_13.md5 @@ -0,0 +1 @@ +e33936de4befb1e77ad589e01884f449 \ No newline at end of file diff --git a/help/html/inherit_graph_13.png b/help/html/inherit_graph_13.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd32d39ef7204ff0f92679ebf65d8095649f8e0 GIT binary patch literal 2902 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_14.map b/help/html/inherit_graph_14.map new file mode 100644 index 0000000..a48754e --- /dev/null +++ b/help/html/inherit_graph_14.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_14.md5 b/help/html/inherit_graph_14.md5 new file mode 100644 index 0000000..320ce2e --- /dev/null +++ b/help/html/inherit_graph_14.md5 @@ -0,0 +1 @@ +d857d4bd2a9900bedf3687fe66a64e74 \ No newline at end of file diff --git a/help/html/inherit_graph_14.png b/help/html/inherit_graph_14.png new file mode 100644 index 0000000000000000000000000000000000000000..6011cda27affed14bc7100867402307bf0fd3c07 GIT binary patch literal 3220 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_15.map b/help/html/inherit_graph_15.map new file mode 100644 index 0000000..5df6528 --- /dev/null +++ b/help/html/inherit_graph_15.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/inherit_graph_15.md5 b/help/html/inherit_graph_15.md5 new file mode 100644 index 0000000..99230ff --- /dev/null +++ b/help/html/inherit_graph_15.md5 @@ -0,0 +1 @@ +b2a4cc089e107d2f6760e73f1f6a2278 \ No newline at end of file diff --git a/help/html/inherit_graph_15.png b/help/html/inherit_graph_15.png new file mode 100644 index 0000000000000000000000000000000000000000..3c07a785850334cf723b21619fd1b3ad76595585 GIT binary patch literal 38883 zcmc$`1yt30*DbthBn0UY*wP3Jf{KJRh=PPlNw<d%`VmG@M zdK0Pe^=5yva)GGiwR{}RK z%fZRau}mMKn8$mW)*ZK_mbvZn?uYiX9pT+USWR4bC~yTHFX*q)z;6Ts8_n_Z7qS{j zaQQoxeD?4AyB}}xBSflLhb+#I*`-r-8=taF9g=r>kiwqS9%l?Z1uL; zbq)xTMVsTVGEsiPsM5vXzu(O`yX~?)`}pNcD)`9jo;}rfTZqk&_wUh@#Sy)xJ;{<1 zz9Nk3>go>=b+wC5mk0RouE0wWu^W|>v(^^Qa#ULI{rd-hf6C7e#~I1VsFFQjzEJ(K zV{g?$O(d8?kf2}pa1o(Jc%&0_b#Fk85ucRYH9!GO`-xTGcz+A8=L0n3neAj zleJP46O-lT<@U&1Svfg|H4$-fr_`Cjpi{nGB!3gGWy}LMbF0*baLQS;A zih@`P66(dP*FESTB1WvNtnQl)6A}~e{Aut#J2^P05r6B8l0i;K$JxqKS6@%h!GV|1 z>~73OfrrJM`@zcZuKL-X=uP$j)xmo)%8b%F0@@;rBv*{rdIL zg*p6jk^(mm&mBDd3*JUy!TtC@U*@k|wDT1aRDQCSd~x&My?dky&AbaUEg|E# z+Ic*3sYerpdFgKdeVvZtDWh5l{Jl56Q4$gon6p1CR4x^66FRU>ykI*BB_$?$Af;tw za2G0V_%)@Zq_nl^-2FpJ{$TMW7(NQ3@|JIHZ)d-G^ClZxfp+02BO{}#ni?BBdkQNR z1x2e4mlK}9dwMJdp3ldRM3rZYJtooa&o|sJiV6z0_V?Y+j%|enNUTG# z5J^2fJxi;r9BgcL+S9Lp1P99rSLS4AYg9RG1=9%pY;RZNP=%Ui8?gZC$z0>mYx(&Fu5^T)Q#=hd<;H+M_ zk5CV1Awn-KvI+Ik#IUdu2^*}ftSTIL=8KHGuV25uy0#V*6LT_|HVknFJ18kBsk*wl zrpDdTkuOe8yV5QvB_-wCHzVOn^VhF+3sf6?@WaEyWngp(2sW%$1oH@}9y;xQVtbB? zikg{~g^Po8-*Vyu@2`P@I05_Is3;XVIXP?Vot=g5xVX5{-@ggbd;0r3IyxFJDwo6^ z1RLOkUwd9nOiXM{*5u{og?#u><+NuaY@hM(QHD_jS?oFX3E8B6nHDlcQ#qiau!|l2DydTFnOOv

      ;>C3u8YLyAhK2@+BI()L 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 TQM}_Z_1nkPv{kcI%>DmAR2ij- literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_16.map b/help/html/inherit_graph_16.map new file mode 100644 index 0000000..1c8face --- /dev/null +++ b/help/html/inherit_graph_16.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_16.md5 b/help/html/inherit_graph_16.md5 new file mode 100644 index 0000000..c33e230 --- /dev/null +++ b/help/html/inherit_graph_16.md5 @@ -0,0 +1 @@ +f40546a11f693e37f7b169cd011a8e5d \ No newline at end of file diff --git a/help/html/inherit_graph_16.png b/help/html/inherit_graph_16.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ce7f18813c1ec0ce30a32912b2ba898c37804a GIT binary patch literal 4476 zcmZ8lbyyT{v|f}BVF_u3B?VDH1xbm;1(6gaM0#mNU}^XvT@owZEu~185=x2^E4?hz z-MVymKm6z3=WfkBvvX$7`ObUZ_ne8;(m+s=vyej|5Gqv_xDME2z*mWs82nyIoGk_$ zVhc3{9P;<_o!e5J0D(Y7RpAP{UYT22-dYLc<2`K(A=N~>@-!hdLs7v*i8r+rgt}nS z4{ozp<#Rd}F(h3t^-ZZl2^tmJm&0_}hqMWMJg{X9N%Og8(9HYo!xdIsx@&l&` z)9f2$WMuKLv8QR~VYsbKH#f~}nM28yFa(^CI2hwlOKe0yynqasga%^}sdS=D{vrQ% zYmpScfB&vTeoqb@3jN|Ww};2WpFDY^YnUR0R^d^!wzh7&*=6?m*5b+v_nkW*)x1-L zv`LtmnOXEAzIaV~?X(;&CfE4FhzsIG_$@?ENZl@X@zHeNUS4K{*|LHSo-Qt5F3wNy zmtfle%znAL>m?)OcT_oJb%6JeM{=V6V>Z*z*H3MgqEfn_O4q{E*wkb`)9Np~o{*Ch zNB!_j>n?ezyfbQhaBqa@-?dA+B8`oWce@x(+k1LQ{N!$YY`c)s$d)Os^mli^|103H ze`-dC<3GBU@R#ujRX$%;&7Qfv}90d)2B~QU0ub-|NFi8jh==^ zo`Hb@wew3hT?|Q1L`Ya7lMPJC2(L7w)@bkFyEl}t9NpX78zFbH%I$++g@Uuup`k?V za(<1`6;4i0sHHvz*H^D{uaaEDt5|#P&-fp*Pfks_EqrS|I5>DWS!455PmdufF)=

      dR$SM1gb~k+a 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 + + diff --git a/help/html/inherit_graph_17.md5 b/help/html/inherit_graph_17.md5 new file mode 100644 index 0000000..e1d5465 --- /dev/null +++ b/help/html/inherit_graph_17.md5 @@ -0,0 +1 @@ +4c6360116598838d5ada3f1bb8007af8 \ No newline at end of file diff --git a/help/html/inherit_graph_17.png b/help/html/inherit_graph_17.png new file mode 100644 index 0000000000000000000000000000000000000000..0b2eb024bef5adf2d42f47b1cbd2126dbe641e09 GIT binary patch literal 4447 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 A`2YX_ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_18.map b/help/html/inherit_graph_18.map new file mode 100644 index 0000000..6b89a9f --- /dev/null +++ b/help/html/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_18.md5 b/help/html/inherit_graph_18.md5 new file mode 100644 index 0000000..9639893 --- /dev/null +++ b/help/html/inherit_graph_18.md5 @@ -0,0 +1 @@ +fc9d73cb7138f80629248e615f4efc3d \ No newline at end of file diff --git a/help/html/inherit_graph_18.png b/help/html/inherit_graph_18.png new file mode 100644 index 0000000000000000000000000000000000000000..7b9c8fc84a6049c76df5fc3777a882f6a936a9f2 GIT binary patch literal 2147 zcmV-p2%PtcP)5bYw$coD@d^CC#yqBXSKy1-!@Wxmuj zY~@WaZuY9KZgOQWN_AzcWtq-Us|#zjY^yF>SmeyMHi=LH69o$sbxq;&M;6Ok@!GVB+f&&31irjhk?p;Ge zL%5_M!cJvn<(4g5T-`tJ97dzDv$J#2B_Se$&dyGw(MTSN@|@Js(Xm*15D^51VQwSn z%z=P{f&&2s1qT93FoQ!Z7T>;on|h8&Bx-4C3F4-q!)!KV7-qFvgKO3oFD-%$UqE+` z#bBWU5h0-92#Czg%)58*{&kvKtv-10;G%68EKqPDp!gFUB9Z9q*|Rx0IZP&V{rdGU zUcB&}Gd@1Pckf;ni?wFWn*ICt|M>C4_0qt=fah9~NK{!_DUnDR3`Sa7T2D_;eSJNL z!-!0tN=mA&t##EKz$C%O>+0%KQc^tIqoboTnT*L~rlqAl zeE86%*>1O2R8%A;CdS9d%Ve_Q;b8zkQBl#yj~~m*$}kKQi^UZ3V2_mr$?)6`=468`J4@nVFdY0E@+fKB7I2<^RXJlkFH8r{U$5S5JGvxL{Ww>nzb23Z@H2?sWO7+JGx#N3q)YsP&Z6aDt zCKLIxzkT}#02mw`B<6hn{22i7{rh){wL+n=p`n2ofA#7WhGBNQo#^h{x9`lEGoCW8 zU%y^hSV%1iHtrRjP6q%O8yh3KFJHbS-WB3U<&lvQV%*_yFqzE${(c-19G>!E!LcA2 zZrf2f876}o&*1R$%)w%@h(=6I3;j<#M_6^YaFSf#?z+1umBxpxLpp zvEt(5bLY;Dj*dE=PNh;gKR+L+RuUWzXL@>ie0-ef>h*e}k(iiBqtUEZEBRBEmzM_s zpwa$!V6f!DWVmeyb8-;96q4XbPEO9s$~t`b@aX8M(P%t&?3h$4O-M)x(CqB&tkda? zi;G*ne7Rb!Rw|W#oAP=R6bJ-cw{AUhvAP~r8veMF0*LZVtb82d;R4Qe$SVxZ@ zRVWlIR;&O3oH}*t*|TRcF)?DXIEeCKGRWHjh?9dT1H(z*bK2Y6iNlNE<`7F448v3^ zRY5_4YXtoWhJb>C0|5mE2Lj5H4~|Hy69{95J?MldIF@J%J48gRH@p-WF9K?{IxPD} zCK2n6CI47KgpTk(R(wp>i$tR8>S~EZ!elbj)6?I+ed}o!mH`IU3;=g*r=rozI) z+}vD?#p3%GUe^{B6iiM|_Vx8?G#aDPSW;5*S3Awk&2@EkX0y4pw6vt8gm}LT3k##8 zqjfr6S63IgQtQc+CpeDJ&CNY}^yuEbdu?rPu9xoIxpU#d1)I%QR8&N^Us_uF_3PKy zuU{JshSbzlxm@maI<;Eui4!MUT3RM1Cazq$LbelH$jKxhQ}%&FPFwq!tQQJ}RaI3k z3mZ0UxOwv??n4F~ww5C0&1SQ^ySs^TBG38r=T96`06>vpC*xLNK-@^&yaB5X(ChVd zI-MvI2pu3;Df{5!OR^pSker-MZZ9Yk?YWk^t^kH-0RTmYog#J4?+EmIJ%_^yWGzKqK}<}HD=1y5a~QA;J9X;Z z^S_6HvNj+uFYo#D=kMRY&&kQj%F3FVneqMF{bnfzM`L5-n>TN!rlzi5y=pR<A``MnlaS8(alC9BoSX0v57nJ+1CuNij#Qs-W4 z1G2NTDLJa|QAeSLkwGKKIF^jJYaLBWB5f`S791qBBJikAcF zo;`aOUk4%r`Qy&P<#O}$^TQ + + diff --git a/help/html/inherit_graph_19.md5 b/help/html/inherit_graph_19.md5 new file mode 100644 index 0000000..fc72b08 --- /dev/null +++ b/help/html/inherit_graph_19.md5 @@ -0,0 +1 @@ +c10be4267c39df775bb9350ec79e336a \ No newline at end of file diff --git a/help/html/inherit_graph_19.png b/help/html/inherit_graph_19.png new file mode 100644 index 0000000000000000000000000000000000000000..24949cd3f3559a537b78a73ecb08595922e98e28 GIT binary patch literal 2281 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 DpGH#Z literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_2.map b/help/html/inherit_graph_2.map new file mode 100644 index 0000000..5a6be6b --- /dev/null +++ b/help/html/inherit_graph_2.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/inherit_graph_2.md5 b/help/html/inherit_graph_2.md5 new file mode 100644 index 0000000..8c73d1f --- /dev/null +++ b/help/html/inherit_graph_2.md5 @@ -0,0 +1 @@ +91bb947a3913130651535ba58486be81 \ No newline at end of file diff --git a/help/html/inherit_graph_2.png b/help/html/inherit_graph_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ab345d61d95f6832c75b9bb8cad74aa0bbd508ce GIT binary patch literal 61900 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 CrIWD$ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_20.map b/help/html/inherit_graph_20.map new file mode 100644 index 0000000..56f69a1 --- /dev/null +++ b/help/html/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_20.md5 b/help/html/inherit_graph_20.md5 new file mode 100644 index 0000000..8c2648c --- /dev/null +++ b/help/html/inherit_graph_20.md5 @@ -0,0 +1 @@ +a0c495476e93670a229b46432fe4b82c \ No newline at end of file diff --git a/help/html/inherit_graph_20.png b/help/html/inherit_graph_20.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb3cf29aedbe668c7ac95c80c2addf89b672998 GIT binary patch literal 2048 zcmYjS2{7AR7ym0ty-2G(YgC#NeRf()P}{SVc&TYa`;bCX)_0)JLP zx8YqMi*lYCx1yn73Q=W{Fm<7|&+KQ3VxJQ_&~bQD_dr^yGS(BK{^;*9r+0`{IHEEQ zSr^Y(6mzbgE5Cy}5xSD3wbQV6L9QGdiGfST)0yCG-dn zjE^x>h44yc6r6CX^S#O6{`JcB{NIgo?GwKDkhGZCAF~~b>bm~clzaC~AsQMQB{4$| zjOP%ueG<=Lyw(JH1q7UEaR0BrlnODHmo0NTt}lIH2GcW*vQUS-l<`m|HeNJRpZN1z zlvP0&-LfTVd*roXVPT>6QhTiJ#H$;h*S~%xiN8T(%Y&lGaWL{-D`T2)0wWU=LK_vHHXK0Zhtow(d^3;J2+ zY@`*w_WLmB^0hALy^^XbgQG_SyYkIFN~3W&0EpaJ=oJ*(t0*bqRFS#7?e{6$ReUsM z^Lh=uEr_p?ocy2a%`0nZ&WJP`Eh0R;Fh9StqGD<-7W55I{qW(#k00@Mf}&Hml;pTQ zJv~!XxcK;2PEWp&o;f2FkB@&Itd1ZM7;=%;g_@e0 z?(Xgx85un;tLGgOQpUwU&dakR z?T9lqZ9*v8_9cm zF$z|`Gu+hF1l(?JwyP858V3NtWD9AN2u90fGLMc*u(^lWRCt)5=zc!2idY%&-<02B+_O(1PGzv}yl z#ao<~mdRUE_Urp(kZqFoj%6DJdyI55;=2Qpqk*8#A*9bo#CBA2;Y- z^U*H}SFaXgKH=-nrc$Z&{CssyO&yjpm29A`t!<*3UR!Ir)VTEajwHzO8Ir_P^bt== zJBW*Z)lwZ(H$491%J^%vhewzNT}UuAH08fdQk~ z62z@3GD5Sw5v-n&&xZhT3yXm; zi=5to+i&*D34W-0$#X2NF21R#D-;_OFec~Q+15%4kZu}md3vvfhsiPRLcfG(_pBN*Bp&o4|(k|c~5sji3T^m zi9z~oZEb-Fzu0)qKkF@AF=<{ldm{#JR%B0_7#N_;d>^b1$aVX*>AMvU_A$@142K5b zCTfL+g&^kqjAGO_45X(UqwgvxDk{!?&N9&v^Bw&KlAasr(mr0Uad~Me*eYgcXAf%G z#U8Yo)NZ~=@nMZOgwtPdk2XelB8fPh0~0&(I;NV!V{MC0YgblPZ79DD;hZV5WeN!rz=;zltP9ySHHXS>V$_bh4AGBeIoktpQ`2l; zs0mdQ_wCJ#7eiN0X3}UHkp0LUcVt*%orzj2V!2BJKKmGQn94n@qN4KNJE`sy_HTR? zfl!Gl?f`4+A8vHYD(~J$J@*y8j#)+O>Vmk+n0et*y1rmCx%^Uw%jJ4|du!Pz zZIC(>K=0fZd?tgz&_B-(8>)FyTe~*L%U#hbLEQ-!obqB~A^VS=IyEjbi4T^NSz0Uu z1X&c#!)dc?Gwo<=?&@UAB|N^!E>Yc2jVjS|gQDa}hNprB;#{Z#1$XsH&LML*63Kp^ z?E4JbU^MCM>Ix16R&(=&z~?0FK=0UnujASaHdzD1!|sD#c56gNA}Y8ClgfsrdI66m zC8YmRZaZb;%XAyBT2didTptaxetCHr=k6$#ySyAmBmK#}l7M#>7vK5!c-tG6yAnlr W<0hru{1(8G4!FBuoY_ve + + diff --git a/help/html/inherit_graph_21.md5 b/help/html/inherit_graph_21.md5 new file mode 100644 index 0000000..d14bd48 --- /dev/null +++ b/help/html/inherit_graph_21.md5 @@ -0,0 +1 @@ +e53a4f6c3a542f99c6e8aad07d428162 \ No newline at end of file diff --git a/help/html/inherit_graph_21.png b/help/html/inherit_graph_21.png new file mode 100644 index 0000000000000000000000000000000000000000..8618f5a2e9b4d34ff67244a6cb61695a0067d971 GIT binary patch literal 2715 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 PZL*meTcMw$+>-tSBs?l7 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_22.map b/help/html/inherit_graph_22.map new file mode 100644 index 0000000..9e2738b --- /dev/null +++ b/help/html/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_22.md5 b/help/html/inherit_graph_22.md5 new file mode 100644 index 0000000..b3e1dad --- /dev/null +++ b/help/html/inherit_graph_22.md5 @@ -0,0 +1 @@ +d41f2a1dc3171c7e64cc633c2a6460f2 \ No newline at end of file diff --git a/help/html/inherit_graph_22.png b/help/html/inherit_graph_22.png new file mode 100644 index 0000000000000000000000000000000000000000..24e13643464bdc25f4065307b726067519ac240a GIT binary patch literal 3044 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 IobyWhA8qB!h5!Hn literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_23.map b/help/html/inherit_graph_23.map new file mode 100644 index 0000000..de0e31e --- /dev/null +++ b/help/html/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_23.md5 b/help/html/inherit_graph_23.md5 new file mode 100644 index 0000000..c7e4e61 --- /dev/null +++ b/help/html/inherit_graph_23.md5 @@ -0,0 +1 @@ +50fe0b04554ac709dc0d9f07c87b73cd \ No newline at end of file diff --git a/help/html/inherit_graph_23.png b/help/html/inherit_graph_23.png new file mode 100644 index 0000000000000000000000000000000000000000..5e544188bfa53c1ff25e28e798c7fd09400a2b3e GIT binary patch literal 3075 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_24.map b/help/html/inherit_graph_24.map new file mode 100644 index 0000000..1087c97 --- /dev/null +++ b/help/html/inherit_graph_24.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_24.md5 b/help/html/inherit_graph_24.md5 new file mode 100644 index 0000000..30e8f0a --- /dev/null +++ b/help/html/inherit_graph_24.md5 @@ -0,0 +1 @@ +90f52300987e2766bda7af2a8405a970 \ No newline at end of file diff --git a/help/html/inherit_graph_24.png b/help/html/inherit_graph_24.png new file mode 100644 index 0000000000000000000000000000000000000000..318ec6aaf751138d7a2709063afa4201b7050efc GIT binary patch literal 3235 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 Fe*x@YR)PQk literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_25.map b/help/html/inherit_graph_25.map new file mode 100644 index 0000000..8edccee --- /dev/null +++ b/help/html/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_25.md5 b/help/html/inherit_graph_25.md5 new file mode 100644 index 0000000..f55daad --- /dev/null +++ b/help/html/inherit_graph_25.md5 @@ -0,0 +1 @@ +837a05e2ebb7600f034aa7df1717f418 \ No newline at end of file diff --git a/help/html/inherit_graph_25.png b/help/html/inherit_graph_25.png new file mode 100644 index 0000000000000000000000000000000000000000..aa65796bff91e0bec58ea475856267e2a40d8cd9 GIT binary patch literal 3510 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 G#Qq!XJI;py literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_26.map b/help/html/inherit_graph_26.map new file mode 100644 index 0000000..53ffd54 --- /dev/null +++ b/help/html/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_26.md5 b/help/html/inherit_graph_26.md5 new file mode 100644 index 0000000..c629bd6 --- /dev/null +++ b/help/html/inherit_graph_26.md5 @@ -0,0 +1 @@ +d151e4df36887ad6bdf015d851466bcb \ No newline at end of file diff --git a/help/html/inherit_graph_26.png b/help/html/inherit_graph_26.png new file mode 100644 index 0000000000000000000000000000000000000000..3aed33dfbb4996d8f810ec5aa75dc0398a303141 GIT binary patch literal 3623 zcmZXXc{o&UAIC=|`_7oiR@N*-)+b9b(U37DGi2Xmj4YunlYQ*TzLTBMkS#PJJQ8Ey zN5+=vv4*5l@9|vM`^S5|*Ieh^*PJ=moclh%&-eSie{o2J0V~r*CJ+e33cn3A14b%v z=rPa(=f|(aJb{7U(Z~P>`g8Uv?y5`!?p%b!Zkh+>Zx;k3&DRA6h|CgPLt>W2;j(Iy zO+yjT^Sm;NPPB3(_EP8%auc~`Ov6U$Bg%JfUWVpedyp+fOV#~m;txs1>(gFUupE~f z@}0X?FUs(@`Ia_OM{tDHRoFBn|MFXyYxZ0yDfr|qNrRN%6nmi6fX6ei(Dy#@$-&Y9 zqmnEf!XgKZ4E3jJ|g; z=lPYS`1qa@y;!;#c4lV1$B)}-d5v|*WHLt_Y;$+Fs8O+w%pS-b_@i?!=TLqFp`#9I zwTC~6<$yrqE*m7Hrz!{pP61WS!$c99*%vtuEdTy3!RUERbTow=`019lwcr&lMxiI0 zqWPMS$1$f%OSYYRJhp(;tFAwpff*nWY>tkOB76x1_c5`2 ztzf?B=;*!UGu(0qr)gJ~sTuU=CgTon7 zIO=$L`m<*@3JMA)$Hs0F2n67pNSjX19sTg|@WX!^h~s;EP#0I%=arR`UBA8#9nRR{ z#-?gf4|W#Y%`Gh-lsyUw$sZ}wF)1l2F*h}Jn99yWl;NjxxIdc21B_R=0i2MEc z3zaHbZU#?HO{IJKe;7?0>jv`t|6jyuMz(zDs&IB=m!`QttIY`2r2UnEru* z^Lgrbq2M5#h^D*Yw)+=(dvTJYISy(tggwvOPe0-Q6o5vX zJ!j~SB+~|~s;ck{wkVW=7@!w@{kBH1T}W!c&f)`$0|Vhun6$KX#OHUdWG=(<=OCns z2|Fs_%cQjY8Sga3BO?fGhefS;985P$-bPGp2=0MJgup!*MRW1^Z(DPE%zUyUCMG5| zb#+t!^dg&{X}c&v*4NjmM^0W_Co9V@vyIF;P9=`^_bJ*P9UZiw{{H^NFV#~XAF~x{ zfl64#WOnuqhTQBe1o#%J5j$z-jZC~ z$LqYWTU#${Y6|-J_yka|iHN+bswR#?c^Zk@cb;VP&df^J~f8`k|n2THwt1^wB7ccI$; zLz=R>I=@k-Y`14aR}4`9swof5T;uuu{rzk;??SzPK>>kCL}er(PS=tAxc+{99x!;} z5sQ(UgRZXb-rd}myft{VOxeRZ>_I%$ID+9wjKn$~aprMpl4~B)7#I?!ty>=I1CTqrYn{zA}M*H)}qdL zHmCwA#lsJQ+`N680kDGc@$ti!tc(l?N>4OCB_%c`gBd!_F|6U06dX9)T zj<+PdjO-gy-I>4AH8Do@ud1uNrLRxV#Kcr_pUvr_PtfzFHXmBR*ch0YB3fJ3RK4ck zpEl)@8vET$=UcsnBO)S}DU|T+Z2o*5oY2$9o>|fY=|rLqqTsK-qv|nt5w19>y1Kh5 zv0X9h;~=tk+xl$?5G%ba6t9#4$P;=)P< z;XP1%YK~iB$xxQU#L+)9)aCBT!zq*<=h&L8C#v4MBzUJi7Ez>a?BwJ$IXZe{p~Y); zKG!!XyYc49$%(14F)PZgr`qTA$0OU*ihd3yNj+8|tjw*g?@%Zd|4*UEV-?1En*a#P zjgAl{DD(yvi}k1UoUg|m?~nmF-ON!{NeK!mA?`=xgzE_-`> z*VNXQmXwHoAdw^iW9jPZig2{|5N7T!u~6{?bjl6#z+zSBRV{~d4a>#Y+1a%gCbt12 z(Gy57FTlWw)rwIggGjw6PyV7Q1^~J!B&4d5sWJW1Qty5XMpR6!0AXNOoen@fJpH-J z$1*+^`7>7|YId82(p1d|H}mvLQp!mLgi>C)N{JP&h`hi)k7?zO=&kdpaQF0#tgWpr zl=F-jw3-Gg`*3SkvGZv9K0YxKW?{h>_H$d!*0=(LY}r(c9@T(&NJ&ZEFg4|rx9w!8 zHjhWyh4NOK6!9IpySlnc$jHd-k#znn|J)@GEH4)?HPwE5?K9_5ohRF3MJM@cdYWNT zDS|(2#$7qBabYfAFHIQ=T0AEa^hr{7) zgoS;|UPlKIIzd~6fxWFJ(%F(fj}+)(FtSevEvGZ(ZQ|#e+%9Wt3oR`zNy*FWySRwI zcT@yTs7l}E;o&JJ5`}^Ecs8`IuPSNu!#K%7L7*@pfjLvbF1geo<*QIoPEJl$LxTaZ z5h@H?VXR-|69C(3N;s)-zcG0kZqiVPS#0BMZ*LC*_6Me>rr{05-?<%_mR52yyX!qC zXg=N9c?T(xQRe04wRlOsmk3aM9qzoy_{yohJ4(NUG2}PAfM(IeFs&D*rIq(baOVOf3dC3x0_EDTV{Epn znwq#785tK}Acb+i2ur$s-yV7ch3g(3W(7>SC*nNw-cs-`wQDoa0f&B$xa{KM@;8ZO z5E!Ti`17l<(^tRxzrVjd;NQ0m4Oa>q z4dL)`Ad;-CtN<9i4w*RKegi%HzUR>S=l9RE!h3ksq;41pJ*MmH>l<}fo+aXR(hbFX zdU`mxxg$+gU(AB;y5xH8(d~$T7Lp2A4K8 zq;PR_GlJGPHmt~nJ_!$ex}ma8Nga`-(6PBWMj(>__=-IJI?{TVc3A5y64E41#I&?7 zb$563^Ygz0sCnhJpz4t3#t=hR_ci+{7cjZ7kf7nW!9RtP$vDd>98M>zs)8?CX(sHP z_ObrmyWDJ-{)%!MNWLk{=R|(Ze%*_GAqT^1=vHjOQo<eSEj5=}TK zlfeYY33}qq(_e7DW3icbWCdjTHbkSQrbZ;gP&8|Z6AX?8-m$bm5rrR^ESq`)t@B8} zMjCG5YA@B^?W`U7Zy5e>>m%3{7`S~xkEM?kO$X(Oa^vYVLzyq|F%58Nxx1G xl9qxT(#wF(sokFVf2|X!CdgBfKk>mT&c2lRBF({Q0qFcd@LLF2y{>)4e*m+I-1`6k literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_27.map b/help/html/inherit_graph_27.map new file mode 100644 index 0000000..6017130 --- /dev/null +++ b/help/html/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_27.md5 b/help/html/inherit_graph_27.md5 new file mode 100644 index 0000000..b6a5e64 --- /dev/null +++ b/help/html/inherit_graph_27.md5 @@ -0,0 +1 @@ +e5c4a6d0b3954be842af16c83ad7d1c6 \ No newline at end of file diff --git a/help/html/inherit_graph_27.png b/help/html/inherit_graph_27.png new file mode 100644 index 0000000000000000000000000000000000000000..98288011318c976c95084a52941990d70129195a GIT binary patch literal 3715 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 + + diff --git a/help/html/inherit_graph_28.md5 b/help/html/inherit_graph_28.md5 new file mode 100644 index 0000000..8daa6e2 --- /dev/null +++ b/help/html/inherit_graph_28.md5 @@ -0,0 +1 @@ +108b11e176c84d515b6ae0fd5bc4e048 \ No newline at end of file diff --git a/help/html/inherit_graph_28.png b/help/html/inherit_graph_28.png new file mode 100644 index 0000000000000000000000000000000000000000..dbfded8da2da92b7fc2e5de70c0cc0f9f077fb6c GIT binary patch literal 3350 zcmYjUcQ{;IyB`vwiyAdSqW5k>h%pSJ6D?7qW%S+$N%RtlAbJZTjvoDJQAZn&h~!`p zMjLIEVHoZ1eD}G}{hs~oz5dyIt#_^W*LI?j0gRT4g9-!!(duYJO@I*x+;SA;z|$eo z`zbJxJ3N6wLDzq-;;xEx5Qt_>2dZuslD}IJrI!)Ngv>B%;wTs8f;d~tV&Y5a zwcnqfnOSSNYttPH^R>XzkUKhnL-u)OWMt4S4dJ%r{e~|F$Lvpq|1-BUBuPqdA6RXt)uhWq;epdUNxZ<_AU(F zQ&DkiQssySqM^aS${LrS&xJoe2JiSU_mRE3#0ETMW?|tK7N+!T=Q`S$L{^$s)cbE3 zd@&QbNk;Z!=C7yq^Sfwi@@Nvq#G59S%>L`+>Q+|lUcnkvgFHXFBhG^chK9l}JQ^(R zrPzwiM5Lpx5L^!fhItozd)2F-wbD&ZO;OO%#r4`hhQV%ucw}XnDh!LXY;Es8V5DSZ zV$vLZ5HKrNmSZ@*HkJjHw_dMs&_^xF0|v7zaFEouNlAVm5y>Q^k_nAr4~g z_hJvFoOuP^+}%e|F1Ah9;+mS8Q$XEtI6Pr=bW})AE@LN1nSp`-!2_efK>60|5ByKy zvtOM9u;2N&c6Q2ESDma|JaRU#fKMxD+=$1&>_*(0O@Nw&nW@6CUV1H-@lKa_wF(F@DSTw>RGCiKAT$#-QZ42Ok5`VU*%_HKn+#T9s~vlo4UJ; z4kD3Epsn3qe!fq5e1NXLK7aZM^u~=FO_7&jNy*9g^H5q)DD@qQvPa=3ZK$4#?EIs> z3oGr$_n(QxFcTr>fUAp8B7WLXSWGNMjFmdLQyB$`aBH@vqNlGYiX%7Uxw? znN*HLe9%e38xsZSjqYw$(#JM7Hqh1V&XyJh(#LlsZC6jOG4IqUKsMb7E3+u;nvWtP zB5fyeapWJgAIK>w4SR;4%)WG;{;Ypj9yiyV3?LSY71I9a(QtwSDyOy>(}o`oapAgmU?Py>E5Xlg;xE*0BnBNJd3Zbm8f&L%~>i7Z28Yi zNaVnP4^GmylLC~Gknjr1_ZrIA+vGa!gBhZ2YHbbQvCz|V)U5uTWf#fL&CQ*VoUEa% zJKBb4XJJ|M6SLck$cgXBp|q<{N=X?Q9;SGxtlaKdQ&aOiPjYi_Ps`k#wZ&_JDtVB! zV#rI`pzTwL5g)6@N)vN?L_^UY1TcDc#(t}qtp>b~xiCpSRa<*BA? z+t~x~uk*XZBO|W?8a#PIt$Mb~6t9{upNwS!Jzz|P7oRthyE2&E5VUJ; zDaM+Oa$#m>=8>0YX?!_(GLqfj-w$w+f{LmygHB5o15GI*+x-mef@2Hef{TA6S;$UtT>Z&Yp`hgVb!O(IqTsyKb6Db z`<87!ynK9oMy95i#)BVj@{17!8z*OH^-8l(U%pTnsvN{j4*A18J;ljy-C|&3x)I&` zYG=nI{v zl#nO~?Et{$c9LQLC}ERC%c)?$Hk!%C!QoeBrI)|xr#Qar#LMgV-1J^E&(!sc%7Wgu zvE@qG$*=qDG*SO0<;>=t*Zvm^q4=o!cVTZ>Bpr1zIJNxK?5~5$3_)@(p+~7B!@ol2 z_;4*}gt8?k_zpc?=(w0O)yMn*=;jD+BO=yv=i zVab2DBWRbe*;*ffdfBgSEFL=zg=VCsse{@qAP~}DcCN0%;#OZ{0Nisc`Md&-`%8Cs z;kG}1`E2`F-O(07E-pJeUmk5>YRcq^Zc76I2?&~qxHup=s|v065c?#6z{h(Eq$ie{ z2*13r>_&h|coLxyx8~f%$aBwIim68$=a92{>l!m7qsM^F0f>W+Wl2_?oCLKJy^yBe zG5PuqhgK#gkg%>oW-7A5!NIgCIG(NOeWdrse9q_30wQ8!W&8U+NpIhlw=RYy&&|!< zJi<^GbtIiyHaL)BkHd&ZlWJJv@wVC1r?fs;~ozOcEazUlNH# z`1*KG!1_45*F2yJ!uWT0FA zAuKEmJtSDRG=FyThwI#6znH?Pt586CfgV);^;gnZsii|5PK+h#!qnnoDj?C|f0wk{P2GRzgZ+JeeC$DF=}kA|LXGmfUp#WLEejkMn(1X zH+ErMvpA~)eXA2t6fB@hF%6sZv;4dissGTG4>N>@0S10{st0 z6NFU7ZJVuW^H6bs)nv6C)RTWMFJB%`yMGEuN7{!EZw8a^VAfH2py#{rQl)tmDJdzJ zN_*@4$tk{rQ^P}Vf}^jmZ=bkbhZ)b2Rf@b&%FyMPk(Di(g4a8bu`c$7>@*;y+<%I3 zsUq0I3459@E&>D%FR>tSHzJ`KAKEva9|G}Eg(dqjr;pss)Lr}jzi{NiXf*r8_ih_t1Xu}!0 zD_k-4o*G@%OcJ+pP;pfiH5QANz))ieLEQ@n2grMlAt7w>blecYFj_q4*ZrKOyh426 zJ`y0FpSz-R<(b*pN5qFxY89S|v5t<9m!0E!iU85sY~LuvTzzJmiXzAsMVzn`LPJ8b zI|SPUw^=i@vP^*lLw57#d-JODx}K}t`Co9k??AkQ6Y*HODpV^0hF^+!YGT4jMo#`6 z*xF`4y;^`}@$xjzi^kiLgC6h^O3VPY;5cl;6*~x(rHxG)ZFH}1-Q`I zLtnshMIy9to_E{5ql zZWnRR(H(B$+=R75LTp zlsRa2{QuJUf7`=5YI9MG+I($p8uETx#AHba;s{7uE0q<6hm}0!(Y$m3&VZ0#SnnXk t7D*D`m(;s&VR<0K7D*-g{~7<9l;PNw((;4F2JoW;($O@4) + + diff --git a/help/html/inherit_graph_29.md5 b/help/html/inherit_graph_29.md5 new file mode 100644 index 0000000..98d5332 --- /dev/null +++ b/help/html/inherit_graph_29.md5 @@ -0,0 +1 @@ +e39307dad0243ac9e8ff30b0ddfac934 \ No newline at end of file diff --git a/help/html/inherit_graph_29.png b/help/html/inherit_graph_29.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa5670483840e406dea38d04c0f56b0cfde948f GIT binary patch literal 3040 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 + + diff --git a/help/html/inherit_graph_3.md5 b/help/html/inherit_graph_3.md5 new file mode 100644 index 0000000..16e3b2f --- /dev/null +++ b/help/html/inherit_graph_3.md5 @@ -0,0 +1 @@ +57f9b40ef3643b848624396e07753926 \ No newline at end of file diff --git a/help/html/inherit_graph_3.png b/help/html/inherit_graph_3.png new file mode 100644 index 0000000000000000000000000000000000000000..61af22ff806cc0e62d27fef6d3f4340f33a50197 GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_30.map b/help/html/inherit_graph_30.map new file mode 100644 index 0000000..186c86c --- /dev/null +++ b/help/html/inherit_graph_30.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_30.md5 b/help/html/inherit_graph_30.md5 new file mode 100644 index 0000000..254e147 --- /dev/null +++ b/help/html/inherit_graph_30.md5 @@ -0,0 +1 @@ +868dde8e5637b094cd00da514221f008 \ No newline at end of file diff --git a/help/html/inherit_graph_30.png b/help/html/inherit_graph_30.png new file mode 100644 index 0000000000000000000000000000000000000000..dffcd13df06a35112260d2d7328ddba1ac8d6cfa GIT binary patch literal 1878 zcmV-c2dVgpP)8`Aip64SYinC5 zDHu9XSy^c?7(&(m>>mz?)7O+1OLZMLHy?b}oZdR*x|Ni~4 zPy6}v=ZcC7E|(j>vUvjggN{s0Oe|i!c%fAQ5T8F}GTDU-7iwy1I2_K(l`CJqd>P)y zF@|%4AYn3@X0${^DwPTZg08Nv$;ruQh}^U0Yi_GBPqeJiK}H=Gxj?>akL(R45dF{P^+DpFd4aO>8#%z<~ol zfBx+6?=LJYG@H$20e-)~r>93Ekvw?tVAg3PwqLq*Nh}tlvE;H!rP{uIyW8!y*=!1h z0st^JHbxLceSN)Jt+w0k6B851j~`#Vc5NUKAP7P(m*2T_XGVO&<&h&pE=QBm+}wQV z&>?cb3kwV1zkl!d`>A6adkiC@)oQg`Ex9F5f3&u?qB1hC)9EC?^MQc@0KnkjAnNn= z>sJ84=;$cLSgBOn*4BpF-@JJPA@q8^sJds*p3|pKhs(Hj?b^!;zJhB@_x#6>Xa+$`oUlE?tTWxw*Od`T0yHGgJ-r>Fn%W zw{9Ja#exv(^?Ik%IjbaUsbri^CzHtx^%sl9s4zG<2mmN9E`|_72p26{^!xYkp`oGh z87Sl>h(I7f1?t$w62m!>l=CT{&-eTN!^6Xr% zjefsBQLQ9ON=hatCp{hys@m;#R46SiWiS}y6vNs4VW zlH!lDva+hGs^;cqm&@gFIF21VrdF$qii#4P*5~sDgF!Bro0F4cwOWlvW870kJQ#|_ z;td-%9654iY;4SKx1Tw426Ye!1Y5Rj(dl&k{ryu@Q{CO&_4W0C|NaF46crWq_Vywl z#33)*F`0rS#WotrdcHN8Oe_{_&6+iGxxBczxTB*Z@i~P;;gu^_8X6in9FD)TvX?pFhvb%Tp?q zDUcTuIq$KJ1|&%L*Ue@#I#MNXJq(>e`F-*Q5B&QWh6?Nt3>DZP7%H$o;)gz2_~en9 z{+Me%JwE7@g-;$4?k8seR;x7ytI#J4pFA>i|40q=$-*a(%=8EO`=!0TT_h4QnM{>R z)zj018YxobvtC_5M9jj+I5wRi=M-Yh-_oB@jj$xr$XI%k;r;*s)Ya9!c=6)HhYvM1HC0trQ&UqZPLZcI8Sal)uU?%!d)8*N zO;1k;0s)kQPjQMot;ukIR99CQ6cnh{>Lp8-7>!1=+00_GKx$Lu=?(d?nlaBWa=HB8 zy?YC-BK`O$o?l!p*TBF)Sy|aa3&{l1*dIefLof`9M6zPVimh9>Zrr#rd8_Djx_OzL z{-kmKMJN;!$-nBBnpJ2^8t)&N6oCDKp#u8@Lk0E+hKdO1)9^pB!~7#ytyc6$1R?&j zfAINytyY^_Nf;WTR4OYgE6FYJUw(MQ%nCk#V5q?Uz)*qxfuREX14G6C0L~bj=d}0X QkpKVy07*qoM6N<$f^z4e{Qv*} literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_31.map b/help/html/inherit_graph_31.map new file mode 100644 index 0000000..9a5113d --- /dev/null +++ b/help/html/inherit_graph_31.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_31.md5 b/help/html/inherit_graph_31.md5 new file mode 100644 index 0000000..95e847f --- /dev/null +++ b/help/html/inherit_graph_31.md5 @@ -0,0 +1 @@ +2715fcb1a1bceed7fc0f00564e642c47 \ No newline at end of file diff --git a/help/html/inherit_graph_31.png b/help/html/inherit_graph_31.png new file mode 100644 index 0000000000000000000000000000000000000000..61ad7163521a7813ce6f00a2d080d25ec82ca1e3 GIT binary patch literal 4018 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 aE3!JWWtw6>K02TYC(+k7Mtsn8ME?)`ET`xI literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_32.map b/help/html/inherit_graph_32.map new file mode 100644 index 0000000..1501c63 --- /dev/null +++ b/help/html/inherit_graph_32.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_32.md5 b/help/html/inherit_graph_32.md5 new file mode 100644 index 0000000..94b1f05 --- /dev/null +++ b/help/html/inherit_graph_32.md5 @@ -0,0 +1 @@ +f71d9a20ab039d270fc61e78ad3ae6a8 \ No newline at end of file diff --git a/help/html/inherit_graph_32.png b/help/html/inherit_graph_32.png new file mode 100644 index 0000000000000000000000000000000000000000..32d7bd22d7fa4af9646a983e61905d0016815026 GIT binary patch literal 4061 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 u@0yzY&P{&~4irAH_ + + diff --git a/help/html/inherit_graph_33.md5 b/help/html/inherit_graph_33.md5 new file mode 100644 index 0000000..4eb74f7 --- /dev/null +++ b/help/html/inherit_graph_33.md5 @@ -0,0 +1 @@ +ece1b5ff19134c4cfb37166978e5922a \ No newline at end of file diff --git a/help/html/inherit_graph_33.png b/help/html/inherit_graph_33.png new file mode 100644 index 0000000000000000000000000000000000000000..251eedb6e1e4da047780c1aefc480c23b5f16c3b GIT binary patch literal 4540 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 + + diff --git a/help/html/inherit_graph_34.md5 b/help/html/inherit_graph_34.md5 new file mode 100644 index 0000000..f1b97d1 --- /dev/null +++ b/help/html/inherit_graph_34.md5 @@ -0,0 +1 @@ +e99b9e2befd831ccde20072555eae692 \ No newline at end of file diff --git a/help/html/inherit_graph_34.png b/help/html/inherit_graph_34.png new file mode 100644 index 0000000000000000000000000000000000000000..e60c412d8f2051f6b5eec4ef249b8acb089503ff GIT binary patch literal 4446 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_35.map b/help/html/inherit_graph_35.map new file mode 100644 index 0000000..45b6810 --- /dev/null +++ b/help/html/inherit_graph_35.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_35.md5 b/help/html/inherit_graph_35.md5 new file mode 100644 index 0000000..9a95ff2 --- /dev/null +++ b/help/html/inherit_graph_35.md5 @@ -0,0 +1 @@ +5d210ca30302c78529e24cfecfedbe6c \ No newline at end of file diff --git a/help/html/inherit_graph_35.png b/help/html/inherit_graph_35.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbb54593a7e2446f6754a82f1fdf6af2a6e90b6 GIT binary patch literal 4032 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 x|GkI42bgM0%mCS4m + + diff --git a/help/html/inherit_graph_36.md5 b/help/html/inherit_graph_36.md5 new file mode 100644 index 0000000..82031c3 --- /dev/null +++ b/help/html/inherit_graph_36.md5 @@ -0,0 +1 @@ +0841ece04d2633c40330144d78766ed8 \ No newline at end of file diff --git a/help/html/inherit_graph_36.png b/help/html/inherit_graph_36.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7de878746d0b7df756121a03d63caf3c366957 GIT binary patch literal 3988 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 SWNQM(Y#I%$4yIhyBItj9#?O8L literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_37.map b/help/html/inherit_graph_37.map new file mode 100644 index 0000000..e4d78c3 --- /dev/null +++ b/help/html/inherit_graph_37.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_37.md5 b/help/html/inherit_graph_37.md5 new file mode 100644 index 0000000..7f0921f --- /dev/null +++ b/help/html/inherit_graph_37.md5 @@ -0,0 +1 @@ +0b7cb52c49a0bd73c84d05cc39a3403d \ No newline at end of file diff --git a/help/html/inherit_graph_37.png b/help/html/inherit_graph_37.png new file mode 100644 index 0000000000000000000000000000000000000000..b29b5cbfc5263498ffad08f9c9b0c4a258000d0b GIT binary patch literal 3873 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 + + + diff --git a/help/html/inherit_graph_38.md5 b/help/html/inherit_graph_38.md5 new file mode 100644 index 0000000..ed13291 --- /dev/null +++ b/help/html/inherit_graph_38.md5 @@ -0,0 +1 @@ +695799bf74cb002a011c34458f4c0bb9 \ No newline at end of file diff --git a/help/html/inherit_graph_38.png b/help/html/inherit_graph_38.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3ee73753cc78b5c2e62cc7b48d9d83c28d173d GIT binary patch literal 6676 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_39.map b/help/html/inherit_graph_39.map new file mode 100644 index 0000000..42b40bd --- /dev/null +++ b/help/html/inherit_graph_39.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_39.md5 b/help/html/inherit_graph_39.md5 new file mode 100644 index 0000000..34e88ef --- /dev/null +++ b/help/html/inherit_graph_39.md5 @@ -0,0 +1 @@ +b313301744b422002d0386aebcaf595c \ No newline at end of file diff --git a/help/html/inherit_graph_39.png b/help/html/inherit_graph_39.png new file mode 100644 index 0000000000000000000000000000000000000000..fb2030c37da09e466788c014bf18ff4cb3250451 GIT binary patch literal 2780 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_4.map b/help/html/inherit_graph_4.map new file mode 100644 index 0000000..3dc3b9b --- /dev/null +++ b/help/html/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_4.md5 b/help/html/inherit_graph_4.md5 new file mode 100644 index 0000000..d5fbd0a --- /dev/null +++ b/help/html/inherit_graph_4.md5 @@ -0,0 +1 @@ +fd635966862aac8b267da4e10ae2c5b4 \ No newline at end of file diff --git a/help/html/inherit_graph_4.png b/help/html/inherit_graph_4.png new file mode 100644 index 0000000000000000000000000000000000000000..34c2730bf25f3c4a16a96d9977f420d479184bc8 GIT binary patch literal 2181 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 AQvd(} literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_40.map b/help/html/inherit_graph_40.map new file mode 100644 index 0000000..ec8a5dd --- /dev/null +++ b/help/html/inherit_graph_40.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_40.md5 b/help/html/inherit_graph_40.md5 new file mode 100644 index 0000000..73ccb55 --- /dev/null +++ b/help/html/inherit_graph_40.md5 @@ -0,0 +1 @@ +0b112489e6f6f2cf08d31483e0fd1af6 \ No newline at end of file diff --git a/help/html/inherit_graph_40.png b/help/html/inherit_graph_40.png new file mode 100644 index 0000000000000000000000000000000000000000..e19dfd09d66a72c1f8ae43cc0ecbea2867e3ce31 GIT binary patch literal 3825 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_41.map b/help/html/inherit_graph_41.map new file mode 100644 index 0000000..b4a55df --- /dev/null +++ b/help/html/inherit_graph_41.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_41.md5 b/help/html/inherit_graph_41.md5 new file mode 100644 index 0000000..43711bc --- /dev/null +++ b/help/html/inherit_graph_41.md5 @@ -0,0 +1 @@ +e8010a37a348d6aef583c866deda9fd8 \ No newline at end of file diff --git a/help/html/inherit_graph_41.png b/help/html/inherit_graph_41.png new file mode 100644 index 0000000000000000000000000000000000000000..e313b83edf1185f55efe4a9dfc68a7888319563f GIT binary patch literal 1971 zcmV;k2Tb^hP)Vqsw`khF%>7!wyY)uf76 zG}M|HHa;-bC`fdpi~0aGae>hUtrBU#M}o#gO;97TMl__Z&{`fH?K4WTN{pp*7n3`8 zF6|6MOG{hNZ*}JMn=}6z{&VJZzONuSjspl}HaH6{0FoI%qd-^zjRIi>Gzx?jIn<5U zuV1&dwJnqsNLpbsnbxgaM{fRaMsc}Zy}i9Dmjp>WdV70aE*G^YCpxI7rzcfV>{+r#f=&`$zu9aqD=Uj`yWMWB zR*Rx&MMcHkyLU;=p-`x?v9YA2Wa-kSTCH|$YzzRfYuB!K@80d(w+}%Ol}g1RkM2=I zCxaT#aB3${o>Z&VD2i5ARt^jd5d9*N=-IPpL>t2}1VJVyCZeUzl{jY`+n z!C>gfe2C-tpFe-@-Me@5=FK~I?#w#utWv4y_4>TLJcq;4*Vjj#s0{|gr%#`r zKYue%S!~hQ|RdEICJI-z7YM>)6*!5+U<56$H}YDERVc0Gum`eV;D}Yxw)C#rM$fS>eZ__jthmt zr%#^}orLo5-@h|UjRpW}<>f6|vV_Ouk(*>pPft%}WhI}_M-Zg3u@S?tStT(`rGjA?kH;h9OG`_M z#>mJB06-`dA_#&Y$f8AyCMPFHM@OSaV33yxbf+MdO34_hR61XWi%C)zvtqG091f3< zj}x23ohlZK6CBp-_14wZoj!fq?RG~Zk@oiXa5$W(Rth4K=;zO$KA(@+bUK|xqokyS z!{G!10qPyLWy=--0EhG61x&WQXb1kk|_ z;C8!RF4y71hcy~aQBhHX!%j_2MIw=cf`Z)KT$|0--rgSfP%&4LrKP1cH8lqh9`yVD zPN%cExtRzkE-v1>b*s^6{P^+XuV263zJ06H>3;wI4FD)ADze+{gdyUPN4J<|Nk>P= zix)3`{P=P4;zbO@bUGaXK%r1{c6LroOpJ|{oVC24RlUyE7D-v%@agcUI=+#ngj(9lpS z5BK-ZC`qa!$X5Pdqd?{aG)g=qn6l4Apiv;K$WEisrTgis2pFmtqEq?NDf^g32*mC! zEiD^1Y{<{g@9yqS=_QzVs4rEr?1fu69De`)eOXyqS63I&qgJc8Z{P0qdL0f&b#*lW z!0-1n#LMOKWy_ZJ_xA^bL9^M6qNva3!=o~>I-O3V(KwyXU@&;}=+U)n*G^AQ6T7ci zv0`9gARG>-?5yVn5cR?>n~g$1ru*rt25)~iV(62>V1$kYm^HYE)*6P=H}+ARH`FKjwqE%q94OBjYgB7pI=^H ze&xy)@b4OhE?zE|H#IfY)YS0#e1$^s^5sjS|JAEkGMOwVCx?ifoSZy%?3h$4?DKB3?vc> zp5%X$o8nY{I+MXO3M7?4qd-^zjRIi>Gzx?jF&48scI-&K4oI5wzZpd=7T4C+E|e5V z`cPY2JL4z7NV30SLb3z6MuD&b8U?}%XcP!5piv;K_y_$c+b383I+Xwb002ovPDHLk FV1ixosSp4F literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_42.map b/help/html/inherit_graph_42.map new file mode 100644 index 0000000..0bd18be --- /dev/null +++ b/help/html/inherit_graph_42.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/inherit_graph_42.md5 b/help/html/inherit_graph_42.md5 new file mode 100644 index 0000000..806b48c --- /dev/null +++ b/help/html/inherit_graph_42.md5 @@ -0,0 +1 @@ +2f67f64ec706e044d1ee0a1ea37f2563 \ No newline at end of file diff --git a/help/html/inherit_graph_42.png b/help/html/inherit_graph_42.png new file mode 100644 index 0000000000000000000000000000000000000000..699794f9e4f366b1bb8e66b0ca6a59edf68f7366 GIT binary patch literal 15711 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 KB2Vn8@Bac)u80`` literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_43.map b/help/html/inherit_graph_43.map new file mode 100644 index 0000000..8232731 --- /dev/null +++ b/help/html/inherit_graph_43.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_43.md5 b/help/html/inherit_graph_43.md5 new file mode 100644 index 0000000..e07c2ad --- /dev/null +++ b/help/html/inherit_graph_43.md5 @@ -0,0 +1 @@ +92cdd7ec923b36cc8faf5c1672db621b \ No newline at end of file diff --git a/help/html/inherit_graph_43.png b/help/html/inherit_graph_43.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4236f1176283d390ef473ed0eb8080e77e4aea GIT binary patch literal 2899 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_44.map b/help/html/inherit_graph_44.map new file mode 100644 index 0000000..678b6c0 --- /dev/null +++ b/help/html/inherit_graph_44.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_44.md5 b/help/html/inherit_graph_44.md5 new file mode 100644 index 0000000..827b169 --- /dev/null +++ b/help/html/inherit_graph_44.md5 @@ -0,0 +1 @@ +f881be913e655eda4fa45b181eb37b03 \ No newline at end of file diff --git a/help/html/inherit_graph_44.png b/help/html/inherit_graph_44.png new file mode 100644 index 0000000000000000000000000000000000000000..71af8c0bc15ad88a3731bba7555d0e605da72df9 GIT binary patch literal 4027 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_45.map b/help/html/inherit_graph_45.map new file mode 100644 index 0000000..44d5559 --- /dev/null +++ b/help/html/inherit_graph_45.map @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/inherit_graph_45.md5 b/help/html/inherit_graph_45.md5 new file mode 100644 index 0000000..3d358ab --- /dev/null +++ b/help/html/inherit_graph_45.md5 @@ -0,0 +1 @@ +4562f69a666a80c05e468b0add1b5255 \ No newline at end of file diff --git a/help/html/inherit_graph_45.png b/help/html/inherit_graph_45.png new file mode 100644 index 0000000000000000000000000000000000000000..8758585da233d897d60569156327a57d4fc0bfa5 GIT binary patch literal 274897 zcmce;1yq&$)-}En1e6ZxRsoR|q$DH+l~$xf*h+Ud2ug>Fgwj$XEsc~?DkUJGbVzQx zn{RE-x#zuc?)QFU{Kxo@JI=VWdDzeMtF`8ubFL>uRau_kJk5Co0zq)+w(LCw;>-vF zfs4e&hEJS=)~n$Eu#FYuWf3Rn|E1PuMTZdPBkp?Yn&mvJV^{8yv*XE= zOR*EDzhu9>duASs{Km)`f|<8+vJtUJn@e~7S=G#I3qQ{5v0Y*nqQ@QNc)^}}XFo@% z<&w4Hjd7}gPc^(UPuSnSkh1gBSs~(?)mFWALG>12-pcIMtW1*8O4*KxX_9pxH5LmC zZwnPNoUf%_&UhYi`Y$TfyxaGV(|^XlUQ12jJH3E^N=gWQ9Tn1qwaf{TXDZ^k%~@_c zW;4$VAH90m7`;m!>jwpUhdE7 zM+T&LI1?@_Pjvmf$?2oCxBr(XMXetm9u_&yDyPS3a>V?suuY-9_@RbY$mS+7mb!+9 zi%ydD2w`~f_C(?U>8w~k*(wY(>%P2-u-9kfaA&r}jrgjyUIi-DSyrVtPX`Qr={aJ) z%{hziQwjKl(;(aL3C|W61pmuZa4P4h8#e|L#EUv}{B{s&38xO2YK=na*S&pv#&Ndu zSwH}0AOUUQGd#-4&ZHYUZHMb^JRWWLIbwoCLY~yuOFp_rEha8*zdS6`)Y{tk>lgL* z_O@1?mxusOM5VHs89SDgpDfFhgaq2j$;q3tauuJxA1WmXerjx#S(#m5cX%2YD9s($ z*xO4ML`dIbVQX#8^)@|yVqqZ^0~4D`K!Citxf$Un;y5$jlc}IpYDNOzmy(jAW_@k* zeok6^LgC5r!AfIC2Z4)=%j(Wf>vUV(R&0lsN{a|gJ1PmLx%%m=SL9ZMrRRifh8z6P z;;nwWT4;8;k*yXL*CBnr$x6L{XiymS)I6AJ4xQ?Y|WMCm%BX7C62@B8=5Yh=F7#SHCM{8+i zFCAl9C?+UgW@E##?9cmD=Y3#zux)KMQr&0e%-2tE*J())OMa0A$@(fbR?d1Pzow>! zT|&a(&}+7n{>)9-nzFLLQ7DD4U%$%AzDh|^LA)y}Qq?2a{fqt&g4E+rkRax1m-PXJU_1E3q-Ld>^Mr*DpAIv1! z;vz<>ox^@uT*pZL@Zp-h4-$Ft>$JnSZ{Jv0Sm5~wYdu|aw*+i^qmK$uCCn<^hN`MJ zVMUC^@;oiN)<$|e-dqne>3GwZ~2goK0^$LbkvYqu!SXQnxfa;lZlS3p5O+!-fvV{-|pmt&)+Ek+91mRcDH1RL=cu7A7Wy zv$L~FZd7rypW`SpaYIX`A;6|Tzw+b9i|{)&H8pk~o*lo|erOvS z5=F>idU|?l>FQqO=O;UN?i_1=dKs;gTm;Rt*%V)f!un%Tn~~~g{{Cn3bSsqg`kR~2 z_GYUD-OZF%Rwi6nSg@P;eD-Nj(A1{@90UTs6t;T^8`b^Nuiuq!sqF8g3X6S?Jbq74 zPjsitn^{?rBOiv(x1Js{5%eKTDlHZG^5~jkJTHcXgoK@ggY@0Ip}!XHvy=b)@EDKf z;zj1THWD(j0BU}d_oWeJbjwCskUBe9^a6ROHc{+VvfOOEr;1ovz2;bR33Qok2Wbzay@{A3S$^viQ&= zbof4v&Ec=9iK?kjQwBdjgA@O07BMjqn={Faz7lhHai~IN#Y?7;#U#9V`6-0l^pE8Cx<_Y(T(E48(^H$mv)B2yJg&F!K>j$qE#lusoNc>YU=2rGHSxXdgw43j_%&Aj~3n!$ji^y*|MW;~zV^&4vjD@8o`nfbUHSwu< z5ou{@?A+Xf?@x5XDspOzi;Ls0JwCs`vl4}gLpYb%uOku?5<(^EQ=?H^RaN!;ZYK8B zk3Q3uSEgn+oHM$pN-lM}CvG^!w2Bl4F|{bNb8$r|R_Q9GNF*7!O`QGK*_mbNdld8X z<;%I%iAGsj0r&Ms=g*x>gNVa%o3d zxpd_!Y{#+^6X|Fqyo58evn})a?Z$74+D~FZnD5R~O1RA(cmLL{XBv701O!fd>yOu0 zS5trdP`9s+iXvJXt<|-JV`O+&Sy`|;a;7aPDCoYO9q$Ela@7Y9F60~3zF}2Pyd4n{ zA-9uW=T=)&W460G;k3VLZeeEj{YHM7gN20!+@KfEaMQF#p@EW=l$2a^e@$2Tl`d7r zH*dSN6tX1hJpHvxOuF;5O8{KVigmhIe}k>CcNz=L+XT$b^9J~*?^IP*#v@d1Y;3~Z z_xAR%{LbUyHJfV|8eB#=9ql`_cqC>3e&Ozvgpr-|zgbpRHd*SvG1EO*X4%|@j_@`k zqWRS=5w!Am?%WYY4i_VFZpq39r$mTjlxeg^x8?R(oVoe<@#D!4Fq%toZC9>dRWMb| zH)kk}i=%{eYtEH!`6kWb?c29z$A^2evQ8(*-ZWxvy!4_@U*5$#ZM{xg*FnkL-=RJ@ zar-{<@(RvK;)d|-{M9H&gIWI8)C3+LBYh1uHIlr%JYI_*?#0E!4yWDQ`#4UUYYm@T_y=`5C0R78vz|NR?F ziWmYue7mZ?e#G0iECE|oWQAd23SnDsRQT09LoZylTOF4guJfj)rly8Hh>M5EPn9Ck z@+!NK=*FOFxb}JU%qMPm2tr)vR!CD#EiNX3iRPM#pc5g5y}^Fv3Q6|#^mNFE=-Vq# zu3uqi_bVykhg=x)<;!iW;Yt$t-FGvA+qZAul#vOj%#$@9X3i{(oYB+QXMS;8Ra^U< z$6?#6-7ZysAyxwfF;-f0wTd!-7M+TU%I^NYaaXeVZAHbW5P4H1yu%mp^u0|K-S_v4 zE_%1bU$*arj3ZKL3aAzJK~GPQn1&`4os%Gj%fUW;869o^`wPi`PX?`oeF^dL!O?6g zZ?m$nhsv#GU_w7PHmdzihR{KYii)yay_$RLrBFGczBjM;zSBE(j^Dq3rxp|tQgZ9v z1dzfY=Jwr!zNN_$AK9i|Y<#xd>X$#iX=mxYz0v-DyXv10uE=v$Awu$Ko-sH|(qvw> z`gDSYXSb{%80rrKl;QO`bW=%-X>FJ3%vn+E9lDV&SoX(n2WAv}{-MG% zZ{@{V#yDG(Okh&^;-19>pCmF5hl#~&cOs~$xcF21YyOXV?(Jglb5U!3nvxS?Jls<1HZJ&t%#C+_M_Z3I*x?h*C_=AB^b;s1s)ZJkG{W3 zUoxVmxggo;o+tkFWbb^^Ke8!Sb+66z>}*h`LR|U0990Xa64Vd?@!}pJ(cMhkOu zSCDIyJ9hg{SFqBEurPSHdE@Tpr>f#h8H_4LH}%Ba&ZODhH;|W;3(S-;YR?e8(du;F zpNWZ!i=f1`OHlhY3`l#!N>e05P42k(Yl~T>7ZlxdJ=R&H0O;jt)eAmYAMS zv}zcw^(=n)$zM6ABzN4hnwsBVF8x!*m=9je-DiN>E2^!WoCJb#cUHz)vr~LRcgB1f zKe{X}WZb@?S?_aHYS6^%IHSm^{XzE7YCd`bMn+6b><8y*3U<}Iyu2p#AH9FiK_}t$ z^KG%StAo2_&Efiqw8etMqsK>QPxewu#;327`ZL|+n7*%|YaiJi;i%a4w%e@8a)2AY z77Nl#EMa!9y~!i}Hz_HMF3ZDLd^G-F3d4R;)Iebn6pv7F0)j`+XZk`{XJ-qfFm&k$ z`|2}PF>|PokT;TjkKM%%7E5;Lvs0Sp0e}FGCk?@Z^cWl#)?1Bze6%wb1ob6U1>-9# zQEhQNsHLcd1q)eud30R}z@#a+ur3tP_xoCM4kHsE1BY8W#`umn;2ynX0Zg zK+N*lvamJ~f;AGtuG>OR_Crg{FwSOjRyy5WKvjCBS!9NRVp*!|Vk7Dj<bUE#3&1XB-EVLGsQ2~NDYv2?sq;>7aBx5)oL9-o1!bM^ zMe|J|Wa=bup;q%JO6?QabjUb%851ZwJG77CeZ_4m!0S*Od~5U(nFf64->nozL7f?Mk+G7C{c$EO-}$6nOgue`#$Ea#A^nC1$q`$$=!r~ts zeE$6TFP)u{A3l6=;y!qk2QUxI4;YE9mL4Z*tNh`^L$5P8pFMjvS(>X^NQ$WTIT9ri zUvAvpb+bQCy5Wk8h>4B0h}rsm?nN+^&Y?41DJrs2hKIavs}Dt;=AH}JmszK4{lm zv_kI(YYbe!Crb&*vp4n1FYE7Mun(T8SwyUSQbT+Cn)ARwqQu!K(vzCm%oF zINoiQq!GXU;`SvwS66vpJ0wmH9T5$Xen_aPLn3H}-qzI6K`I8qK}QG^1~T!p7%A*~ zEC!J@)XxtAd9sY%Fika>O&>XT)%AZ!lu9cg$Pf?V1G$*|sO)SuFK_Q+(=LWftgO)?Vy!$Nz`yPo-1ls2i@!vMw&={WZXT&@lQQ7Heo%k3Ky3Er9%|c`!C+fmjj(rKHtRIRUU} zxI{!km81M!VgWG9bfD`X6{+U-aUE+G5Rs(4dxwidNaqKol3(lCAdo&khlbEI{`&Q6 zCPVJ-*4!*f?RpVh> zESIq3OnB#P{lbtSH#c{@gtsWrBM_ujH8q3qD7l%$#OR0^#1IHzI`16zzY~!nUhS4= zG#V(-*ZSzf1xH;CE`(?X(3(YDd?e3$V1QfZ0D%xbEdkobqp8D33M1wfOsEr)!mXv6 zFoUg;^q8w|yoVXEj(W8o7oY^aUOm!MO2k`ZsC9;@TD!35Kd^e4Pba@D%Zu@5O2a0A zFKeAQR!XZEAq+L8^ur3Hc?=cFBl3nR+emaJ0R`2UX@{n!riVa0PgX_6|SEj!jPHH%FL8vjW+uH z^xW#&+LP#LvU~ULg)gV{1D_?s@`8z%S9SJlZkcuTf2j@d5Ws23-Mr~HS{>l;Z@2#Y zj^0NX0$`e`u06s9>dMI0md7XhaX~rCGA_*?1t3g`D&Q7671aqS;q z));5w3sR6!gTM%ejp;2dEfteQ%ao#s1hTySCXPO{D0(~-Mr|p2U(CGX=I$Qis<6Xa zS67E^D>07`FfLmv0J|F!w{AOXuAExPhVB9-rRycJlDV7%Jx#GXu6%K!d)wrRNY3o+ z8LImh*7dyDyK;A1;+bWi0{=4stWUmAK(}`BKUEJ(2FCy`oJO4*srVT?`SNo4cYL}H z4r$y>_-@_0W#{PFD`E?z65v#oS?nJ&K!u@MqLv#gH34G)D<~qG`}-*{vGE(mPL6lD z?aA*! zon8s?5(68sD1&RxdKD)-p3$kQr514(=7 zhX*xMpLUj`{{gUV#Ws@w1V2NmwpvktL;$f04Jk`!uEyL&*PGv7U6~uJmjp&W)lui) zgo`Fx9WpX9KB!^y;UqaS$J|xZ)5{YQMD~LaqE+uBjwa&b+9sBkB7js4Ya8hAXAu>p zDJUqQ;(dsamXXoTcU+rno*Sy*F=>x~g2v!ozQ_EKl*3VqEn0<5RiWCXz&fH>VehO0 z-~JgQ3Q)bfyHioRoEtm!C-eX!xtB+4!vHNFtRefu<#z9azH^*vB~gwof3otAneaDGc#8@qbLwiTb%vU(b4QW z<{k9%C22VQ4T_102~k580t6gV0a8*@An8L-_6tv>Ay~h5ejUM7Y$RzjwmbUGwd3XvbY=e5Q=U4ryGVF@{g(Jr1uK$4}RKvDRIuq|G z#B%a^i1YC9=v3GwX;4qKL_ie2bT79L%MTQXCilN+tK7cb6em7N)$8QafjOcoCb8+1=GGazF zeEoW-=GWK1R0WH&(UulDI!PZo2+B_(fkJf=(9|RglwZrk_VD7-AjbLi!PA;+~qH zKL>Orh?Y1hzQ-a^?5o*sUNfo9BGZTll3y`Jf*!Wt^V^ru3^M4K1pQ~le8e{Z8yEYY z_yD+RPmyEQ!dWdtQH1~h7i}UU;kNdO$$;C2{0~{l$7Wv;)ppfA|moGH@6Y=L}CVp zNE{-DxjaiqQXu@arpW|7Pe=$m*^N3GkETMlvnS@pUj~JK6Y8wT5RXxUa1?C{r@wpMCK~>%uL{x0`>soCaotRru2TJ^Cvv;@a zsFxom;4rpc-EgFnq4?l5<)8CkxVoaNj{B;Ab?$OzP&|-%;W#ZI<%Dj z1kwgHj@^T?6Pq6dujuuo_*z8CW;sl*Kqw41&nYYvYV)Y(b~Xwx?rec$c;3+9^Z!Ns z{-=0roAJoxMRKyuJTVoL)djR{;6^S3z<20GhEq2M*qBg|kdRD{`7=GMJqml5UmF}4 zco$EunF^T|_xg2C%mx)wk@89KmmaC2>yIZLv zdI=rlic2>w=vkf8>6M2QdxoO_3pwCLaPiSN!|&KvRBO~bOSjR_nuz>{^WtjKIM zLXQvi0sTvT3rj|TO%=vJ-lg5Xqm6y_>hTFJI$6d`h}|<@TCYFZp@hYV+8Iq~!~7$6 zV(z}N={I3hIrcv~=wjxx#|R{xjvG5QMo@o_iz^b$DJYPCI8JdmBgC*f9^f8J7<4)W z-Eq_ztpuwKcDmJr0{gi{S;moFY|w^KN`Y$ zejCec`xol38%@|&zm_`L*Cgyr;c1v?wAB(NKb=6EkV3MD*hfpYCrx-f;ek<6xxf#e z&QUB7c{*DgUDLbA2Xu!A^*B2J_>(Z0^9LazY`iAzc39YvW&e0E3d7!x&1%?mhFN$(pAl-I;(yeir~T#2m+x=jm}CufCXFG#Gf|tg zubR73L!Mv_4~DA&P&9k4)SAxowl72ojW#%TiNn9Ckm5I`rTshS;Z%x>d;Ro-rI_f` z%uZEd%yo(5_uRH3gQHXODp_LA2TUcxhI}oGZ})_Tm0<0%dgBZYZYe2=v#{(gMW0S5 zeKR~jZ+41_@q)SvKCOxEyy_qGFAib_#gBy>!rr2kj4fb~eFn2t zTa=s&kn7JX$L#JlKsHb+b%m2?k3yveq6x>3n8EtdgHxsmE$ZiBO?)%u~3L1A=m>(oD}_cn$SZbB~6g(O}%+9tDBqK z+>xGvLFD)Es!)5ld3a2IPm|GE%FoZg1$-)qID8Kq5a3IBTUkkk;5F@})2ntm7e>M5 z&xE_WvBCddDbUB^I=SP<)|l^!H;Aa8Iy(vBc`Cj3K8${#MuiG%!o22*!+w<=^YJ7o zD{{Q*Q-A26m&d7B<3_;@+(gt1#|YipCUuwujr4lb_CEG&O$s;n$;|Kga||I#wkziq6qzXkJE z*oI1?u#`WOs5RX?yu!+uAN7oHk~Z><5L$ykrn_ z{rS2Xf00hKr=-(;4GlWXS*jPFS_cd5V$++0Vw)VQbIOmG$P{}IlGL7 zfKs2jR&4ftKP*@62mmxQ2m)ML8$u)a2vx%q;xR8rg5GT1nVy%duooxCKnpnWJO=GFrV={b%^3JoP8ZGZ0URJI(9ZZm!Kr~y>>Yp?M^+JJHZ zZfI>0P;6~gP+Ce3?id|Z6wUR!hadlou30-x)606_-qEoU!2MdkuB}l|#+_3N;cyK+ zAIh>4d#325RkFUiNHnU%pkCc^>!36HD$sE+GNioMt_YGF4 zW{d5oQ0uzM6KC^-VYW5u$=h^mmWi@gn_t3 zx+F77Y7JPs5u^mW<3o3-Z7*P8U;v!s*Yyt9CY^oXDy+!|5p-MfcrA*Nn3xwk0H=+U zK2!}LGYO!{ckkHIch1*9_Pu`q=8eGg^mOfoyu!jDx%4Nswc>gC`7d6-4te?%E4sgX zFhU|-F5>e>mt+*$$W~!9A}u9_0c+02jhdYFpYP3<$-Ku5W+|}CRN76P0g-cU{1Ya^ zFFpMt(40+VF;@m3&CO)6c^_>Jplh`C_4U=c?u!C~f}wo8{bcq9lX}fsWRTW=^ocjQ zjvX03eRhS5{%%6X->?bo8YzE+Hyf?C=3mCf1`ZDDgwtFh|S2d5rnPn8CReO4SA(}o^bBmzdpXJ4_0Pg9K|Em5_nNJQW&l%nBK-kU1~odU>yHUsH#GjsbOd&l6!^Hn9S{iG4|?h} z4ZSY_>yL?0S66=sRTmo87a27c*-c1;fks|W^MB18Iy~a4e^<_L$jHbrm!DQWwB zJ5V5w{f)@fV*BnGEG|!DI%3lziHWgazy2U`d1^}LBY<+9{(*rw zNH7rv>3i!?vXRr#DV{xh7OgKq#hC@}#Cu3&`lsXG2NhvqcpyMTLO7QPis<+F_)VG! zIord)1z+%Kn!_@{jikW6vAI~%1;T|hDpn2U3F(LFUjIs6^2+vGw3EF(A4V!{2a1jLjg51N3ltQgy#)rfcM)^@TPWF0VR!4X zI{if7$)A#^BpB(PVWkEnEbs?*OMj z$^A?3P)k6aMd0Aztl7el5oX;uE&YZX8rZKD1DRz4=d2Qn*FIKOmgaIPY2;}=3BVzm z++G?2#O|lgaZ5`pzW>_({xF?)y9Z_GgT&nM=BoFulTxlcTSq(f4IS3(diprJqT~Uf zc7itbA|++acofv7?(g6IfcCQ2F)&CLF1+}LR2R*h2;aCd1p-=dcz6@AF=_?|gb{K9 z5SIl61cKY{UTUG&*ay9a$A&1b>)8A0H{X0oR-rHLo z496hC0u2@ch6pgLn&qSB=7IrG=11%5E`0C9`EQO;dW&rCjwvDa`k)}3WY1-hJiRK? z|4GQE{kvORYv8*odfY|bE8H|$% z#+hd5TN{+CsX#*fT^xG^QDi$N5zZ*d01{>Z&}Q8F)lb2rgSe@qLjx9bR>gR_nU+m8ZrX0^rxzDxOaRf9|j7Csqg2zPxZ$!0Yam@jQNB9pO^d;m+F8fTyfRqGrg)NpaUH68^COZM0a8WO+*7rn$ zfJPvAdu43Qn89{no6kwiQh=t~tvDDYxvshSY~l=o2F{)}(pqv)J4RZ>{3ZIjMvGmkb#7fNu z;Y|DM-W)z+5{biAnV&y@K7^l>bX;v;MLS{!5gAJ944!=zJ1UhTq2adqjs&qfr*`oY z=~SWTv#JMSxmhK4rXC`vfFpQ9d2SlEW*INAa83qVgyU?gz~ z2%3N7+$UjV94q)RIK&E!9$4HjfX2pUbJsY_{%Bu+ad=PMKcE8n?NtY`7Pe|S`@3g( zlrWc*-{;abUsxmpk*N-{Ob6$a5L@&e6~?)L&SeXzaIbX!~|A z-FB?N`~7@xYb7o9$8W{k8Ox7!DE*^5JMWiA!SAh^#`;!+VLe zTAtu1hPneAc>4j7`Ws8SfrG{%&MrUhOzvpRxD(2K(sAE$Wd5dU9-F-@W2o=Rj(u>r zUU04FNyyOwzx{M54dC-#Ygfy1o1_Ts5>{vFjHR93*KK%Q^w`Lx$gcdPu)_J%ZwpE> zY?CK*b_VD*!f^%b?AefkEwn2PBr`DCUH43~tyv4~Zc}+9aL#jkkixe%)GqbhLYc8d#CeuM3z>w%iLf zHlc%9Yg>Or0Youa9&DU{f&NZR0<;C1UFC%8Rq|-_KHIIqtu54m3QEZWoE=RsFDo>4 z1se2!;%xnD&J@c{&=5klGTs#8T4d1|X6HbIir z06qkOCEsg*KKtGK_n*OSz(u30DFA9j%~rpznbqPiAsyNPoRQiuule2KTh5cQxzwYo zj{fM;Su6QpUD#>eW~Kew|1J>GKJayM5rn1-JSej`^{dIDJ0V`&vs?`|I5^0{!ExT7 zX&hMh$xSFM&^9JWHs~4wGC^oqSo7Y$ksFr11UCSkqYYzlut0|5Gij$nD-i!iUQFWA z;x|J@7x?@+@t?#;0Fi_r6Yk{I7=rvlbq*3*+ORA4vr>UV@US(xdx|lq%Ce?sW~4b{ zLZ_(*lLL*7vf$h8@(k#oZp;dehw*3_kBS)r^MW8w?bbTZ5^{H&oEkm5;Dn8oZv~72UF# z30_%e=j&+4O$8m4s$Lr%LX)$AfWV*uaI*YkJ$_lU`oW`w__bf-d0`4(

    1. Kj<(1zLHpbtTL1L9 zqtI4945pa7ms!svp~EZ!5qtuC!aU%-$-}It_cSzEl`XBTE_ zS_vOpKiHhsHvVCAB2{a{vSQB~9@fi`W+&+ezvWdhZ!3YZ9?H1v5^t4ct&redN2Mk>%B*w{jCt?SW26GktZn-}J4=S(;N&FF z*01%5L41cG)=Z`3O=wxL=VP>(I`nfRgU|byz+AtX0J@y%fyTQgtwGT_!NHlulRMicoA&f+`3TsGGqY@u)3RvB@>8GGT{C}GQyk;0lcZJd+*=* z@OyRS#(nuyejAW`J0yi&z2@PT2Uu&Yz;=Ci%_`8{!{hV7 z03{?*DL~=s91p^TD&~ihTUtJAdD_{`)m9k|SK5P{9o^bF`dBWKE+jAz8+`AbERXc2rpEqRa~Nz4t!j@i4Ko;{w*@ngO4h89_W4Si?j6o<}a@v@A!rpsO7F zV=v}ppTTo3F5X=9p|>uxvQGZ~8vQOO=M%(Uw1U67Y8QYK-)QIm3Ht#U!RLvI_|WeN zoNYRa9t;Y=dj`}WZxy=jt};W`4e4t_f66RaI3#Ff4{lQ|r`=qYF1K-STm8AB!?tX4-nvkhMWqPLpj4l_gInLG4u` z2c#46lh8x;I1;QXO^`!U#o;UJ`hx- zlspthJ(r$kHWpPv`zZQm;5NKzVZjl}ApU+UI))i4J)XK z`@fVC(rKz_!xmJKPxZLvp-l@sAKh8|`0oGGtx#JQk3bvVT~|h%p-&Msf6B z5+g5;8aM}?!LFpSJmPutqI}DD$z%Jf-i5_bA%p*EfADw(ih2+DgF7^UrQSi?fJ*^C zP;7`+i=#s`WH9=3g#&Y;ttD5|B82W;YZMlWXGm$RCh``#x7}GmwRuhQP}M&Wn}Aix zp~Q(jF9H0T0qPvhE50Y5V9y;-avl8yHD&uf%70PI*Vmyx&1C%=H7Z|Nh}VS5(4YrT zuSP3)qH&4OxCx;U^!7e@C`Sj5-m7yc1hpow{#^xP8(R&A(PC$m#w9kkipo2oeEns1 zHV@l*kF!2fRyyV2c1fUY+@$c-*vYLu5_CNEPfbpnP7v`0J9MkUQ&-j=E4g`I>vy)Z z;jK>|EEs)SKfgQ?9Blh`(f`%m$GK67JzEx|1>aP4Per_dWd`uUoB;xCEp_N~buZH! zG_{%43ZE}eHcM}!25?j)mmbZl4o)BLZMe;6#-YtBXd?jNbU3>upHe8f%s~YJyH->` zx~n0n>*e*B)Kn%oIsXi;XGo!yL1@&iaceFi9le*CZQfQr4|E9SPyN7W$uVO;V zmB@9?nD5nH%FTJ?W4I}l#7JCR+=jXCbo-fhYJiH9y(*HopzR1u*H-hZ)rn9}P32dN zk{Ysgh^m~Lugw0(eD$s3EK8oU$UnRQG)RCtT3`_Ag!amut!w?!YxbR@p*SPr!$gwg z(2m&GV^m5_GEp{Q&$K4vwhqOD~UDG%iR;>k(FYdW>PxQEhzy&L@JB|rWn04O<$?Y+t z#)1XWo-^}5nkkLl1GhzxvlM}UsA zkbuBWoBYS#-riS4M1IYQzTshHU{D6zjXJc5qv>L>>%9@S zXSpsYNJ`QT@y zP6!w!5|vXVlt9Tc_JlU@vIRSP`!v`x-O!c~#?DAOI=b8G-E&KhGFxC?{#)#vJ7O>N zTEvl+OZ&sq;NXAi7Q zR`&tX&e!vEo+8R!9dE-s6Te=RZxw6c+k6X>+JfLhc+p+u=$TU*0Y zR)(u&5bsJ$)vacuy=~r&qQNg2&!6De(smfFQjw8>VYD0KQpns|!X`EmgCe}K;hHuh z%@k;INJK;XKm)MVH>Kdj} zu(#B5`=C7&z|f=s5fPES!Nv!_)`8zZOPmU*Ivce7BY#@$&LSTDtCp&hI6#pP*zogb zX@p;NbhKMzWK7Hj=%H3qSI;QR`**xpTnywfRe0M!LDwys_Z5FZ*Y01~_ge@MS2gk) zAjH|jYZu^tH#uThI5`z9Uq^1Iaf9bj*ym6f+z7a?uC5>`;XtReR*6Z3nmvF2uU+BU zsT#H^U2D%GMqkb+_ssP^%vk_?jPp$TiTA;F$iVV-A&1|$fkIBr$dFYGMGLYuk!E-O zl)wUthFilm?qty0h&CMh91M*~gPR#vSZ84G&ZU+kLk&avj;iWvX_gnM@Kz3V_R(6# zTlpG4IjM20QgJ;6DC zjqzdzK|wC%!9se0Tria+oK?=go501GRzaZnDOQAYZ-<=PC06@@u#ixiTLLo`7Eaf- zk^TPHLt_LR+P{b0%fRKI-N7+rBjn|+ZP@Usb-V1?CekJDIQx1k$+7D~SaWc2@J;C6 z0{#;k#vU3OJpr+{sk!;<5(*knfBg92vhqk%UEUFx%6N!MyIvA77Pb5L10WEft+QKO zTlulIAaS9Mez*L0;FTj_E=B9gzh`EQA>(nBhg-D1RbE^$8=YC|LxCe0-M0_E6zD2` za+9e6fbHYyd6s49M`8ja3v{ttIq%=LE}uY~aDneZJ37FRx;vL1H5V2iFSei9mflr0 zpQh}Jvo)tiAp6!KddUe>$+0r|hAScHoif1sdu%VFTa%#x{Oa>T;qG03cu58v&~Q)) zAVXc`<5QcersUFj3iT$Cn{_|yeI-Gxdty-Qf%ekF>uvz5Vnwyefc*s|+DjEH(9(zo zmRj1{S8DE#Y0&52fre$^AU=QoJPwKhMEHQN*>v!2=G&~m2%$#SwPB@9&EYrD(K!zU z4VW)0g7x*S>BHU^=cbnl+7^z2)+pw&i3?@)F3RvE6x!s^AUHWWok(3}Ww9#t&|Ldv zTI?-O>vAL5Ky^pky7-I|dih%C_~bT4;^b2t$sYNwP0JD;AB-Kef1TIY(9wDPd|zp= z0BL(i$J(G}p%fGGLs(8o)Pc$i#^FXFeiwcC z@EHm#=X*HJ8JG7H$&k`X@D=@BB!`EJu4d<$tGA&6&KP{K&`c|2ghU41iDoqd_p)eC z8`!y_qaCbkE4ss4w{W}Z|MBM>*B`(;N93tR@uSh!7MY-%o2g*uIiJFvZ5^5=<{8>4 zBJC6)G20aXJ>nI;s*%yz&`=IOx1z8#8Rn5|((_>xyv-dx{p%Kgn~X)j<>9Z5i6Sk0+Q+>( zB)2co#lPmml$XI(3)12gbix${^KQ`Z-;ZE|apw^*MLOQX49?Xz;=xvQk!L0CQ=!ui zYJli|mLdk?NB^6N(OQGKfx`2Vkx>LRl+3cuz-N8va+Lq^A}WITtuJJLuytvLO@m`n z-)Hfr&xtqzzey7$5tZ&-O(B_}0No1Nc<}>6I~NydfDQXz!X};p)Zq|+S<((NfH;-4Fjik&Sl zRq91bO){Y;n@`Y*`U7T_rx2ryOTV2<`GDt$h)8Dq4Og~6Lg&W*eExThO6ad!$6s)A zW!hPpZ5$XlM;GaHqo%p}LA>BnikGcSV|Z@zu6N|gaD7S?2Il@kStpwc z4Kxey%=I+WdG6GmyLuI`wqFJPea7eELMh&s=dl{W7?_EhIxE%A^6-P-N_`5Er>A9Y z|LJXwIp*ZP5wZwX;P>@ydDQkKJ+~vgb4Rntv`cz(WlY|7ixhp=c$(^-5vk#NLj-qR zdPV2T(ZSyC;l`9!t%sOg6hms9=sEO8Q@j9+5bU|LKCv(;!=vKkwVpxJ7P|y0gk;Up zHha>5{ON-&n7Q4-SsRza@bcc`FTKP%bIHL`VXcj4rLjHyc;s|$dl(k@oQZdqr%}_a z-+ri*xGe4xr1;Qaxb7s27Dl1BMaD%q0ywI=2Ut~AnI2Uk4vm3RtB}FId|^r&xP`t? zkJ|UumxSPfm%g2;INPY8oKhEnM|o|vSEX(17{PG5A@0j*R^RYD*x3Me6hm`>K{OXM zKByU$AAZL2J)Gu&4^B5>#>KZ+N9aM7WCmk5Cby=mX3EZr%9ER_{;)C&d4#7c6B%0I zW@In)}wQR2m}}1mX}YmA&W~kz-o!_ zEO0tmZxa`DQ}wGD_0VRUCPP1o6SmXE%#gNrPXCygvtUdph+aS0>pGc?(Zn8qMwu8h zXuwG^1;v+W$TMPNIv`_A=7{lUK+Pf!kqsmaAT~yTu{|g(ENt-Le)dq)<45G5+H&KR zO}MKZ*@)tJ@SZ2usLy-D>$8HPxUv+dkPcp(YfoAR=4TT87k_*MbcxeUOD;GiRBk$r zbm)EXJ-O`WE@HfE#}l*jIDDRoMLL)nUM&)QtVZw
      DC7IdO|N-W;fB7x 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 @KmJ|^5=XF!9wIcNiM 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

      !z(Wb4eth6sfCR%5jwX6w$ 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 Qy~zLsp00i_>zopr025REFaQ7m literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_46.map b/help/html/inherit_graph_46.map new file mode 100644 index 0000000..ed09396 --- /dev/null +++ b/help/html/inherit_graph_46.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_46.md5 b/help/html/inherit_graph_46.md5 new file mode 100644 index 0000000..a8205bb --- /dev/null +++ b/help/html/inherit_graph_46.md5 @@ -0,0 +1 @@ +fb30d1518a50362cb25f87212a84cfaf \ No newline at end of file diff --git a/help/html/inherit_graph_46.png b/help/html/inherit_graph_46.png new file mode 100644 index 0000000000000000000000000000000000000000..84e04e17d75074abb7e163b12c7546f889c25215 GIT binary patch literal 11905 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 Vr6BjX7<$SP;vzD_d4k$5{|9QVjYj|g literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_47.map b/help/html/inherit_graph_47.map new file mode 100644 index 0000000..a4b6a57 --- /dev/null +++ b/help/html/inherit_graph_47.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_47.md5 b/help/html/inherit_graph_47.md5 new file mode 100644 index 0000000..58fc105 --- /dev/null +++ b/help/html/inherit_graph_47.md5 @@ -0,0 +1 @@ +d73487598b394ec34e35c1fc7729121c \ No newline at end of file diff --git a/help/html/inherit_graph_47.png b/help/html/inherit_graph_47.png new file mode 100644 index 0000000000000000000000000000000000000000..a20c3479ccd2f4760dca9b5d1bc091df25fb2e09 GIT binary patch literal 12144 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 W*~Fr5i@*pyLS9-~s!+o4&Hn?p_u(J_ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_48.map b/help/html/inherit_graph_48.map new file mode 100644 index 0000000..0b5f909 --- /dev/null +++ b/help/html/inherit_graph_48.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_48.md5 b/help/html/inherit_graph_48.md5 new file mode 100644 index 0000000..c565caa --- /dev/null +++ b/help/html/inherit_graph_48.md5 @@ -0,0 +1 @@ +082f17137dffdb6f33d5bc6d829a446f \ No newline at end of file diff --git a/help/html/inherit_graph_48.png b/help/html/inherit_graph_48.png new file mode 100644 index 0000000000000000000000000000000000000000..72ae3666af92ab39da3ce0c862847c4fabb45687 GIT binary patch literal 11899 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 NR24N9uyU49{s#yalM4U< literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_49.map b/help/html/inherit_graph_49.map new file mode 100644 index 0000000..10b0662 --- /dev/null +++ b/help/html/inherit_graph_49.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_49.md5 b/help/html/inherit_graph_49.md5 new file mode 100644 index 0000000..e51cfd2 --- /dev/null +++ b/help/html/inherit_graph_49.md5 @@ -0,0 +1 @@ +26b77955d7d55a376ff01a1eb31b41c5 \ No newline at end of file diff --git a/help/html/inherit_graph_49.png b/help/html/inherit_graph_49.png new file mode 100644 index 0000000000000000000000000000000000000000..81e215bb24589b9cf6a5310943bb5f3593dc44ad GIT binary patch literal 11289 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_5.map b/help/html/inherit_graph_5.map new file mode 100644 index 0000000..a2bbcc5 --- /dev/null +++ b/help/html/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_5.md5 b/help/html/inherit_graph_5.md5 new file mode 100644 index 0000000..0c34a87 --- /dev/null +++ b/help/html/inherit_graph_5.md5 @@ -0,0 +1 @@ +be07ea45ce5af1e13fabfe655622e801 \ No newline at end of file diff --git a/help/html/inherit_graph_5.png b/help/html/inherit_graph_5.png new file mode 100644 index 0000000000000000000000000000000000000000..4776dfb1b4e8bf4ba0308461dc898c1464f0c706 GIT binary patch literal 2833 zcmY*bc{G&WAAdv)vJWLH-WY`pBTCtuvJ69-rm|+K*Al(PWG~Bzn1+~?lAX|GL^PJr zj3$kJG;OlbICC~Q345WekihnzC%>tb3;<&9Y>*b1@Fz>zQI2-Y2io#loegV~oizg~ z#B{n>wvC!k_MO7?(R{r2=7){qY)YVY7zVi+Xn(Q0GQYWz$0^nll_Ri(w zbL(yT-O7zo0|T_8j^&808{Ko!Ys2fe)|z@Ea>sjQr7dIWx;77ADa0=DFOxm@h-B|- zJwD{K=bh(S2QhK+_2r2Ptdnj|Vr{^nu&{7OX-ub&f9(l<{nb1a1FwnD*YEc?Fkm1Y z8t@B!Eq#QA1Zg2pS$Y6s*VO;*Mu)ZPqQ&jk=GjGlAD$YWJUKc%ETLqmt*3Xka*#$v zXqv_RR@0_?T^icAy_>(a<&b9@=)FR9YlOrfk6P0oCuYYLG_koK>2PPc|C zDsC=(&`@gIB_&0p(cn5d*m6w3Al2U5+BdL2P^kD`db+2q9=KdgD1N5nq08%^->2H@ zL*^Rl>b`})&dSPydo<_Qp-YJ*k~~DHDU#>hfcJBA%gLNReC{a#K;oq#LMOw%9^Fgg zl&aW2c=X8VpGkA*SoIZgAiuD1hvlJ%9rdn3-rffjzWrKXuBxhvHl1LzgWK;Pwk?sJ zak<-*Ym%*vGB*bj{sBKfe*8GE%JGJL>dHQ5m8v}4+dH|q=n;3e$6G53Bnc=sRJC2IfP6m@7xiWljG*- z*!!W>p#qwqGkgMwy?b|;fAO&XFn6#r)Aov;-CZW-<<+jf1$*_Y%k(8D{HpwL;BO)TO8854=RT4-f(gmukQOK-aWMl(#PE1tvFdTlN90SCT zjk$VwOn@Wa_!d7LuR%&qK6?lnw*2vYIffuCk&=>v*h|8H7vHUO2U&Qo6s=n7TzSgY zw*9d|z|gf<$iIw&KO;jrd?nM`R(ZVf=9`VKI@_D88j8m*T&XfOOo4-(NlSA;p?S*L@_19!ZXn;Oyc2#Ng8_h#O;Jf`l&viQ959Uz-~Md^m=`z> zWn4pC#o<=I48JUwSzPLynDEfdT*RNSva%}2?A^CdLRA@rxZqUMqg$q5|$F9$IKAJxm7{A2R z`}<9-z{0`;cc5Z*echwRmrdLa2W}QOG+MjtbF_C>+f&54hPI5 zB8T3VztQ*nYK&!2x~dVSA18HU5*EKi;K#pBM+&W3)Q zq?_LSxv{w^02rH?G~ySW+}!N9FsG5oUZw!x*1&I4IaBm~nnf-tDVg>T!Qsln?2dZ( z_xH1AR_@)q*COdF`LH9?T5U(%B%L4vd-j~uhBQuURi*JcT~HHE`1nj$U+J(DlT}naoNleMHNvfI zL_s{USgfya8JR5iutPo>`FHn|s-B@Hi)>icubz^r;zD<-^P4GYN2(Usb73=tQf!qtP@tI4u_s%JIRJ7!Q1wEb>) zE+wV?|+zW4ZX%6|0VZ#AeG4TRm3 zAq4&h)%3C9hB(uuH>LIHn=c(hlHQ0S_B@w+^5)MU42ETsyF(XksJNHI!MM79nVJgu zI%Y)lQ?Or~?aBs?N*)TG=lx_b7+^`XGHg*O0RUG&HXQ-l1%l*w2#>>ojQOyD7ZnwC z)maDQWY)F}rgSXGH9WiyO9A~|4rT|DlClaeaC|?v3P$@a{zg^6pw5qjA~_?kO1!h~ zroLKCC=jf*F6;LvAJ6NVXo@<hQ4sN#P=;9H4J|A=u`&VSpxP%F+M~^~t3b9Atj?%7!k$jz+kU-sH*&cQ- zkx%j)DPoPdXza>Si&v36VEW|oJp9{0i{yH~iGb}*QuA|nf@r`poy=H_Cy zf8PXkvX=zY)NFSZ6?OY1=T_ic0d7>b-W^&E3rNb*#r{5Z$NmjyK!0v8c;W}6rPbob zyKSjiSU?&LWv3zdr_rn6AB)+QIoFd%t4# + + diff --git a/help/html/inherit_graph_50.md5 b/help/html/inherit_graph_50.md5 new file mode 100644 index 0000000..4826f88 --- /dev/null +++ b/help/html/inherit_graph_50.md5 @@ -0,0 +1 @@ +cefc31c51868cc8ee1e41518ddf1c917 \ No newline at end of file diff --git a/help/html/inherit_graph_50.png b/help/html/inherit_graph_50.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c6d4244f265be21253e1d907053a64d96bbba5 GIT binary patch literal 7141 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_51.map b/help/html/inherit_graph_51.map new file mode 100644 index 0000000..52e65e4 --- /dev/null +++ b/help/html/inherit_graph_51.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_51.md5 b/help/html/inherit_graph_51.md5 new file mode 100644 index 0000000..0c9a418 --- /dev/null +++ b/help/html/inherit_graph_51.md5 @@ -0,0 +1 @@ +d8603b3ecb8c935526832253014630d1 \ No newline at end of file diff --git a/help/html/inherit_graph_51.png b/help/html/inherit_graph_51.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a42447327a72e474396fbc3d59c5479f3457c7 GIT binary patch literal 6799 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

      1Rl1Tm)3mLO>*%pr;Qp{<%)OhyI)yd`); zaQ;2U8s7wz2GpXJG_4%?!IyBFCr_S$764>OrnqfFYpa};!Z-(9Mj?SBX9$i8{8VwP zZNx2vaaA=r8`bP(+II)Y%<(wyos>E^1_lPe6vY3BLf3wR#pd$n2gMn$7TNBxA)dSrF}styC(Otsf70S z)tHcwkf6VNuh`D3#D0dA#IFUn|ix>&AIC>WJlC%~l~B97toz8&Cwy4Yj@$vn_-C_mD-LnJ7}`Z(njMTnl9+|f zkaz7<)C#tL{|54=XJL^${K!#jaQVT;5GJ#x6BK(c_uZ`q#? zaHs}^cmm*F+Gq1Gbpcr8>t z1HpG+v6#)q+FH=8DKnpWC;95a?NlesN=JwX&nxxVyBcBb<`}b5{nJI^VD9y_4|wPC z+sb~XNNi=NuhA-3PA}n7FSJPU%JG{9e3aL(bCd>;Bz4I##cBLPA;;1Go-U0 zD(=2r|!T%4b@O#6)&DF_9r4ZTlEkT!b^mb9nCXaBsTSyzm@ zFLlM(o--Wq(`!k!k}aY6BN zy!7t3;v_9^Z~k`n6E>P(cI<0Z(jUAc`}|CrG)-!DDb``KM-%RU@7B>V^ge`O{ajTx zUQHCXd%ZCiqFkl-sX3B8CE?_>vc$gOaKb!1mc;&SXawjU87P1bH&}k7t~TD-+LE*W z{-&WpDwN9xm-C1+B!}KY0C7o4UA-rU@y=b=M-Lvf0rde)|0UR@CP}62S!;{;#`x^4 zc|4-><*|RWnbuZ@KH9X};faDms7`TQRMahD;h73+b#3h=wE}-q-+k2;r|)lWLnD4l zmf`JW|ICu>Xe*jM0;^G|XP_RfoMK9urqyMq^mi27#oiR>Z6EDZ z{L2>w7Z;b!+!|x?b{A?_u6gmZ34*vyZ`~PJo77rbT6SfpJff?1ZF0oC7^|_SQB6|( zF3xf%v{mlT5XpLt=K9d@d7AWNIZVjXJw3m)nsH_3p;dctnAYYD~cg z`W{`n>ThM%6X}Ay8g+`_Z?d4Ng40{i4wUU$WhJ$5{Fs%>HSd3Q*8^}XXhljf7>4Gd zwOzYcigX43*)^lpjuRE(ug7MSD!BVmi(3coJK+p8w)*;n(N8OJeh*lm-n`liOS0() zy)PDv6@J#zR9viDP9QEV9CgDC~NIr@hP-2^68f+vLnPh`sAMZnSxVYoWFH>?n@gC?@D7e0eTrk>`A0^0N&- zimtmrYyMjJ(^ee07+DrKSvP|Okz4&kHb%=v#g%<3pBWC`*vR5@2Ox7 zmBK4236<$fu*k&QeRXT9ug|h=bKI>gsJNS@A(gFJpc4-jom=QmjkCHVB+hHn7uWor zSXRXsc59+WU%Ka})(utAzrQGNmH^pWQzOyI1lv=UVru@ZIHG%AvAK@flO88)#M9W& z02*>}fc|oFtw0|^M=9sOL)El%i)m6(E$yTW6UvqBc zWhZZEu{T;rE8V?!FSoGezT;?{sryKY(H;E~E~>o7#xn>9edmst9{&3(l9}OixUsU9 zb+>NXm1LH|=4;r=$w|;{H#NaGnJ(-Fr7#4%jq*m6{oUKnGO?*VSRbogSy=(t0{YfT zz&L%y|+f=_;SL!r=3{@ot10)PfE zMnPxKjovJsbG`CdA2f#UnI-^hz(}#Zz1_&j2%I1-Ev=xSAeLE}j*4oQZYj;cY~@EG z4*c$K&7j`Cjrqt@dx)5upI20S`vKc|(>!N4mFmf&$TaZIgj+9|GQ!*!zD8f+l=1&M zbvq#_B|+wq5>}B`Z>L^nTtYpL+V!Cf{U1NavcLlC$$>rl{3bYJlG7j6J}Njvd>2 za<~RMX!Q)C;$a6J&G$JIV4x(<$F~T86HI)r+|Xz{+47%uXk!PFRvnv|c;+-VHa0Mx zdgi~v7e|^r0WPkuuLnip+O=zc_qVprn%-^^lRn306-`Yupz5}^H^-5snVN;_8X6^^ zJ~=o$pAh9vqsxeX&OL>d6!MvUOMn=G^O9}1^afPk_ALRVai})-#I*g!i)^OG8SaES znV9U^DsvNd;oODw-zc%j^0Kl{k@W*2sxaO5N@{GFS$$uw$Q~^=0-aJt)Io&F5Q8-ekcPM%&pw-&tL^aVCRkLHAWnYP`N3 z8BN{QDtb3pWTCM{D2u=bwMTppuww#FL#0MtK7R+OcUMv~oxnZ{Obu zN;!?H-#-!PL;7q9B==uf$XkeL(c0z|-JeFaqf;5^yZx4rLUL5jEj4}hHSbq!t9EUG z(ZlFf*;7cDJnd_-D@$-KE@G}mh*00F_aWJ}K0}?bpZNu+^dca9VfvyVy{gz{(4 z>fIN?FgB9z+97aZeND|s9%SCi;EZte^sX8q$_W8}e!1%gj#&x^MX4zi0u7%7>)L`% z75f#5-F{RJRRbYT0s`lq#faR*+#q+3P$9u5Z3;B%QSXk<-&lZOHLYAmM!r{%r7=|6 zTIgJH?xgtO`S#3F4ecXya?CO)I{u4X(A;>Ump2Bdp5H%Q42!$jaC~dom)J# zm0%7GFmz~_LjFB661-SY+eAjfUzC-XE31_})Q6!vG*=7w`1mIM?cLqQOxBq6o;=wY zt1K)k>LL&T?AL=lf?t6rHF&D3Mu!Xa{b70hbD*Gr*3k3Jpac?dh`k4gTF$cj)^szF zO&P!K=Z_xsp-y&g9=QTJd0h$^x2=HDX{XJ%jvbM3wOPkD6P|eHBlRe(~v9z=V z0J+4pF+HH}H6`$mX>QK4bjL1y0nVH6?%S_8P%s5yu8XuK1MYZT0;8Wo2=Cr{Dy+=6 z0AEN1uP@Y&sLN1epW=W|yOX7fxf{_!WH;MIv3|CD4@`$LG*ndVoSf3iU+$l+D{OS3 zhlG^;zk4kI&Kb??A`PBCbv%`XK$6Jw@lbYl4bu)0VzI + + diff --git a/help/html/inherit_graph_52.md5 b/help/html/inherit_graph_52.md5 new file mode 100644 index 0000000..edbb536 --- /dev/null +++ b/help/html/inherit_graph_52.md5 @@ -0,0 +1 @@ +a11b34faa86172375d11f59323e9dd9d \ No newline at end of file diff --git a/help/html/inherit_graph_52.png b/help/html/inherit_graph_52.png new file mode 100644 index 0000000000000000000000000000000000000000..e4033d9c77c8fa7b8f5c510214c8413391195c5b GIT binary patch literal 6944 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 + + diff --git a/help/html/inherit_graph_53.md5 b/help/html/inherit_graph_53.md5 new file mode 100644 index 0000000..88b76a6 --- /dev/null +++ b/help/html/inherit_graph_53.md5 @@ -0,0 +1 @@ +a0b15ec7d07edad8cd8f65ead0bd0700 \ No newline at end of file diff --git a/help/html/inherit_graph_53.png b/help/html/inherit_graph_53.png new file mode 100644 index 0000000000000000000000000000000000000000..ff01ccc0ca21aa385a899a861276b6126f5c607f GIT binary patch literal 4737 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 BHnso& literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_54.map b/help/html/inherit_graph_54.map new file mode 100644 index 0000000..b2d2c09 --- /dev/null +++ b/help/html/inherit_graph_54.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_54.md5 b/help/html/inherit_graph_54.md5 new file mode 100644 index 0000000..4d831d0 --- /dev/null +++ b/help/html/inherit_graph_54.md5 @@ -0,0 +1 @@ +55870e5effcf5c29e568f4213945086e \ No newline at end of file diff --git a/help/html/inherit_graph_54.png b/help/html/inherit_graph_54.png new file mode 100644 index 0000000000000000000000000000000000000000..c09091fdab5b81c3139720157e5426188dac7168 GIT binary patch literal 19527 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 E57nq*+5i9m literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_55.map b/help/html/inherit_graph_55.map new file mode 100644 index 0000000..69528a9 --- /dev/null +++ b/help/html/inherit_graph_55.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_55.md5 b/help/html/inherit_graph_55.md5 new file mode 100644 index 0000000..90d9c45 --- /dev/null +++ b/help/html/inherit_graph_55.md5 @@ -0,0 +1 @@ +9246b57d50c50b7830d996a148de3fcf \ No newline at end of file diff --git a/help/html/inherit_graph_55.png b/help/html/inherit_graph_55.png new file mode 100644 index 0000000000000000000000000000000000000000..bb54f2d8b9520e611d54d72a220b4448fb8d102d GIT binary patch literal 36315 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 %NXUX3x60^aGmQbQ~1MO79VEKFVnJX$)!ui~L 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 LR=uLU + + diff --git a/help/html/inherit_graph_56.md5 b/help/html/inherit_graph_56.md5 new file mode 100644 index 0000000..5db5814 --- /dev/null +++ b/help/html/inherit_graph_56.md5 @@ -0,0 +1 @@ +ecb227e91ce0bb2d2cf446764156720d \ No newline at end of file diff --git a/help/html/inherit_graph_56.png b/help/html/inherit_graph_56.png new file mode 100644 index 0000000000000000000000000000000000000000..39dade3d74ac26e3e65cd0335b30740a0bb7d020 GIT binary patch literal 11873 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 x?E~FGQ(lUPA!vVn_ + + diff --git a/help/html/inherit_graph_57.md5 b/help/html/inherit_graph_57.md5 new file mode 100644 index 0000000..b3a4419 --- /dev/null +++ b/help/html/inherit_graph_57.md5 @@ -0,0 +1 @@ +3fb65958704aa0f15e9922df9dcfd812 \ No newline at end of file diff --git a/help/html/inherit_graph_57.png b/help/html/inherit_graph_57.png new file mode 100644 index 0000000000000000000000000000000000000000..6e19eee8a4ad321eee12e24e474932dbd0b4625a GIT binary patch literal 11041 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 + + diff --git a/help/html/inherit_graph_58.md5 b/help/html/inherit_graph_58.md5 new file mode 100644 index 0000000..7228f13 --- /dev/null +++ b/help/html/inherit_graph_58.md5 @@ -0,0 +1 @@ +94ce751810e1c5afd9782d5a7d9ce80a \ No newline at end of file diff --git a/help/html/inherit_graph_58.png b/help/html/inherit_graph_58.png new file mode 100644 index 0000000000000000000000000000000000000000..70e0d4625cb290e94484e4d3bb86d6496dcd805e GIT binary patch literal 9145 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 + + diff --git a/help/html/inherit_graph_59.md5 b/help/html/inherit_graph_59.md5 new file mode 100644 index 0000000..e623f85 --- /dev/null +++ b/help/html/inherit_graph_59.md5 @@ -0,0 +1 @@ +9da7357f921e9a39d07a7343182a71cd \ No newline at end of file diff --git a/help/html/inherit_graph_59.png b/help/html/inherit_graph_59.png new file mode 100644 index 0000000000000000000000000000000000000000..d806dde282c2ac5bd17d09f52f4554691f4a9708 GIT binary patch literal 3422 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_6.map b/help/html/inherit_graph_6.map new file mode 100644 index 0000000..bf884f4 --- /dev/null +++ b/help/html/inherit_graph_6.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/inherit_graph_6.md5 b/help/html/inherit_graph_6.md5 new file mode 100644 index 0000000..0edf17c --- /dev/null +++ b/help/html/inherit_graph_6.md5 @@ -0,0 +1 @@ +7519c7bd7da40d2ed227b41d590b1601 \ No newline at end of file diff --git a/help/html/inherit_graph_6.png b/help/html/inherit_graph_6.png new file mode 100644 index 0000000000000000000000000000000000000000..e22a2ebca372c42ed08c61c17e646f9369fc9356 GIT binary patch literal 38843 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%0DIv5Z?JlNsHO4K6JgUxUeFA?EdAnb zJpOdzbG)t9L1~($@XQ2QPrEV#F)^`9^DpG^ci=uS=H=z}8tz+-c>0tQ6`zoh_nEl- zFP|9d^3iLi9At#jvbu-6PQhDh|6_4@r!O{C?^Sa021Q0u zQBf8gMUY?J8Wy{KCH5Q&GWmT2MNp)8aDz*%MC)&o7;B5f4qJMae;H=A`inQSDcz?)-v;Ix^;&MA;h+Lzl9Fn= zKm6~iR8HFvw@Smp$Y8#I7Q<*D0(h~@*UZQJ{?hP&NMFG819EQNrU3^@$!KtTRCoL3 zOHh8DQga*~&)SyKeM6>Gu1|=r-(Cnu)Js~iv6*gO{&u<-?%WaC?GkqD>EPz-JrwVj zKSm)&Dliflbw<$~eFtqV(Hq02#&#Ot-@kt+io5g4$jUlw{=NfU1o&j|z>6s_D;wDB zg5u%jl?H!HovVwGkkC}eGb)g8_(8o0$}NnQ^?RnkwSQ=Dp9JKKjh($!kKN2# z)Bo%nD{{jB5B@gkf8%be(moyZDc~dj401xm{lOk*0)?Y?xfxE0Ud?L(FlMY+zIo}b z@;}tm?AxVzXSK&f2a!~Th<-sy<~bU4bT_-9psP4IJ-*-Q^d9i?ikvQ2vFlTR0mr~j zk|Ax7_?_Fg@t|P{tgIALkW3?X1H&Mg>>deXK#?3=T+E5s4$RDgWr+ca0@gFd$o6& zsnus$IT^BtO(0kdjnP8lLeI;^?4Vro@}4}2_Pt>-(fnu3cEulk4=xln)aF3lf3O|+ zx{M?x`SQb5@o@icJ${+mQYfI$fnb~E^<~%-pvH-$70eDu6VN=XWN|=o5U_MQd*_uh zwmXAaQj*)An-4Qc?kC?nFah$_IsU$@HI{XKdaB(`?I|w`J{qVCW6y2&e!6a^4O49h@71=CPXqy2*L4Or6tS{rdJOAT8%l%0L%P>mWJ1i8Wa>+Iy_-oFaE9txFYL( z@4MZp_fg~icP5nIe6xS``ksl0Oqe}#MPkrrL-#f;(XC=28O3WU;T2ZIr1-iLZ^d52 z+P34`#fxl$g7OVfgbU8j-!qB{exh6a(h|C4sgeiK^YIJPk!xHE&iC#`oc6^mD z1OEi2wl>IQu7`NK8^a%`KHoy=aDPRl{Y8sPU_OgmfG9f*2MtBQ$+<-*PKo}t%lNS! z5mk5)ceTMKNotU050Bp@;;6)#e>RsV!XS}Yo0|)osNkVGSBI0+6QU+&=H}&Cl?h_f z4Yi%&{vJOp*OiI~_V;K1WUa63+XBHQZTFG*|*MQ>(?52!A+ zOgK20&;Abio|)OyKqq?P;K~(=or z?DKMZF^L;u!xrmZD5220M}uv$m&y~$8+L8iEvw7D+f@tNfj&c<>8;1@sec!VPPlSU@* z5E@t>(++$%z!#v(3jt&d+_(UwJOfksdZk?Oix+BHEdEfaAu1a{GB-%OzretNj-Og= zsNqCtec45 z1%ywuRddA^-lHQUX~pl^SVIvY3lJW)frsKwbHt!0s#!%$qc`YpfQSn<(VKHyRb72L zEdxxLh=(;KBm@zefPEH}qSeQ`*6ARs2aG2KT==r|#P;&8!Zt%eVE1?EbX)hdMqHAh z`Gi)_VHj$55PwA1{&6nSSyX>CVEX70G_6{ukO_%#gDGK{2t4GTg>C3rgm1azj0!`| z^G3gp95f&BI%t{OLC0=h>w{t=i?~;m;n#_dDWLQDru01$wCh(-2g$Hi*-1Znamipm zB6=C~oG>;mEefFVz5V_72Vx*|c^My%7-Ydl84MFFz-2hF0^aq-fl@?N2O|@Z;Tlh# zlq(-zVP*!mEr5B{l3tWxt(R6-RxVl>5fPyW`R;zV#V|CcFf-@ZiZh&&E-%e=#_>J(^!U8I-w7Vexm*v}r zlmIkZVWk^5KzhEV7-{lNXJKV+s!pm1gxy;X|83B8+}_;UGK1cQ@AL#fLr}nVciXKC zgMR{k{PbzEaKxqM(dUey<+B;9x(*`@OeG~H?^JraxxEFfe&rAjqc-S- z5NsXvlpKtV0d+1&g9CFspuu5$9(K+M6on&=ApKNkyHF1JL&0(+??ZF*cFGW$b&F;=B7rnu0^!BO@uxzsj=O z7n695(eQ|fEFwR-j4MRbc7ZOgdgsLpQcS<_c9Wz-rJ?kJ&i(zRZqv?RgWXaV-~003 zl|Fkm_>hLC@_}M#>d~HQQnxHN!?OQpgBU`7%N}~v4FIvXwzpp$KZC6k5P$|68Wa$_w^oX)#$H^mgOL}2(j(p$IMB^7B7n|& ziv%Qx_Amj(Yj@NY9EWI5uoH`ZQRKm7FU`+r& z%H`Cm9LYEriS6~vR8+!N{6az@+8ps$Z6B;qp#Zvivb;^klP2!Y*mvD5Gq;pT(Azt) zw&om4Tc3v3+-zcu&e#4nP@_r~^KqpdhSc3Mq9HXk*WrdPKQs4u4&^17Xle!mQ8D}V zgfHQL;T7b-gAP|{)${bk8_~E!StSK>+w<;a$Zm8mO05ndi;Jw2w&G@`|e4GyO6fnCtLoBJT zgkuoz=6}j!yA9D4d=IRB+e&qIUL+sC$hLjOXY%$k;|;%eh>SJ=5v%( zRHnVzH<2y?Y|8Wi|9b5|L3H?FheFVC2zC&3pF=!>u`OWlW@2EFUT9QF6Ze;6^oKZc zu(KQin8#zVpy&RAEdUUFNQ39@6LV&8ZIr=S0tIsxn6ZIW&XAcVfMtMrARhqeg@HLy z0LT|CBZ5r;;3^ctr;6}F*$-$IWOfFyPyqpfAXm0y^`F{D)Y3nba<4tcAA|~D6-Efb zY>KdU6PTP(p_A0Y(DGEon$rM#die{A|~*Ildz`F9Y{E_W1yXbm(!Jpzi=D1Wc$< zgm?)oODOoo+}zzAN^Nu@f2^Y+bVu34uFJM)(k3R1yH9oE7oWRyLueatcTgStg1-RN zfCbXQPK29({rnkUP*_-w49I~2RQw&3o9pY31SZ^DgK#3tI?y8* zOWnb&{BL_3ElhcP#I-julzPxE@x`Ga8-m5ii_sAXqulnX?i~~~|SpSTZ z^rmmd^YFqE7SU&itvOC+7W0X3siEDmZ!J{z&D=>Vy*)`yOu0XKHAdP0`DV={xSVD> zsC0M}=B$XF2h*p6!G2s0N8ijNTpv%j?SZVbc`3;T`#2BU9&Lb$4BFN<7-sMmrd7aX z9hrOgp1%t4o&9_f*eVP}ceA%X4Ybck1@$%8rC;Z0XlSTK>`@REV7N@I$K#1X%5v8+ zcPuFN+F@9ZPD+4bQ~w=Vg1m`SFc856qve>Zd&$X#;1)X%dh~P7&Z*>v4=T;}pRoQK ze)V2goV)GIHUELl*mxLhVcHUaF`Ao#2l~;DA#+t<>$9s?udPLYYt+J=a-A$-W+uAK ztA@$R2?og>Y-P5S)uK^QBwS%(IgfU(Dvc$**3(7;p7kA^UwG;mbmDG)@DLmWXX-?e zItr!)AvOlF3k9~LwHPQ$UK6=kp$^ItgRb`PSpyDxYtAp@C8g6PpNz!5^FAbRZE2}j zpY{e<0R@U)QZj8oL=<7yz(Ap+pB%;w39bz)L%@QYUD@<%_>Vb7oB^E{?tAjV$n zppso{r=YENFs0d9HH012dE-G1_ju;EQmGnF6Oc)OZaj+*f{hpen889?slPTvOmGI^ zg98x;mNkPuzf*#wBtQQKK)rwiLhVcl)(n`G<>5b5Ka02b);m#ii%lJ_+B4S+ixt6wGuohib;q22 zn{2Q`v!F?A?oM2HYHBJ~@rLT@RW7dIKAVFU>AYlQWVwZfpJ7B=mreJVFEFJ`K|vvQ z`l%e_*$^=MVX%25sKz17;^rm-JlVZq$YYxf16C19P*57LxY9h(EgdWR`E&7Vnx+Q*>F&70Jha)0AX=^> zCl_gWNHA^;+PX{0y^0@iTWagBPPIq;dT&hu+3=h|N%8Jfb;ZGu2hw;zn%5QgaeTiG zr732H&HHW0cPOVHLmsKo0Q^mk)>ZGOpJuEbIA74K2{?Ud5qOh1X0;FN#UE2taQ7l5 zDbypGtY+C-9&ysgsOljPm~;U{JvyFVyk-yJA<9ximm4O%L5m3UeiUIGPgborVkrRs zGT?S-uCA`Y7&vyGPKMIiuZ&!OnUKIFAW+dhYr>>N`O({szp`YNIx zueCJ{eIxd$nDBw?4d+x*Mc2aOfw-PiwDV|6R#s+Xt~zq(w>qB5Hes4# zdKQ*8om>X;V@3>LrZxzg0b;;N>r?95dCe@k)0UzCj6TSt4vLA|*0@JfBO5wp2;u}Q zH<6OyP*_+_$xGAN=l8C%VWa5BtGG2P-e=kxp#)`R^QkB^n&QbdDk{=!_<2z01MXHQ z|39sL1yq(@y7o&WQZ@*ZDhL)RsB}n)ieiJbqJRh(fV6@%0wRJKh@x1ON=S!<0wR*q z9nyj{@?RUjnRDjMtXXHy`e)5rv%cZ|-gus8?|t9beZ{TIs6j#gct7<%G^n{9P7WhK zfBukKau0P4(QV5a_pQ2f=gt)C^&tIcEsqt$-#bVYZaMA!TK>1Ngjj!k6jjR#p^@78 zS^Ec(f!{J@hFr&7W?8yOU0=50f;qZH(9V4C9#7GzdlMVm_i0z(FIt&}^!oMuM~)u7 zuyfrb_HQ4EM1VC)?MF-${}JQoriPTz9<5w-!RD8^H7vJ?@XDHt8Huj&%Y9T{bM(;B zy$iYS_t#%wiF^-NNrki9aJubxHkOnWW(>=oWp&-FLbZI!4|5BC+`pM1{@9^yF^~Bq zj6}ByD-_JnzOWy0TP~^Oya=g^p@e2mO~qt+dSK?qghuK;Qv^7WtR3E(0JYP zq^QT&7#vwKu`nl8xJ}=`1iaJh`CfLt)19;9Q62&8-)J|S@wjqXA~dwOGM=}^=!)Yn zAI_Hg+Xiz`{wba;*AG#?Ei~=!wYzaWcV>swHZi5&f+s z+RwHh!NGBg{mrt%ve&4CuT!o6`E&5n{(>Loy*=GeR1YsZ=Ii@HTU#mVt@x`|t8&wF z-zZXKlkX@$^{{OJxN$J)*fHUcskX*zr)NLoeW~i=uYE%a={1*(fYU{s&VOo28>uyyf z>0Pc3xqUm&KtYy$!zcLnr~W1O15Pi!q@9$+LcX`R?W<^va)B+ofDLjT8rt0drHdW zYyCpa!?Gw$P;lrt3!HE;#pnX)3 zx{JmJz4o2y$>lyCXrmJ+TU@iNTbj_7mpzib&$4!>x0$)QxV*glL~n&)TqcHgP@p}) zE5*<=CqpiI{P1D^$}FJ%MwD;`K0}-`aEiLRUm$p=Pi}s`JKAfpLJn#B5k69N)=u=r zM2b^3i;DV*6`q8(<_e~pZ{Qh)f4FvS4c6$cF&BKGky&qa--t3pQyVSKxzh?WnbEy{_Ji8w`YM5JaZBhHkp^Rr& zIQ0@8+r{RARVA#yRQvk+;2w1|GSc96_SnRPDu(#jaBN_m=)G3}s_09DSy@@BF7r|_ zR0s|Up}_$Rp;O6wDoJ~KhchInGH9HaNj^FGcq-$$Kj;@D6rh(pMaq1c#CxVQRC>C7~+)y<2G*}pX+mD zQB1MFUcT?Aa^rQGqQWEResZ%Xj27T(01t=FW26zzd6(owU^dw8=Hm14{R1AEPnc&s zy8*WT5k37c$sC*#4mVc4dR=0hJufM`?|^exM~ioW<;12_nvoeTE*4&|1s+DlY84Z+ z07?SUNgY(PWJK{d!tuxMnS^;fE$Z85Q>G_?Wg8 z;-`ihdMlouI(d?#R$p5?kFq`SWaHh7Kej&>f{Nlq^$8Wa!h;7DG7oooN47J%TwE}eKgyaa0DkCj5_5|h4t2G0ffPP>%Cg!FA0W7#tHr=J1 zAV{>LTx!gj#w8`#&Q_G^`0sy}UoQvaVFSY9pQy?kK(BRw4a_EC4Cv3fgC2-y;{-5} z8vB5N0ItDv7cOi*l1=><=wHBb>Q|9&qn)2t-1|~dc~}WrAF;g36<1mG`Kc+dU(X<`Tv8(X11WmTZ&d>WUXV2# z`xPm~vatUDJKj^beoutd)mK%vl%Nocg=~HB#9#>2*4^!imJ-edeijz7T4#OMOc}Hv z-v-i$L;2DTn&~`dlL6{#OE~#uKe97;t?u84^?mr1_KisJTidRU9jf_U8BmjvbZJBL z$@ee5tJu>qF&#Rjo%bn-z0o(&%4YQ9x6CE9)J_ZYlf)JPLfRYnGz>~n)$5*oXUf9L zy_*6&V}HcXC2&q4{>a324bm21%*wDQ0AxVykKx7!koGXfts^7W>({SWZ<@pl;4}eH zTp8Cd7;ba~0$Z7m5iZR466}Wchs?qO_~CeIeDTHu&Lk*_J)x0q%ye9X;eYC-E+%Ng z59{e|Nm@q%uQ2%T-5TM;WV}0B_2R?uH;m7T*UUdwz+1cTE<$4GOo~a5{qyG~;*S7$ zxTz_#px;cr-dXV5;?uw%^O*9^ta5E;@`cXn)}}@SSC#08>%?8ByPka+OOdc3z!~kf zDjAccB&it zVCq7Q@z9BZGE1SrkoiA=h*DniG{fH`wbu97ze9-HP(RuiSBXZe(YqT&GBi9yk1P zYu&bo{#50+(>Ap@(SZDf{UsqyYX61pw)At9`Y~HVS{Ye8>eSKHtZTErK`RA5))JSY97|6 zB`dZ!ma(igH9g>xzrnPp+yrmw(v(02)GjsavXD8KzaEjW-a;ko5MC=Qv$ibxPJboC zJUz>e=;!o-;^OtcPBX#G(c3q#r6$humz|QH-fpMgd#GJ!S@KVx9_jaFsrxnO!@0rK zV`Q6zMAC`uxB(_q+tFT}koeO_gj4J%A})Dn%2JmxlRE)a@_WP4hR?5oC4PA9C@{k5?<8nzi z-zs@sAt$!uQ%v`aIGmi8uHM`##K*I^WTRg_b&nd(s63OdpwDx$#hIb2RzE-3jZ$^= z_)m7dBe?R<{a0xIjSG+$UHv+-HIFX*z(e1b{Jey**c9t6G8rWw)uZ7SVSbdZIX|BU zPP2`6r(X5hy@vxt`_n)<+$6np-r0h)fiBlR>A0?o`mo`i{+mqIDHUw7nfncn9ZOYH zee&c5qdWtHyX-cOhE*?^d6>Pf_9sAk%xrf#e>y%ZFR-JiV=_KlwYsCo$xH2#<2~Oo zcu2rka?_+UFco%2+Tt%?=qbd!3RUFkZ>UbM1J&VxrU^v=!S_o_Iwq`Qo#Ek;YCE{L z8>Wlb6~4X*GJ`)YHc$5H3{(BfJV35Mh$YsZz==j+7q6k=Q)QA}I!aN{(u%LB6iGbE zd|knBI5f`evEHangc(=nU;1S&XuQVT)#=3mJq271QnRO_hfET_@XXYYT9)W|o{ zp@kb)GN-2x$BKCya@*Qv%rqa`ye zHIrswU^ruHddXrPKs!tjJv8^Cb~HS9t|+r+d~8e^3JTO?e(;J1R-Ox&``bMW3{R3K z;JN&lnX$hZT6Jq1xJF^Z%0jH^F-3|9s0P!Y*w-F7P=J9d`0H@xUP_7ON#78=P78P8 za2-w;j2)m?lP7LMS#jy8DACpjfqabGO5z$_UBt|*IlndARKXP`cGltH-mri#mNy8< zudQ8E8*c#5VFCEIVl+T3cPQV6SBzZHc>YgA$`9Ml_GQ=1#55Rs1nKv8U#Ge7?iTB; zNsC;TvRQSdFO%&SnFsTRXA807AeoN{++)x%_wY=kjERQRCAPW#*r*+~)*h8tS zz83M>Sqr}>v*9TAPea7J_wIe7B+O0@Umir^hi|fV>qW6-PmC{NbN4Utza0x%pDyu| zHzEes=jH!a)y`hR>;Np$2Vxr==Fi8v)>Bjb{QN8`C*` z2tq!H9l%6}Lcv~ek&=d56Kf7mZ=y+hYq6dZ61KzHI|^m+;rstE6*5JoL^lVV|8w}#l`JTw&v$4842Tz1ZI-UsHIh^b+FK1FMXso z->XjkER(TmsY1=mBiMtY$tQ)i*S3{?nrXB2}6o({qz1$cdzek`>DoIh$emLxVf$ecafrTQr! zT+TCcSs-@&p6QQQovjKi2?@pA4`^~@V`C7UG4#@HZ7fmlK$4@3x+rA+%m=odh2<%p zqi8*;f||qLjvHtxl704}0wrvV?&FK+z4PIdvsJW1THqz^rAr(?Iz6uW_=G!mGTy1G zvR=YEK4nsJ^!yO|B z^D-C``@pI!2O9?rVYC~l6i~+kVvhYXFbC2a#6u0jM%yJN3!^nch$IJ$dPSJxPyg&9 zJWW)hXXR{lZ=C}x1IA)9E^|a?G?kj0mhg>vozzOJ%wMbFO6&^*Xh0?=)vu0;53^A~ zpFkdn68uZxmXZjk#Kw$kD{|gBlJY($M*+R(`ZLq);TsO*J-*Ro}Rn2 zjOiwJ?`f;abq~67U3_V$D}D!YG65?C6k7@f9K=J%kJm)gD&t#WV6h#U1(=H)e}8+H zcot%F+dl}mxZN&uyOETj`(Vi)GSM#_aFOmbxKQXE2afg>N6|uQ1mN zB+&q0zQ8VvAMk3ssrFDq3L6=^+1h%-Umi1WdPhe`Y^pRAVn%II^QLVhJFFLtF-a7k z#HrK2iPryWiWws?-=8Dp^2<7gZt+h{gkwu!P~_4tyRwRHVQxhj3~pR`WSNdxTAti; zlH&K_az)Q{>hf>lf1Bd;sH=IWdT52aq4YR(Oy{$mJq9P6v3U6d zNbR)Is>!#c#Wk?M$zFC3m3_6}<>2oc$ zm+Bs!FkTUXyRY0?rWXFp_cLejZQQKuStaW@5($InUq!q|lFm{9of*r51*chqgLp(k zKYuIs$Ns1kAz{>~?SD_6SALr={pd4IC$F*3D~}x$!~dJ%*th(-)9jXgZ{M4?mtW|VeqhVr62rE?sc~&+>F(t7%LHJ; zMC$CyGGC45N)Ghohi+M3{3-X>eXGYt7jG$#bw_0+1Puq(A9McX|G34)eYC;q@(Kzm zs8>x6kFDb&9LBB+PxuKh+u&6SBnYiUHnF9W8p##G*c z1T1iVHW=DP^VhGoJN-E7@4Dc8KK$P3I`~R6JSG>wG=*(lUU_b=_0-&De->t3>w~}E zKcP-(@33*M-8u*B1J4yg#up6v{99boPsoU^_qf7LF88*spD8WvDF^Pira4QOHZ|e% z#>6}`#(Hd=dk&s?D95tuzyWkUJ}9`9kLlhY?gcu_jQT7nY@&aSLF%3z3ncu zmRb32WgU&DqgB*8RQEGKx*JAXAJww^4Cwb2_*$i9;EZVr!NA(2@^knQ2I z&Lym0?zscTe;3Ge^N?2Ha8Md|MS-8X-z`;DV*y$wrtMcRyBENC00uEx%7Pvv{^VAs zzjT=6NaW!Os;V)riBj&3iORK8*VDdwZO_o$Y|E6%f(!XVfJsi4M%)Z;ZtmT6o}E0F z_T(x>>&^dar7~`8s)#X=pZZu-X=uBNr}=|Bu3DSwm7T9Xe>NQHzRw|H#k2qPX}*}p zIoK+K4l0p)cfJyTw-GE&!QDjN(;)!8p&PW zxO4x3Y1TmYZ@J{*z2aT;;e+?XJu8%)o$XcBo@y=p#+9;^`BGL8kh(jXSIXn<4eIl^ zxP8#M8p@f_&sdoMB#V&d5Y~I&_6?^_dH)*80o5XP_&W`jB<{}f@Vz(kUZ1eR=Fq2h z>+z3Kliri3j67n5N=-{2pNjAp=OcGk>gecTgZJ3a8x!GT;fWS&I%g-kq@ypsOh%H1 zhDNG$FZ-o053Zk%l;h}bzfs%NWVG9CdB85g==)E}!{6o`XP`DW@SVfhiY>(|`=)~a zBiy2-A8*Caz{;qBflXj|?wT;5=DLby&o5rY%d|dm@;6~Rf@{W~2CqJ6XR!-E&!k># z+NW_!dQ(|Rek3><(l9*AjnyUh#WOuE@5+y(y$8Z6z%p9+mn)rFyi1kdN3^YrYu6~R zTh}&IwrhNS%)?OMy~R>C)OO34AF}RZx=3Yd^@(>rK*OaKy`pxTQV)JBmhed_~RGTX0N#k;b*6&esSzKOxGmN5OAp*SFUA z?$2q>%JMAwO~{?@9>M-jjYin$wpins4!9M?68t?(2ULypanFtBJIBzz(PJlm? ze(@8}ZrIQkL$`E$UJ=7Vu3g&Ng(0uLX`hLdy6L|{DCqtJ|A<#2=TDt9eDPG!Q)-VQ zc$VypQ>-CDJbqX~jKgmaKFrfvx+X8<_pc2syL*mVUX@_lYM_ehw0O4*ch}9Ey}PXW z{09cbsy;1I9vCQrkBzJWyztA4e1^om{e)Bc2ea0gLn4kw_)vjFm_-D-)nGaW& zYN-e?;-AhK-}ntn7?-R&q~FdSUZ_K0hV6<=w{> zilXrwk9Bn##zoU!-mqb1ZB2X6+qVb({evbt`ucpPrtGuwTNf9DHoj;fzr1{J<|zI1 z!A6Y@oc4U|jKmQdWZ5ib{%B=zt*8{j_7$HW-^?GaS+P!@r`g6v7^YHcG&F~Gj}_R# z&g@&;;uqQDj`S_N)7(Qb&)NVV+Up#~R)W7qE&f#_0?AC$TUj??Faja&E3-FnUT0Wb z8E07>=C4k{G+#WCY(+0NZ|#;|59SU#S#)XduW#HK?mRAxQzgN*ey7Zrk`DY;eFu=q z#LGPgv+{eB7eC;dlB{eg*t)*2UU}aWqd_qgG8|OA6j^Kj;4=Y>p#jA?AI!E9@U`24 z;ARxSc$^O4L%Ukk3X7({F$gQ=&=HgsKD=|MN=z|XadAuuSIpHTD-N+OE~mw{=ETb5 zkru^oEGu*9%Dhwye{he>bk`aJB|~lxZ~2zdkv3&SX_3+wbH$D=TTz>WFdvBC7T`nb zF!1(_f{m}i(on6<;c!RG)?yUQy7&PNhgLGRaju{l6f?0ltl8W-Kf%?)|I6WzK?)-? z^IoXTk=J+2Wq!s8(N)CN^hC)32$yhwVTBeJY->6QDAC(n7i|(1RR)2EWRg+Q(6?qn zC2Zh2zo9aVfFq2wK_MaeM5N|2@1QQ4cnvTKO!+RgfJL(u?cl(`1xn5{%`n)n7jCd5 z0}obKPlVYJAs34K4Ep%;|4IHPuJV)wv&xNN>HA9;`nBjDfoKn8^nr$yz=qW;SJI-$ z#lNpH_;1+X8B?FN>z(1s@DVM0TWc#N>JTF&lMiIBX+Q5D_F25$qRw|h#RSEd7qYVM zZXXVOb0lVp_2mgom{7oD5yLE<`G+tP#$+luBElC?4zj;Mln%3){Pn8<)XHFh8yLzE zOl8lWQ_r1OEME?nRcP~wJHD*r1mDJu&#Uc0wI%Qf&=`sWj0C_uPOZI;ZXaU44t1lpJK^o98h{q+`3=)0_hw-HUPWNU;{bf1O^&D0J39bt+oAom|&=P{dtpqT|*w~nF z!D&m~|Bdq9WFm%D;<-L4X<)B9w0OiKUL0UxtMh!!k4C-0Zb&HCR958n==fbGn<*+oYSXA#Yezvjc{?<4;Z zpw#?oNq*339-c28A%j@~m<@wxZZnAW!%RV1l4alXuy%ZtrvA7ar2J3Ya6Ln&dHSbj zou^0ZM>XEIT0|A%QCPd^Y4SfOddC;c4}w+u*GNz5%K7_~bdR>U5&;$v5(PeXB5*KH zJZU}vqkjx{AqNnLtA8u9c8DR;lPA=KlT&Ek)!9j*Aa(S^^(TfFHyb*XBx_Z0|$m8F%Y71tM%b? zB6Z-m*Z_mKv|Ax9!Zd(j*?fKUG)a!j|BUM-)|QM5ApNSUrsh&S0~KnR5Q`n+;sjcK z`}S>p#xOK`Vwko7ZCp^mJPXR8VXSS zAvWK@!|V}&8q#?l@@E1b9E_V^NJI1}5LhDjfZcWilKkRg3F{s)g+98O*dh>l_34W2 zw;?VwUs6$~?E2Qgwd3g%>q(d_)|Cg|)%mfP`Z}crCSw5bMm`Be@?p`CDHs&$K!M%y z4RY%0IEdLT;+hDjJXqZWpq?(c5xaR2PZHqH97*4oA<7qo3_ z7}kQ!Lyjb@P@*!K{I~&$q`+}GU{wsZG^Egepi2*N{QnuOnfd$&-0Qy>ZUI1eF<%sr zlj9-6PmrTQxohp}DkzJ-5Ucg9U@2wknyoPLwn$w<3*JJbsQIZlwR%~hfF&ILv6Y-~ z@~h~`kl{v82~FxFm;mGi@uN&1#B>CjUYiY~>cd3*0~o@%Ipdm>*EfD>S}8JIu64)0 zuE1jy_yiEyDK9o<4dK21>C(R1;D`CJD@89Zl8*7(Dv$D9_pfgg6drgn46R>3vW}Rm zFFt^QRiFUuup2I{d(6kJ`<^k|>n7DsC3p6FFjSeSs}0pV))V_?ADjaB^KA>%czr^- zDTktAQS*4c=u)gZg{a(|v)ERddP$p7#D(U?R8@t)r<9X>Wa2qzxW|=c+u~fm-(S4X ztH^yWm2+6>3TMjs%I9r|Rq1h5+hd12uupR5Tvhyv@0?)FcmbNT+jp8kjfuu8(tGDG z^;{f^_)**2c_iQQ(6+w~gC1}7Br7OB%E;97L(#3M7K?a()0r!sk@Dqs>ar0;M+lPLTA_7#I1sX$dkqF% zb!6U&aRd%czLiWy=H|Z0-@P;lZV=ppZypl<*dL#L%PMP{9=ieCS$h_P#lj#~wd6Ej zLZUoDXrj1bMOI2saQz%1H$9Rzbsc+1Az+-2MY!1WU5WN&erN$zmnN#dsyo{#pb? z^{F<1AHeChG17CEBmtFT_(jNG2m-y_09%|tB%}4Vr)KPtk$3^%a=-)(x6i?Z%FtiJ zm2Knx@EkY|Hav5!N5X5!?7Nyj8%4b2$7Y@}nEqf)KXCb~%I~ogo1;4bkPB?uv;<~l zhzcT??aPBbB)J);_rY9~cfj$YfV|K}{}Mh6#ODi<9oh{IC=xL?r2>%Om^@P(FA%J5 zKKq(G{Slt^$#P6eC~lZ`proK+tN!}+Yim8YIrksLd=NXsGI{F#`DG{twu9vlouG9C zPHd2_i6~5R&+|9VbH*|__;DL!Cp0t3152js>hUob&v<;0pQm-^;^Ka=gCQ(?{_b#) z1KodgT<S(ho64sG#aHu3dh5>N=P-#Ec4_qt=r{ zdW3=lV{pVMA_Y7Nq#&H~syaFmRh)NliNbf9Ex)_@)D1XzfQbe95;wLHbp6SwuJ$DF z#LUwj-7j&o`mZsB_N2vmba(7Ndr4t^<;qTy=L#hwwS7%F8XeLzVWx>@0C}>vkXCYU zhQnUca{wF{;ceU0&`y0c76T!NN~XQHVm5h$P_B1!%_!2Vq!m%vRTmUOV5f@6^l(p>5q8cM2) zC?p`7piE3)Y7J^0@$hTzT*u8(1zLL8gqq##=8>ZC7=0 z?5KO9vU_^8=*8=oZPJ^+m0*u*!^{LX04WS}*NLayJJYgu{E3w`ctNX$g+=n(#>&OI z?pp=9bTS%aP+;axRpfC+5~~9e%Y0OtU?ET$ zfgca;TDezywjFssvTk+XO%f7}S$bCf`QwPlY~jCRF^;NR>C8y|*QoIOL2gE{$nArr zI4CSZSH>jRmhkH_kf%Z5sodw!;Tcy&AHd55n7P;v(^eah8tqPV8i|L6EHw-Rh)>HXwqx|T!jX8gbW2~=u|q~DA#rA? z?&?z4$y^J_(y*%WL&8FjJcd1aMNI(&%BEG4dJq$HE=+`3lYE8uPjwmC+Q(xel@4gJ zg``-zcY7~$@BeacvA)HXgrqbi5x)vIyaJO1RD!*b$t|oAhbw zLa8A^Zbx`snN=htc7u5Bp3>Y-keoFH5caro+jn--=0}JY(PnI(pWAL$Ei!)WSeNu> zyn?_Y9#`JV2l5p3!GQ|%ncvB_TOin{yr`n(&sRJ2Gw{gEcPoo@RJ#Xhn0UD0Px+D(>?6P zB_`hxPt(?>7%#S@Pi67`Zf(bc2a{;oE)$a|D@zuyU;R-==AZ45E_m?I*Ar7&m}a|u zJigFfH)Z>`lBHI0r zLUvg7H5*^X7L?VUe89$Xv$OArKbk=k_Zt|AezZFen1Ao$g`m+YDY2QJ9Y%4-4P|%2 z64pYzS@C3F{^E=Nd>uhoS$j9)QK5Qa^9&2O_pa4jZWJID^XZ#X@~RVmUZosbP>{No z=hnhNJssWIv;K%BsZJkOIxO5Ny;G@JlZ!ZBn}4N#XGY@rW%T#%k6{9|mwxf*v1uPUF;bKd(DxJuM!mwzqW%;O&n-qw&TM91?b0?^IP! zvj(vLq+Yz7UXBm$`@QcyKbL5??Z>Ov1YgAr%{?l1OKg~i`kKX+H@+N;By|;UAZ7}} zSLS&qoW)ayp=;Sf33Xy!-#hArwD=aIUxp84z1pBwlq&q=}53hxM&x8FD zX)o})LO+34*`H~fU{SXBM7q{o-BGOjgbH8A zUy$ghYYkijfUlBf9h2-r98VRMl~3PEW;#tHVgBVj2gjTv+g$pG4`5*Q#D3m<>g}0g z+ps%#G9p#8Zbr=*(s*{Or_tpOVsn z<66oh4EQ65$(#^U#ZaElO`vGLS|e$>Vf}jHU+|zdFfh>D<>xQBlZ4&cz{7!<0&d($ z4+x7Sx`}}Z-~^>X9Zu2gN8eFdB*1wPB$52QJZg;jVW-j&SXohV9Yq4d?2J%Yk(LJI z{`VrH!Rk3S+$6pPGGu7I&pUALhc_-<9P_QLTC&!07e&Fnj4}e9c|O9zdEZ~PwH4s! zr$XsM%pmp(5Hl(Rm()4*yibty15lE_$mS%}#S}xNdQ9~`4V*GzZss|NtS6|g!OAI# zK|pyPh+Tku)|$L}NtlEv61Ze!WB}6>ObWlAtsycuWwV5{75O6`FoeA0kK2(2idy&Z z>)#<2$}|{La56x$a~LXqFz<~fmo8bN=;$a7J{Sq6SJ)aRi2k4)uBD44lGCUC>+5yE z%>mkCek>VOI)Ab8iHUYtK@iFW7J;W_AlPHzK%xq!kOV_Q@o|+-fLS228s{v_{^Zh; zDiAR-!u+KCN)pLhE7Z57zI%mZxvbfdWkdlxGJ?0{$*=`CGYWjUWVz zVB{?RY|3908^x$Yd@#mB6qSmmreDo`#W-w%;TMKrzLBX>6Zm-nVN&WajPMu7>N!)o zgo()*^}NooE0iAeZW23pzG#X`ON*c~1p4k&4_t$jQd3t~{G-30lY*?H=CpxBpn9J= zfBwZj2hhHeC)t$(mlSyZ7M;Z9+94rvmVo)QL%=~;d1Q(aFS#{r2W0>T6i(k^lmIU8 zNfniwg-&3n`4w!Ime#fO_iXR!DWbe^0+Dgb*>WXz=hkzl3;loY067 z#nC6uS{g1!Lm7cWC}|ch+9VZSc;!zsnv`xt3PEW4I6j`u(Q!6q>r%>J?KpH6uy2OE zWhK+i!sJ;H0&(j=pqqjSgV^T~^)p1RB!W=>#B1cNQNa2u(0Wr_TZ`(80q?o9JMiP7 z%f-*NBER&+!<7+E!bF;e$8U=KDoaNdfne=D!Rpb+PE!qL?V`YgxMx99T%4NnP>%5@ z|DP>{2KH~@XzsgwkN!SP2=udE%3646-Jp?|(-L0!1Ya98CM&(<4<9(uS>iq{3VB;v z0^t-AyKw;Dn{*N|(OSM5LOZa)jLEYE2`DjI02_>oaslBGF)>~>HOE79D_}aXvzx~4 zQFHIYz^}E5JxaKXkfHPX_xYLT;yT4Y>u2|^{9r*f zV(&*J1xSkT9U3Y`8SDe3?17x~S`hZ37bDXcl>dBTC2;-S2n(KkP)Q-(gkAvJ9+I|O z-_Q_@p#u7wfU}Mc4qsbZ*f8AK56eK1QPnjyD_;!~D`8w^SQq6Qu#9110q#)fqciUl z6LaBuM689tWqXpI&Xr=-qKcKJpXu;SjF$p|4fe38orkzTMY~XdSX@WSJ=ORnp6d8K}9McGP5Uf$27E^0En8Gj&O=QOW+5{yACObYzk7GM>+MUa;pXPs zD1aO>=eg(V_82xY*($LITz5M6oVn2Ydsi;boMMjU+}zBqk=IUj=6AKX6PW-kKKj!( zow);3T1#WK?^UC6iaS1#$5YK^!&qSyoV}Q zVbA41)AX+N`Zu3xDnDeXFZ|V_K%P+k z&UL$`r8_`i-DjqDiyQam-7OtjFt0_nZ07=cj<&}|_x?=>HS-rKYnk=4JYM`+gDV8} zTCcc4*`I9H!V0Y)5L%*`Cv%Q5=(-u<*TccZl@Cfe1_tH4F)*^i z0tH|Q!!H#;PWv8Y&HNBW?jzCg%!vUuNHdC$taI!1)vJxkGm z#7}8B5qEk|=e6y- z8Q(+_8-Z%4NZI~@S?I9N;MYQo!tki*ba{DrJkHEqH#yWq0uHccVBQvWWe!jq!~|S0 z#b+>K{%>a`GX*i2OJMAd$^mJxRKQojW>j!>m8Xzn5w=_}UcJi0fWb4P>m~L)6r*#n z+Mu{WOPPb)hh0cy_Li!%70@ec6Xwj!Od?Ud#Va2->PR&8#FUfL4{aS;ir6=ke6yds zFrPCtY5=+b&<0^`Pf}9}CG=};EdvF=nE2ShmP!?o!`KFZuO!9k>NRLRl#;;p3YY8& zOIrw7#`UW<90nwuiExC%0C?xCBEmC;4(;i_G>C>upg2n*Cm`flIaVo2Nn(`!QHK&R z6*0YVp%h=$^G*Ke&%SzTSA1ITmUJ;wV8_MjIsnTKkx-jUmyF@AQXLNS>M}|Kwrsg! zEFWfy#f1x*yp}u%e#jyP8!K9D3iG1v&2(9gQGb#>uK&k6$-mx!3Ka5xGHMj+W>L~IBs%*tc)HX1TH4hfKA>c3+DmGX&y@ak-Mxlk8cedGgH=!a;VHHNsE2+W=f+6 z*N2#sW1hH@i4Leys4<){s{8?(f^Q zQ1u;192{8Hw^%YaJW0ACzF*3cb93aw-! z93HqngdcAqcjjx|$9Vt7v38LbT+r zr>CbMze@Bqa9dMG-nfIKBY8KF(_MIo-yz(xM(3t4SJl>bqz`8u*#j_}o|yAtKj(w@ z9UL#IsHoPCsR%5?5Fin*H(-n?ZVfYm*9{r-q6Vy&gr)`@=^MNW@G3I|Ih^=#Y*@5og8M4DAMq z%pgjGyLX@4F61J;DAB4#4r2+E;tjl2WP!Ygijw-nX;vi84stP#ak$xrW0IE&;38E-np$_3LR#m@Pbb42_JaAh^cE*P7Dea^%Cl zCtt!0T$TWuMKwmCa@@3hw5-!tQznL*{7@MZnzul(VS(=|ks@gHlri&{|Abzi19`q* zMIe~r#c51<+90ckhOUa%?n|&dxNlz`{0`yQ`%zv`D0E+2Z!aTAH)th^^&7chpx942 zNJ&c@A?*@B17}2R`_nJyYjFF?uZPe=k&m5>td$E-Jw*A1IeKnGgJW@wwU-|@UW&s1 zqP!6Ykpb7r9RW93Dxmwe4GzX$ZOTt_elcd4V7Dh*b?IdG5>o&Ng+Y*EQ5H&9t<^&6 zJpq2VoEy3#Jv^LNUUkgVyjM{JM({yyBK82Xp*%uHF?o3?E63-G>OpgHK{W6Cn_qD#Sl OG*k}mjZ-qb@&5p-2yf>A literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_60.map b/help/html/inherit_graph_60.map new file mode 100644 index 0000000..70af357 --- /dev/null +++ b/help/html/inherit_graph_60.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_60.md5 b/help/html/inherit_graph_60.md5 new file mode 100644 index 0000000..4b82b2a --- /dev/null +++ b/help/html/inherit_graph_60.md5 @@ -0,0 +1 @@ +6b1079acb55fcd70cf8687eea61d1acf \ No newline at end of file diff --git a/help/html/inherit_graph_60.png b/help/html/inherit_graph_60.png new file mode 100644 index 0000000000000000000000000000000000000000..21131ffd8640b08925fd0314d9cd56e9408110a6 GIT binary patch literal 2777 zcmY*bc{o&k8$OBB7?ZVZi7_E>F-6vqFlEa *?_l%?{TNwN&GB(g81^k(cKiHX68 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 a&hDe~xNqIpzcE3t3Rs=BLq9k3j{6s3#!i#~ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_61.map b/help/html/inherit_graph_61.map new file mode 100644 index 0000000..5efc6e3 --- /dev/null +++ b/help/html/inherit_graph_61.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_61.md5 b/help/html/inherit_graph_61.md5 new file mode 100644 index 0000000..502f40a --- /dev/null +++ b/help/html/inherit_graph_61.md5 @@ -0,0 +1 @@ +9266bd186ede7c24a58ef6f53cefaeef \ No newline at end of file diff --git a/help/html/inherit_graph_61.png b/help/html/inherit_graph_61.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2329d302e5a1a4491c34f0b2f08422071510b3 GIT binary patch literal 3078 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 + + diff --git a/help/html/inherit_graph_62.md5 b/help/html/inherit_graph_62.md5 new file mode 100644 index 0000000..57a9f66 --- /dev/null +++ b/help/html/inherit_graph_62.md5 @@ -0,0 +1 @@ +50833445edba7c78d2c6dc7793ef14b6 \ No newline at end of file diff --git a/help/html/inherit_graph_62.png b/help/html/inherit_graph_62.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e84009eac6fd0e8987fa64a35085633c186790 GIT binary patch literal 3525 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 ShZOL?402P)SevNnNcaz~Ypulq literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_63.map b/help/html/inherit_graph_63.map new file mode 100644 index 0000000..7355942 --- /dev/null +++ b/help/html/inherit_graph_63.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_63.md5 b/help/html/inherit_graph_63.md5 new file mode 100644 index 0000000..378eca0 --- /dev/null +++ b/help/html/inherit_graph_63.md5 @@ -0,0 +1 @@ +b789cddc89d0fa97979bd5d06f4e11e9 \ No newline at end of file diff --git a/help/html/inherit_graph_63.png b/help/html/inherit_graph_63.png new file mode 100644 index 0000000000000000000000000000000000000000..babda913bbd552e357de4a5ea19e2587f4f295b1 GIT binary patch literal 4327 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_64.map b/help/html/inherit_graph_64.map new file mode 100644 index 0000000..f48b5f4 --- /dev/null +++ b/help/html/inherit_graph_64.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_64.md5 b/help/html/inherit_graph_64.md5 new file mode 100644 index 0000000..9ca2399 --- /dev/null +++ b/help/html/inherit_graph_64.md5 @@ -0,0 +1 @@ +f9a42ee29899d423b185d0ed158140d3 \ No newline at end of file diff --git a/help/html/inherit_graph_64.png b/help/html/inherit_graph_64.png new file mode 100644 index 0000000000000000000000000000000000000000..eae3660d4998b92b0f620a8016033f0e986cd4f2 GIT binary patch literal 3160 zcmYjU2{=@38y=J}809m{o-`zk#E3BVv3)2SW3S<(tPNSp7K*V9$v3u`(Pl}L#0(Xt z64PW#O!k;8S+Wgf9m{{d@4Ei$|F3h-^PcNm?>W!?KJW9~&wVnS9Z_N;G9n-lNX*v8 z@;oroflF6N5U|5#v+}?oh_y#qg7*G7%3CV)K_F2vTT3(7*wTfvI0u($Sq7aFm14?Q z*lVEP@?8ftm5CKBe$W=m=Wwbz#B1tirlZb4pV+r%?MDBj;3B@D7ozW)PZ962kXMUw zo~2;%fjg%VjY^ojzU1;V`)=(YnqFtXOTWa`Gmxmez*}LiwFUcyBID`#cX@_zhKIBIed5IUlR;V1 zaOlq@<*vt4$>*&aM;^iAUjZh_SJ;jjgR&M1+pUh`NNLVs3IWUqeGf zd3Ck03_*~|WQr4FrdUVh&RhinQ-vT9Mkkz}O`{*^u?=Eq$qoaen z+V4BDu{@y$hsUT@9E;S29X-mYpr9}_Gh-SWN@31g*x88;4G%9*IS}5iX*?cJ7<7f|p{xuf)5D&g^UBJvq8DWN%IErPPcQ6kOhEWe_qKoK zdQUKcH#9W-f5N?*Oy$JW)6&w4UTAvKzATQs)(kR<o9ol8 znCC6gRY70-`%yB4G|-n%_w9B;n)ZBluVTu$!BkU+)lw!iI#l^6h)f<0ENnMJM|8`+1sXUzR$ksgzzt9j<9R3rGYboW%*@OR-85rBD%i@uCtUbZFn>^BFa6wd1=xybU1P?mMe-IZ1nb zpaKo|l)gSR>}4g^k){<(IMsJCcd?k&5Z?<_qHuV4xDju@UPw&L%G4C}@#Du*sFMcN zZ*O-8ST#Sn3x!5Q5#gir4Y5;IPoKX3@ML2MP>s65|8N zqi@DrpEJA0Y5y8l#w2-e(E>XC{r6;`BwHdni6vJ`+J*$zMCo;Rce84VMhXxh(7d&U z)7&RUqB--qGc%W)d5f=I4)q^;`0ybs{?pEKER>AXo-3BDG+rz3pIdH&AWf@Xm61qJ zkSEb@zw*1888yc;!`l|=;$z&gHm&nNJ&cTuL=%e%Sy^qg(BYy`w;d4^v*>7qj*gDA zukX@tj23d?y2RNC8ylgu#gQyLUWmIH|I~vjQmEzq;^Z#zq}%hj^)P^c0H&1Z8O6q`p{Ni{{1}bfX&6$E&*w-hd}gjx!OObrtX?5X%DL6aJYuhVT7`>jGUYb zfE#e*kN|9(6$&-nf)Kf#g2iHOC}{SZH=w@)1KA&mCv7X)?%wGDOv9K(x#Oy;`MJ3e ziudaR0Kg1Db!grZzfZjen#`ptd3RWTH_13ov?F0_wzB%sqxT`%U%$HYo7z3TD|q05 ze2=V@lod#HmliT;?&s$RHnq(3P$3cJR=ljJVm8IQF z;W5~_C1gdn%SOy!VocK$F|Cn}#f zAsqO*lV0swbdPVRjmIYAKU54X)P)pJgF8KrJ-$6t$zy5G?72hi1tL}GNiiZT$O z2M-?b>lBOL3_ZCV!%0YQiCcg0@Sy;(&pzv|Yzk?Q}gA zd^ZWuJs+6Nw~|gq$@!{I9 zUN_%A8$}Bxp-=>6o$jb@XlR!O)qJqB5|RI^xD|1FF{QBG(DGJChqbQ0{%L)JLuCQL zc5);V37?g953T9)$zmsZWN=V8!xBr=($kA_G#=?BzGpBddLG*kP=lp?;+Na6^uD+{ zW)7&gu@8C2VA8MZ%hK%<>oD_o&$fDac$6ym!A|Axp2AaV%>#c8J+Cy@2m{~S{(qCz z4jy&$P3R>W0^&G@%Fr*7+XTot)6M64do>`Ky>2_JH2{JcLcw0bNe-l=>zd&I6UqPH b?Fp<`osK-dbW9TXRRGyqIa)q5znJnLH?<3V literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_65.map b/help/html/inherit_graph_65.map new file mode 100644 index 0000000..a2ffcf0 --- /dev/null +++ b/help/html/inherit_graph_65.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_65.md5 b/help/html/inherit_graph_65.md5 new file mode 100644 index 0000000..743c868 --- /dev/null +++ b/help/html/inherit_graph_65.md5 @@ -0,0 +1 @@ +fb6bbf6f2e01f8d026d2c2fc5049d01f \ No newline at end of file diff --git a/help/html/inherit_graph_65.png b/help/html/inherit_graph_65.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3869ff696cde1f66c6bfcf8aa7430638c97fd6 GIT binary patch literal 2667 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 TLZ3VQZY%km9o!L(_Gse2&@T&F literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_66.map b/help/html/inherit_graph_66.map new file mode 100644 index 0000000..d3b2f2a --- /dev/null +++ b/help/html/inherit_graph_66.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_66.md5 b/help/html/inherit_graph_66.md5 new file mode 100644 index 0000000..5e8789c --- /dev/null +++ b/help/html/inherit_graph_66.md5 @@ -0,0 +1 @@ +16ad5bb7e87437edfa2a0f6594976cdb \ No newline at end of file diff --git a/help/html/inherit_graph_66.png b/help/html/inherit_graph_66.png new file mode 100644 index 0000000000000000000000000000000000000000..de317ddbba4483d596f608b1ae75dba2a6b65373 GIT binary patch literal 2942 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_67.map b/help/html/inherit_graph_67.map new file mode 100644 index 0000000..40a141b --- /dev/null +++ b/help/html/inherit_graph_67.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_67.md5 b/help/html/inherit_graph_67.md5 new file mode 100644 index 0000000..ab3466a --- /dev/null +++ b/help/html/inherit_graph_67.md5 @@ -0,0 +1 @@ +10b8f5aec094b7eddd23becbe384e6fc \ No newline at end of file diff --git a/help/html/inherit_graph_67.png b/help/html/inherit_graph_67.png new file mode 100644 index 0000000000000000000000000000000000000000..63f0a90027534a22aa2ee296be87f15db41dc7dd GIT binary patch literal 2648 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_68.map b/help/html/inherit_graph_68.map new file mode 100644 index 0000000..93f41d5 --- /dev/null +++ b/help/html/inherit_graph_68.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_68.md5 b/help/html/inherit_graph_68.md5 new file mode 100644 index 0000000..a77c093 --- /dev/null +++ b/help/html/inherit_graph_68.md5 @@ -0,0 +1 @@ +498a1781f8cd82879f0236d5375becc3 \ No newline at end of file diff --git a/help/html/inherit_graph_68.png b/help/html/inherit_graph_68.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2a339ce1649ea0aa6bcde91fcb7410242d99ce GIT binary patch literal 3653 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 mEv;@`HePdQqK#rf?uU7lUx*bP + + diff --git a/help/html/inherit_graph_69.md5 b/help/html/inherit_graph_69.md5 new file mode 100644 index 0000000..c143bbb --- /dev/null +++ b/help/html/inherit_graph_69.md5 @@ -0,0 +1 @@ +d69583c368b66c7a7039929ff11ffa75 \ No newline at end of file diff --git a/help/html/inherit_graph_69.png b/help/html/inherit_graph_69.png new file mode 100644 index 0000000000000000000000000000000000000000..7e9e1291b484feba967fe1b3bafdf4e07e715231 GIT binary patch literal 4573 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_7.map b/help/html/inherit_graph_7.map new file mode 100644 index 0000000..0c00cd4 --- /dev/null +++ b/help/html/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_7.md5 b/help/html/inherit_graph_7.md5 new file mode 100644 index 0000000..1326b63 --- /dev/null +++ b/help/html/inherit_graph_7.md5 @@ -0,0 +1 @@ +55a7904bf4829082a8812e1ba977f97f \ No newline at end of file diff --git a/help/html/inherit_graph_7.png b/help/html/inherit_graph_7.png new file mode 100644 index 0000000000000000000000000000000000000000..e3587a2956b25e25fc9fbceeafbac04187efac1d GIT binary patch literal 2441 zcmV;433m30P)y)ZZG%zdxO(#%v5z+fawf$f&Fg%oi=zh%IV`kr_Hf zLYtHZK@d^ULPfOGO15ZZE=5$fpqN5sMMaAhE#@@i(xR2EW95ABi~sd^o1D$ky!X!e zz`Qu;InVDr=kYto=N!k8ND=~p>yhi$-Vq1{?S&A(z-1BQ7q~1!`~sIn@oPtEX(_gB z+0q`d2n20LZfbcp@--NYyia_wcMovx+;^X73 z+C}htXyT@e5p*Rulh?8#gdz$`ttc_`t)% z14D)k!N!dn@%8K1)|#Tlm`o-}l4SFxP}sceYIR187=gow54YIw%9SgKii(0-t%gda zLTG3xGBY!+j$ONUEhI@oMn=Y8i_abtCQLwDTAJMc^5qMnqoXlw*f7-8)U@hczeB5t z|H6d}7(IG4f`Wo@_3BmB*4EZ=-IPpdxr$@7qYXnX{FmHX0w?ZjfM*rEU-K7)vH%bNJyZsuP^=l z{HW9ESXWmk+w1G=xp?tnYBU;l?b?-d=g#G)PoJFfojiFm0Z@`8YBUPEICC=H=zFfB*inZN-We1i&VQ^q(Y&vnE%|l za~wW=I2#%o*t2I(-oJm}!l!rd-Yh66klRM1kpTGa-8-A{g@lA~#flY-h=^d9E?wBa ze}7)Qc+qOS*4j}~QA|xu<@4vy859)6S+i!bp`pR4obB1Ohl2(UvRK2DCr{|^?ryPe zN7&JG&L8jmj~+dOUayBvr?We5#*7)Ludm0QJ9lvN=1mxlMkFOA$@ZkAB;3Az8~OS9 zsHmtwXlN)dUAp9y@7c3wK@#7;f5*v_CvoJ+5oBd$*^Ou1xN&&)>=_IO0|20~un<8( zK`1ONl-py+j+ILzolb|RPoJW=xEKb50RsjMz_e-8U^bf_+K(SUj?mCh96EFeBysK9 zHK+6X^E#VINJxO2n;QxW3go_h`}SeUk|j_ol}JfR!T$aG9nR5&z4$URGO%I82E2Uv z5;~m@Nl8gy3;qS9tgH;-;o*pljm6QUN1;?IWt+X6B_<}qU@+jyl`9r&jEsy#U|^ur z^V_8b?-Z*P7Z(!%4F-eFG3Dju1i*@l3c2t8{rd#K>gsB~c=3V&`1I-17W-Ob`}XaO zkB@KG|MSjIk|RcpV0wBw>+9?3<>kfn^mI<2KAj{vcI;U0*s+7;e|E{Lsw&yHv9XbA zwVLMt-p+3;zL1a*Zr;3EZohr|mH=2;S?SaoqN1XxR;$^iOBa@vm08%F$yrKD z3KJ6(Ns=a$iQT$&ii!#VK=0nY<-@YOyE{I7_yE0L@6i4`*vo5UVX4h83xz^~n3$M9UQ-i)EdJo&U}!WNyZ6EV{{Hy!g0Kl_n z&t#iMqd{Y1Bg)ImTkQMl)hi?ve4Mrh{(uDn9XJ!IB)RsbxoXua8Vm;3)zvX0BZFREUR=3yB}pg<8{XM5+)omp5|=v2MQP6$cL<%#9m2%5`T=O$}$xoJk)aANu-^z-wRZ-?^p^9g_%85tJiK79DVrAwExPoF;Q+_^Ku!oqm!)G4R!moH!DfB^%j zP$-~Oq4wWmqmzQ;Iatu3tScqDZZay;F5^%=NGsxLi_@kMTlSEvIy}DT$X + + diff --git a/help/html/inherit_graph_70.md5 b/help/html/inherit_graph_70.md5 new file mode 100644 index 0000000..1d78f3b --- /dev/null +++ b/help/html/inherit_graph_70.md5 @@ -0,0 +1 @@ +0d25e7b8747fd77dfcf2a574f4054d50 \ No newline at end of file diff --git a/help/html/inherit_graph_70.png b/help/html/inherit_graph_70.png new file mode 100644 index 0000000000000000000000000000000000000000..f128a5553d6bc3860552239db9cc8c76bb9af371 GIT binary patch literal 4274 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 wwQcZM`N + + diff --git a/help/html/inherit_graph_71.md5 b/help/html/inherit_graph_71.md5 new file mode 100644 index 0000000..0bb7ed5 --- /dev/null +++ b/help/html/inherit_graph_71.md5 @@ -0,0 +1 @@ +b99a67fdc66d7eb50691d535984475af \ No newline at end of file diff --git a/help/html/inherit_graph_71.png b/help/html/inherit_graph_71.png new file mode 100644 index 0000000000000000000000000000000000000000..06ce4c0a05bb9e3a6cef100ffb28050da3781b41 GIT binary patch literal 2797 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 + + diff --git a/help/html/inherit_graph_72.md5 b/help/html/inherit_graph_72.md5 new file mode 100644 index 0000000..8b57031 --- /dev/null +++ b/help/html/inherit_graph_72.md5 @@ -0,0 +1 @@ +38393961dc11cae454bbeaf7f1ab82c3 \ No newline at end of file diff --git a/help/html/inherit_graph_72.png b/help/html/inherit_graph_72.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9dfc24f4c26cc3ee0db098971bb796b263bf35 GIT binary patch literal 2834 zcmZ9Oc{G&m8^@o@tBkGvotP%g*g~Pml94P~rm@UKie%r(GIotJG1iHYM8q_WU0I_L z-blSj_8103dac7$V(54Gp7T4ubAIPJ&vXBA-{-ln`?|m1&vnI{n;Htk#9$Bv2^$;f z%V+aFYXU#H+D$z13mtBG(>&DQ(^Sxi+~GC@#3Eo!HKvUsIIvxlvtimX^B>yfN= zhSfgvr0799_w})Hq9euh+#e7|aFHE0Jwk^1eEj6&&xYHWFnCfo3@gH~ zxAOr)D3(t_11=G zPjx%ASV=3xqr?pi3?5=4YP+<9XYG|F?K@lSjo#cRx1>DLyN{NZ=BJ1rdw{W{^|Jbl z2&XQyN#o5?qSWb?$u^2e)z^g|D-~@^h$v+rTx=93%Q}E}T;IT8a-B16+EssR^DG{Z zzve^GYE~7yre`?f&-Xjp=wM@!3@# z`eMgweVGaV)9o!C9lPCna%)O#-cxB9rw^vt$M?m=#5mJNPHFWJ%+2>Q>jNoGq%D)H zSFf_?=drF;S#fa%G}_mX`FgGEFPu6)rJo?oEsoY*zJ47y-Eog`g7EB}-MueiFad%5 zh#yN9PEKek8JV7LJanw{PF3nlfl0y@c>^ zP2pqOIghfl#t<(8*=O>>J z)Eo@jr2`rKJ;LIZRLAz#X3RXeu$?;mh07j<-MxEvkIw^}db^6uM!SioTQNOAAe6c~ zwR97@<>>NsVq&7Q<6nCUFU$EMDAm;}z%-1=lzAGQ+yc?@9;)ZHv~1UT{|v}OIyyR# zI(1iv|J*0KU{mDJ=%I=m*mC&}nJcI(A?D`h*~AabGmhtc=xw5GpjS$#vu;pO%||Os zODS%B^ykml{(gM!PjD_n98UOe*E0cufexp$Y#q%m+1pD1)g&}DXy)S>eFAx8GI?@x z@{Z^+?b~ss+me!!5TvD5+AJ5cE;%S+s0R5VzNGuUI9eYu8**;(0!7Bq+8W-TbcAeK zVwDd>AKr-c8Y(xiwMA@voBy&u`yy?hYt<289UX8L{+r)@*t4^>CBhMuQ6QZpF;!T} zm5PhEZefU;N6+3IS4a|u!CC*x$nwG>S}6A5zr?f-P=fD&&i*g@SP$593R0bmE$q&;7rso*$p+P?EgWY(+df1@ z0NhWxT_dc_Dsf@KJLJPp8DlduLr+h+_a8nm9h=+I+N_KN?Cg-SB1b({%PTAQ!(w!0 zqXykohAUkJ9i5!=txA52YV36w0lr*F++ekk0i|N_Mf$*|NUczN!bBg#EHx`Dp2f0% z`t+#;$WoPSmuJn*$ErxG$;wRn`nk>F+i0BQVMV(nUuJ{D=V}kQl06i>H0EI$JROiz zi1$|e%Q7=LIr*toNl|I(C3mcu8KW~zMsNtQ2zYVsbB!1G=bGE+#t5~d0ng%+5;SU) z-Uk>UV`gS1Cohkt^%~90%%rEL9xvV6-imnN)kO!aCoGRQdi-3SAx^go=OdWNG-+G` zu!Zr2rjwS!+F}OF=J}PWUUdhIH^R+Dg8!CFUOf1){x0cOnsi$C_PY59!59`Wo3sX1}}{Di~TYEuT9jz5uZ zk!WmUf`Xn7cow~Q(R<>CZ7M>)JelIsbVh2u)`a&s%v*;lt)OCu*F!1#9WcA9ygAuBH*=p~RWKkd+BC(x8r8Q_K#clWuf4XLQ9 zO@E?ejZ92*f#t-+#8NUdDM?8}uhu>%u;+EI$G?<30-@08eMgTbgCM5I>H|M|)~s;3 z)nZNp&;NLAN+}{RVD!GAprE-v#ywoNfPjFJkJB0vs@NX=)*H^B3c-Xa@2Mt(2F$&%PPHDmNorP=x`g}$_|f@jz1uyOUF;X zxwFeBoLjB>C>IkE3yw#7@&uC0fC(N}&;jK?vH75FjLi~a>b|pJQBl!wm76FKm&;n& zk+86^m!vICF>&!1Hz%|K1SO@VH5DEM%$=_F9*Hh4mg8-F6YT2h(*0Wf@VH*A#JO|g z0|Nu<#JRoPa12aPaFm^0MQ4>$DQH`ZsR=QhAr*0_*B#W|6F_UA_EAN!LeP>%N@hkz z?~@B;qkMC7BC-18_SzS-)gM0?0tck4AGWP&f%5RF(1K<}$ERMT<%_HN?%BH06qyf_ z4E6x}Fz)T`C2sS=P^b;g^lle7H-f%C9|(S5&l(Xl3c(zM$l2#JqX~!PWi>Re1|(Cd z6qjvaix@8;cc`$k@_t<0_a!D4WVpY^>q + + diff --git a/help/html/inherit_graph_73.md5 b/help/html/inherit_graph_73.md5 new file mode 100644 index 0000000..efae215 --- /dev/null +++ b/help/html/inherit_graph_73.md5 @@ -0,0 +1 @@ +6a73fd9d1a3988dacf655b8665e7bb7d \ No newline at end of file diff --git a/help/html/inherit_graph_73.png b/help/html/inherit_graph_73.png new file mode 100644 index 0000000000000000000000000000000000000000..0164573fa7158d84423f8221e706b5731ff486cb GIT binary patch literal 5869 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 NB{_B3Vj1&~{{v@>rVRi9 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_74.map b/help/html/inherit_graph_74.map new file mode 100644 index 0000000..ad5210c --- /dev/null +++ b/help/html/inherit_graph_74.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_74.md5 b/help/html/inherit_graph_74.md5 new file mode 100644 index 0000000..f711b0b --- /dev/null +++ b/help/html/inherit_graph_74.md5 @@ -0,0 +1 @@ +c85f89ecaf5ae0b23eac0e905c90fc7a \ No newline at end of file diff --git a/help/html/inherit_graph_74.png b/help/html/inherit_graph_74.png new file mode 100644 index 0000000000000000000000000000000000000000..590af2a42c78adafd6ce23a08e1b790481cbb5dd GIT binary patch literal 5112 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_75.map b/help/html/inherit_graph_75.map new file mode 100644 index 0000000..97d7aad --- /dev/null +++ b/help/html/inherit_graph_75.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_75.md5 b/help/html/inherit_graph_75.md5 new file mode 100644 index 0000000..71dc877 --- /dev/null +++ b/help/html/inherit_graph_75.md5 @@ -0,0 +1 @@ +15d310a34c9c15ca646751c63cf0ab5f \ No newline at end of file diff --git a/help/html/inherit_graph_75.png b/help/html/inherit_graph_75.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8066f2f8e2ec93dab3983e630c30f5842109f3 GIT binary patch literal 2945 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_76.map b/help/html/inherit_graph_76.map new file mode 100644 index 0000000..eec9496 --- /dev/null +++ b/help/html/inherit_graph_76.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/inherit_graph_76.md5 b/help/html/inherit_graph_76.md5 new file mode 100644 index 0000000..ebdd18f --- /dev/null +++ b/help/html/inherit_graph_76.md5 @@ -0,0 +1 @@ +9b9d8e3576ca7ae57c4a8d4ec639f369 \ No newline at end of file diff --git a/help/html/inherit_graph_76.png b/help/html/inherit_graph_76.png new file mode 100644 index 0000000000000000000000000000000000000000..f9738e88a4043936a69edb4e5a63fe62e184e676 GIT binary patch literal 3712 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 NnzEKsk)lQLe*mn)BsKs5 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_77.map b/help/html/inherit_graph_77.map new file mode 100644 index 0000000..7ac62cd --- /dev/null +++ b/help/html/inherit_graph_77.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_77.md5 b/help/html/inherit_graph_77.md5 new file mode 100644 index 0000000..2241cc7 --- /dev/null +++ b/help/html/inherit_graph_77.md5 @@ -0,0 +1 @@ +48464932fa7050e4c8c789edb74b2cae \ No newline at end of file diff --git a/help/html/inherit_graph_77.png b/help/html/inherit_graph_77.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7d3ce2e795313faf5e7a4d3f5ae615365ae8ce GIT binary patch literal 3209 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 + + diff --git a/help/html/inherit_graph_78.md5 b/help/html/inherit_graph_78.md5 new file mode 100644 index 0000000..db62909 --- /dev/null +++ b/help/html/inherit_graph_78.md5 @@ -0,0 +1 @@ +fd4ba70c74afdbd0946efee87466293d \ No newline at end of file diff --git a/help/html/inherit_graph_78.png b/help/html/inherit_graph_78.png new file mode 100644 index 0000000000000000000000000000000000000000..03167d54ec29f8421af399ac49c271477b3de6a7 GIT binary patch literal 4003 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 D+`6be literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_79.map b/help/html/inherit_graph_79.map new file mode 100644 index 0000000..342f0c6 --- /dev/null +++ b/help/html/inherit_graph_79.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_79.md5 b/help/html/inherit_graph_79.md5 new file mode 100644 index 0000000..9c4c878 --- /dev/null +++ b/help/html/inherit_graph_79.md5 @@ -0,0 +1 @@ +cdfd98d1f2d0604753918c74cac4d176 \ No newline at end of file diff --git a/help/html/inherit_graph_79.png b/help/html/inherit_graph_79.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff46f5d5f3284a3e723cd1bab6a946523e425a9 GIT binary patch literal 3336 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 Q__YC{^wD}HNN4hY0G$JdN&o-= literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_8.map b/help/html/inherit_graph_8.map new file mode 100644 index 0000000..b479b24 --- /dev/null +++ b/help/html/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_8.md5 b/help/html/inherit_graph_8.md5 new file mode 100644 index 0000000..1c13e5f --- /dev/null +++ b/help/html/inherit_graph_8.md5 @@ -0,0 +1 @@ +c46ebfd3954b58742e8d85a627a27fb6 \ No newline at end of file diff --git a/help/html/inherit_graph_8.png b/help/html/inherit_graph_8.png new file mode 100644 index 0000000000000000000000000000000000000000..c9eab42b33990b6aa7737a568691a9d4e9d3dd25 GIT binary patch literal 2401 zcmYjT2{hYT7mqg5Xl1HfGJ|NV8AGWxh@uOMF!t0^TN_i2R)yLsjcA$LqohKO?=G`5XiifnyD>;vS|fq<9$PMkQJ}c1u#L}Uk=a&*8`6$H^^h{6aJaXYGI44b zJ&1wR%tY^h*R^hhNFpicsQz_FeQflEy;8?Gx`!EsV~HVe}(y z((Ql82uEN0M;NBC*uMN9HWo*CCyJrl%KVRMM5_V(6q?b+_8!-(0Hefkc6Qoa$C#v2 zdVivVn4dcTL#jR=kI&aw>6Ein&`UYcB;EM0z>Gy|!xV5!)k-xw;;%z_`l1`@s3e5@Uj7YLy6vH_Q3`U3T>r{LNFRzEd_8ctH;BmQJ zD`v0H@>t#1m6Z$^7N1u^y!|LRSl7nJ2DpUr9=oFGQ1Uwr21BlT9A$;0iY%JW$21);~QWsrBHMC$H$%L7}3|%utkrwY6UPjjq#|DeXOPv zF8$#lUo$`NIX_f>q`bVmTd;0yVsfBLUYLEt#48D~aSUW8^SoCBARM^1z1^g;u%I9o zL@2hmzkdB1NI^+ysf>6}665_iDk|#2T!^z4R#itQ1t3TPi^WV%MyRQ&(c|N<&|+g_ zC+orvVfTnhd3kvW!S^*JxOdf0>yr8kQ&HtNE|iv(qF?-`(Ban(9DQ20O|#OE>H5>)CfcN>%PGj%Xja>F@6!(b6Ne z?>8l>^H3R-o|Dt;AyGOgs;Q|-K#Ny;Z7z?ObP>??T<)ocaG0P>X?g9s0Kk51c2)#S zi+}MVd~R+o!0lOFoFRpB>F|*wDjuIuohe!;goT9(1VU}9cAyv%2?OO86o5fsFu0W= zXJ=2wt!h}>*RF>D*pK>^tHwh=Hmwy~w9;@%+;BKd=vzp*hiG%U<AhA9wzcRW)UIX#9^da>7LciIHpZN;`qU!r(p1FJ(+|JSSWQn&l?xml z9I#lLy`^PsbF(2Ffl!l`HKye5Cyf#XR4Nshhr{J_$(ze(u@AVfuLE+QVEu<0U;c;N zPEL|(mqR{$OuJlKR+jkBiJO~S#5_QLcM|E{`#NdfsHIa4nZCHVI9%p&!c67_;I0mU z((suSb+(u3Hq)KK4qTGT%*-5G=MvC=RX@@MQ0=>`Zp(6^ZmsbH zWfv*C+qYIH+m@G?YiD}0gg^i;o0}_HWK*Jywzfo;Ayv=QQ-Mq-$J1z`O)-cpR}KYP z!g45u46s}yOtR}6qfTg_bS0B@L?H*Gqoc*d#Se#sgv|3QjshQRd2zuJv@;BCYHohJ z>>n7|(wAp5<(3^AD+(|KAoLkU#lj}ZT`YNDJj!pFq|Q{fA}7ktK!&;*o7>juPX86e z-!WD6Kh5<8W>BBQCr#5%GHJctwuMfE=j4J-UVV(Rne`w5KttN3%+ztBshHxW^{?UR zGWXTh)tR}uq3il~3i~@SE8^8x8S9GMiI~y%K?ld~Y;-TN-@U6J7_c*sEV5T%hwRtv z)a`%DHuYKg(xlkdiZwND*j$=JxYkGlh=e!cw*-PcP7kwD?o&4j5p0qo4SN&V z!*sWxp(HQ*L0jUG4bxo=AOo)e8DesB^5#@~l0Ao_3veGG0t|G8K*$XXF)#qPx3^o` z+Cs+oPe``5@Jr;)$FEe{PL5z^29U-18{{QnB(r49&1r@vBtpxd(dckf%qB&jJY zi;0Mc?4!>-NvEIH561wFgr>oPCwgMUNO1fAI*|W7zjtsjvnm6RJgx%tOd#wvbAv*? Ho1uRLAo;Gt literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_80.map b/help/html/inherit_graph_80.map new file mode 100644 index 0000000..2a8df47 --- /dev/null +++ b/help/html/inherit_graph_80.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_80.md5 b/help/html/inherit_graph_80.md5 new file mode 100644 index 0000000..e57218c --- /dev/null +++ b/help/html/inherit_graph_80.md5 @@ -0,0 +1 @@ +01c8776d5ba3298dbbf9193a666b5659 \ No newline at end of file diff --git a/help/html/inherit_graph_80.png b/help/html/inherit_graph_80.png new file mode 100644 index 0000000000000000000000000000000000000000..64f6facb86a3f7f9b149ae434e1ef19222c02102 GIT binary patch literal 2858 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 IM6N<$f;9Vs)Bpeg literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_81.map b/help/html/inherit_graph_81.map new file mode 100644 index 0000000..becc5af --- /dev/null +++ b/help/html/inherit_graph_81.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_81.md5 b/help/html/inherit_graph_81.md5 new file mode 100644 index 0000000..45c84d1 --- /dev/null +++ b/help/html/inherit_graph_81.md5 @@ -0,0 +1 @@ +34bc82325c7a7d215a7c167a15e195a9 \ No newline at end of file diff --git a/help/html/inherit_graph_81.png b/help/html/inherit_graph_81.png new file mode 100644 index 0000000000000000000000000000000000000000..65acd812f92458a99bc3f8b13c2880e65012798f GIT binary patch literal 3010 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 + + diff --git a/help/html/inherit_graph_82.md5 b/help/html/inherit_graph_82.md5 new file mode 100644 index 0000000..6889f6a --- /dev/null +++ b/help/html/inherit_graph_82.md5 @@ -0,0 +1 @@ +cfaad452f300587296fd16b3fb34684f \ No newline at end of file diff --git a/help/html/inherit_graph_82.png b/help/html/inherit_graph_82.png new file mode 100644 index 0000000000000000000000000000000000000000..3de97320e1c9162516e2edc0005e727ab343f316 GIT binary patch literal 2464 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 bz&u%A%9fXv + + + diff --git a/help/html/inherit_graph_83.md5 b/help/html/inherit_graph_83.md5 new file mode 100644 index 0000000..5a3d0a0 --- /dev/null +++ b/help/html/inherit_graph_83.md5 @@ -0,0 +1 @@ +227329d509832e171efeddd849dcde3d \ No newline at end of file diff --git a/help/html/inherit_graph_83.png b/help/html/inherit_graph_83.png new file mode 100644 index 0000000000000000000000000000000000000000..e8731d0705affc38ae3c0546ffc318ba21e9ef11 GIT binary patch literal 6214 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 AeE + + diff --git a/help/html/inherit_graph_84.md5 b/help/html/inherit_graph_84.md5 new file mode 100644 index 0000000..12a4631 --- /dev/null +++ b/help/html/inherit_graph_84.md5 @@ -0,0 +1 @@ +173c43b96a22b47aeca87a27c2b548e5 \ No newline at end of file diff --git a/help/html/inherit_graph_84.png b/help/html/inherit_graph_84.png new file mode 100644 index 0000000000000000000000000000000000000000..1318e889072d6d41c2d7545c13265ffb5ab39961 GIT binary patch literal 3885 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 + + diff --git a/help/html/inherit_graph_85.md5 b/help/html/inherit_graph_85.md5 new file mode 100644 index 0000000..046dddc --- /dev/null +++ b/help/html/inherit_graph_85.md5 @@ -0,0 +1 @@ +589c3ee99851b1f8da9798bd13e6ff73 \ No newline at end of file diff --git a/help/html/inherit_graph_85.png b/help/html/inherit_graph_85.png new file mode 100644 index 0000000000000000000000000000000000000000..08063c582e75a59530da93076c34b26823e27093 GIT binary patch literal 1705 zcmV;a23GlrP)!=qy<_^q9Ku1X=05Q0xzayAwg>Z zO%#Zi2QN+P-9(>Ayd==*o52J_Fs4PHG|`BOFC;B;Nx&Eb)^h1$DXns`r7^bM^DxPt zJ#=@mK-qH+^Lv{4`t9t0zWsN0+HN65Q2>Jx2$9eNFzXuZKa7xI|6zm#`wt@|>CBGP z>1=6f5lRYXJ+OcOeyi0=cmJ{edA;7}&!4ZkB+Poj<#IWlPG%%MF{!h&bFK7X))z;Q z9$gf{`#+43VERX)Ue13H>_3c-To}NB-?3i3G-@bkO$&)94{P;n?G(0?GYNtiA0Gz*)YjJa_xCq6G(ZRq1_O^guKO>S3@+JR zRprWOl??!R`0$}xt(Hh6Mx$|HU;qV`O69wE?@*g0NeJQW>?{CaetzC!v8dJRtgNiF zXU~SiVV>)lG!z57-M%QoidL)5&CTuU=?RC!O-)U5xjY_^Qxvst-@ew?R+Lj(T3S(2 zF*!LoF)>kAR#s6_!GEk)t5vB~eSLjDfBtM}XxO@S>*>>{zkmNeGBUDb#}0?X!4wdU zMh6B43JMCIK7G36u&nVrckXC38gwkPZ8RE>9693m``vE0UatoL1OfqyqN=N_O(v7a z2zMcd>IX*P$;^(x=`Ee^#TB9W@adgs;a6wc<|t-PoHLHW*$9y^z!9Po-^`eHk-|6 zGc&SG|1~!^qc(aAk|fEj?ANbf0RW?;qbTR&$BzJjZ{NQ09IMr8TUuIB{Qdj)5W-L> zgu2I%AHRP6dZLU64<6Li)bLBDwk}J$0LzQkbWkt{zFUVmoH!bL?QpAC^r8sbN?ro%TYrt76Skx zkqGluuh*NNo~}}sb>pwm zXbv1WaQ^)HKp^1pcy8Rdff90abE~SV>g(%AMn)DE7J7SotE;Pj{rUv}$j;6l8X7`A zTZTNY&mXKLTU9REU0q!_Z{Bpf-M@eTj>Td~HUL1U)3vp=&Cbq_kB?uwc8wl{Ac)4s z#?PNW&&|!Xwzj@{^=ip^{W+=n{>5&$OQq7HqN3vBVueD{-rm0QF;yzn{rmUp>gr@N znbm4NeE9In$6SQnZV!b*8jXe^h!ZDH(DC;6_FcPnnM@|RTz=ugh5GvXO`A3W0IpuW z`ug>2u~=*{7}iE!QdMP@U0Pb2nVD%anXWf)wNbZw`k8ZJAf`1Q-krdj5*}fFJ(;86zave;6Ub z{=*0f_8&$_u>UYZg8hdP66`;Wkg)v!(&2Edy$;NJfFwz!Qpt?4_^+m>X07yK)*WWE znc0Q-*A9$;;Qb#)NU;AfLW2E=5fbb_jF9{VO!fHl&hmk&00000NkvXXu0mjfBQ{bT literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_86.map b/help/html/inherit_graph_86.map new file mode 100644 index 0000000..1ff9753 --- /dev/null +++ b/help/html/inherit_graph_86.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_86.md5 b/help/html/inherit_graph_86.md5 new file mode 100644 index 0000000..7a16d14 --- /dev/null +++ b/help/html/inherit_graph_86.md5 @@ -0,0 +1 @@ +62e112ade50345b304e124e9cadc70ca \ No newline at end of file diff --git a/help/html/inherit_graph_86.png b/help/html/inherit_graph_86.png new file mode 100644 index 0000000000000000000000000000000000000000..db4cfc052dc37111329ffb927f3bdb8c856a876c GIT binary patch literal 3293 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 + + + + + diff --git a/help/html/inherit_graph_87.md5 b/help/html/inherit_graph_87.md5 new file mode 100644 index 0000000..3e45ec8 --- /dev/null +++ b/help/html/inherit_graph_87.md5 @@ -0,0 +1 @@ +26152c523b6a88528da2b2e28c8c407b \ No newline at end of file diff --git a/help/html/inherit_graph_87.png b/help/html/inherit_graph_87.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5a8a018fa2cf74bcf33019fb0ab57be13a366c GIT binary patch literal 15100 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_88.map b/help/html/inherit_graph_88.map new file mode 100644 index 0000000..2e54a2f --- /dev/null +++ b/help/html/inherit_graph_88.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_88.md5 b/help/html/inherit_graph_88.md5 new file mode 100644 index 0000000..fed4556 --- /dev/null +++ b/help/html/inherit_graph_88.md5 @@ -0,0 +1 @@ +2d2578f1762630f296e24147c1a262eb \ No newline at end of file diff --git a/help/html/inherit_graph_88.png b/help/html/inherit_graph_88.png new file mode 100644 index 0000000000000000000000000000000000000000..590075c90beaea9d9e063d3367d48f8de1fa466c GIT binary patch literal 2810 zcmY*bc{o&U8=qz-jcH_*N|PkAq$~;98Ob^rV?vj8h_SB;W1X?RUPZD+_L{OUB_fht zsEkmSQDbj}%97pt^xyZLbDih>bIx@pKot;NO125qczl49zsY;YNH1 zq;P{KJOsxcl$H?C#$z?F^BAGxza2P+#_4)Acdt0063y!Aw{)Y|Qc z%kTCqMs1M2yN^DWW{!|^!<_$&jC}uavI9YbAlmVaQwtFEvD2xV2=jcnRuxnPO*_u- zMz5)nQ&I{p)578qg@uLbQZ@$W`YjcDh z^J#IhYg;TAl=^mjTvbtV1AJ+^pr^-R?TtgVqJ%^blbO>srKF^kmX?;IRHt*v!(a3guY_@rsC2L`!cl>0R zuZqg+lhU@J7!PK{P=CKqSK^uS^71_Ou;*1(-S6MiIr8!1J-xkW&YY>VZBov+y0<81 zobBV|6B$WagmY6?z6UoJ=12|(_rq^y`6epwg>1?X_3vjz!vb|y`7c^VNM zkkHNF2S*#jwogEQ?rsOhzEMmR6BBD&Z*A2=wJEEpkOHPU?*TB_q-?d2I{=WrbBven zPZ}C9kp3@U5T)E_)uTD#8WR!Q>s+-L(+t$}_GjOprioGq+a4PVD*Nzj+@43@%uxyS zqEM7qezKyq(b`5vTp7JFtYjG!bu>_O@R-X#?t)ZJ$l!n4jw$CMyV+% zz|slyCr`wAk+s!?s@mEmfUKJvZ73@XV~Iw_C@U*VN=gojc@LG`fI!aV?AyI%adA)h z$sTogcX!?&v?;k!YR-HexC~U5o15F4F1fI@O+?&ngCPM)6*|8*H>4Ih!VoWkBiNosfTUJiHJCLSIAY^p5f=Wwy_CZo?woTTbr5r z&-b5mv3GZWO<8lx#I1k-^bAM=NOya4b9Zy)5X9cqbrXOUBpinpUM$pf1KxjilLt$ZI2K1xr4t!8U9X2`C*!W0NmsOR03*c#aS(%hg zL;J+DoE+x66tO58Z6h=sY?USN{$=}zuCcK(nfxp&DvBtejTUCDoTV`BpW zr>TXkci)m#Q&WSyrNRy^O*EAP#qPs&-P_n06F>3C1z%3rthh#s@}bK zFDx_^hr7x(5Y%TO3^nqv-D*V%@m!uI z5{Y*M5Ti6_LHI?{2&j?6g^nQm9nt%Bbys&hdRRWuTBOiW)q1+JI7ccWC?rHzN9Txq zU&Q?4VuxG{3pYw{wG_Q?K&PzEC*wp74Gacc&^$a?w6?eR@=N#61T!;0Q(dLj7Fo|x zx!-@vo16D*J;&^WgPI>+D}4O8t+my_&@hgVGU=m;H^PdI<)_%Egm=&V z>Pk9$;lc&rHFEOufLvia8<%-4T-tkk4}Z`EDAVb59UYzE;9z1@cnOE{DOkXtkTv#@ zmzNh1$^P1c1%57cbrUI%1zu=ZI*>f+K5{h?rHeXmv zadUD~7cn>fcADts?j8^jpr0J8j8Q`wWep@%RaNcm>{tf{Ga_>iyRKqCBcmgem2?DqO1=-3TYQ=Yt!+$a=pytZy4 zf5B^IG)RVIJziek+f$ufZ;P_<8JF?9Uq(h+tZyl1G{ljTpDHRT>7Rc9q8SVZnK%Wf z9^T*g8$6k&;&O|7l@F&H-w57nYCma+;7^T8{#AP0d| zoo?Ogp7GmYKZz3j2ZZs$=gKL?Bl9RXWoO_CKS(ULK zNChRQh?%Gd|9

    2. cN1K*z|#fzP>(SPc#~>q@={LE76qv+%zU@cFOH)t~HFrCyGW4 zSJ-R=Rs_ut7Mp?M&7K(t`1;1*y_>3c9**7FToJo);T?lvYG-%0>(}Y4UYd?(-W%1RU;ncb4t=LE zzhTncivEEG1JywT;5B&YIm-ePPt%>nQAQH%GIo>9@w~d46M^6>#iOV4A|oTiw + + diff --git a/help/html/inherit_graph_89.md5 b/help/html/inherit_graph_89.md5 new file mode 100644 index 0000000..fca550a --- /dev/null +++ b/help/html/inherit_graph_89.md5 @@ -0,0 +1 @@ +a4f5aa7041ff65c693170dc855bd4721 \ No newline at end of file diff --git a/help/html/inherit_graph_89.png b/help/html/inherit_graph_89.png new file mode 100644 index 0000000000000000000000000000000000000000..d1bfc11f086c26280017dbea110f858ebd15a841 GIT binary patch literal 1830 zcmV+>2if?EP)`GbF+{`vjFsCD$d;V7)+T5G9Gpqme zfx$Vy-`Vf?Jm+^F&UWxcAR+=|EZI6`iyZ-D|0*sn#w5bU#h666xEPbj((s1v?ryZU zwk}32jQzDbJ3HsK&AW5CTrS+ZcP}LYG4{7}yWLUiW!|0Zhe(yk7z<^$+fh|j6|s-M zb1^0nE-uC-!o|gyL{d^*#l^+AapOk9#~Ta=+_`f{!iW~%=g*%Z2m&T1CQ>%%Lf3)) z9=>z^!~W!AN+h;FIsQa&as4HXMk8+By0xJ9^z`)L(4j-p1oWH2V~dnuD&zl^^BWHr z7h@7hN^uzs2An&04rOI!P%4$!xN##MKYkqbc(2!sy?ggUrBY$-+O;@v-~c8kCqs@I z7#N5;p21*1eSJMlCKD721quoZ(A(RKmX;Q%)oP@tr=zyE7QtXpe2>LqfglKw$z;%K zwPh0~NnVA`CYHA{tN=3n7kcf!3ZQDlIuU{9BFD)&l^73*T9UY~SkrCRlV+WO&mnS@) zUau#OMnkV(zozNwX{xEIq1CHb)8WI1>C2ZdG&nd&>(;F!yWKu7)<7UYeSLkDpPx_d z?d=PiGgkkF3l~VI(~0AS@0&~}+P!->c|0C+I2>d&8VLZ6kB<`(QDtQ%nayT$I-N8% zHAN>*oS>~+x6<6)91#%}6&2CVn>Qn#|7badpZDfIfZtl+bv3y`EZITgCpat}YS;fqXun z*tT!qK00&eOw^b!U%pILRaFV+5U)QLhr>Yt$m8*dZBL&*6^qN|auEO;9UT?>=jP@} zsZ>&be?Ji=w)o*W#Vf9O^m;utG&F>?ZQi_@u3ftpcO9KhC&}e(}~+dLqh<7?Cfj^ zf&f7fuw=;+eEs?r!^6W-$4w-s-<6k_H*eqVcE?>utyYV>ckklVsZ%f-jW~GlAl|)u z_sel4>$*v$lt0keuwerNfdEEEM#MIU!y)!b!Q=6uy1E+Y&!5NG*cgJrAZ#`p0)c=e z^MzBZ)tH%?f!FI5+ni3PxSgAu3z+3R;v?Q z$BK#yJbLs9FJHbySy>rMN=h(0I~#GH@chC_eci;H|Ch#0`iODl<>jHIqy$Hf9KqPw z7+fwFjvqe`v)PQStSm|9^!xn?27^dXPsj4*%hA)*1Dnm3)Hz~39MI`>*uH%`jvhUV z@$qpuolZ0~G>FIM8%{{DWkc#@G* zyayTpaP{g{JbU&G)6>(qbmBF+<@UnEjqH;K%@U<>$y#{OsYdOh8~eS5LP_@kxdfd*qN6c-o!=M4`Ji%((0 zUskJCvU#KaCNg7h-@aY!5RyWp(S-cuN~-Xki!q6CaWN(lE-uC-!o|gyM4~>>u-oma zjDxYiQg?TE)V`?2742`aF~$-j&|*BJWbEI^|DTI7sc>;ICJ`@ + + diff --git a/help/html/inherit_graph_9.md5 b/help/html/inherit_graph_9.md5 new file mode 100644 index 0000000..58d8359 --- /dev/null +++ b/help/html/inherit_graph_9.md5 @@ -0,0 +1 @@ +201ac581f167060a829a4cb5993a07e8 \ No newline at end of file diff --git a/help/html/inherit_graph_9.png b/help/html/inherit_graph_9.png new file mode 100644 index 0000000000000000000000000000000000000000..25a44bc1c80b4b32f40ef9f5e469ff3436cb94c6 GIT binary patch literal 1392 zcmV-$1&{iPP)P!$(g6a3bbtT=03ZBDqtVFa@}DXNK_(d)88Vs7 zzWvXApx5iCrlv?Q2|+emtyZJa;4MCmPHMH9ta=bXLuqO0I}4f*5C9+@ARtHw2msux zgY@+D;o)IoA3mQyHa6zQr0(UHm*+Xqec*mR^L=pFDR<%Ic>(cFv|24`r`!d)4-f!+ zO$U5FzrDRZCntwar^m&`&Cky}`j||n^73*flNlNsT3K0ndwXkt>EPhN@hqRum&s&8 zp^!$SB_t%QuCDg=^|4s2pr9bBRBE+ap<8}_K7~T@^73M{*`1x8_8-k%mE_9a-QCUQ zavj$IfW5svp-@Pt)02~vS5{Vt^9~FQu-R-Xl`0epH#aw-5r4x!JUlcsG_cuh27^&s zTl@U{?5eByQ%=LWYUyV_j*qe7n4Fw^XK@OT$BT}RUR_;%etz!k>|`>TR;$%!v!$h_ z4Gj%JpRBB`yu7^2%gc+4i|p*|yu3W(vpgOT!?5-B^~cA@s;a8Mz`&ZCnwy)O!^6X{ zurQTMg)hKjv21Q`a=F~`@$nDCI<kRG_xJbR-Q9FL-DEPk z%6o8d;OpzVyu55Sn>89uV`C$9!}p=Euuvcn?C$Q~-Q6jb%IWE8S6#KAauxP(TS|af zEEbE!c*_@c(AU=o*HD!Pg8~0ebUGaX;Pmtq`t0oN006G8t_aTZcs#jW4(*GJixdjw z>FEh>D=I3Qo0}cW=B1xv~?ywU(9^`!+s4Ua3^N%6oEhLZwo-x3}Lp*!ysP zehvUQIyxfA=y=L$*e|q{07o5saXw%&nQ-Cn?+*Ylo6Y!F^?JRJj}L}na0_o;yQvf1p3 ziHWABrqtBb>gwvPt*v*V&d$!fy}e^%Vu&-o!)e&Bwe<6NWKN8Vin3TN7Z(?BdwhHh zjo%D=eSKY4R@TwcVKf@8R;xmxuvjeLt<{0k(^LEUf z%*=dwdBKOmFzoH^4StpX3dgV>YN;KM=zzoFWM*d8)zuk|M!jBNUtcd0iNeFfzZuqS zHe0RMprD{XfBtB-T7^RK)upVlu9Zx+sPEJnJXtboHq?DAD z$jHdi(b4b6#4xOCr}j83P^WU`WylJCcKL@JfGwY5b=M2wG*&(6+WvBbp0+}vCahqJMIVU1K zK}t%>$jAsex!g7O+_z{(4kPb-Y?Cgx<0GG>+jg2iTDiR0;KUEm|eSuUk z472^pKMtY$0098f0Rn<_fB*pL00D6_C#qB`^6Nm5iNRoCu~>ME6CFq-60+(+{1{@f y7{8_b&c_%8$)NcF0RYkg0)lja008L#0r>~(VAOH?sSwiu0000 + + diff --git a/help/html/inherit_graph_90.md5 b/help/html/inherit_graph_90.md5 new file mode 100644 index 0000000..7693ea8 --- /dev/null +++ b/help/html/inherit_graph_90.md5 @@ -0,0 +1 @@ +466abc6bc302a50642288e62a895f336 \ No newline at end of file diff --git a/help/html/inherit_graph_90.png b/help/html/inherit_graph_90.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3f944746d7b6090bc0bb089eec29fa953e76a1 GIT binary patch literal 2173 zcmV-@2!i*CP))5b?Z)) zd>gdRF~J(;nFnrZrZDzpSmM4F;XY|;X(c5kYPFhvm|m}6i&yu+EqRKQ_%#wq1+8-k zrtu`_L?Y3J3l|O@I>g~{cJ12r^yyRTn5n6$f`S4rm%C%fj*}-(e*gZRI5a#wOr0wd zi7F~8GBY#TY<6N|;;UD$>g(&HqM|}WLyL=x9S#Q^CX>l93}dlav9Yn2E?puDv0O=V zWv{KRjgOC~wyjpHOeW)SIEjgg4<9}xG|$h^mzS5v#KdgdwoN9JefjbQ0FalL_vXzT zjYflEm{=^Pk>~2Pa%FN8(;I9?d@c@ZU&H; zLKROOx_FMb=Z{Eal{PX9}005K81joF4_YMH?_3Kxfxk90^p`iiVU%YsMVc7iqJnR-07M?$U zo+{(owQEYHl3tQ4`;v@|i~s;8CnsU|*|TQ=0GrKbHk$zeTO)6+)q~va*us?%uuo#*G`$4wp}=D>nm3p5i2)d?+_Jx2&uT$8m?l5fc;B z($a$CI87XAP$(1%g@SDHaGm3Fxv&u&91H+hSXdw*HJi$BN%T_5SS*&1kPu?LKp=n(lgR`C zh>VQHFbu=6fPjD>KYqY-jT1ETR!Ur49Jx)nijIzUHN~9(x`{@kX>D!&^XJd==g((m zW{w{}4ptHede-C~g2&_8?e?*;G1!Ic2am^FrQ6BL$^88Mix)3ityYJ_(b(8%x7$~% zl|)oj)X$$kr>3T0*Jw1tModf$i^ZCro+f`;j~+b=0AR8HA3*QQgC8)VBq}NjwlNIz z*ryX@@lG5$awI4ysJFLQtJUV^<-xBjO&nJCx~o#{g1ET20|ySAIdjHpwVKW5va&LX zL=qkzzDl}TU$0-kmdoY8fByymgolS43{Zb4*>vZZf@@D>zkXKyK?1< z#bS}mfwibt6LT$ND5_ zokK8?+V+1_*c#$HU#926QAFoBOYTb zl}aK4>FMb>j?c}_m6er6M@NT-hUVntjE;`NDMF#Js;Vk0D~ru$x3#t9GF)z!Zab$`xJa}K9eRmkOXi9}*F8fRx` z&z?P-oSeM4xQOGpP$=BFb7y~lzuj&p2HWlSw{PFZ$H%v}wl3){D=SMXm5z^(kByBT zJa|wll|uWH-khMRRrwd8<{a890RRAt#nRo~Jw84j5fK3ZsH>~nzJ2@q_wSREk^lfD zB_;dz?IVv52na|{PA)Aiee~#2K|z6&H>1(m*VktbZDxT$lg|2%0*LRJ&N)@`xKpJ=Q?2CWZ8fD_^d&|<0EUx(lXCz5eOSW3 zj)D+A2K-+p@}GVA?>dKAFMKfPMn^|63d{b~o?-q8k!yqx?$7c0{EdHk@K1K|Pr5FVq~>zy{Y|Fh2Vcszwd!K@^Nk0Ta~Gcq#B z7R+z&*b(amx}HNY4azwL)1aI~Fb&E%1k?NvWTi?>=f9}-00000NkvXXu0mjf6nZN+ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_91.map b/help/html/inherit_graph_91.map new file mode 100644 index 0000000..5aa8a1d --- /dev/null +++ b/help/html/inherit_graph_91.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_91.md5 b/help/html/inherit_graph_91.md5 new file mode 100644 index 0000000..628c3c2 --- /dev/null +++ b/help/html/inherit_graph_91.md5 @@ -0,0 +1 @@ +e82b052c239ffcec5b7c7e418207933c \ No newline at end of file diff --git a/help/html/inherit_graph_91.png b/help/html/inherit_graph_91.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1f47fb21c59647d7fac36614ccc69c4af0761a GIT binary patch literal 2560 zcmX|Dc|26@0zOLCF?`tuWhtMr|7?vtOH(tpCi79YFrt~1B(gKIglsWs@{LduW1G;- z*p*#Ou8<}nq(aIT##rv@-uvBie&@V@oZs)f&-*^l^FB}Nxw9w{Az2{+07PuiNGv#Z zfscW}0q{+~e^m|~_UDQ%a0suj}4bsXfJbx+wioG~Xp$A{{vI}<5?SymsX-C@`L3Ok&Ysvszc0KL0KyW;U@?-h!L#Q*-I$*yuXTHCAjnmI~SYN|dcq1y_T#b6*H z9j(zE>pwLek@qDeB;*>qwrg~Bl*Q6gQF+$XM2ViC zXbO84(B%_^#bODBG7^bYSU5$3V`^(_>piOL>ei|+HbM9f+LLTcV0YMTHtUh;=0KkQ zXPlf}j%L^3BU8A9kVAh}RTY*h(Gz50(N-X=zUCyX*7ffTcFs zg1BdfKuC4yq#}Jz7nERR?DRT)g8cpc2?W*5Ssosq+}vDWGcBzE&gz_|R7HLL!w*#@ zg3OUlbhM}EWc(pvG)_cB1VrQcWm!?R%t^gC#T9uhn@k=90dI4;gZaj@3k&`_FoAdh zA)&^Q`NIRQjBD(L(F%7rx4$Wrj`sHRG|zyRDzx&##-Q2mjg5`&?(UZ_ zEdfhB9&RP3m#2B`n04{c`ue(Rt}T(c|LT=hyrPtrTgcLf6U7|eT+|~Oe|8Qe8*Ol@ zJ3U!cVPkzg-!u%`vyzz!g@uKM(JCuP7Jr>8ykX~1HWL*U6?BAFRu<=6f|Ze%-*bl} z&-}iy#}V6V8XCe6rn#1-!;W;si4#1)$>=R0*t0EG1lZc))a5dcWviN+%5^K8j84J1 zczG#QUY}_E^=+v5nVz;s{qu;m%Zng$thevq3jl<`z~oWx=Fd|WSLkklrJbE{x+oMn zW8~@XZs)R0qMF&o)+VBrZEb9nDq34xIUJ4-lx$vHU5Tk@t2~>Tot-T%E*6a6;;g|b zENu;qI_(^tuW-3d45+I&5rWlEXQ08<6_FO5oECBiJ1r z4B_|s{?Dm4;?CC43x18&JHmy7r4Rb5o12^MNmc)W*4fpS``|(7ty|Plf4+p8&?PrH z->lcMABTtkqKz3E8g{5hPenyWWE2 z(4j*S5fMU3J_{pMM6bN0#R_Mq#E#tE)5Byi{OKPK@ zROA@VOMx3i+}kk@{xU!@420?yGQdx(R$`r9Y0`Q2U%E5o0)FtuOvP_WgEEqqCRbdb zePDTQW6sBESH3Y1ki#7=1~k#zxFCu z0|ON(LHh?j23gJ_ks3U-vwG|t97YKS&pLvP@;`p`aH*!z_<`ma?mN}e>S}FW-Jywzi>eX@ zCb!C|)YQFxdG~L|UOJAj8C=f2dtwb9lS4y8BO@=uSA5=L0s;bzjg9yA_Vn>@KDI<{ z7NfGz!m>Pr4=*@7Xa522QLe2Y!j(2Q)e;pp&Ir(yy4siXCunJKSw}ftnZmu8eQSA@ zD+EH3Hd<8POtC^&R~G=1tcS+Ouf`~Dv4Ub^%w<-Vm$#N4-+%Mw>{iK5H@6S>X!C&$13puo5Jd8Ol1tuYB! zfAR72|D0%&78mdMy4KXxw6?kmJ!*m+JCSKhVq;Dj+qX~O*xugmO@7j=uMPl)hRg(h zQ7{&3o12gH1T}cP`MQ>M)bw)XYAWk;uu*;~rm%ehR7&j5meS$W^tTI(i=>Q{7$b8QE ziln9k$HAkDl$XZ=Lj+9a5^MvQpb=|dWac~?Zu)t97gbhPK7Ks?xsNnLzp-k$yG-%r zmfpQ9q@bX{m%y{%);};15*%E|WRlU!si~W}DmuTgjPoKQ~dAXFIca9VIm;Na>|5T;V3PbyoIF=mD9;|eL N&FQnqYHRQKe*<@}_;3IK literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_92.map b/help/html/inherit_graph_92.map new file mode 100644 index 0000000..7fa95d2 --- /dev/null +++ b/help/html/inherit_graph_92.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_92.md5 b/help/html/inherit_graph_92.md5 new file mode 100644 index 0000000..d221018 --- /dev/null +++ b/help/html/inherit_graph_92.md5 @@ -0,0 +1 @@ +6c274be470503838de4b7fdffbf1703e \ No newline at end of file diff --git a/help/html/inherit_graph_92.png b/help/html/inherit_graph_92.png new file mode 100644 index 0000000000000000000000000000000000000000..f97c37a1b2e0c4a8858d8deb7582f43606d2b61f GIT binary patch literal 2515 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 bIX(s9SzcCn@MRn5(m>d&*HN!8ru#WBwL literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_93.map b/help/html/inherit_graph_93.map new file mode 100644 index 0000000..ba59cbb --- /dev/null +++ b/help/html/inherit_graph_93.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_93.md5 b/help/html/inherit_graph_93.md5 new file mode 100644 index 0000000..c7951ee --- /dev/null +++ b/help/html/inherit_graph_93.md5 @@ -0,0 +1 @@ +c71e2aa077bc6a2de8266e200494be7f \ No newline at end of file diff --git a/help/html/inherit_graph_93.png b/help/html/inherit_graph_93.png new file mode 100644 index 0000000000000000000000000000000000000000..5de4761bfa9bef3ede9d8b307b9d9fb05f989cc2 GIT binary patch literal 3199 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 literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_94.map b/help/html/inherit_graph_94.map new file mode 100644 index 0000000..24e46f0 --- /dev/null +++ b/help/html/inherit_graph_94.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_94.md5 b/help/html/inherit_graph_94.md5 new file mode 100644 index 0000000..78a43f2 --- /dev/null +++ b/help/html/inherit_graph_94.md5 @@ -0,0 +1 @@ +47d3e339bbb779d3b209cec7be2e6039 \ No newline at end of file diff --git a/help/html/inherit_graph_94.png b/help/html/inherit_graph_94.png new file mode 100644 index 0000000000000000000000000000000000000000..4419a2fef001ee60989f479bcc60975b8fc3aed2 GIT binary patch literal 2106 zcmZWrXH=8f7X1XCG$V{Cx{L@&1_&Y!44^1Y1R~O;3`3LRC?Z6}ppwvABmrg^q$njJ z2!!4{p_qhTj8s9XWssI)+U%;%an>-~85u6@s+bJsd&-*e8s_*+&8h}dZ{001Cn zH;ipTTL(f@L;yUmPjjL{bNG%q!WiIx-=x-pWB?FeGc&$skIq`nah|2oO)7}tNIq#z+#wxGZ69lkPBgUWPr_PH_*GE)X$P*`dI>}jtFLrNk@2U zO~{@){x5PyZw3Yi-o8EUV@9ovtgWpb9<~kKY}lmV)zAy!`gi{5IT7VnvBu$$>tlkR z`S|*}!1Yc&t9mrsW^w_|kGvMS{}1M^!wc<;pFcnRL^j_Rvo@n=;HK#xvhxiqhwJS% z;~%A@INgyz?>mY{^-I}T8ibtF(%O7WxEjtTzh6m|xhjp;IS}RvM$@3-%Bg+vCog*4 zyO#uOdN4v>WMl_#RZSv=CC(lf5rS$XFQfkIX?Qd{6}!vh=`ns$NzKpC_o>TZEGj7~ zZf$Igj*rI~zsBKkG@4Pth$!VjopY4jJ$_dfCxe1qb=e5HWDd9P9*gv_RsE(9U6?e zySbu~p3u!K8e5*3aocXSx3@1G^LYVFPEMvYH@9Rav*usF8y>DM#7bk0ctb(ZRvN@H1)k``=josHQVS^9vM~hp z!V|CjJgQNaaBy&-;s==r$i9ESN zuqw!{M=vFQ_~7jLTs(RbNuJr6o09`PyuC%Xb~cuz0FRK6Gmp!SatcdIqE`t7g3z^r zw{L07IoD&=TpQ=$%nx1Fqv&PF@aPev@GxEfPFDSmeq=-i(Snq(e zv~(fDQqj)ayU<<*`%5E|=46@$m63snue`625Eo~DMRSTN)-EnCD3nGvLrLUyUS0=M zn{RW>S>;5{wmqCP z)igRfnu|yb+v5&}D(mYLou4y<)s@VZv|O2n53O#DRNU=N;MDI_EMB2J=$w zcD19bRY6T#+l*fWuQ)a81}q~pvt|-m>7#ktQ(jH&5Bj`?m6a{O3WY)ez?rvvsm}ygi8XnfTdiDIv{yOK?d3x;hs->l6=A}pD-kJiDq{ha}1_t5N%};@d z^+kq3=x$0stJq#8ytlun2M2box2BDa&F1E2Sy@?#zU)~QRn^kc(y7MBzXb%WCo5UM z&dn9nR~pp{!1L?|ib=PWIWw)$cjnxO;c+{NHwSM>Buw}bx|MzixANP`&Xw+J(OVpb zmE&^a9HfJ<0a`<$Pv!%k1jV45s^V$8g7jmK%M#0r;^!y@gA|i#1Fb!@7lBh>x$A+keeeC65(IwBC{38&KJ5ruUzD*`}E*@I1kqS za&Aow4IN@&bLO_!W^ebDKK+5{q+`cnjAomCJO{C;fG8i213S9BT#Yi#p{uH8dhCal z=H=b}SpU$|(^JWsSUZViGMSb89eAnq^mLHd)KpO{ZENdUyQ>-u27|+k8XLiB(hWpV zsnlO9+@>2JUzd~YVSQU(_Ibkp(dXyP!PV7O2m}JoH&|~*Mh57{$TpzonwXeeea03M z75&;TgR%7IM#BrpgOt!n?eq8h_S1JS+CX>f4&jYIFxsHM^+ONsOIp0wz_y}kC$W@?Ym0?)Q+ltr(o2qFaX(9`*qDo!DCZ?Z4`Pb9yK zr6$jgAzMY?Q~12OYvO+Ppgs)Od52)tQ2pX3Rik`cP=st;aE1m;o>8Y;_-{zxYw2Hb ZC5}qsy7YPnl)%pbU}j=vTyEqM^*1-nJJ|pL literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_95.map b/help/html/inherit_graph_95.map new file mode 100644 index 0000000..2f5ad65 --- /dev/null +++ b/help/html/inherit_graph_95.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_95.md5 b/help/html/inherit_graph_95.md5 new file mode 100644 index 0000000..4b8f482 --- /dev/null +++ b/help/html/inherit_graph_95.md5 @@ -0,0 +1 @@ +5831b36a68416dab6ec9a43cbed4302b \ No newline at end of file diff --git a/help/html/inherit_graph_95.png b/help/html/inherit_graph_95.png new file mode 100644 index 0000000000000000000000000000000000000000..4d050283ec9c7402ce1f84e489a75e3ee6774ec4 GIT binary patch literal 2404 zcmYM0dpy(oAIIlTB$oRnj&R&!u4{6gg{9-n+*Rh5+{?9Pa}PD*{UPLVNw?m2gO-P6+nZEzqr0I$|siW0@G~N@ zq?op{k+w#5C}SnWo5s(|ON?y!+mc#;7R)YOA@v^B;LkGN)lJ-HNkbF}LWfWE1_lIO zI4*ITEs^_Ty1Amh{=nAOR@zZH;oi{O#l;1B%88-gdc+Rg&(#Nl^Z=$3@zia^~jdboBIEf)Qz? z)zz3atQDTOb7kx^Z4*}-(`?E$`;3wL8PY#M=M_pRD(00zFZ#VDKYglnB8gpUvaawg z__e~p!2KL8q;Xj6ao77+c@quZ4(d_?qg5yC>gpiV-R=lk;4Ha4fGR61b@cVe2QP<(iNato zQ3;8wWb*HtV6k^B79U7gSGTUQ@nmwcCD!UlRaI3#aooq{DmADZzh#n{nc1_nA+4%< z^XXH|h6UpZ2BbeDgYVO)PwF~4qW=E=1Fv5Fy|&i;QpF%sLdVch`)FUNn7DX#dOE0{ zLaCga3$(;>46fjC1XuD=jVf7vFO2SXx>FaRtCzzqP-QkAhe> zJo(30*@KdjXdt8E`_^SitM8GRZhU2Jt@d5pG#ldW+c&OzR*$02ol_MO5gA`$wI91X zes=ds{F1YQT>OIKs*{tGI~ooCvAJ0UudEmtaOSs5Nl8H>lyxkLv zi;Hdugkbn%KMf7PZai$JBewU;I+RG5i-o?2%Et!>9~~}-5%l!+k&RyNo}RL*R@kD* z$Um(5w-x$nNh^MSk0WHw&CK3RJ;E%1ooGndV)b&1mEYAGDUw9kn^WP@vro~JaizNm!he8YW9fL~`cMeaoKYaM`zOAfG8D!V! zRTx3`(3@kkB`Q$^#9iJv#Y2x_{o&b_jgDw+|PEAdXPg|7Y`)&44H6&IXqQ+S85w{t z{$6@bvPUG7=yU`qoj~Aun=8V!w6&|AJyS9Af7S!+nDpVpS!%YaKB|R*Y7ST7ztQ}T z*`)4-wW{z!#`+Awc~Zc4HajXIG0~pl5wyqKy;fMr$P^N1n~?n)b6m;$cI0ut+j@9= zI~bO*5+vj0aY0lCeeWjvhc4Xc)Ko4YH5KdR+mXsrQt6K)r{H?TDhfr+Hg%_Gu*8T8 z=<&vl8z7LJfloTHe{u8FldhkGQa8Uy7pR^P&W2}To~PP3OvJ_eDeq^<&(E)Z%em;* zt&BrzHXpe^zw7Ae^kj(~GI%v8leUN{?Ca~hbonx4tj2|k--`RSy?j&aM8C3c{w=^O-;e|_4PFlr@uRe zt4=&MH$Tr0I*$JZIbwqsg+if-lP9OG$xNmXHaS_t#^wmXfTF=g9bMgw&d$z>bp?*G zqnn#_v4L-Cb+V#O)fSz*5YNJ(}TUFj9EEkkdbP@PFCrt5v~)|8~Y#2|0A)m zHU~*pI`hytmACV9CfuA8n`E)2(&f-gw-Fj$PQd>2N$deyH^gMRE*a2gSLZ_{5;-t5 z^ojGw4DIFMVDEiv9Lm%4{CAmJO-bFPc#APAn-T1ra_n&*59#0_P@n?K?CG&%GpPdI z-Q7%DIAQpok%58q{Cx4rN0`EFaryb7JEqBP+2MskP1Nu#nDR1$&6s2c0qa8=mbe4R z7`|hg+tSkV1t4vCBGyV%OUo@Z^m7L*(o9Lu$cP-xY8z!ww}wyDdnWw&>bVWnyMs|$ z&zza(8U>CxTDozm=50(G&5Yj;O}Q;BBGUNkC7Qa2#9-6_eS$%jsXHB>!Kbyf`{uci z0{$1^bLVspfQq+MQ%4~Xsm{ya9nYVyIk%$Z*C;0|E9>mylI5%kPfN3HI{PFO5XHOb z5lVV*-c0$;w{o0dmnbUe{X7J6aEcur9j$$_+NEaf zx$2PxBa@ZWGVscxV=ojO?<8GF67H4R?;`%MJc4|kGBl=q=(vJJS-@%{4(J+qJRY+- zFzcK^5QLpgB9V~01y8eH1)O$gs(R!s^w38xDU>o5B?b2Tl3!}P`kmT>V2>7{Z2}=r Lx+0q30h#{->WrHJ literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_96.map b/help/html/inherit_graph_96.map new file mode 100644 index 0000000..153261c --- /dev/null +++ b/help/html/inherit_graph_96.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_96.md5 b/help/html/inherit_graph_96.md5 new file mode 100644 index 0000000..1e19093 --- /dev/null +++ b/help/html/inherit_graph_96.md5 @@ -0,0 +1 @@ +6fc895644a3bd10143c065686b6cb965 \ No newline at end of file diff --git a/help/html/inherit_graph_96.png b/help/html/inherit_graph_96.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cbf13b3f8dc8be430615c37fc3c97bd583275f GIT binary patch literal 1754 zcmV<01||84P)rB@%5k!9}Sg^kQ<249hH> zE23Ul38SK-dgTiVbQQgcf^r15v?2_O3hG7RObc7RS`Gr>Uq?qr zx};!|j@fM9v112Q{cC5FB-zu`lX6KIPUz|BAxV(0t zVYytsY15{rrlw!NelZ_8ozC#FTCLV>HkX%|OC*w#l9K-Z{`U6vyu3V_Om^bL35udn zH-aD_gd&khrBb!FwlewIXp*9}x3#qu6%~b-eLf#S5K^hMq@?8WMe!t&n zG&VLih9|`j9y~ZbJv}ruG&nd&l4N6J4^pGi`2G9$ckkYL zJf7m>;@a9;ilQDqe5lju?%lgb)3n`gk1cQMgoll>n9GA^VYAs5v_wRs(X_X>qcZv{ z^Lo8BO_!CG-MMpzrs?6~VF19$$O!85<;xcUz|WsQV~o{kG#wossQvBRw-CZWAb_ez zjvTpg;X=5K8#iv$*Vo6E6s+4R+WViy0dLfX!xOx5T-#<#IVHWMyRm0D{3F`%{u6Gcq!iN+qhI zrxSBe8*S{yjT=!RGc$ADx^-f)n5i;-y1To#Z{IGFNFanQEiGQJcTq{PrLysQy<)ML z>91C+QDJ0c1OSkmn+qX?5UyIa>i6&8qobqY5n{-To7juFEI2u!DHMvixjB!=gQ{r9 zC=`kW!;X)SH#9U{y?WK>^HCIKu~_Ej<`UJ)A}=p*W@ct$Vggm&ZZ|3v6cmU=qN%AV z_AaTZsR00pME@^f66LYOCUG%2F}tv^u%e=(xw+Zr^N}QZ=FAy`!H|=alVI3jFi269 zOeR~iW{ur$w^%H3hl+SIQmfTFckVoO>eS@qq}%Pjc=00Yke{Ewckf=4$@J~px7pd* zfq{YA+S)&V{r~`Sa&jCF2QoDddC|^^?665(Os-zNY&M%jBH6ZWn@*?8&CRu1t%=7} zDwWr+U2AA)kV>Uyvw8pi{fWn1fX!wL1OjTcnji?H(a5x0t=8h=VuQgTm&;F|K5a6Y z)~;O(062gC{EHVava+)DdVLb*vBQESE++fYw8R4%h8KWj9ndg*1e+}&u-O6vo4q)p zP^hV?Y5n^3Teogax0Zz9x7n#l9X@;ZY+zu(>-B#9`jzXsI3>al4tWH+I_8?8p`o&} zGMP-4g1I<_-#a@sOixdvw`#t_Z?oBt@tZeqs#GemSX^FS{^`>v)EF%}xRfj{f*^=n zw{G3OeH%h}`SRsujs53fzjX8NQiaJNIi1ect5?5&|2`ND_Vx9hJ$n{)sI084uC5*% z8}oQPyLa!duC7My8jU7DKfk}fe`aQ;wY60)ms1oKZInl|LZSKjd6aGB zDAUScR*2b^m6h4q*#?7Q!-fqOi{;UyM-qtyaFc1}G3+mJ-W||%I$dXHXS!AVqkxrk zK=b*0!^6Xcg@x%B!W(#C_UPy+45O&1X!GXH`}XbIwQCo5vzSb#qy+y*;KALvQmLf5 z|7UHfnI*mOU}s~J1vXniV6z1THd{bMIG`Oka3J+MFe%`#ovlzP>gwv!B?XgQ>gwti wBm&@yf8W3`;O}e!fz1{W*lYoT%@z><0mEL7#J)Z}^Z)<=07*qoM6N<$f_va@MF0Q* literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_97.map b/help/html/inherit_graph_97.map new file mode 100644 index 0000000..938a26a --- /dev/null +++ b/help/html/inherit_graph_97.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_97.md5 b/help/html/inherit_graph_97.md5 new file mode 100644 index 0000000..90305f8 --- /dev/null +++ b/help/html/inherit_graph_97.md5 @@ -0,0 +1 @@ +7f29244ccbbdfdf104fa5320da1ad7db \ No newline at end of file diff --git a/help/html/inherit_graph_97.png b/help/html/inherit_graph_97.png new file mode 100644 index 0000000000000000000000000000000000000000..d9813fc158866a74429ffca9be7f81f7888c1bca GIT binary patch literal 4021 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 JuGe!({4a!6sS^MI literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_98.map b/help/html/inherit_graph_98.map new file mode 100644 index 0000000..3b98c5c --- /dev/null +++ b/help/html/inherit_graph_98.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_98.md5 b/help/html/inherit_graph_98.md5 new file mode 100644 index 0000000..59e5939 --- /dev/null +++ b/help/html/inherit_graph_98.md5 @@ -0,0 +1 @@ +b984c5d4449347cd82796149c2a8a5bb \ No newline at end of file diff --git a/help/html/inherit_graph_98.png b/help/html/inherit_graph_98.png new file mode 100644 index 0000000000000000000000000000000000000000..5d089b17efa9b2d0f0c4ebbaff24030c987d7a98 GIT binary patch literal 3988 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 Xak`sR$ejk-Y)J3Qb##fAUFiP+uJO)` literal 0 HcmV?d00001 diff --git a/help/html/inherit_graph_99.map b/help/html/inherit_graph_99.map new file mode 100644 index 0000000..451fdbf --- /dev/null +++ b/help/html/inherit_graph_99.map @@ -0,0 +1,3 @@ + + + diff --git a/help/html/inherit_graph_99.md5 b/help/html/inherit_graph_99.md5 new file mode 100644 index 0000000..2ed3911 --- /dev/null +++ b/help/html/inherit_graph_99.md5 @@ -0,0 +1 @@ +11f340d54b6025ff227a4bb1ee592c51 \ No newline at end of file diff --git a/help/html/inherit_graph_99.png b/help/html/inherit_graph_99.png new file mode 100644 index 0000000000000000000000000000000000000000..08520f6fdfa4cee9323fcf740f05bbf6801d03db GIT binary patch literal 4304 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 MqoI$eyJHvoAOF@tVE_OC literal 0 HcmV?d00001 diff --git a/help/html/inherits.html b/help/html/inherits.html new file mode 100644 index 0000000..49b0240 --- /dev/null +++ b/help/html/inherits.html @@ -0,0 +1,147 @@ + + + + + + + +CocoaTweet: Class Hierarchy + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Class Hierarchy
      +
      +
      + + + + diff --git a/help/html/jquery.js b/help/html/jquery.js new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/help/html/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
      ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
      "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
      ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
      "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
      "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
      ').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/help/html/json-populate-cfgcmd_8txt.html b/help/html/json-populate-cfgcmd_8txt.html new file mode 100644 index 0000000..ccd8f8b --- /dev/null +++ b/help/html/json-populate-cfgcmd_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/tmp/json-populate-cfgcmd.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      build/_deps/json-subbuild/json-populate-prefix/tmp/json-populate-cfgcmd.txt File Reference
      +
      +
      +
      + + + + diff --git a/help/html/json-populate-gitclone-lastrun_8txt.html b/help/html/json-populate-gitclone-lastrun_8txt.html new file mode 100644 index 0000000..cca7fcf --- /dev/null +++ b/help/html/json-populate-gitclone-lastrun_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/src/json-populate-stamp/json-populate-gitclone-lastrun.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      build/_deps/json-subbuild/json-populate-prefix/src/json-populate-stamp/json-populate-gitclone-lastrun.txt File Reference
      +
      +
      +
      + + + + diff --git a/help/html/json-populate-gitinfo_8txt.html b/help/html/json-populate-gitinfo_8txt.html new file mode 100644 index 0000000..39f05f5 --- /dev/null +++ b/help/html/json-populate-gitinfo_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: build/_deps/json-subbuild/json-populate-prefix/src/json-populate-stamp/json-populate-gitinfo.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      build/_deps/json-subbuild/json-populate-prefix/src/json-populate-stamp/json-populate-gitinfo.txt File Reference
      +
      +
      +
      + + + + diff --git a/help/html/json_8hpp.html b/help/html/json_8hpp.html new file mode 100644 index 0000000..bebe100 --- /dev/null +++ b/help/html/json_8hpp.html @@ -0,0 +1,4042 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json.hpp File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      json.hpp File Reference
      +
      +
      +
      #include <algorithm>
      +#include <cassert>
      +#include <ciso646>
      +#include <cstddef>
      +#include <functional>
      +#include <initializer_list>
      +#include <iosfwd>
      +#include <iterator>
      +#include <memory>
      +#include <numeric>
      +#include <string>
      +#include <utility>
      +#include <vector>
      +#include <array>
      +#include <forward_list>
      +#include <map>
      +#include <tuple>
      +#include <type_traits>
      +#include <unordered_map>
      +#include <valarray>
      +#include <exception>
      +#include <stdexcept>
      +#include <cstdlib>
      +#include <limits>
      +#include <cstdint>
      +#include <cmath>
      +#include <cstdio>
      +#include <cstring>
      +#include <istream>
      +#include <clocale>
      +#include <cctype>
      +#include <ios>
      +#include <ostream>
      +
      +Include dependency graph for json.hpp:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Classes

      struct  nlohmann::detail::position_t
       struct to capture the start position of the current token More...
       
      class  nlohmann::detail::exception
       general exception of the basic_json class More...
       
      class  nlohmann::detail::parse_error
       exception indicating a parse error More...
       
      class  nlohmann::detail::invalid_iterator
       exception indicating errors with iterators More...
       
      class  nlohmann::detail::type_error
       exception indicating executing a member function with a wrong type More...
       
      class  nlohmann::detail::out_of_range
       exception indicating access out of the defined range More...
       
      class  nlohmann::detail::other_error
       exception indicating other library errors More...
       
      struct  nlohmann::detail::index_sequence< Ints >
       
      struct  nlohmann::detail::merge_and_renumber< Sequence1, Sequence2 >
       
      struct  nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
       
      struct  nlohmann::detail::make_index_sequence< N >
       
      struct  nlohmann::detail::make_index_sequence< 0 >
       
      struct  nlohmann::detail::make_index_sequence< 1 >
       
      struct  nlohmann::detail::priority_tag< N >
       
      struct  nlohmann::detail::priority_tag< 0 >
       
      struct  nlohmann::detail::static_const< T >
       
      struct  nlohmann::detail::make_void< Ts >
       
      struct  nlohmann::detail::iterator_types< It, typename >
       
      struct  nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
       
      struct  nlohmann::detail::iterator_traits< T, typename >
       
      struct  nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
       
      struct  nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
       
      struct  nlohmann::detail::nonesuch
       
      struct  nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
       
      struct  nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
       
      struct  nlohmann::adl_serializer< typename, typename >
       default JSONSerializer template argument More...
       
      class  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >
       a class to store JSON values More...
       
      class  nlohmann::json_pointer< BasicJsonType >
       JSON Pointer. More...
       
      struct  nlohmann::detail::is_basic_json< typename >
       
      struct  nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
       
      struct  nlohmann::detail::has_from_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  nlohmann::detail::has_to_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  nlohmann::detail::is_iterator_traits< T, typename >
       
      struct  nlohmann::detail::is_iterator_traits< iterator_traits< T > >
       
      struct  nlohmann::detail::is_complete_type< T, typename >
       
      struct  nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>
       
      struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
       
      struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >
       
      struct  nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
       
      struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
       
      struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >
       
      struct  nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
       
      struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >
       
      struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
       
      struct  nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >
       
      struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >
       
      struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
       
      struct  nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
       
      struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
       
      struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
       
      struct  nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
       
      struct  nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
       
      struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
       
      struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >
       
      struct  nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
       
      struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
       
      struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
       
      struct  nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >
       
      struct  nlohmann::detail::conjunction<... >
       
      struct  nlohmann::detail::conjunction< B1 >
       
      struct  nlohmann::detail::conjunction< B1, Bn... >
       
      struct  nlohmann::detail::is_constructible_tuple< T1, T2 >
       
      struct  nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >
       
      struct  nlohmann::detail::from_json_fn
       
      class  nlohmann::detail::iteration_proxy_value< IteratorType >
       
      class  nlohmann::detail::iteration_proxy< IteratorType >
       proxy class for the items() function More...
       
      class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      struct  nlohmann::detail::external_constructor< value_t >
       
      struct  nlohmann::detail::external_constructor< value_t::boolean >
       
      struct  nlohmann::detail::external_constructor< value_t::string >
       
      struct  nlohmann::detail::external_constructor< value_t::number_float >
       
      struct  nlohmann::detail::external_constructor< value_t::number_unsigned >
       
      struct  nlohmann::detail::external_constructor< value_t::number_integer >
       
      struct  nlohmann::detail::external_constructor< value_t::array >
       
      struct  nlohmann::detail::external_constructor< value_t::object >
       
      struct  nlohmann::detail::to_json_fn
       
      struct  nlohmann::adl_serializer< typename, typename >
       default JSONSerializer template argument More...
       
      struct  nlohmann::detail::input_adapter_protocol
       abstract input adapter interface More...
       
      class  nlohmann::detail::file_input_adapter
       
      class  nlohmann::detail::input_stream_adapter
       
      class  nlohmann::detail::input_buffer_adapter
       input adapter for buffer input More...
       
      struct  nlohmann::detail::wide_string_input_helper< WideStringType, T >
       
      struct  nlohmann::detail::wide_string_input_helper< WideStringType, 2 >
       
      class  nlohmann::detail::wide_string_input_adapter< WideStringType >
       
      class  nlohmann::detail::input_adapter
       
      struct  nlohmann::json_sax< BasicJsonType >
       SAX interface. More...
       
      class  nlohmann::detail::json_sax_dom_parser< BasicJsonType >
       SAX implementation to create a JSON value from SAX events. More...
       
      class  nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
       
      class  nlohmann::detail::json_sax_acceptor< BasicJsonType >
       
      struct  nlohmann::detail::is_sax< SAX, BasicJsonType >
       
      struct  nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
       
      class  nlohmann::detail::binary_reader< BasicJsonType, SAX >
       deserialization of CBOR, MessagePack, and UBJSON values More...
       
      class  nlohmann::detail::lexer< BasicJsonType >
       lexical analysis More...
       
      class  nlohmann::detail::parser< BasicJsonType >
       syntax analysis More...
       
      class  nlohmann::detail::primitive_iterator_t
       
      struct  nlohmann::detail::internal_iterator< BasicJsonType >
       an iterator value More...
       
      class  nlohmann::detail::iteration_proxy< IteratorType >
       proxy class for the items() function More...
       
      class  nlohmann::detail::iteration_proxy_value< IteratorType >
       
      class  nlohmann::detail::iter_impl< BasicJsonType >
       a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
       
      class  nlohmann::detail::json_reverse_iterator< Base >
       a template for a reverse iterator class More...
       
      class  nlohmann::json_pointer< BasicJsonType >
       JSON Pointer. More...
       
      class  nlohmann::detail::json_ref< BasicJsonType >
       
      struct  nlohmann::detail::output_adapter_protocol< CharType >
       abstract output adapter interface More...
       
      class  nlohmann::detail::output_vector_adapter< CharType >
       output adapter for byte vectors More...
       
      class  nlohmann::detail::output_stream_adapter< CharType >
       output adapter for output streams More...
       
      class  nlohmann::detail::output_string_adapter< CharType, StringType >
       output adapter for basic_string More...
       
      class  nlohmann::detail::output_adapter< CharType, StringType >
       
      class  nlohmann::detail::binary_writer< BasicJsonType, CharType >
       serialization to CBOR and MessagePack values More...
       
      struct  nlohmann::detail::dtoa_impl::diyfp
       
      struct  nlohmann::detail::dtoa_impl::boundaries
       
      struct  nlohmann::detail::dtoa_impl::cached_power
       
      class  nlohmann::detail::serializer< BasicJsonType >
       
      class  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >
       a class to store JSON values More...
       
      struct  std::hash< nlohmann::json >
       hash value for JSON objects More...
       
      struct  std::less<::nlohmann::detail::value_t >
       
      + + + + + + + + + + + + +

      +Namespaces

       nlohmann
       namespace for Niels Lohmann
       
       nlohmann::detail
       detail namespace with internal helper functions
       
       std
       
       nlohmann::detail::dtoa_impl
       implements the Grisu2 algorithm for binary to decimal floating-point conversion.
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Macros

      #define NLOHMANN_JSON_VERSION_MAJOR   3
       
      #define NLOHMANN_JSON_VERSION_MINOR   7
       
      #define NLOHMANN_JSON_VERSION_PATCH   3
       
      #define JSON_HEDLEY_VERSION   11
       
      #define JSON_HEDLEY_STRINGIFY_EX(x)   #x
       
      #define JSON_HEDLEY_STRINGIFY(x)   JSON_HEDLEY_STRINGIFY_EX(x)
       
      #define JSON_HEDLEY_CONCAT_EX(a, b)   a##b
       
      #define JSON_HEDLEY_CONCAT(a, b)   JSON_HEDLEY_CONCAT_EX(a,b)
       
      #define JSON_HEDLEY_VERSION_ENCODE(major, minor, revision)   (((major) * 1000000) + ((minor) * 1000) + (revision))
       
      #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version)   ((version) / 1000000)
       
      #define JSON_HEDLEY_VERSION_DECODE_MINOR(version)   (((version) % 1000000) / 1000)
       
      #define JSON_HEDLEY_VERSION_DECODE_REVISION(version)   ((version) % 1000)
       
      #define JSON_HEDLEY_GNUC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_MSVC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_INTEL_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_PGI_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_ARM_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_IBM_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_CRAY_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_IAR_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TINYC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_DMC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_PELLES_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_GCC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns, attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_BUILTIN(builtin)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_FEATURE(feature)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_EXTENSION(extension)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_WARNING(warning)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)   x
       
      #define JSON_HEDLEY_PRAGMA(value)
       
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
       
      #define JSON_HEDLEY_DIAGNOSTIC_POP
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
       
      #define JSON_HEDLEY_DEPRECATED(since)
       
      #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
       
      #define JSON_HEDLEY_UNAVAILABLE(available_since)
       
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
       
      #define JSON_HEDLEY_SENTINEL(position)
       
      #define JSON_HEDLEY_NO_RETURN
       
      #define JSON_HEDLEY_NO_ESCAPE
       
      #define JSON_HEDLEY_UNREACHABLE()
       
      #define JSON_HEDLEY_UNREACHABLE_RETURN(value)   return value
       
      #define JSON_HEDLEY_ASSUME(expr)   ((void) (expr))
       
      #define JSON_HEDLEY_NON_NULL(...)
       
      #define JSON_HEDLEY_PRINTF_FORMAT(string_idx, first_to_check)
       
      #define JSON_HEDLEY_CONSTEXPR
       
      #define JSON_HEDLEY_PREDICT(expr, expected, probability)   (((void) (expected)), !!(expr))
       
      #define JSON_HEDLEY_PREDICT_TRUE(expr, probability)   (!!(expr))
       
      #define JSON_HEDLEY_PREDICT_FALSE(expr, probability)   (!!(expr))
       
      #define JSON_HEDLEY_LIKELY(expr)   (!!(expr))
       
      #define JSON_HEDLEY_UNLIKELY(expr)   (!!(expr))
       
      #define JSON_HEDLEY_UNPREDICTABLE(expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
       
      #define JSON_HEDLEY_MALLOC
       
      #define JSON_HEDLEY_PURE
       
      #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
       
      #define JSON_HEDLEY_RESTRICT
       
      #define JSON_HEDLEY_INLINE
       
      #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
       
      #define JSON_HEDLEY_NEVER_INLINE
       
      #define JSON_HEDLEY_PRIVATE
       
      #define JSON_HEDLEY_PUBLIC
       
      #define JSON_HEDLEY_IMPORT   extern
       
      #define JSON_HEDLEY_NO_THROW
       
      #define JSON_HEDLEY_FALL_THROUGH
       
      #define JSON_HEDLEY_RETURNS_NON_NULL
       
      #define JSON_HEDLEY_ARRAY_PARAM(name)
       
      #define JSON_HEDLEY_IS_CONSTANT(expr)   (0)
       
      #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)   (expr)
       
      #define JSON_HEDLEY_BEGIN_C_DECLS
       
      #define JSON_HEDLEY_END_C_DECLS
       
      #define JSON_HEDLEY_C_DECL
       
      #define JSON_HEDLEY_STATIC_ASSERT(expr, message)
       
      #define JSON_HEDLEY_CONST_CAST(T, expr)   ((T) (expr))
       
      #define JSON_HEDLEY_REINTERPRET_CAST(T, expr)   (*((T*) &(expr)))
       
      #define JSON_HEDLEY_STATIC_CAST(T, expr)   ((T) (expr))
       
      #define JSON_HEDLEY_CPP_CAST(T, expr)   (expr)
       
      #define JSON_HEDLEY_NULL   ((void*) 0)
       
      #define JSON_HEDLEY_MESSAGE(msg)
       
      #define JSON_HEDLEY_WARNING(msg)   JSON_HEDLEY_MESSAGE(msg)
       
      #define JSON_HEDLEY_REQUIRE(expr)
       
      #define JSON_HEDLEY_REQUIRE_MSG(expr, msg)
       
      #define JSON_HEDLEY_FLAGS_CAST(T, expr)   JSON_HEDLEY_STATIC_CAST(T, expr)
       
      #define JSON_HEDLEY_EMPTY_BASES
       
      #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
       
      #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature)   JSON_HEDLEY_HAS_FEATURE(feature)
       
      #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
       
      #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_WARNING(warning)   JSON_HEDLEY_HAS_WARNING(warning)
       
      #define JSON_THROW(exception)   std::abort()
       
      #define JSON_TRY   if(true)
       
      #define JSON_CATCH(exception)   if(false)
       
      #define JSON_INTERNAL_CATCH(exception)   if(false)
       
      #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
       macro to briefly define a mapping between an enum and JSON More...
       
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
       
      #define NLOHMANN_BASIC_JSON_TPL
       
      #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Typedefs

      template<bool B, typename T = void>
      using nlohmann::detail::enable_if_t = typename std::enable_if< B, T >::type
       
      template<typename T >
      using nlohmann::detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
       
      template<typename... Ts>
      using nlohmann::detail::index_sequence_for = make_index_sequence< sizeof...(Ts)>
       
      template<typename ... Ts>
      using nlohmann::detail::void_t = typename make_void< Ts... >::type
       
      template<template< class... > class Op, class... Args>
      using nlohmann::detail::is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
       
      template<template< class... > class Op, class... Args>
      using nlohmann::detail::detected_t = typename detector< nonesuch, void, Op, Args... >::type
       
      template<class Default , template< class... > class Op, class... Args>
      using nlohmann::detail::detected_or = detector< Default, void, Op, Args... >
       
      template<class Default , template< class... > class Op, class... Args>
      using nlohmann::detail::detected_or_t = typename detected_or< Default, Op, Args... >::type
       
      template<class Expected , template< class... > class Op, class... Args>
      using nlohmann::detail::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
       
      template<class To , template< class... > class Op, class... Args>
      using nlohmann::detail::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
       
      using nlohmann::json = basic_json<>
       default JSON class More...
       
      template<typename T >
      using nlohmann::detail::mapped_type_t = typename T::mapped_type
       
      template<typename T >
      using nlohmann::detail::key_type_t = typename T::key_type
       
      template<typename T >
      using nlohmann::detail::value_type_t = typename T::value_type
       
      template<typename T >
      using nlohmann::detail::difference_type_t = typename T::difference_type
       
      template<typename T >
      using nlohmann::detail::pointer_t = typename T::pointer
       
      template<typename T >
      using nlohmann::detail::reference_t = typename T::reference
       
      template<typename T >
      using nlohmann::detail::iterator_category_t = typename T::iterator_category
       
      template<typename T >
      using nlohmann::detail::iterator_t = typename T::iterator
       
      template<typename T , typename... Args>
      using nlohmann::detail::to_json_function = decltype(T::to_json(std::declval< Args >()...))
       
      template<typename T , typename... Args>
      using nlohmann::detail::from_json_function = decltype(T::from_json(std::declval< Args >()...))
       
      template<typename T , typename U >
      using nlohmann::detail::get_template_function = decltype(std::declval< T >().template get< U >())
       
      using nlohmann::detail::input_adapter_t = std::shared_ptr< input_adapter_protocol >
       a type to simplify interfaces More...
       
      template<typename T >
      using nlohmann::detail::null_function_t = decltype(std::declval< T & >().null())
       
      template<typename T >
      using nlohmann::detail::boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
       
      template<typename T , typename Integer >
      using nlohmann::detail::number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
       
      template<typename T , typename Unsigned >
      using nlohmann::detail::number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
       
      template<typename T , typename Float , typename String >
      using nlohmann::detail::number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
       
      template<typename T , typename String >
      using nlohmann::detail::string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
       
      template<typename T >
      using nlohmann::detail::start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
       
      template<typename T , typename String >
      using nlohmann::detail::key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
       
      template<typename T >
      using nlohmann::detail::end_object_function_t = decltype(std::declval< T & >().end_object())
       
      template<typename T >
      using nlohmann::detail::start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
       
      template<typename T >
      using nlohmann::detail::end_array_function_t = decltype(std::declval< T & >().end_array())
       
      template<typename T , typename Exception >
      using nlohmann::detail::parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
       
      template<typename CharType >
      using nlohmann::detail::output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
       a type to simplify interfaces More...
       
      + + + + + + + + + + +

      +Enumerations

      enum  nlohmann::detail::value_t : std::uint8_t {
      +  nlohmann::detail::value_t::null, +nlohmann::detail::value_t::object, +nlohmann::detail::value_t::array, +nlohmann::detail::value_t::string, +
      +  nlohmann::detail::value_t::boolean, +nlohmann::detail::value_t::number_integer, +nlohmann::detail::value_t::number_unsigned, +nlohmann::detail::value_t::number_float, +
      +  nlohmann::detail::value_t::discarded +
      + }
       the JSON type enumeration More...
       
      enum  nlohmann::detail::input_format_t {
      +  nlohmann::detail::input_format_t::json, +nlohmann::detail::input_format_t::cbor, +nlohmann::detail::input_format_t::msgpack, +nlohmann::detail::input_format_t::ubjson, +
      +  nlohmann::detail::input_format_t::bson +
      + }
       the supported input formats More...
       
      enum  nlohmann::detail::error_handler_t { nlohmann::detail::error_handler_t::strict, +nlohmann::detail::error_handler_t::replace, +nlohmann::detail::error_handler_t::ignore + }
       how to treat decoding errors More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Functions

      bool nlohmann::detail::operator< (const value_t lhs, const value_t rhs) noexcept
       comparison operator for JSON types More...
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename std::nullptr_t &n)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
       
      template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value and not std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleStringType &s)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, EnumType &e)
       
      template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto nlohmann::detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
       
      template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value and not is_basic_json< ConstructibleArrayType >::value, int > = 0>
      auto nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
       
      j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
       
      j template nlohmann::detail::void ())
       
      template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType , typename A1 , typename A2 >
      void nlohmann::detail::from_json (const BasicJsonType &j, std::pair< A1, A2 > &p)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void nlohmann::detail::from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
       
      template<typename BasicJsonType , typename... Args>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::tuple< Args... > &t)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
       
      template<typename string_type >
      void nlohmann::detail::int_to_string (string_type &target, std::size_t value)
       
      template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
      auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, T b) noexcept
       
      template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleString &s)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
       
      template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, FloatType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, EnumType e) noexcept
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, const std::vector< bool > &e)
       
      template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value and not is_basic_json< CompatibleArrayType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
       
      template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value and not is_basic_json< CompatibleObjectType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
       
      template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const T(&arr)[N])
       
      template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const T &b)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void nlohmann::detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
       
      template<typename Target , typename Source >
      Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
       
      template<typename FloatType >
      boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
       
      cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
       
      int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
       
      void nlohmann::detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
       
      void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
       
      void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
       
      template<typename FloatType >
      void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
       
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::append_exponent (char *buf, int e)
       appends a decimal representation of e to buf More...
       
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
       prettify v = buf * 10^decimal_exponent More...
       
      template<typename FloatType >
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars (char *first, const char *last, FloatType value)
       generates a decimal representation of the floating-point number value in [first, last). More...
       
      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPL &j)
       user-defined to_string function for JSON values More...
       
      template<>
      void std::swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
       exchanges the values of two JSON objects More...
       
      nlohmann::json operator""_json (const char *s, std::size_t n)
       user-defined string literal for JSON values More...
       
      nlohmann::json::json_pointer operator""_json_pointer (const char *s, std::size_t n)
       user-defined string literal for JSON pointer More...
       
      + + + + + +

      +Variables

      constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
       
      constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
       
      +

      Macro Definition Documentation

      + +

      ◆ INCLUDE_NLOHMANN_JSON_FWD_HPP_

      + +
      +
      + + + + +
      #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      + +
      +
      + +

      ◆ JSON_CATCH

      + +
      +
      + + + + + + + + +
      #define JSON_CATCH( exception)   if(false)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ALWAYS_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ARM_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_ARM_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ARRAY_PARAM

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_ARRAY_PARAM( name)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ASSUME

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_ASSUME( expr)   ((void) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_BEGIN_C_DECLS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_BEGIN_C_DECLS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_C_DECL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_C_DECL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_BUILTIN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_BUILTIN( builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_EXTENSION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_EXTENSION( extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_FEATURE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_FEATURE( feature)   JSON_HEDLEY_HAS_FEATURE(feature)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_WARNING( warning)   JSON_HEDLEY_HAS_WARNING(warning)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_COMPCERT_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_COMPCERT_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT( a,
       
      )   JSON_HEDLEY_CONCAT_EX(a,b)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT_EX

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT_EX( a,
       
      )   a##b
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONST

      + +
      +
      + + + + +
      #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONST_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONST_CAST( T,
       expr 
      )   ((T) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONSTEXPR

      + +
      +
      + + + + +
      #define JSON_HEDLEY_CONSTEXPR
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CPP_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CPP_CAST( T,
       expr 
      )   (expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CRAY_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CRAY_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DEPRECATED

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_DEPRECATED( since)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DEPRECATED_FOR

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_DEPRECATED_FOR( since,
       replacement 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_( x)   x
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_POP

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_POP
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_PUSH

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DMC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_DMC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_EMPTY_BASES

      + +
      +
      + + + + +
      #define JSON_HEDLEY_EMPTY_BASES
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_END_C_DECLS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_END_C_DECLS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_FALL_THROUGH

      + +
      +
      + + + + +
      #define JSON_HEDLEY_FALL_THROUGH
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_FLAGS_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_FLAGS_CAST( T,
       expr 
      )   JSON_HEDLEY_STATIC_CAST(T, expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_BUILTIN

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_BUILTIN( builtin,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_EXTENSION

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_EXTENSION( extension,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_FEATURE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_FEATURE( feature,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_WARNING

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_WARNING( warning,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK( major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_BUILTIN

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_BUILTIN( builtin,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_EXTENSION

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_EXTENSION( extension,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_FEATURE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_FEATURE( feature,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_WARNING

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_WARNING( warning,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_BUILTIN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_BUILTIN( builtin)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS( ns,
       attribute 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_EXTENSION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_EXTENSION( extension)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_FEATURE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_FEATURE( feature)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_WARNING( warning)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IAR_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_IAR_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IBM_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_IBM_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IMPORT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_IMPORT   extern
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_INTEL_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_INTEL_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IS_CONSTANT

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_IS_CONSTANT( expr)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_LIKELY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_LIKELY( expr)   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MALLOC

      + +
      +
      + + + + +
      #define JSON_HEDLEY_MALLOC
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MESSAGE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_MESSAGE( msg)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MSVC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_MSVC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NEVER_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NEVER_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_ESCAPE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_ESCAPE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_RETURN

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_RETURN
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_THROW

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_THROW
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NON_NULL

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_NON_NULL( ...)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NULL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NULL   ((void*) 0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PELLES_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PELLES_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PGI_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PGI_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRAGMA

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_PRAGMA( value)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT( expr,
       expected,
       probability 
      )   (((void) (expected)), !!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT_FALSE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT_FALSE( expr,
       probability 
      )   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT_TRUE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT_TRUE( expr,
       probability 
      )   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRINTF_FORMAT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PRINTF_FORMAT( string_idx,
       first_to_check 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRIVATE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PRIVATE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PUBLIC

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PUBLIC
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PURE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PURE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REINTERPRET_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_REINTERPRET_CAST( T,
       expr 
      )   (*((T*) &(expr)))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE( expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE_CONSTEXPR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE_CONSTEXPR( expr)   (expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE_MSG

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE_MSG( expr,
       msg 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_RESTRICT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_RESTRICT
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_RETURNS_NON_NULL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_RETURNS_NON_NULL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_SENTINEL

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_SENTINEL( position)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STATIC_ASSERT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_STATIC_ASSERT( expr,
       message 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STATIC_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_STATIC_CAST( T,
       expr 
      )   ((T) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STRINGIFY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_STRINGIFY( x)   JSON_HEDLEY_STRINGIFY_EX(x)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STRINGIFY_EX

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_STRINGIFY_EX( x)   #x
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_SUNPRO_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_SUNPRO_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TINYC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TINYC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNAVAILABLE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNAVAILABLE( available_since)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNLIKELY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNLIKELY( expr)   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNPREDICTABLE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNPREDICTABLE( expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNREACHABLE

      + +
      +
      + + + + + + + +
      #define JSON_HEDLEY_UNREACHABLE()
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNREACHABLE_RETURN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNREACHABLE_RETURN( value)   return value
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION

      + +
      +
      + + + + +
      #define JSON_HEDLEY_VERSION   11
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_MAJOR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_MAJOR( version)   ((version) / 1000000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_MINOR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_MINOR( version)   (((version) % 1000000) / 1000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_REVISION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_REVISION( version)   ((version) % 1000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_ENCODE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_VERSION_ENCODE( major,
       minor,
       revision 
      )   (((major) * 1000000) + ((minor) * 1000) + (revision))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_WARN_UNUSED_RESULT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_WARNING( msg)   JSON_HEDLEY_MESSAGE(msg)
      +
      + +
      +
      + +

      ◆ JSON_INTERNAL_CATCH

      + +
      +
      + + + + + + + + +
      #define JSON_INTERNAL_CATCH( exception)   if(false)
      +
      + +
      +
      + +

      ◆ JSON_THROW

      + +
      +
      + + + + + + + + +
      #define JSON_THROW( exception)   std::abort()
      +
      + +
      +
      + +

      ◆ JSON_TRY

      + +
      +
      + + + + +
      #define JSON_TRY   if(true)
      +
      + +
      +
      + +

      ◆ NLOHMANN_BASIC_JSON_TPL

      + +
      +
      + + + + +
      #define NLOHMANN_BASIC_JSON_TPL
      +
      +Value:
      basic_json<ObjectType, ArrayType, StringType, BooleanType, \
      +
      NumberIntegerType, NumberUnsignedType, NumberFloatType, \
      +
      AllocatorType, JSONSerializer>
      +
      +
      +
      + +

      ◆ NLOHMANN_BASIC_JSON_TPL_DECLARATION

      + +
      +
      + + + + +
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
      +
      +Value:
      template<template<typename, typename, typename...> class ObjectType, \
      +
      template<typename, typename...> class ArrayType, \
      +
      class StringType, class BooleanType, class NumberIntegerType, \
      +
      class NumberUnsignedType, class NumberFloatType, \
      +
      template<typename> class AllocatorType, \
      +
      template<typename, typename = void> class JSONSerializer>
      +
      +
      +
      + +

      ◆ NLOHMANN_JSON_SERIALIZE_ENUM

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_SERIALIZE_ENUM( ENUM_TYPE,
       ... 
      )
      +
      +Value:
      template<typename BasicJsonType> \
      +
      inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
      +
      { \
      +
      static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      auto it = std::find_if(std::begin(m), std::end(m), \
      +
      [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      { \
      +
      return ej_pair.first == e; \
      +
      }); \
      +
      j = ((it != std::end(m)) ? it : std::begin(m))->second; \
      +
      } \
      +
      template<typename BasicJsonType> \
      +
      inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
      +
      { \
      +
      static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      auto it = std::find_if(std::begin(m), std::end(m), \
      +
      [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      { \
      +
      return ej_pair.second == j; \
      +
      }); \
      +
      e = ((it != std::end(m)) ? it : std::begin(m))->first; \
      +
      }
      +
      +

      macro to briefly define a mapping between an enum and JSON

      +
      Since
      version 3.4.0
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_MAJOR

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_MAJOR   3
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_MINOR

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_MINOR   7
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_PATCH

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_PATCH   3
      +
      + +
      +
      +

      Function Documentation

      + +

      ◆ operator""_json()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::json operator""_json (const char * s,
      std::size_t n 
      )
      +
      +inline
      +
      + +

      user-defined string literal for JSON values

      +

      This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

      +
      Parameters
      + + + +
      [in]sa string representation of a JSON object
      [in]nthe length of string s
      +
      +
      +
      Returns
      a JSON object
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator""_json_pointer()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::json::json_pointer operator""_json_pointer (const char * s,
      std::size_t n 
      )
      +
      +inline
      +
      + +

      user-defined string literal for JSON pointer

      +

      This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

      +
      Parameters
      + + + +
      [in]sa string representation of a JSON Pointer
      [in]nthe length of string s
      +
      +
      +
      Returns
      a JSON pointer object
      +
      Since
      version 2.0.0
      + +
      +
      +
      +
      void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
      Definition: json.hpp:3224
      +
      void to_json(BasicJsonType &j, const T &b)
      Definition: json.hpp:3758
      + + + + diff --git a/help/html/json_8hpp__dep__incl.map b/help/html/json_8hpp__dep__incl.map new file mode 100644 index 0000000..b8e1523 --- /dev/null +++ b/help/html/json_8hpp__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/json_8hpp__dep__incl.md5 b/help/html/json_8hpp__dep__incl.md5 new file mode 100644 index 0000000..b30b633 --- /dev/null +++ b/help/html/json_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +9806e5653b15d920835b2f475cb04416 \ No newline at end of file diff --git a/help/html/json_8hpp__dep__incl.png b/help/html/json_8hpp__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e701058006c9578c5357dfdb0795ca068c73567e GIT binary patch literal 8709 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/json_8hpp__incl.md5 b/help/html/json_8hpp__incl.md5 new file mode 100644 index 0000000..032a710 --- /dev/null +++ b/help/html/json_8hpp__incl.md5 @@ -0,0 +1 @@ +0e5bef3d12b8e30ecb8040bafcf0e347 \ No newline at end of file diff --git a/help/html/json_8hpp__incl.png b/help/html/json_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..51d75f959bb93a5e84d19cfd3361ab9178c09bc4 GIT binary patch literal 88844 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 literal 0 HcmV?d00001 diff --git a/help/html/json_8hpp_source.html b/help/html/json_8hpp_source.html new file mode 100644 index 0000000..b84fb10 --- /dev/null +++ b/help/html/json_8hpp_source.html @@ -0,0 +1,17066 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json.hpp Source File + + + + + + + + + + +
      +
      +
      json.hpp
      +
      +
      +Go to the documentation of this file.
      1 /*
      +
      2  __ _____ _____ _____
      +
      3  __| | __| | | | JSON for Modern C++
      +
      4 | | |__ | | | | | | version 3.7.3
      +
      5 |_____|_____|_____|_|___| https://github.com/nlohmann/json
      +
      6 
      +
      7 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
      +
      8 SPDX-License-Identifier: MIT
      +
      9 Copyright (c) 2013-2019 Niels Lohmann <http://nlohmann.me>.
      +
      10 
      +
      11 Permission is hereby granted, free of charge, to any person obtaining a copy
      +
      12 of this software and associated documentation files (the "Software"), to deal
      +
      13 in the Software without restriction, including without limitation the rights
      +
      14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      +
      15 copies of the Software, and to permit persons to whom the Software is
      +
      16 furnished to do so, subject to the following conditions:
      +
      17 
      +
      18 The above copyright notice and this permission notice shall be included in all
      +
      19 copies or substantial portions of the Software.
      +
      20 
      +
      21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      +
      22 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      +
      23 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      +
      24 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      +
      25 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      +
      26 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      +
      27 SOFTWARE.
      +
      28 */
      +
      29 
      +
      30 #ifndef INCLUDE_NLOHMANN_JSON_HPP_
      +
      31 #define INCLUDE_NLOHMANN_JSON_HPP_
      +
      32 
      +
      33 #define NLOHMANN_JSON_VERSION_MAJOR 3
      +
      34 #define NLOHMANN_JSON_VERSION_MINOR 7
      +
      35 #define NLOHMANN_JSON_VERSION_PATCH 3
      +
      36 
      +
      37 #include <algorithm> // all_of, find, for_each
      +
      38 #include <cassert> // assert
      +
      39 #include <ciso646> // and, not, or
      +
      40 #include <cstddef> // nullptr_t, ptrdiff_t, size_t
      +
      41 #include <functional> // hash, less
      +
      42 #include <initializer_list> // initializer_list
      +
      43 #include <iosfwd> // istream, ostream
      +
      44 #include <iterator> // random_access_iterator_tag
      +
      45 #include <memory> // unique_ptr
      +
      46 #include <numeric> // accumulate
      +
      47 #include <string> // string, stoi, to_string
      +
      48 #include <utility> // declval, forward, move, pair, swap
      +
      49 #include <vector> // vector
      +
      50 
      +
      51 // #include <nlohmann/adl_serializer.hpp>
      +
      52 
      +
      53 
      +
      54 #include <utility>
      +
      55 
      +
      56 // #include <nlohmann/detail/conversions/from_json.hpp>
      +
      57 
      +
      58 
      +
      59 #include <algorithm> // transform
      +
      60 #include <array> // array
      +
      61 #include <ciso646> // and, not
      +
      62 #include <forward_list> // forward_list
      +
      63 #include <iterator> // inserter, front_inserter, end
      +
      64 #include <map> // map
      +
      65 #include <string> // string
      +
      66 #include <tuple> // tuple, make_tuple
      +
      67 #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
      +
      68 #include <unordered_map> // unordered_map
      +
      69 #include <utility> // pair, declval
      +
      70 #include <valarray> // valarray
      +
      71 
      +
      72 // #include <nlohmann/detail/exceptions.hpp>
      +
      73 
      +
      74 
      +
      75 #include <exception> // exception
      +
      76 #include <stdexcept> // runtime_error
      +
      77 #include <string> // to_string
      +
      78 
      +
      79 // #include <nlohmann/detail/input/position_t.hpp>
      +
      80 
      +
      81 
      +
      82 #include <cstddef> // size_t
      +
      83 
      +
      84 namespace nlohmann
      +
      85 {
      +
      86 namespace detail
      +
      87 {
      +
      89 struct position_t
      +
      90 {
      +
      92  std::size_t chars_read_total = 0;
      +
      94  std::size_t chars_read_current_line = 0;
      +
      96  std::size_t lines_read = 0;
      +
      97 
      +
      99  constexpr operator size_t() const
      +
      100  {
      +
      101  return chars_read_total;
      +
      102  }
      +
      103 };
      +
      104 
      +
      105 } // namespace detail
      +
      106 } // namespace nlohmann
      +
      107 
      +
      108 // #include <nlohmann/detail/macro_scope.hpp>
      +
      109 
      +
      110 
      +
      111 #include <utility> // pair
      +
      112 // #include <nlohmann/thirdparty/hedley/hedley.hpp>
      +
      113 /* Hedley - https://nemequ.github.io/hedley
      +
      114  * Created by Evan Nemerson <evan@nemerson.com>
      +
      115  *
      +
      116  * To the extent possible under law, the author(s) have dedicated all
      +
      117  * copyright and related and neighboring rights to this software to
      +
      118  * the public domain worldwide. This software is distributed without
      +
      119  * any warranty.
      +
      120  *
      +
      121  * For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
      +
      122  * SPDX-License-Identifier: CC0-1.0
      +
      123  */
      +
      124 
      +
      125 #if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 11)
      +
      126 #if defined(JSON_HEDLEY_VERSION)
      +
      127  #undef JSON_HEDLEY_VERSION
      +
      128 #endif
      +
      129 #define JSON_HEDLEY_VERSION 11
      +
      130 
      +
      131 #if defined(JSON_HEDLEY_STRINGIFY_EX)
      +
      132  #undef JSON_HEDLEY_STRINGIFY_EX
      +
      133 #endif
      +
      134 #define JSON_HEDLEY_STRINGIFY_EX(x) #x
      +
      135 
      +
      136 #if defined(JSON_HEDLEY_STRINGIFY)
      +
      137  #undef JSON_HEDLEY_STRINGIFY
      +
      138 #endif
      +
      139 #define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x)
      +
      140 
      +
      141 #if defined(JSON_HEDLEY_CONCAT_EX)
      +
      142  #undef JSON_HEDLEY_CONCAT_EX
      +
      143 #endif
      +
      144 #define JSON_HEDLEY_CONCAT_EX(a,b) a##b
      +
      145 
      +
      146 #if defined(JSON_HEDLEY_CONCAT)
      +
      147  #undef JSON_HEDLEY_CONCAT
      +
      148 #endif
      +
      149 #define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b)
      +
      150 
      +
      151 #if defined(JSON_HEDLEY_VERSION_ENCODE)
      +
      152  #undef JSON_HEDLEY_VERSION_ENCODE
      +
      153 #endif
      +
      154 #define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision))
      +
      155 
      +
      156 #if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR)
      +
      157  #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
      +
      158 #endif
      +
      159 #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000)
      +
      160 
      +
      161 #if defined(JSON_HEDLEY_VERSION_DECODE_MINOR)
      +
      162  #undef JSON_HEDLEY_VERSION_DECODE_MINOR
      +
      163 #endif
      +
      164 #define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000)
      +
      165 
      +
      166 #if defined(JSON_HEDLEY_VERSION_DECODE_REVISION)
      +
      167  #undef JSON_HEDLEY_VERSION_DECODE_REVISION
      +
      168 #endif
      +
      169 #define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000)
      +
      170 
      +
      171 #if defined(JSON_HEDLEY_GNUC_VERSION)
      +
      172  #undef JSON_HEDLEY_GNUC_VERSION
      +
      173 #endif
      +
      174 #if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
      +
      175  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
      +
      176 #elif defined(__GNUC__)
      +
      177  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
      +
      178 #endif
      +
      179 
      +
      180 #if defined(JSON_HEDLEY_GNUC_VERSION_CHECK)
      +
      181  #undef JSON_HEDLEY_GNUC_VERSION_CHECK
      +
      182 #endif
      +
      183 #if defined(JSON_HEDLEY_GNUC_VERSION)
      +
      184  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      185 #else
      +
      186  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0)
      +
      187 #endif
      +
      188 
      +
      189 #if defined(JSON_HEDLEY_MSVC_VERSION)
      +
      190  #undef JSON_HEDLEY_MSVC_VERSION
      +
      191 #endif
      +
      192 #if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000)
      +
      193  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
      +
      194 #elif defined(_MSC_FULL_VER)
      +
      195  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
      +
      196 #elif defined(_MSC_VER)
      +
      197  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
      +
      198 #endif
      +
      199 
      +
      200 #if defined(JSON_HEDLEY_MSVC_VERSION_CHECK)
      +
      201  #undef JSON_HEDLEY_MSVC_VERSION_CHECK
      +
      202 #endif
      +
      203 #if !defined(_MSC_VER)
      +
      204  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0)
      +
      205 #elif defined(_MSC_VER) && (_MSC_VER >= 1400)
      +
      206  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
      +
      207 #elif defined(_MSC_VER) && (_MSC_VER >= 1200)
      +
      208  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
      +
      209 #else
      +
      210  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor)))
      +
      211 #endif
      +
      212 
      +
      213 #if defined(JSON_HEDLEY_INTEL_VERSION)
      +
      214  #undef JSON_HEDLEY_INTEL_VERSION
      +
      215 #endif
      +
      216 #if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE)
      +
      217  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE)
      +
      218 #elif defined(__INTEL_COMPILER)
      +
      219  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
      +
      220 #endif
      +
      221 
      +
      222 #if defined(JSON_HEDLEY_INTEL_VERSION_CHECK)
      +
      223  #undef JSON_HEDLEY_INTEL_VERSION_CHECK
      +
      224 #endif
      +
      225 #if defined(JSON_HEDLEY_INTEL_VERSION)
      +
      226  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      227 #else
      +
      228  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0)
      +
      229 #endif
      +
      230 
      +
      231 #if defined(JSON_HEDLEY_PGI_VERSION)
      +
      232  #undef JSON_HEDLEY_PGI_VERSION
      +
      233 #endif
      +
      234 #if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
      +
      235  #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
      +
      236 #endif
      +
      237 
      +
      238 #if defined(JSON_HEDLEY_PGI_VERSION_CHECK)
      +
      239  #undef JSON_HEDLEY_PGI_VERSION_CHECK
      +
      240 #endif
      +
      241 #if defined(JSON_HEDLEY_PGI_VERSION)
      +
      242  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      243 #else
      +
      244  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0)
      +
      245 #endif
      +
      246 
      +
      247 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
      +
      248  #undef JSON_HEDLEY_SUNPRO_VERSION
      +
      249 #endif
      +
      250 #if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
      +
      251  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
      +
      252 #elif defined(__SUNPRO_C)
      +
      253  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf)
      +
      254 #elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
      +
      255  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
      +
      256 #elif defined(__SUNPRO_CC)
      +
      257  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
      +
      258 #endif
      +
      259 
      +
      260 #if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK)
      +
      261  #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
      +
      262 #endif
      +
      263 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
      +
      264  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      265 #else
      +
      266  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)
      +
      267 #endif
      +
      268 
      +
      269 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
      +
      270  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
      +
      271 #endif
      +
      272 #if defined(__EMSCRIPTEN__)
      +
      273  #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__)
      +
      274 #endif
      +
      275 
      +
      276 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK)
      +
      277  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
      +
      278 #endif
      +
      279 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
      +
      280  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      281 #else
      +
      282  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0)
      +
      283 #endif
      +
      284 
      +
      285 #if defined(JSON_HEDLEY_ARM_VERSION)
      +
      286  #undef JSON_HEDLEY_ARM_VERSION
      +
      287 #endif
      +
      288 #if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
      +
      289  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
      +
      290 #elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
      +
      291  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
      +
      292 #endif
      +
      293 
      +
      294 #if defined(JSON_HEDLEY_ARM_VERSION_CHECK)
      +
      295  #undef JSON_HEDLEY_ARM_VERSION_CHECK
      +
      296 #endif
      +
      297 #if defined(JSON_HEDLEY_ARM_VERSION)
      +
      298  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      299 #else
      +
      300  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0)
      +
      301 #endif
      +
      302 
      +
      303 #if defined(JSON_HEDLEY_IBM_VERSION)
      +
      304  #undef JSON_HEDLEY_IBM_VERSION
      +
      305 #endif
      +
      306 #if defined(__ibmxl__)
      +
      307  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__)
      +
      308 #elif defined(__xlC__) && defined(__xlC_ver__)
      +
      309  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
      +
      310 #elif defined(__xlC__)
      +
      311  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
      +
      312 #endif
      +
      313 
      +
      314 #if defined(JSON_HEDLEY_IBM_VERSION_CHECK)
      +
      315  #undef JSON_HEDLEY_IBM_VERSION_CHECK
      +
      316 #endif
      +
      317 #if defined(JSON_HEDLEY_IBM_VERSION)
      +
      318  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      319 #else
      +
      320  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0)
      +
      321 #endif
      +
      322 
      +
      323 #if defined(JSON_HEDLEY_TI_VERSION)
      +
      324  #undef JSON_HEDLEY_TI_VERSION
      +
      325 #endif
      +
      326 #if defined(__TI_COMPILER_VERSION__)
      +
      327  #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      328 #endif
      +
      329 
      +
      330 #if defined(JSON_HEDLEY_TI_VERSION_CHECK)
      +
      331  #undef JSON_HEDLEY_TI_VERSION_CHECK
      +
      332 #endif
      +
      333 #if defined(JSON_HEDLEY_TI_VERSION)
      +
      334  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      335 #else
      +
      336  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0)
      +
      337 #endif
      +
      338 
      +
      339 #if defined(JSON_HEDLEY_CRAY_VERSION)
      +
      340  #undef JSON_HEDLEY_CRAY_VERSION
      +
      341 #endif
      +
      342 #if defined(_CRAYC)
      +
      343  #if defined(_RELEASE_PATCHLEVEL)
      +
      344  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
      +
      345  #else
      +
      346  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
      +
      347  #endif
      +
      348 #endif
      +
      349 
      +
      350 #if defined(JSON_HEDLEY_CRAY_VERSION_CHECK)
      +
      351  #undef JSON_HEDLEY_CRAY_VERSION_CHECK
      +
      352 #endif
      +
      353 #if defined(JSON_HEDLEY_CRAY_VERSION)
      +
      354  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      355 #else
      +
      356  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0)
      +
      357 #endif
      +
      358 
      +
      359 #if defined(JSON_HEDLEY_IAR_VERSION)
      +
      360  #undef JSON_HEDLEY_IAR_VERSION
      +
      361 #endif
      +
      362 #if defined(__IAR_SYSTEMS_ICC__)
      +
      363  #if __VER__ > 1000
      +
      364  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000))
      +
      365  #else
      +
      366  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0)
      +
      367  #endif
      +
      368 #endif
      +
      369 
      +
      370 #if defined(JSON_HEDLEY_IAR_VERSION_CHECK)
      +
      371  #undef JSON_HEDLEY_IAR_VERSION_CHECK
      +
      372 #endif
      +
      373 #if defined(JSON_HEDLEY_IAR_VERSION)
      +
      374  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      375 #else
      +
      376  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0)
      +
      377 #endif
      +
      378 
      +
      379 #if defined(JSON_HEDLEY_TINYC_VERSION)
      +
      380  #undef JSON_HEDLEY_TINYC_VERSION
      +
      381 #endif
      +
      382 #if defined(__TINYC__)
      +
      383  #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
      +
      384 #endif
      +
      385 
      +
      386 #if defined(JSON_HEDLEY_TINYC_VERSION_CHECK)
      +
      387  #undef JSON_HEDLEY_TINYC_VERSION_CHECK
      +
      388 #endif
      +
      389 #if defined(JSON_HEDLEY_TINYC_VERSION)
      +
      390  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      391 #else
      +
      392  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0)
      +
      393 #endif
      +
      394 
      +
      395 #if defined(JSON_HEDLEY_DMC_VERSION)
      +
      396  #undef JSON_HEDLEY_DMC_VERSION
      +
      397 #endif
      +
      398 #if defined(__DMC__)
      +
      399  #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf)
      +
      400 #endif
      +
      401 
      +
      402 #if defined(JSON_HEDLEY_DMC_VERSION_CHECK)
      +
      403  #undef JSON_HEDLEY_DMC_VERSION_CHECK
      +
      404 #endif
      +
      405 #if defined(JSON_HEDLEY_DMC_VERSION)
      +
      406  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      407 #else
      +
      408  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0)
      +
      409 #endif
      +
      410 
      +
      411 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
      +
      412  #undef JSON_HEDLEY_COMPCERT_VERSION
      +
      413 #endif
      +
      414 #if defined(__COMPCERT_VERSION__)
      +
      415  #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100)
      +
      416 #endif
      +
      417 
      +
      418 #if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK)
      +
      419  #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
      +
      420 #endif
      +
      421 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
      +
      422  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      423 #else
      +
      424  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0)
      +
      425 #endif
      +
      426 
      +
      427 #if defined(JSON_HEDLEY_PELLES_VERSION)
      +
      428  #undef JSON_HEDLEY_PELLES_VERSION
      +
      429 #endif
      +
      430 #if defined(__POCC__)
      +
      431  #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
      +
      432 #endif
      +
      433 
      +
      434 #if defined(JSON_HEDLEY_PELLES_VERSION_CHECK)
      +
      435  #undef JSON_HEDLEY_PELLES_VERSION_CHECK
      +
      436 #endif
      +
      437 #if defined(JSON_HEDLEY_PELLES_VERSION)
      +
      438  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      439 #else
      +
      440  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0)
      +
      441 #endif
      +
      442 
      +
      443 #if defined(JSON_HEDLEY_GCC_VERSION)
      +
      444  #undef JSON_HEDLEY_GCC_VERSION
      +
      445 #endif
      +
      446 #if \
      +
      447  defined(JSON_HEDLEY_GNUC_VERSION) && \
      +
      448  !defined(__clang__) && \
      +
      449  !defined(JSON_HEDLEY_INTEL_VERSION) && \
      +
      450  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      451  !defined(JSON_HEDLEY_ARM_VERSION) && \
      +
      452  !defined(JSON_HEDLEY_TI_VERSION) && \
      +
      453  !defined(__COMPCERT__)
      +
      454  #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION
      +
      455 #endif
      +
      456 
      +
      457 #if defined(JSON_HEDLEY_GCC_VERSION_CHECK)
      +
      458  #undef JSON_HEDLEY_GCC_VERSION_CHECK
      +
      459 #endif
      +
      460 #if defined(JSON_HEDLEY_GCC_VERSION)
      +
      461  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      462 #else
      +
      463  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0)
      +
      464 #endif
      +
      465 
      +
      466 #if defined(JSON_HEDLEY_HAS_ATTRIBUTE)
      +
      467  #undef JSON_HEDLEY_HAS_ATTRIBUTE
      +
      468 #endif
      +
      469 #if defined(__has_attribute)
      +
      470  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute)
      +
      471 #else
      +
      472  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0)
      +
      473 #endif
      +
      474 
      +
      475 #if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE)
      +
      476  #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
      +
      477 #endif
      +
      478 #if defined(__has_attribute)
      +
      479  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
      +
      480 #else
      +
      481  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      482 #endif
      +
      483 
      +
      484 #if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE)
      +
      485  #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
      +
      486 #endif
      +
      487 #if defined(__has_attribute)
      +
      488  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
      +
      489 #else
      +
      490  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      491 #endif
      +
      492 
      +
      493 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE)
      +
      494  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
      +
      495 #endif
      +
      496 #if \
      +
      497  defined(__has_cpp_attribute) && \
      +
      498  defined(__cplusplus) && \
      +
      499  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))
      +
      500  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute)
      +
      501 #else
      +
      502  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0)
      +
      503 #endif
      +
      504 
      +
      505 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS)
      +
      506  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
      +
      507 #endif
      +
      508 #if !defined(__cplusplus) || !defined(__has_cpp_attribute)
      +
      509  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
      +
      510 #elif \
      +
      511  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      512  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \
      +
      513  (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0))
      +
      514  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute)
      +
      515 #else
      +
      516  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
      +
      517 #endif
      +
      518 
      +
      519 #if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE)
      +
      520  #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
      +
      521 #endif
      +
      522 #if defined(__has_cpp_attribute) && defined(__cplusplus)
      +
      523  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
      +
      524 #else
      +
      525  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      526 #endif
      +
      527 
      +
      528 #if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE)
      +
      529  #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
      +
      530 #endif
      +
      531 #if defined(__has_cpp_attribute) && defined(__cplusplus)
      +
      532  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
      +
      533 #else
      +
      534  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      535 #endif
      +
      536 
      +
      537 #if defined(JSON_HEDLEY_HAS_BUILTIN)
      +
      538  #undef JSON_HEDLEY_HAS_BUILTIN
      +
      539 #endif
      +
      540 #if defined(__has_builtin)
      +
      541  #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin)
      +
      542 #else
      +
      543  #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0)
      +
      544 #endif
      +
      545 
      +
      546 #if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN)
      +
      547  #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
      +
      548 #endif
      +
      549 #if defined(__has_builtin)
      +
      550  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
      +
      551 #else
      +
      552  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      553 #endif
      +
      554 
      +
      555 #if defined(JSON_HEDLEY_GCC_HAS_BUILTIN)
      +
      556  #undef JSON_HEDLEY_GCC_HAS_BUILTIN
      +
      557 #endif
      +
      558 #if defined(__has_builtin)
      +
      559  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
      +
      560 #else
      +
      561  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      562 #endif
      +
      563 
      +
      564 #if defined(JSON_HEDLEY_HAS_FEATURE)
      +
      565  #undef JSON_HEDLEY_HAS_FEATURE
      +
      566 #endif
      +
      567 #if defined(__has_feature)
      +
      568  #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature)
      +
      569 #else
      +
      570  #define JSON_HEDLEY_HAS_FEATURE(feature) (0)
      +
      571 #endif
      +
      572 
      +
      573 #if defined(JSON_HEDLEY_GNUC_HAS_FEATURE)
      +
      574  #undef JSON_HEDLEY_GNUC_HAS_FEATURE
      +
      575 #endif
      +
      576 #if defined(__has_feature)
      +
      577  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
      +
      578 #else
      +
      579  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      580 #endif
      +
      581 
      +
      582 #if defined(JSON_HEDLEY_GCC_HAS_FEATURE)
      +
      583  #undef JSON_HEDLEY_GCC_HAS_FEATURE
      +
      584 #endif
      +
      585 #if defined(__has_feature)
      +
      586  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
      +
      587 #else
      +
      588  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      589 #endif
      +
      590 
      +
      591 #if defined(JSON_HEDLEY_HAS_EXTENSION)
      +
      592  #undef JSON_HEDLEY_HAS_EXTENSION
      +
      593 #endif
      +
      594 #if defined(__has_extension)
      +
      595  #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension)
      +
      596 #else
      +
      597  #define JSON_HEDLEY_HAS_EXTENSION(extension) (0)
      +
      598 #endif
      +
      599 
      +
      600 #if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION)
      +
      601  #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
      +
      602 #endif
      +
      603 #if defined(__has_extension)
      +
      604  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
      +
      605 #else
      +
      606  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      607 #endif
      +
      608 
      +
      609 #if defined(JSON_HEDLEY_GCC_HAS_EXTENSION)
      +
      610  #undef JSON_HEDLEY_GCC_HAS_EXTENSION
      +
      611 #endif
      +
      612 #if defined(__has_extension)
      +
      613  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
      +
      614 #else
      +
      615  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      616 #endif
      +
      617 
      +
      618 #if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE)
      +
      619  #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
      +
      620 #endif
      +
      621 #if defined(__has_declspec_attribute)
      +
      622  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute)
      +
      623 #else
      +
      624  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0)
      +
      625 #endif
      +
      626 
      +
      627 #if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE)
      +
      628  #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
      +
      629 #endif
      +
      630 #if defined(__has_declspec_attribute)
      +
      631  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
      +
      632 #else
      +
      633  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      634 #endif
      +
      635 
      +
      636 #if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE)
      +
      637  #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
      +
      638 #endif
      +
      639 #if defined(__has_declspec_attribute)
      +
      640  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
      +
      641 #else
      +
      642  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      643 #endif
      +
      644 
      +
      645 #if defined(JSON_HEDLEY_HAS_WARNING)
      +
      646  #undef JSON_HEDLEY_HAS_WARNING
      +
      647 #endif
      +
      648 #if defined(__has_warning)
      +
      649  #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning)
      +
      650 #else
      +
      651  #define JSON_HEDLEY_HAS_WARNING(warning) (0)
      +
      652 #endif
      +
      653 
      +
      654 #if defined(JSON_HEDLEY_GNUC_HAS_WARNING)
      +
      655  #undef JSON_HEDLEY_GNUC_HAS_WARNING
      +
      656 #endif
      +
      657 #if defined(__has_warning)
      +
      658  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
      +
      659 #else
      +
      660  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      661 #endif
      +
      662 
      +
      663 #if defined(JSON_HEDLEY_GCC_HAS_WARNING)
      +
      664  #undef JSON_HEDLEY_GCC_HAS_WARNING
      +
      665 #endif
      +
      666 #if defined(__has_warning)
      +
      667  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
      +
      668 #else
      +
      669  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      670 #endif
      +
      671 
      +
      672 /* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for
      +
      673  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
      +
      674 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
      +
      675  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
      +
      676 #endif
      +
      677 #if defined(__cplusplus) && JSON_HEDLEY_HAS_WARNING("-Wc++98-compat")
      +
      678 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
      +
      679  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      680  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
      +
      681  xpr \
      +
      682  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      683 #else
      +
      684 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x
      +
      685 #endif
      +
      686 
      +
      687 #if \
      +
      688  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
      +
      689  defined(__clang__) || \
      +
      690  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
      +
      691  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      692  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
      +
      693  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
      +
      694  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      695  JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) || \
      +
      696  JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \
      +
      697  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \
      +
      698  JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \
      +
      699  (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR))
      +
      700  #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value)
      +
      701 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      702  #define JSON_HEDLEY_PRAGMA(value) __pragma(value)
      +
      703 #else
      +
      704  #define JSON_HEDLEY_PRAGMA(value)
      +
      705 #endif
      +
      706 
      +
      707 #if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH)
      +
      708  #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      709 #endif
      +
      710 #if defined(JSON_HEDLEY_DIAGNOSTIC_POP)
      +
      711  #undef JSON_HEDLEY_DIAGNOSTIC_POP
      +
      712 #endif
      +
      713 #if defined(__clang__)
      +
      714  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
      +
      715  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
      +
      716 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      717  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
      +
      718  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
      +
      719 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
      +
      720  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
      +
      721  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
      +
      722 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      723  #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push))
      +
      724  #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop))
      +
      725 #elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)
      +
      726  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push")
      +
      727  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop")
      +
      728 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,1,0)
      +
      729  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push")
      +
      730  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop")
      +
      731 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
      +
      732  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
      +
      733  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
      +
      734 #else
      +
      735  #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      736  #define JSON_HEDLEY_DIAGNOSTIC_POP
      +
      737 #endif
      +
      738 
      +
      739 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED)
      +
      740  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      741 #endif
      +
      742 #if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations")
      +
      743  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      744 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      745  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)")
      +
      746 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      747  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
      +
      748 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
      +
      749  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      750 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      751  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996))
      +
      752 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
      +
      753  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718")
      +
      754 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus)
      +
      755  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
      +
      756 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus)
      +
      757  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
      +
      758 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      759  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215")
      +
      760 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
      +
      761  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)")
      +
      762 #else
      +
      763  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      764 #endif
      +
      765 
      +
      766 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS)
      +
      767  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      768 #endif
      +
      769 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      770  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
      +
      771 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      772  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)")
      +
      773 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      774  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675")
      +
      775 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
      +
      776  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
      +
      777 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      778  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068))
      +
      779 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
      +
      780  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
      +
      781 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      782  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161")
      +
      783 #else
      +
      784  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      785 #endif
      +
      786 
      +
      787 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES)
      +
      788  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      789 #endif
      +
      790 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes")
      +
      791  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
      +
      792 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
      +
      793  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      794 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0)
      +
      795  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)")
      +
      796 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0)
      +
      797  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030))
      +
      798 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      799  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
      +
      800 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)
      +
      801  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)")
      +
      802 #elif JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
      +
      803  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173")
      +
      804 #else
      +
      805  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      806 #endif
      +
      807 
      +
      808 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL)
      +
      809  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      810 #endif
      +
      811 #if JSON_HEDLEY_HAS_WARNING("-Wcast-qual")
      +
      812  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
      +
      813 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      814  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)")
      +
      815 #elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)
      +
      816  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
      +
      817 #else
      +
      818  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      819 #endif
      +
      820 
      +
      821 #if defined(JSON_HEDLEY_DEPRECATED)
      +
      822  #undef JSON_HEDLEY_DEPRECATED
      +
      823 #endif
      +
      824 #if defined(JSON_HEDLEY_DEPRECATED_FOR)
      +
      825  #undef JSON_HEDLEY_DEPRECATED_FOR
      +
      826 #endif
      +
      827 #if defined(__cplusplus) && (__cplusplus >= 201402L)
      +
      828  #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]])
      +
      829  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]])
      +
      830 #elif \
      +
      831  JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) || \
      +
      832  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
      +
      833  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      834  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
      +
      835  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
      +
      836  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
      +
      837  JSON_HEDLEY_TI_VERSION_CHECK(8,3,0)
      +
      838  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since)))
      +
      839  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement)))
      +
      840 #elif \
      +
      841  JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \
      +
      842  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      843  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      844  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      845  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      846  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__))
      +
      847  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__))
      +
      848 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)
      +
      849  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since))
      +
      850  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement))
      +
      851 #elif \
      +
      852  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
      +
      853  JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0)
      +
      854  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated)
      +
      855  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated)
      +
      856 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      857  #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated")
      +
      858  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated")
      +
      859 #else
      +
      860  #define JSON_HEDLEY_DEPRECATED(since)
      +
      861  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
      +
      862 #endif
      +
      863 
      +
      864 #if defined(JSON_HEDLEY_UNAVAILABLE)
      +
      865  #undef JSON_HEDLEY_UNAVAILABLE
      +
      866 #endif
      +
      867 #if \
      +
      868  JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \
      +
      869  JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
      +
      870  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      871  #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since)))
      +
      872 #else
      +
      873  #define JSON_HEDLEY_UNAVAILABLE(available_since)
      +
      874 #endif
      +
      875 
      +
      876 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT)
      +
      877  #undef JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      878 #endif
      +
      879 #if defined(__cplusplus) && (__cplusplus >= 201703L)
      +
      880  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
      +
      881 #elif \
      +
      882  JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \
      +
      883  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      884  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      885  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      886  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      887  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
      +
      888  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      889  #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
      +
      890 #elif defined(_Check_return_) /* SAL */
      +
      891  #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_
      +
      892 #else
      +
      893  #define JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      894 #endif
      +
      895 
      +
      896 #if defined(JSON_HEDLEY_SENTINEL)
      +
      897  #undef JSON_HEDLEY_SENTINEL
      +
      898 #endif
      +
      899 #if \
      +
      900  JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \
      +
      901  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      902  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      903  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0)
      +
      904  #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position)))
      +
      905 #else
      +
      906  #define JSON_HEDLEY_SENTINEL(position)
      +
      907 #endif
      +
      908 
      +
      909 #if defined(JSON_HEDLEY_NO_RETURN)
      +
      910  #undef JSON_HEDLEY_NO_RETURN
      +
      911 #endif
      +
      912 #if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      913  #define JSON_HEDLEY_NO_RETURN __noreturn
      +
      914 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      915  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
      +
      916 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
      +
      917  #define JSON_HEDLEY_NO_RETURN _Noreturn
      +
      918 #elif defined(__cplusplus) && (__cplusplus >= 201103L)
      +
      919  #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
      +
      920 #elif \
      +
      921  JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \
      +
      922  JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \
      +
      923  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      924  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      925  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      926  JSON_HEDLEY_TI_VERSION_CHECK(18,0,0) || \
      +
      927  (JSON_HEDLEY_TI_VERSION_CHECK(17,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      928  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
      +
      929 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      930  #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return")
      +
      931 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
      +
      932  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
      +
      933 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
      +
      934  #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;")
      +
      935 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
      +
      936  #define JSON_HEDLEY_NO_RETURN __attribute((noreturn))
      +
      937 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
      +
      938  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
      +
      939 #else
      +
      940  #define JSON_HEDLEY_NO_RETURN
      +
      941 #endif
      +
      942 
      +
      943 #if defined(JSON_HEDLEY_NO_ESCAPE)
      +
      944  #undef JSON_HEDLEY_NO_ESCAPE
      +
      945 #endif
      +
      946 #if JSON_HEDLEY_HAS_ATTRIBUTE(noescape)
      +
      947  #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__))
      +
      948 #else
      +
      949  #define JSON_HEDLEY_NO_ESCAPE
      +
      950 #endif
      +
      951 
      +
      952 #if defined(JSON_HEDLEY_UNREACHABLE)
      +
      953  #undef JSON_HEDLEY_UNREACHABLE
      +
      954 #endif
      +
      955 #if defined(JSON_HEDLEY_UNREACHABLE_RETURN)
      +
      956  #undef JSON_HEDLEY_UNREACHABLE_RETURN
      +
      957 #endif
      +
      958 #if \
      +
      959  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \
      +
      960  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
      +
      961  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      962  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)
      +
      963  #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable()
      +
      964 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
      +
      965  #define JSON_HEDLEY_UNREACHABLE() __assume(0)
      +
      966 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0)
      +
      967  #if defined(__cplusplus)
      +
      968  #define JSON_HEDLEY_UNREACHABLE() std::_nassert(0)
      +
      969  #else
      +
      970  #define JSON_HEDLEY_UNREACHABLE() _nassert(0)
      +
      971  #endif
      +
      972  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return value
      +
      973 #elif defined(EXIT_FAILURE)
      +
      974  #define JSON_HEDLEY_UNREACHABLE() abort()
      +
      975 #else
      +
      976  #define JSON_HEDLEY_UNREACHABLE()
      +
      977  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return value
      +
      978 #endif
      +
      979 #if !defined(JSON_HEDLEY_UNREACHABLE_RETURN)
      +
      980  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE()
      +
      981 #endif
      +
      982 
      +
      983 #if defined(JSON_HEDLEY_ASSUME)
      +
      984  #undef JSON_HEDLEY_ASSUME
      +
      985 #endif
      +
      986 #if \
      +
      987  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
      +
      988  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      989  #define JSON_HEDLEY_ASSUME(expr) __assume(expr)
      +
      990 #elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume)
      +
      991  #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr)
      +
      992 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0)
      +
      993  #if defined(__cplusplus)
      +
      994  #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr)
      +
      995  #else
      +
      996  #define JSON_HEDLEY_ASSUME(expr) _nassert(expr)
      +
      997  #endif
      +
      998 #elif \
      +
      999  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && !defined(JSON_HEDLEY_ARM_VERSION)) || \
      +
      1000  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
      +
      1001  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1002  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)
      +
      1003  #define JSON_HEDLEY_ASSUME(expr) ((void) ((expr) ? 1 : (__builtin_unreachable(), 1)))
      +
      1004 #else
      +
      1005  #define JSON_HEDLEY_ASSUME(expr) ((void) (expr))
      +
      1006 #endif
      +
      1007 
      + +
      1009 #if JSON_HEDLEY_HAS_WARNING("-Wpedantic")
      +
      1010  #pragma clang diagnostic ignored "-Wpedantic"
      +
      1011 #endif
      +
      1012 #if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus)
      +
      1013  #pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
      +
      1014 #endif
      +
      1015 #if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0)
      +
      1016  #if defined(__clang__)
      +
      1017  #pragma clang diagnostic ignored "-Wvariadic-macros"
      +
      1018  #elif defined(JSON_HEDLEY_GCC_VERSION)
      +
      1019  #pragma GCC diagnostic ignored "-Wvariadic-macros"
      +
      1020  #endif
      +
      1021 #endif
      +
      1022 #if defined(JSON_HEDLEY_NON_NULL)
      +
      1023  #undef JSON_HEDLEY_NON_NULL
      +
      1024 #endif
      +
      1025 #if \
      +
      1026  JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \
      +
      1027  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1028  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1029  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
      +
      1030  #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
      +
      1031 #else
      +
      1032  #define JSON_HEDLEY_NON_NULL(...)
      +
      1033 #endif
      + +
      1035 
      +
      1036 #if defined(JSON_HEDLEY_PRINTF_FORMAT)
      +
      1037  #undef JSON_HEDLEY_PRINTF_FORMAT
      +
      1038 #endif
      +
      1039 #if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO)
      +
      1040  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check)))
      +
      1041 #elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO)
      +
      1042  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check)))
      +
      1043 #elif \
      +
      1044  JSON_HEDLEY_HAS_ATTRIBUTE(format) || \
      +
      1045  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1046  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1047  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
      +
      1048  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1049  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1050  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      1051  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check)))
      +
      1052 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0)
      +
      1053  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check))
      +
      1054 #else
      +
      1055  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
      +
      1056 #endif
      +
      1057 
      +
      1058 #if defined(JSON_HEDLEY_CONSTEXPR)
      +
      1059  #undef JSON_HEDLEY_CONSTEXPR
      +
      1060 #endif
      +
      1061 #if defined(__cplusplus)
      +
      1062  #if __cplusplus >= 201103L
      +
      1063  #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
      +
      1064  #endif
      +
      1065 #endif
      +
      1066 #if !defined(JSON_HEDLEY_CONSTEXPR)
      +
      1067  #define JSON_HEDLEY_CONSTEXPR
      +
      1068 #endif
      +
      1069 
      +
      1070 #if defined(JSON_HEDLEY_PREDICT)
      +
      1071  #undef JSON_HEDLEY_PREDICT
      +
      1072 #endif
      +
      1073 #if defined(JSON_HEDLEY_LIKELY)
      +
      1074  #undef JSON_HEDLEY_LIKELY
      +
      1075 #endif
      +
      1076 #if defined(JSON_HEDLEY_UNLIKELY)
      +
      1077  #undef JSON_HEDLEY_UNLIKELY
      +
      1078 #endif
      +
      1079 #if defined(JSON_HEDLEY_UNPREDICTABLE)
      +
      1080  #undef JSON_HEDLEY_UNPREDICTABLE
      +
      1081 #endif
      +
      1082 #if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable)
      +
      1083  #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable(!!(expr))
      +
      1084 #endif
      +
      1085 #if \
      +
      1086  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) || \
      +
      1087  JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0)
      +
      1088 # define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability(expr, value, probability)
      +
      1089 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1, probability)
      +
      1090 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0, probability)
      +
      1091 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
      +
      1092 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
      +
      1093 #if !defined(JSON_HEDLEY_BUILTIN_UNPREDICTABLE)
      +
      1094  #define JSON_HEDLEY_BUILTIN_UNPREDICTABLE(expr) __builtin_expect_with_probability(!!(expr), 1, 0.5)
      +
      1095 #endif
      +
      1096 #elif \
      +
      1097  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) || \
      +
      1098  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
      +
      1099  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1100  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
      +
      1101  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1102  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1103  JSON_HEDLEY_TI_VERSION_CHECK(6,1,0) || \
      +
      1104  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27)
      +
      1105 # define JSON_HEDLEY_PREDICT(expr, expected, probability) \
      +
      1106  (((probability) >= 0.9) ? __builtin_expect(!!(expr), (expected)) : (((void) (expected)), !!(expr)))
      +
      1107 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \
      +
      1108  (__extension__ ({ \
      +
      1109  JSON_HEDLEY_CONSTEXPR double hedley_probability_ = (probability); \
      +
      1110  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \
      +
      1111  }))
      +
      1112 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \
      +
      1113  (__extension__ ({ \
      +
      1114  JSON_HEDLEY_CONSTEXPR double hedley_probability_ = (probability); \
      +
      1115  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \
      +
      1116  }))
      +
      1117 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
      +
      1118 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
      +
      1119 #else
      +
      1120 # define JSON_HEDLEY_PREDICT(expr, expected, probability) (((void) (expected)), !!(expr))
      +
      1121 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr))
      +
      1122 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr))
      +
      1123 # define JSON_HEDLEY_LIKELY(expr) (!!(expr))
      +
      1124 # define JSON_HEDLEY_UNLIKELY(expr) (!!(expr))
      +
      1125 #endif
      +
      1126 #if !defined(JSON_HEDLEY_UNPREDICTABLE)
      +
      1127  #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5)
      +
      1128 #endif
      +
      1129 
      +
      1130 #if defined(JSON_HEDLEY_MALLOC)
      +
      1131  #undef JSON_HEDLEY_MALLOC
      +
      1132 #endif
      +
      1133 #if \
      +
      1134  JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \
      +
      1135  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1136  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1137  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1138  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1139  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
      +
      1140  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1141  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      1142  #define JSON_HEDLEY_MALLOC __attribute__((__malloc__))
      +
      1143 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1144  #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory")
      +
      1145 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(14, 0, 0)
      +
      1146  #define JSON_HEDLEY_MALLOC __declspec(restrict)
      +
      1147 #else
      +
      1148  #define JSON_HEDLEY_MALLOC
      +
      1149 #endif
      +
      1150 
      +
      1151 #if defined(JSON_HEDLEY_PURE)
      +
      1152  #undef JSON_HEDLEY_PURE
      +
      1153 #endif
      +
      1154 #if \
      +
      1155  JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \
      +
      1156  JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \
      +
      1157  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1158  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1159  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1160  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1161  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1162  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1163  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1164  #define JSON_HEDLEY_PURE __attribute__((__pure__))
      +
      1165 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1166  #define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data")
      +
      1167 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
      +
      1168  #define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;")
      +
      1169 #else
      +
      1170  #define JSON_HEDLEY_PURE
      +
      1171 #endif
      +
      1172 
      +
      1173 #if defined(JSON_HEDLEY_CONST)
      +
      1174  #undef JSON_HEDLEY_CONST
      +
      1175 #endif
      +
      1176 #if \
      +
      1177  JSON_HEDLEY_HAS_ATTRIBUTE(const) || \
      +
      1178  JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \
      +
      1179  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1180  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1181  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1182  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1183  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1184  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1185  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1186  #define JSON_HEDLEY_CONST __attribute__((__const__))
      +
      1187 #elif \
      +
      1188  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1189  #define JSON_HEDLEY_CONST _Pragma("no_side_effect")
      +
      1190 #else
      +
      1191  #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE
      +
      1192 #endif
      +
      1193 
      +
      1194 #if defined(JSON_HEDLEY_RESTRICT)
      +
      1195  #undef JSON_HEDLEY_RESTRICT
      +
      1196 #endif
      +
      1197 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus)
      +
      1198  #define JSON_HEDLEY_RESTRICT restrict
      +
      1199 #elif \
      +
      1200  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1201  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
      +
      1202  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1203  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1204  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1205  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
      +
      1206  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1207  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \
      +
      1208  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
      +
      1209  defined(__clang__)
      +
      1210  #define JSON_HEDLEY_RESTRICT __restrict
      +
      1211 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus)
      +
      1212  #define JSON_HEDLEY_RESTRICT _Restrict
      +
      1213 #else
      +
      1214  #define JSON_HEDLEY_RESTRICT
      +
      1215 #endif
      +
      1216 
      +
      1217 #if defined(JSON_HEDLEY_INLINE)
      +
      1218  #undef JSON_HEDLEY_INLINE
      +
      1219 #endif
      +
      1220 #if \
      +
      1221  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
      +
      1222  (defined(__cplusplus) && (__cplusplus >= 199711L))
      +
      1223  #define JSON_HEDLEY_INLINE inline
      +
      1224 #elif \
      +
      1225  defined(JSON_HEDLEY_GCC_VERSION) || \
      +
      1226  JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0)
      +
      1227  #define JSON_HEDLEY_INLINE __inline__
      +
      1228 #elif \
      +
      1229  JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
      +
      1230  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1231  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0)
      +
      1232  #define JSON_HEDLEY_INLINE __inline
      +
      1233 #else
      +
      1234  #define JSON_HEDLEY_INLINE
      +
      1235 #endif
      +
      1236 
      +
      1237 #if defined(JSON_HEDLEY_ALWAYS_INLINE)
      +
      1238  #undef JSON_HEDLEY_ALWAYS_INLINE
      +
      1239 #endif
      +
      1240 #if \
      +
      1241  JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \
      +
      1242  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      1243  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1244  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1245  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1246  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1247  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1248  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      1249  #define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
      +
      1250 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0)
      +
      1251  #define JSON_HEDLEY_ALWAYS_INLINE __forceinline
      +
      1252 #elif JSON_HEDLEY_TI_VERSION_CHECK(7,0,0) && defined(__cplusplus)
      +
      1253  #define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
      +
      1254 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1255  #define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced")
      +
      1256 #else
      +
      1257  #define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE
      +
      1258 #endif
      +
      1259 
      +
      1260 #if defined(JSON_HEDLEY_NEVER_INLINE)
      +
      1261  #undef JSON_HEDLEY_NEVER_INLINE
      +
      1262 #endif
      +
      1263 #if \
      +
      1264  JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \
      +
      1265  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      1266  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1267  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1268  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1269  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1270  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1271  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      1272  #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__))
      +
      1273 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
      +
      1274  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
      +
      1275 #elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0)
      +
      1276  #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline")
      +
      1277 #elif JSON_HEDLEY_TI_VERSION_CHECK(6,0,0) && defined(__cplusplus)
      +
      1278  #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;")
      +
      1279 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1280  #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never")
      +
      1281 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
      +
      1282  #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline))
      +
      1283 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
      +
      1284  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
      +
      1285 #else
      +
      1286  #define JSON_HEDLEY_NEVER_INLINE
      +
      1287 #endif
      +
      1288 
      +
      1289 #if defined(JSON_HEDLEY_PRIVATE)
      +
      1290  #undef JSON_HEDLEY_PRIVATE
      +
      1291 #endif
      +
      1292 #if defined(JSON_HEDLEY_PUBLIC)
      +
      1293  #undef JSON_HEDLEY_PUBLIC
      +
      1294 #endif
      +
      1295 #if defined(JSON_HEDLEY_IMPORT)
      +
      1296  #undef JSON_HEDLEY_IMPORT
      +
      1297 #endif
      +
      1298 #if defined(_WIN32) || defined(__CYGWIN__)
      +
      1299  #define JSON_HEDLEY_PRIVATE
      +
      1300  #define JSON_HEDLEY_PUBLIC __declspec(dllexport)
      +
      1301  #define JSON_HEDLEY_IMPORT __declspec(dllimport)
      +
      1302 #else
      +
      1303  #if \
      +
      1304  JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \
      +
      1305  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1306  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1307  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1308  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1309  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1310  JSON_HEDLEY_TI_VERSION_CHECK(8,0,0) || \
      +
      1311  (JSON_HEDLEY_TI_VERSION_CHECK(7,3,0) && defined(__TI_EABI__) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
      +
      1312  #define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden")))
      +
      1313  #define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default")))
      +
      1314  #else
      +
      1315  #define JSON_HEDLEY_PRIVATE
      +
      1316  #define JSON_HEDLEY_PUBLIC
      +
      1317  #endif
      +
      1318  #define JSON_HEDLEY_IMPORT extern
      +
      1319 #endif
      +
      1320 
      +
      1321 #if defined(JSON_HEDLEY_NO_THROW)
      +
      1322  #undef JSON_HEDLEY_NO_THROW
      +
      1323 #endif
      +
      1324 #if \
      +
      1325  JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \
      +
      1326  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1327  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1328  #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__))
      +
      1329 #elif \
      +
      1330  JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \
      +
      1331  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
      +
      1332  #define JSON_HEDLEY_NO_THROW __declspec(nothrow)
      +
      1333 #else
      +
      1334  #define JSON_HEDLEY_NO_THROW
      +
      1335 #endif
      +
      1336 
      +
      1337 #if defined(JSON_HEDLEY_FALL_THROUGH)
      +
      1338  #undef JSON_HEDLEY_FALL_THROUGH
      +
      1339 #endif
      +
      1340 #if JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(fallthrough,7,0,0) && !defined(JSON_HEDLEY_PGI_VERSION)
      +
      1341  #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__))
      +
      1342 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough)
      +
      1343  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
      +
      1344 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough)
      +
      1345  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
      +
      1346 #elif defined(__fallthrough) /* SAL */
      +
      1347  #define JSON_HEDLEY_FALL_THROUGH __fallthrough
      +
      1348 #else
      +
      1349  #define JSON_HEDLEY_FALL_THROUGH
      +
      1350 #endif
      +
      1351 
      +
      1352 #if defined(JSON_HEDLEY_RETURNS_NON_NULL)
      +
      1353  #undef JSON_HEDLEY_RETURNS_NON_NULL
      +
      1354 #endif
      +
      1355 #if \
      +
      1356  JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \
      +
      1357  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0)
      +
      1358  #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__))
      +
      1359 #elif defined(_Ret_notnull_) /* SAL */
      +
      1360  #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_
      +
      1361 #else
      +
      1362  #define JSON_HEDLEY_RETURNS_NON_NULL
      +
      1363 #endif
      +
      1364 
      +
      1365 #if defined(JSON_HEDLEY_ARRAY_PARAM)
      +
      1366  #undef JSON_HEDLEY_ARRAY_PARAM
      +
      1367 #endif
      +
      1368 #if \
      +
      1369  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
      +
      1370  !defined(__STDC_NO_VLA__) && \
      +
      1371  !defined(__cplusplus) && \
      +
      1372  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      1373  !defined(JSON_HEDLEY_TINYC_VERSION)
      +
      1374  #define JSON_HEDLEY_ARRAY_PARAM(name) (name)
      +
      1375 #else
      +
      1376  #define JSON_HEDLEY_ARRAY_PARAM(name)
      +
      1377 #endif
      +
      1378 
      +
      1379 #if defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1380  #undef JSON_HEDLEY_IS_CONSTANT
      +
      1381 #endif
      +
      1382 #if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR)
      +
      1383  #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
      +
      1384 #endif
      +
      1385 /* JSON_HEDLEY_IS_CONSTEXPR_ is for
      +
      1386  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
      +
      1387 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
      +
      1388  #undef JSON_HEDLEY_IS_CONSTEXPR_
      +
      1389 #endif
      +
      1390 #if \
      +
      1391  JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
      +
      1392  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      1393  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1394  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
      +
      1395  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1396  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1397  JSON_HEDLEY_TI_VERSION_CHECK(6,1,0) || \
      +
      1398  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
      +
      1399  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)
      +
      1400  #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr)
      +
      1401 #endif
      +
      1402 #if !defined(__cplusplus)
      +
      1403 # if \
      +
      1404  JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \
      +
      1405  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      1406  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1407  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1408  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
      +
      1409  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
      +
      1410  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24)
      +
      1411 #if defined(__INTPTR_TYPE__)
      +
      1412  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*)
      +
      1413 #else
      +
      1414  #include <stdint.h>
      +
      1415  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*)
      +
      1416 #endif
      +
      1417 # elif \
      +
      1418  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && !defined(JSON_HEDLEY_SUNPRO_VERSION) && !defined(JSON_HEDLEY_PGI_VERSION)) || \
      +
      1419  JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) || \
      +
      1420  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
      +
      1421  JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
      +
      1422  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
      +
      1423  JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0)
      +
      1424 #if defined(__INTPTR_TYPE__)
      +
      1425  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0)
      +
      1426 #else
      +
      1427  #include <stdint.h>
      +
      1428  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0)
      +
      1429 #endif
      +
      1430 # elif \
      +
      1431  defined(JSON_HEDLEY_GCC_VERSION) || \
      +
      1432  defined(JSON_HEDLEY_INTEL_VERSION) || \
      +
      1433  defined(JSON_HEDLEY_TINYC_VERSION) || \
      +
      1434  defined(JSON_HEDLEY_TI_VERSION) || \
      +
      1435  defined(__clang__)
      +
      1436 # define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \
      +
      1437  sizeof(void) != \
      +
      1438  sizeof(*( \
      +
      1439  1 ? \
      +
      1440  ((void*) ((expr) * 0L) ) : \
      +
      1441 ((struct { char v[sizeof(void) * 2]; } *) 1) \
      +
      1442  ) \
      +
      1443  ) \
      +
      1444  )
      +
      1445 # endif
      +
      1446 #endif
      +
      1447 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
      +
      1448  #if !defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1449  #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr)
      +
      1450  #endif
      +
      1451  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1))
      +
      1452 #else
      +
      1453  #if !defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1454  #define JSON_HEDLEY_IS_CONSTANT(expr) (0)
      +
      1455  #endif
      +
      1456  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr)
      +
      1457 #endif
      +
      1458 
      +
      1459 #if defined(JSON_HEDLEY_BEGIN_C_DECLS)
      +
      1460  #undef JSON_HEDLEY_BEGIN_C_DECLS
      +
      1461 #endif
      +
      1462 #if defined(JSON_HEDLEY_END_C_DECLS)
      +
      1463  #undef JSON_HEDLEY_END_C_DECLS
      +
      1464 #endif
      +
      1465 #if defined(JSON_HEDLEY_C_DECL)
      +
      1466  #undef JSON_HEDLEY_C_DECL
      +
      1467 #endif
      +
      1468 #if defined(__cplusplus)
      +
      1469  #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" {
      +
      1470  #define JSON_HEDLEY_END_C_DECLS }
      +
      1471  #define JSON_HEDLEY_C_DECL extern "C"
      +
      1472 #else
      +
      1473  #define JSON_HEDLEY_BEGIN_C_DECLS
      +
      1474  #define JSON_HEDLEY_END_C_DECLS
      +
      1475  #define JSON_HEDLEY_C_DECL
      +
      1476 #endif
      +
      1477 
      +
      1478 #if defined(JSON_HEDLEY_STATIC_ASSERT)
      +
      1479  #undef JSON_HEDLEY_STATIC_ASSERT
      +
      1480 #endif
      +
      1481 #if \
      +
      1482  !defined(__cplusplus) && ( \
      +
      1483  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
      +
      1484  JSON_HEDLEY_HAS_FEATURE(c_static_assert) || \
      +
      1485  JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
      +
      1486  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1487  defined(_Static_assert) \
      +
      1488  )
      +
      1489 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
      +
      1490 #elif \
      +
      1491  (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
      +
      1492  JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \
      +
      1493  (defined(__cplusplus) && JSON_HEDLEY_TI_VERSION_CHECK(8,3,0))
      +
      1494 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
      +
      1495 #else
      +
      1496 # define JSON_HEDLEY_STATIC_ASSERT(expr, message)
      +
      1497 #endif
      +
      1498 
      +
      1499 #if defined(JSON_HEDLEY_CONST_CAST)
      +
      1500  #undef JSON_HEDLEY_CONST_CAST
      +
      1501 #endif
      +
      1502 #if defined(__cplusplus)
      +
      1503 # define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast<T>(expr))
      +
      1504 #elif \
      +
      1505  JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \
      +
      1506  JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \
      +
      1507  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1508 # define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \
      +
      1509  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1510  JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \
      +
      1511  ((T) (expr)); \
      +
      1512  JSON_HEDLEY_DIAGNOSTIC_POP \
      +
      1513  }))
      +
      1514 #else
      +
      1515 # define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr))
      +
      1516 #endif
      +
      1517 
      +
      1518 #if defined(JSON_HEDLEY_REINTERPRET_CAST)
      +
      1519  #undef JSON_HEDLEY_REINTERPRET_CAST
      +
      1520 #endif
      +
      1521 #if defined(__cplusplus)
      +
      1522  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast<T>(expr))
      +
      1523 #else
      +
      1524  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (*((T*) &(expr)))
      +
      1525 #endif
      +
      1526 
      +
      1527 #if defined(JSON_HEDLEY_STATIC_CAST)
      +
      1528  #undef JSON_HEDLEY_STATIC_CAST
      +
      1529 #endif
      +
      1530 #if defined(__cplusplus)
      +
      1531  #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast<T>(expr))
      +
      1532 #else
      +
      1533  #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr))
      +
      1534 #endif
      +
      1535 
      +
      1536 #if defined(JSON_HEDLEY_CPP_CAST)
      +
      1537  #undef JSON_HEDLEY_CPP_CAST
      +
      1538 #endif
      +
      1539 #if defined(__cplusplus)
      +
      1540  #define JSON_HEDLEY_CPP_CAST(T, expr) static_cast<T>(expr)
      +
      1541 #else
      +
      1542  #define JSON_HEDLEY_CPP_CAST(T, expr) (expr)
      +
      1543 #endif
      +
      1544 
      +
      1545 #if defined(JSON_HEDLEY_NULL)
      +
      1546  #undef JSON_HEDLEY_NULL
      +
      1547 #endif
      +
      1548 #if defined(__cplusplus)
      +
      1549  #if __cplusplus >= 201103L
      +
      1550  #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
      +
      1551  #elif defined(NULL)
      +
      1552  #define JSON_HEDLEY_NULL NULL
      +
      1553  #else
      +
      1554  #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0)
      +
      1555  #endif
      +
      1556 #elif defined(NULL)
      +
      1557  #define JSON_HEDLEY_NULL NULL
      +
      1558 #else
      +
      1559  #define JSON_HEDLEY_NULL ((void*) 0)
      +
      1560 #endif
      +
      1561 
      +
      1562 #if defined(JSON_HEDLEY_MESSAGE)
      +
      1563  #undef JSON_HEDLEY_MESSAGE
      +
      1564 #endif
      +
      1565 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      1566 # define JSON_HEDLEY_MESSAGE(msg) \
      +
      1567  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1568  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
      +
      1569  JSON_HEDLEY_PRAGMA(message msg) \
      +
      1570  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1571 #elif \
      +
      1572  JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \
      +
      1573  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1574 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg)
      +
      1575 #elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0)
      +
      1576 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg)
      +
      1577 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1578 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1579 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0)
      +
      1580 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1581 #else
      +
      1582 # define JSON_HEDLEY_MESSAGE(msg)
      +
      1583 #endif
      +
      1584 
      +
      1585 #if defined(JSON_HEDLEY_WARNING)
      +
      1586  #undef JSON_HEDLEY_WARNING
      +
      1587 #endif
      +
      1588 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      1589 # define JSON_HEDLEY_WARNING(msg) \
      +
      1590  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1591  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
      +
      1592  JSON_HEDLEY_PRAGMA(clang warning msg) \
      +
      1593  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1594 #elif \
      +
      1595  JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \
      +
      1596  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0)
      +
      1597 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg)
      +
      1598 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      1599 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1600 #else
      +
      1601 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg)
      +
      1602 #endif
      +
      1603 
      +
      1604 #if defined(JSON_HEDLEY_REQUIRE)
      +
      1605  #undef JSON_HEDLEY_REQUIRE
      +
      1606 #endif
      +
      1607 #if defined(JSON_HEDLEY_REQUIRE_MSG)
      +
      1608  #undef JSON_HEDLEY_REQUIRE_MSG
      +
      1609 #endif
      +
      1610 #if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if)
      +
      1611 # if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat")
      +
      1612 # define JSON_HEDLEY_REQUIRE(expr) \
      +
      1613  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1614  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
      +
      1615  __attribute__((diagnose_if(!(expr), #expr, "error"))) \
      +
      1616  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1617 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \
      +
      1618  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1619  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
      +
      1620  __attribute__((diagnose_if(!(expr), msg, "error"))) \
      +
      1621  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1622 # else
      +
      1623 # define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error")))
      +
      1624 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error")))
      +
      1625 # endif
      +
      1626 #else
      +
      1627 # define JSON_HEDLEY_REQUIRE(expr)
      +
      1628 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg)
      +
      1629 #endif
      +
      1630 
      +
      1631 #if defined(JSON_HEDLEY_FLAGS)
      +
      1632  #undef JSON_HEDLEY_FLAGS
      +
      1633 #endif
      +
      1634 #if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum)
      +
      1635  #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__))
      +
      1636 #endif
      +
      1637 
      +
      1638 #if defined(JSON_HEDLEY_FLAGS_CAST)
      +
      1639  #undef JSON_HEDLEY_FLAGS_CAST
      +
      1640 #endif
      +
      1641 #if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0)
      +
      1642 # define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \
      +
      1643  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1644  _Pragma("warning(disable:188)") \
      +
      1645  ((T) (expr)); \
      +
      1646  JSON_HEDLEY_DIAGNOSTIC_POP \
      +
      1647  }))
      +
      1648 #else
      +
      1649 # define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr)
      +
      1650 #endif
      +
      1651 
      +
      1652 #if defined(JSON_HEDLEY_EMPTY_BASES)
      +
      1653  #undef JSON_HEDLEY_EMPTY_BASES
      +
      1654 #endif
      +
      1655 #if JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)
      +
      1656  #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases)
      +
      1657 #else
      +
      1658  #define JSON_HEDLEY_EMPTY_BASES
      +
      1659 #endif
      +
      1660 
      +
      1661 /* Remaining macros are deprecated. */
      +
      1662 
      +
      1663 #if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK)
      +
      1664  #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
      +
      1665 #endif
      +
      1666 #if defined(__clang__)
      +
      1667  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0)
      +
      1668 #else
      +
      1669  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      1670 #endif
      +
      1671 
      +
      1672 #if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE)
      +
      1673  #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
      +
      1674 #endif
      +
      1675 #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
      +
      1676 
      +
      1677 #if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE)
      +
      1678  #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
      +
      1679 #endif
      +
      1680 #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
      +
      1681 
      +
      1682 #if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN)
      +
      1683  #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
      +
      1684 #endif
      +
      1685 #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin)
      +
      1686 
      +
      1687 #if defined(JSON_HEDLEY_CLANG_HAS_FEATURE)
      +
      1688  #undef JSON_HEDLEY_CLANG_HAS_FEATURE
      +
      1689 #endif
      +
      1690 #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature)
      +
      1691 
      +
      1692 #if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION)
      +
      1693  #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
      +
      1694 #endif
      +
      1695 #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension)
      +
      1696 
      +
      1697 #if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE)
      +
      1698  #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
      +
      1699 #endif
      +
      1700 #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
      +
      1701 
      +
      1702 #if defined(JSON_HEDLEY_CLANG_HAS_WARNING)
      +
      1703  #undef JSON_HEDLEY_CLANG_HAS_WARNING
      +
      1704 #endif
      +
      1705 #define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning)
      +
      1706 
      +
      1707 #endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */
      +
      1708 
      +
      1709 
      +
      1710 // This file contains all internal macro definitions
      +
      1711 // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them
      +
      1712 
      +
      1713 // exclude unsupported compilers
      +
      1714 #if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK)
      +
      1715  #if defined(__clang__)
      +
      1716  #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
      +
      1717  #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
      +
      1718  #endif
      +
      1719  #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
      +
      1720  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800
      +
      1721  #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
      +
      1722  #endif
      +
      1723  #endif
      +
      1724 #endif
      +
      1725 
      +
      1726 // C++ language standard detection
      +
      1727 #if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464
      +
      1728  #define JSON_HAS_CPP_17
      +
      1729  #define JSON_HAS_CPP_14
      +
      1730 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
      +
      1731  #define JSON_HAS_CPP_14
      +
      1732 #endif
      +
      1733 
      +
      1734 // disable float-equal warnings on GCC/clang
      +
      1735 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
      +
      1736  #pragma GCC diagnostic push
      +
      1737  #pragma GCC diagnostic ignored "-Wfloat-equal"
      +
      1738 #endif
      +
      1739 
      +
      1740 // disable documentation warnings on clang
      +
      1741 #if defined(__clang__)
      +
      1742  #pragma GCC diagnostic push
      +
      1743  #pragma GCC diagnostic ignored "-Wdocumentation"
      +
      1744 #endif
      +
      1745 
      +
      1746 // allow to disable exceptions
      +
      1747 #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
      +
      1748  #define JSON_THROW(exception) throw exception
      +
      1749  #define JSON_TRY try
      +
      1750  #define JSON_CATCH(exception) catch(exception)
      +
      1751  #define JSON_INTERNAL_CATCH(exception) catch(exception)
      +
      1752 #else
      +
      1753  #include <cstdlib>
      +
      1754  #define JSON_THROW(exception) std::abort()
      +
      1755  #define JSON_TRY if(true)
      +
      1756  #define JSON_CATCH(exception) if(false)
      +
      1757  #define JSON_INTERNAL_CATCH(exception) if(false)
      +
      1758 #endif
      +
      1759 
      +
      1760 // override exception macros
      +
      1761 #if defined(JSON_THROW_USER)
      +
      1762  #undef JSON_THROW
      +
      1763  #define JSON_THROW JSON_THROW_USER
      +
      1764 #endif
      +
      1765 #if defined(JSON_TRY_USER)
      +
      1766  #undef JSON_TRY
      +
      1767  #define JSON_TRY JSON_TRY_USER
      +
      1768 #endif
      +
      1769 #if defined(JSON_CATCH_USER)
      +
      1770  #undef JSON_CATCH
      +
      1771  #define JSON_CATCH JSON_CATCH_USER
      +
      1772  #undef JSON_INTERNAL_CATCH
      +
      1773  #define JSON_INTERNAL_CATCH JSON_CATCH_USER
      +
      1774 #endif
      +
      1775 #if defined(JSON_INTERNAL_CATCH_USER)
      +
      1776  #undef JSON_INTERNAL_CATCH
      +
      1777  #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER
      +
      1778 #endif
      +
      1779 
      +
      1785 #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \
      +
      1786  template<typename BasicJsonType> \
      +
      1787  inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
      +
      1788  { \
      +
      1789  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      1790  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      1791  auto it = std::find_if(std::begin(m), std::end(m), \
      +
      1792  [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      1793  { \
      +
      1794  return ej_pair.first == e; \
      +
      1795  }); \
      +
      1796  j = ((it != std::end(m)) ? it : std::begin(m))->second; \
      +
      1797  } \
      +
      1798  template<typename BasicJsonType> \
      +
      1799  inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
      +
      1800  { \
      +
      1801  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      1802  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      1803  auto it = std::find_if(std::begin(m), std::end(m), \
      +
      1804  [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      1805  { \
      +
      1806  return ej_pair.second == j; \
      +
      1807  }); \
      +
      1808  e = ((it != std::end(m)) ? it : std::begin(m))->first; \
      +
      1809  }
      +
      1810 
      +
      1811 // Ugly macros to avoid uglier copy-paste when specializing basic_json. They
      +
      1812 // may be removed in the future once the class is split.
      +
      1813 
      +
      1814 #define NLOHMANN_BASIC_JSON_TPL_DECLARATION \
      +
      1815  template<template<typename, typename, typename...> class ObjectType, \
      +
      1816  template<typename, typename...> class ArrayType, \
      +
      1817  class StringType, class BooleanType, class NumberIntegerType, \
      +
      1818  class NumberUnsignedType, class NumberFloatType, \
      +
      1819  template<typename> class AllocatorType, \
      +
      1820  template<typename, typename = void> class JSONSerializer>
      +
      1821 
      +
      1822 #define NLOHMANN_BASIC_JSON_TPL \
      +
      1823  basic_json<ObjectType, ArrayType, StringType, BooleanType, \
      +
      1824  NumberIntegerType, NumberUnsignedType, NumberFloatType, \
      +
      1825  AllocatorType, JSONSerializer>
      +
      1826 
      +
      1827 
      +
      1828 namespace nlohmann
      +
      1829 {
      +
      1830 namespace detail
      +
      1831 {
      +
      1833 // exceptions //
      +
      1835 
      +
      1864 class exception : public std::exception
      +
      1865 {
      +
      1866  public:
      + +
      1869  const char* what() const noexcept override
      +
      1870  {
      +
      1871  return m.what();
      +
      1872  }
      +
      1873 
      +
      1875  const int id;
      +
      1876 
      +
      1877  protected:
      + +
      1879  exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
      +
      1880 
      +
      1881  static std::string name(const std::string& ename, int id_)
      +
      1882  {
      +
      1883  return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
      +
      1884  }
      +
      1885 
      +
      1886  private:
      +
      1888  std::runtime_error m;
      +
      1889 };
      +
      1890 
      +
      1935 class parse_error : public exception
      +
      1936 {
      +
      1937  public:
      +
      1947  static parse_error create(int id_, const position_t& pos, const std::string& what_arg)
      +
      1948  {
      +
      1949  std::string w = exception::name("parse_error", id_) + "parse error" +
      +
      1950  position_string(pos) + ": " + what_arg;
      +
      1951  return parse_error(id_, pos.chars_read_total, w.c_str());
      +
      1952  }
      +
      1953 
      +
      1954  static parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
      +
      1955  {
      +
      1956  std::string w = exception::name("parse_error", id_) + "parse error" +
      +
      1957  (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") +
      +
      1958  ": " + what_arg;
      +
      1959  return parse_error(id_, byte_, w.c_str());
      +
      1960  }
      +
      1961 
      +
      1971  const std::size_t byte;
      +
      1972 
      +
      1973  private:
      +
      1974  parse_error(int id_, std::size_t byte_, const char* what_arg)
      +
      1975  : exception(id_, what_arg), byte(byte_) {}
      +
      1976 
      +
      1977  static std::string position_string(const position_t& pos)
      +
      1978  {
      +
      1979  return " at line " + std::to_string(pos.lines_read + 1) +
      +
      1980  ", column " + std::to_string(pos.chars_read_current_line);
      +
      1981  }
      +
      1982 };
      +
      1983 
      + +
      2022 {
      +
      2023  public:
      +
      2024  static invalid_iterator create(int id_, const std::string& what_arg)
      +
      2025  {
      +
      2026  std::string w = exception::name("invalid_iterator", id_) + what_arg;
      +
      2027  return invalid_iterator(id_, w.c_str());
      +
      2028  }
      +
      2029 
      +
      2030  private:
      + +
      2032  invalid_iterator(int id_, const char* what_arg)
      +
      2033  : exception(id_, what_arg) {}
      +
      2034 };
      +
      2035 
      +
      2075 class type_error : public exception
      +
      2076 {
      +
      2077  public:
      +
      2078  static type_error create(int id_, const std::string& what_arg)
      +
      2079  {
      +
      2080  std::string w = exception::name("type_error", id_) + what_arg;
      +
      2081  return type_error(id_, w.c_str());
      +
      2082  }
      +
      2083 
      +
      2084  private:
      + +
      2086  type_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2087 };
      +
      2088 
      +
      2122 class out_of_range : public exception
      +
      2123 {
      +
      2124  public:
      +
      2125  static out_of_range create(int id_, const std::string& what_arg)
      +
      2126  {
      +
      2127  std::string w = exception::name("out_of_range", id_) + what_arg;
      +
      2128  return out_of_range(id_, w.c_str());
      +
      2129  }
      +
      2130 
      +
      2131  private:
      + +
      2133  out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2134 };
      +
      2135 
      +
      2160 class other_error : public exception
      +
      2161 {
      +
      2162  public:
      +
      2163  static other_error create(int id_, const std::string& what_arg)
      +
      2164  {
      +
      2165  std::string w = exception::name("other_error", id_) + what_arg;
      +
      2166  return other_error(id_, w.c_str());
      +
      2167  }
      +
      2168 
      +
      2169  private:
      + +
      2171  other_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2172 };
      +
      2173 } // namespace detail
      +
      2174 } // namespace nlohmann
      +
      2175 
      +
      2176 // #include <nlohmann/detail/macro_scope.hpp>
      +
      2177 
      +
      2178 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2179 
      +
      2180 
      +
      2181 #include <ciso646> // not
      +
      2182 #include <cstddef> // size_t
      +
      2183 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
      +
      2184 
      +
      2185 namespace nlohmann
      +
      2186 {
      +
      2187 namespace detail
      +
      2188 {
      +
      2189 // alias templates to reduce boilerplate
      +
      2190 template<bool B, typename T = void>
      +
      2191 using enable_if_t = typename std::enable_if<B, T>::type;
      +
      2192 
      +
      2193 template<typename T>
      +
      2194 using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
      +
      2195 
      +
      2196 // implementation of C++14 index_sequence and affiliates
      +
      2197 // source: https://stackoverflow.com/a/32223343
      +
      2198 template<std::size_t... Ints>
      + +
      2200 {
      + +
      2202  using value_type = std::size_t;
      +
      2203  static constexpr std::size_t size() noexcept
      +
      2204  {
      +
      2205  return sizeof...(Ints);
      +
      2206  }
      +
      2207 };
      +
      2208 
      +
      2209 template<class Sequence1, class Sequence2>
      + +
      2211 
      +
      2212 template<std::size_t... I1, std::size_t... I2>
      + +
      2214  : index_sequence < I1..., (sizeof...(I1) + I2)... > {};
      +
      2215 
      +
      2216 template<std::size_t N>
      + +
      2218  : merge_and_renumber < typename make_index_sequence < N / 2 >::type,
      +
      2219  typename make_index_sequence < N - N / 2 >::type > {};
      +
      2220 
      +
      2221 template<> struct make_index_sequence<0> : index_sequence<> {};
      +
      2222 template<> struct make_index_sequence<1> : index_sequence<0> {};
      +
      2223 
      +
      2224 template<typename... Ts>
      + +
      2226 
      +
      2227 // dispatch utility (taken from ranges-v3)
      +
      2228 template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
      +
      2229 template<> struct priority_tag<0> {};
      +
      2230 
      +
      2231 // taken from ranges-v3
      +
      2232 template<typename T>
      + +
      2234 {
      +
      2235  static constexpr T value{};
      +
      2236 };
      +
      2237 
      +
      2238 template<typename T>
      +
      2239 constexpr T static_const<T>::value;
      +
      2240 } // namespace detail
      +
      2241 } // namespace nlohmann
      +
      2242 
      +
      2243 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      2244 
      +
      2245 
      +
      2246 #include <ciso646> // not
      +
      2247 #include <limits> // numeric_limits
      +
      2248 #include <type_traits> // false_type, is_constructible, is_integral, is_same, true_type
      +
      2249 #include <utility> // declval
      +
      2250 
      +
      2251 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
      +
      2252 
      +
      2253 
      +
      2254 #include <iterator> // random_access_iterator_tag
      +
      2255 
      +
      2256 // #include <nlohmann/detail/meta/void_t.hpp>
      +
      2257 
      +
      2258 
      +
      2259 namespace nlohmann
      +
      2260 {
      +
      2261 namespace detail
      +
      2262 {
      +
      2263 template <typename ...Ts> struct make_void
      +
      2264 {
      +
      2265  using type = void;
      +
      2266 };
      +
      2267 template <typename ...Ts> using void_t = typename make_void<Ts...>::type;
      +
      2268 } // namespace detail
      +
      2269 } // namespace nlohmann
      +
      2270 
      +
      2271 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2272 
      +
      2273 
      +
      2274 namespace nlohmann
      +
      2275 {
      +
      2276 namespace detail
      +
      2277 {
      +
      2278 template <typename It, typename = void>
      +
      2279 struct iterator_types {};
      +
      2280 
      +
      2281 template <typename It>
      + +
      2283  It,
      +
      2284  void_t<typename It::difference_type, typename It::value_type, typename It::pointer,
      +
      2285  typename It::reference, typename It::iterator_category >>
      +
      2286 {
      +
      2287  using difference_type = typename It::difference_type;
      +
      2288  using value_type = typename It::value_type;
      +
      2289  using pointer = typename It::pointer;
      +
      2290  using reference = typename It::reference;
      +
      2291  using iterator_category = typename It::iterator_category;
      +
      2292 };
      +
      2293 
      +
      2294 // This is required as some compilers implement std::iterator_traits in a way that
      +
      2295 // doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341.
      +
      2296 template <typename T, typename = void>
      + +
      2298 {
      +
      2299 };
      +
      2300 
      +
      2301 template <typename T>
      +
      2302 struct iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      +
      2303  : iterator_types<T>
      +
      2304 {
      +
      2305 };
      +
      2306 
      +
      2307 template <typename T>
      + +
      2309 {
      +
      2310  using iterator_category = std::random_access_iterator_tag;
      +
      2311  using value_type = T;
      +
      2312  using difference_type = ptrdiff_t;
      +
      2313  using pointer = T*;
      +
      2314  using reference = T&;
      +
      2315 };
      +
      2316 } // namespace detail
      +
      2317 } // namespace nlohmann
      +
      2318 
      +
      2319 // #include <nlohmann/detail/macro_scope.hpp>
      +
      2320 
      +
      2321 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2322 
      +
      2323 // #include <nlohmann/detail/meta/detected.hpp>
      +
      2324 
      +
      2325 
      +
      2326 #include <type_traits>
      +
      2327 
      +
      2328 // #include <nlohmann/detail/meta/void_t.hpp>
      +
      2329 
      +
      2330 
      +
      2331 // http://en.cppreference.com/w/cpp/experimental/is_detected
      +
      2332 namespace nlohmann
      +
      2333 {
      +
      2334 namespace detail
      +
      2335 {
      +
      2336 struct nonesuch
      +
      2337 {
      +
      2338  nonesuch() = delete;
      +
      2339  ~nonesuch() = delete;
      +
      2340  nonesuch(nonesuch const&) = delete;
      +
      2341  nonesuch(nonesuch const&&) = delete;
      +
      2342  void operator=(nonesuch const&) = delete;
      +
      2343  void operator=(nonesuch&&) = delete;
      +
      2344 };
      +
      2345 
      +
      2346 template <class Default,
      +
      2347  class AlwaysVoid,
      +
      2348  template <class...> class Op,
      +
      2349  class... Args>
      +
      2350 struct detector
      +
      2351 {
      +
      2352  using value_t = std::false_type;
      +
      2353  using type = Default;
      +
      2354 };
      +
      2355 
      +
      2356 template <class Default, template <class...> class Op, class... Args>
      +
      2357 struct detector<Default, void_t<Op<Args...>>, Op, Args...>
      +
      2358 {
      +
      2359  using value_t = std::true_type;
      +
      2360  using type = Op<Args...>;
      +
      2361 };
      +
      2362 
      +
      2363 template <template <class...> class Op, class... Args>
      +
      2364 using is_detected = typename detector<nonesuch, void, Op, Args...>::value_t;
      +
      2365 
      +
      2366 template <template <class...> class Op, class... Args>
      +
      2367 using detected_t = typename detector<nonesuch, void, Op, Args...>::type;
      +
      2368 
      +
      2369 template <class Default, template <class...> class Op, class... Args>
      +
      2370 using detected_or = detector<Default, void, Op, Args...>;
      +
      2371 
      +
      2372 template <class Default, template <class...> class Op, class... Args>
      +
      2373 using detected_or_t = typename detected_or<Default, Op, Args...>::type;
      +
      2374 
      +
      2375 template <class Expected, template <class...> class Op, class... Args>
      +
      2376 using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>;
      +
      2377 
      +
      2378 template <class To, template <class...> class Op, class... Args>
      + +
      2380  std::is_convertible<detected_t<Op, Args...>, To>;
      +
      2381 } // namespace detail
      +
      2382 } // namespace nlohmann
      +
      2383 
      +
      2384 // #include <nlohmann/json_fwd.hpp>
      +
      2385 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2386 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2387 
      +
      2388 #include <cstdint> // int64_t, uint64_t
      +
      2389 #include <map> // map
      +
      2390 #include <memory> // allocator
      +
      2391 #include <string> // string
      +
      2392 #include <vector> // vector
      +
      2393 
      +
      2399 namespace nlohmann
      +
      2400 {
      +
      2408 template<typename T = void, typename SFINAE = void>
      + +
      2410 
      +
      2411 template<template<typename U, typename V, typename... Args> class ObjectType =
      +
      2412  std::map,
      +
      2413  template<typename U, typename... Args> class ArrayType = std::vector,
      +
      2414  class StringType = std::string, class BooleanType = bool,
      +
      2415  class NumberIntegerType = std::int64_t,
      +
      2416  class NumberUnsignedType = std::uint64_t,
      +
      2417  class NumberFloatType = double,
      +
      2418  template<typename U> class AllocatorType = std::allocator,
      +
      2419  template<typename T, typename SFINAE = void> class JSONSerializer =
      + + +
      2422 
      +
      2434 template<typename BasicJsonType>
      + +
      2436 
      + +
      2446 } // namespace nlohmann
      +
      2447 
      +
      2448 #endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2449 
      +
      2450 
      +
      2451 namespace nlohmann
      +
      2452 {
      +
      2461 namespace detail
      +
      2462 {
      +
      2464 // helpers //
      +
      2466 
      +
      2467 // Note to maintainers:
      +
      2468 //
      +
      2469 // Every trait in this file expects a non CV-qualified type.
      +
      2470 // The only exceptions are in the 'aliases for detected' section
      +
      2471 // (i.e. those of the form: decltype(T::member_function(std::declval<T>())))
      +
      2472 //
      +
      2473 // In this case, T has to be properly CV-qualified to constraint the function arguments
      +
      2474 // (e.g. to_json(BasicJsonType&, const T&))
      +
      2475 
      +
      2476 template<typename> struct is_basic_json : std::false_type {};
      +
      2477 
      + +
      2479 struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
      +
      2480 
      +
      2482 // aliases for detected //
      +
      2484 
      +
      2485 template <typename T>
      +
      2486 using mapped_type_t = typename T::mapped_type;
      +
      2487 
      +
      2488 template <typename T>
      +
      2489 using key_type_t = typename T::key_type;
      +
      2490 
      +
      2491 template <typename T>
      +
      2492 using value_type_t = typename T::value_type;
      +
      2493 
      +
      2494 template <typename T>
      +
      2495 using difference_type_t = typename T::difference_type;
      +
      2496 
      +
      2497 template <typename T>
      +
      2498 using pointer_t = typename T::pointer;
      +
      2499 
      +
      2500 template <typename T>
      +
      2501 using reference_t = typename T::reference;
      +
      2502 
      +
      2503 template <typename T>
      +
      2504 using iterator_category_t = typename T::iterator_category;
      +
      2505 
      +
      2506 template <typename T>
      +
      2507 using iterator_t = typename T::iterator;
      +
      2508 
      +
      2509 template <typename T, typename... Args>
      +
      2510 using to_json_function = decltype(T::to_json(std::declval<Args>()...));
      +
      2511 
      +
      2512 template <typename T, typename... Args>
      +
      2513 using from_json_function = decltype(T::from_json(std::declval<Args>()...));
      +
      2514 
      +
      2515 template <typename T, typename U>
      +
      2516 using get_template_function = decltype(std::declval<T>().template get<U>());
      +
      2517 
      +
      2518 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
      +
      2519 template <typename BasicJsonType, typename T, typename = void>
      +
      2520 struct has_from_json : std::false_type {};
      +
      2521 
      +
      2522 template <typename BasicJsonType, typename T>
      +
      2523 struct has_from_json<BasicJsonType, T,
      +
      2524  enable_if_t<not is_basic_json<T>::value>>
      +
      2525 {
      +
      2526  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      2527 
      +
      2528  static constexpr bool value =
      + +
      2530  const BasicJsonType&, T&>::value;
      +
      2531 };
      +
      2532 
      +
      2533 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
      +
      2534 // this overload is used for non-default-constructible user-defined-types
      +
      2535 template <typename BasicJsonType, typename T, typename = void>
      +
      2536 struct has_non_default_from_json : std::false_type {};
      +
      2537 
      +
      2538 template<typename BasicJsonType, typename T>
      +
      2539 struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>>
      +
      2540 {
      +
      2541  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      2542 
      +
      2543  static constexpr bool value =
      + +
      2545  const BasicJsonType&>::value;
      +
      2546 };
      +
      2547 
      +
      2548 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
      +
      2549 // Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion.
      +
      2550 template <typename BasicJsonType, typename T, typename = void>
      +
      2551 struct has_to_json : std::false_type {};
      +
      2552 
      +
      2553 template <typename BasicJsonType, typename T>
      +
      2554 struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>>
      +
      2555 {
      +
      2556  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      2557 
      +
      2558  static constexpr bool value =
      + +
      2560  T>::value;
      +
      2561 };
      +
      2562 
      +
      2563 
      +
      2565 // is_ functions //
      +
      2567 
      +
      2568 template <typename T, typename = void>
      +
      2569 struct is_iterator_traits : std::false_type {};
      +
      2570 
      +
      2571 template <typename T>
      + +
      2573 {
      +
      2574  private:
      +
      2575  using traits = iterator_traits<T>;
      +
      2576 
      +
      2577  public:
      +
      2578  static constexpr auto value =
      + + + + + +
      2584 };
      +
      2585 
      +
      2586 // source: https://stackoverflow.com/a/37193089/4116453
      +
      2587 
      +
      2588 template <typename T, typename = void>
      +
      2589 struct is_complete_type : std::false_type {};
      +
      2590 
      +
      2591 template <typename T>
      +
      2592 struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {};
      +
      2593 
      +
      2594 template <typename BasicJsonType, typename CompatibleObjectType,
      +
      2595  typename = void>
      +
      2596 struct is_compatible_object_type_impl : std::false_type {};
      +
      2597 
      +
      2598 template <typename BasicJsonType, typename CompatibleObjectType>
      + +
      2600  BasicJsonType, CompatibleObjectType,
      +
      2601  enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
      +
      2602  is_detected<key_type_t, CompatibleObjectType>::value >>
      +
      2603 {
      +
      2604 
      +
      2605  using object_t = typename BasicJsonType::object_t;
      +
      2606 
      +
      2607  // macOS's is_constructible does not play well with nonesuch...
      +
      2608  static constexpr bool value =
      +
      2609  std::is_constructible<typename object_t::key_type,
      +
      2610  typename CompatibleObjectType::key_type>::value and
      +
      2611  std::is_constructible<typename object_t::mapped_type,
      +
      2612  typename CompatibleObjectType::mapped_type>::value;
      +
      2613 };
      +
      2614 
      +
      2615 template <typename BasicJsonType, typename CompatibleObjectType>
      + +
      2617  : is_compatible_object_type_impl<BasicJsonType, CompatibleObjectType> {};
      +
      2618 
      +
      2619 template <typename BasicJsonType, typename ConstructibleObjectType,
      +
      2620  typename = void>
      +
      2621 struct is_constructible_object_type_impl : std::false_type {};
      +
      2622 
      +
      2623 template <typename BasicJsonType, typename ConstructibleObjectType>
      + +
      2625  BasicJsonType, ConstructibleObjectType,
      +
      2626  enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
      +
      2627  is_detected<key_type_t, ConstructibleObjectType>::value >>
      +
      2628 {
      +
      2629  using object_t = typename BasicJsonType::object_t;
      +
      2630 
      +
      2631  static constexpr bool value =
      +
      2632  (std::is_default_constructible<ConstructibleObjectType>::value and
      +
      2633  (std::is_move_assignable<ConstructibleObjectType>::value or
      +
      2634  std::is_copy_assignable<ConstructibleObjectType>::value) and
      +
      2635  (std::is_constructible<typename ConstructibleObjectType::key_type,
      +
      2636  typename object_t::key_type>::value and
      +
      2637  std::is_same <
      +
      2638  typename object_t::mapped_type,
      +
      2639  typename ConstructibleObjectType::mapped_type >::value)) or
      +
      2640  (has_from_json<BasicJsonType,
      +
      2641  typename ConstructibleObjectType::mapped_type>::value or
      + +
      2643  BasicJsonType,
      +
      2644  typename ConstructibleObjectType::mapped_type >::value);
      +
      2645 };
      +
      2646 
      +
      2647 template <typename BasicJsonType, typename ConstructibleObjectType>
      + +
      2649  : is_constructible_object_type_impl<BasicJsonType,
      +
      2650  ConstructibleObjectType> {};
      +
      2651 
      +
      2652 template <typename BasicJsonType, typename CompatibleStringType,
      +
      2653  typename = void>
      +
      2654 struct is_compatible_string_type_impl : std::false_type {};
      +
      2655 
      +
      2656 template <typename BasicJsonType, typename CompatibleStringType>
      + +
      2658  BasicJsonType, CompatibleStringType,
      +
      2659  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
      +
      2660  value_type_t, CompatibleStringType>::value >>
      +
      2661 {
      +
      2662  static constexpr auto value =
      +
      2663  std::is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value;
      +
      2664 };
      +
      2665 
      +
      2666 template <typename BasicJsonType, typename ConstructibleStringType>
      + +
      2668  : is_compatible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
      +
      2669 
      +
      2670 template <typename BasicJsonType, typename ConstructibleStringType,
      +
      2671  typename = void>
      +
      2672 struct is_constructible_string_type_impl : std::false_type {};
      +
      2673 
      +
      2674 template <typename BasicJsonType, typename ConstructibleStringType>
      + +
      2676  BasicJsonType, ConstructibleStringType,
      +
      2677  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
      +
      2678  value_type_t, ConstructibleStringType>::value >>
      +
      2679 {
      +
      2680  static constexpr auto value =
      +
      2681  std::is_constructible<ConstructibleStringType,
      +
      2682  typename BasicJsonType::string_t>::value;
      +
      2683 };
      +
      2684 
      +
      2685 template <typename BasicJsonType, typename ConstructibleStringType>
      + +
      2687  : is_constructible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
      +
      2688 
      +
      2689 template <typename BasicJsonType, typename CompatibleArrayType, typename = void>
      +
      2690 struct is_compatible_array_type_impl : std::false_type {};
      +
      2691 
      +
      2692 template <typename BasicJsonType, typename CompatibleArrayType>
      + +
      2694  BasicJsonType, CompatibleArrayType,
      +
      2695  enable_if_t<is_detected<value_type_t, CompatibleArrayType>::value and
      +
      2696  is_detected<iterator_t, CompatibleArrayType>::value and
      +
      2697 // This is needed because json_reverse_iterator has a ::iterator type...
      +
      2698 // Therefore it is detected as a CompatibleArrayType.
      +
      2699 // The real fix would be to have an Iterable concept.
      +
      2700  not is_iterator_traits<
      +
      2701  iterator_traits<CompatibleArrayType>>::value >>
      +
      2702 {
      +
      2703  static constexpr bool value =
      +
      2704  std::is_constructible<BasicJsonType,
      +
      2705  typename CompatibleArrayType::value_type>::value;
      +
      2706 };
      +
      2707 
      +
      2708 template <typename BasicJsonType, typename CompatibleArrayType>
      + +
      2710  : is_compatible_array_type_impl<BasicJsonType, CompatibleArrayType> {};
      +
      2711 
      +
      2712 template <typename BasicJsonType, typename ConstructibleArrayType, typename = void>
      +
      2713 struct is_constructible_array_type_impl : std::false_type {};
      +
      2714 
      +
      2715 template <typename BasicJsonType, typename ConstructibleArrayType>
      + +
      2717  BasicJsonType, ConstructibleArrayType,
      +
      2718  enable_if_t<std::is_same<ConstructibleArrayType,
      +
      2719  typename BasicJsonType::value_type>::value >>
      +
      2720  : std::true_type {};
      +
      2721 
      +
      2722 template <typename BasicJsonType, typename ConstructibleArrayType>
      + +
      2724  BasicJsonType, ConstructibleArrayType,
      +
      2725  enable_if_t<not std::is_same<ConstructibleArrayType,
      +
      2726  typename BasicJsonType::value_type>::value and
      +
      2727  std::is_default_constructible<ConstructibleArrayType>::value and
      +
      2728 (std::is_move_assignable<ConstructibleArrayType>::value or
      +
      2729  std::is_copy_assignable<ConstructibleArrayType>::value) and
      +
      2730 is_detected<value_type_t, ConstructibleArrayType>::value and
      +
      2731 is_detected<iterator_t, ConstructibleArrayType>::value and
      + +
      2733 detected_t<value_type_t, ConstructibleArrayType>>::value >>
      +
      2734 {
      +
      2735  static constexpr bool value =
      +
      2736  // This is needed because json_reverse_iterator has a ::iterator type,
      +
      2737  // furthermore, std::back_insert_iterator (and other iterators) have a
      +
      2738  // base class `iterator`... Therefore it is detected as a
      +
      2739  // ConstructibleArrayType. The real fix would be to have an Iterable
      +
      2740  // concept.
      + +
      2742 
      +
      2743  (std::is_same<typename ConstructibleArrayType::value_type,
      +
      2744  typename BasicJsonType::array_t::value_type>::value or
      +
      2745  has_from_json<BasicJsonType,
      +
      2746  typename ConstructibleArrayType::value_type>::value or
      + +
      2748  BasicJsonType, typename ConstructibleArrayType::value_type >::value);
      +
      2749 };
      +
      2750 
      +
      2751 template <typename BasicJsonType, typename ConstructibleArrayType>
      + +
      2753  : is_constructible_array_type_impl<BasicJsonType, ConstructibleArrayType> {};
      +
      2754 
      +
      2755 template <typename RealIntegerType, typename CompatibleNumberIntegerType,
      +
      2756  typename = void>
      +
      2757 struct is_compatible_integer_type_impl : std::false_type {};
      +
      2758 
      +
      2759 template <typename RealIntegerType, typename CompatibleNumberIntegerType>
      + +
      2761  RealIntegerType, CompatibleNumberIntegerType,
      +
      2762  enable_if_t<std::is_integral<RealIntegerType>::value and
      +
      2763  std::is_integral<CompatibleNumberIntegerType>::value and
      +
      2764  not std::is_same<bool, CompatibleNumberIntegerType>::value >>
      +
      2765 {
      +
      2766  // is there an assert somewhere on overflows?
      +
      2767  using RealLimits = std::numeric_limits<RealIntegerType>;
      +
      2768  using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
      +
      2769 
      +
      2770  static constexpr auto value =
      +
      2771  std::is_constructible<RealIntegerType,
      +
      2772  CompatibleNumberIntegerType>::value and
      +
      2773  CompatibleLimits::is_integer and
      +
      2774  RealLimits::is_signed == CompatibleLimits::is_signed;
      +
      2775 };
      +
      2776 
      +
      2777 template <typename RealIntegerType, typename CompatibleNumberIntegerType>
      + +
      2779  : is_compatible_integer_type_impl<RealIntegerType,
      +
      2780  CompatibleNumberIntegerType> {};
      +
      2781 
      +
      2782 template <typename BasicJsonType, typename CompatibleType, typename = void>
      +
      2783 struct is_compatible_type_impl: std::false_type {};
      +
      2784 
      +
      2785 template <typename BasicJsonType, typename CompatibleType>
      + +
      2787  BasicJsonType, CompatibleType,
      +
      2788  enable_if_t<is_complete_type<CompatibleType>::value >>
      +
      2789 {
      +
      2790  static constexpr bool value =
      + +
      2792 };
      +
      2793 
      +
      2794 template <typename BasicJsonType, typename CompatibleType>
      + +
      2796  : is_compatible_type_impl<BasicJsonType, CompatibleType> {};
      +
      2797 
      +
      2798 // https://en.cppreference.com/w/cpp/types/conjunction
      +
      2799 template<class...> struct conjunction : std::true_type { };
      +
      2800 template<class B1> struct conjunction<B1> : B1 { };
      +
      2801 template<class B1, class... Bn>
      +
      2802 struct conjunction<B1, Bn...>
      +
      2803 : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
      +
      2804 
      +
      2805 template <typename T1, typename T2>
      +
      2806 struct is_constructible_tuple : std::false_type {};
      +
      2807 
      +
      2808 template <typename T1, typename... Args>
      +
      2809 struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_constructible<T1, Args>...> {};
      +
      2810 } // namespace detail
      +
      2811 } // namespace nlohmann
      +
      2812 
      +
      2813 // #include <nlohmann/detail/value_t.hpp>
      +
      2814 
      +
      2815 
      +
      2816 #include <array> // array
      +
      2817 #include <ciso646> // and
      +
      2818 #include <cstddef> // size_t
      +
      2819 #include <cstdint> // uint8_t
      +
      2820 #include <string> // string
      +
      2821 
      +
      2822 namespace nlohmann
      +
      2823 {
      +
      2824 namespace detail
      +
      2825 {
      +
      2827 // JSON type enumeration //
      +
      2829 
      +
      2854 enum class value_t : std::uint8_t
      +
      2855 {
      +
      2856  null,
      +
      2857  object,
      +
      2858  array,
      +
      2859  string,
      +
      2860  boolean,
      +
      2861  number_integer,
      +
      2862  number_unsigned,
      +
      2863  number_float,
      +
      2864  discarded
      +
      2865 };
      +
      2866 
      +
      2877 inline bool operator<(const value_t lhs, const value_t rhs) noexcept
      +
      2878 {
      +
      2879  static constexpr std::array<std::uint8_t, 8> order = {{
      +
      2880  0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
      +
      2881  1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */
      +
      2882  }
      +
      2883  };
      +
      2884 
      +
      2885  const auto l_index = static_cast<std::size_t>(lhs);
      +
      2886  const auto r_index = static_cast<std::size_t>(rhs);
      +
      2887  return l_index < order.size() and r_index < order.size() and order[l_index] < order[r_index];
      +
      2888 }
      +
      2889 } // namespace detail
      +
      2890 } // namespace nlohmann
      +
      2891 
      +
      2892 
      +
      2893 namespace nlohmann
      +
      2894 {
      +
      2895 namespace detail
      +
      2896 {
      +
      2897 template<typename BasicJsonType>
      +
      2898 void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
      +
      2899 {
      +
      2900  if (JSON_HEDLEY_UNLIKELY(not j.is_null()))
      +
      2901  {
      +
      2902  JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name())));
      +
      2903  }
      +
      2904  n = nullptr;
      +
      2905 }
      +
      2906 
      +
      2907 // overloads for basic_json template parameters
      +
      2908 template<typename BasicJsonType, typename ArithmeticType,
      +
      2909  enable_if_t<std::is_arithmetic<ArithmeticType>::value and
      +
      2910  not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
      +
      2911  int> = 0>
      +
      2912 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
      +
      2913 {
      +
      2914  switch (static_cast<value_t>(j))
      +
      2915  {
      + +
      2917  {
      +
      2918  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
      +
      2919  break;
      +
      2920  }
      + +
      2922  {
      +
      2923  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
      +
      2924  break;
      +
      2925  }
      +
      2926  case value_t::number_float:
      +
      2927  {
      +
      2928  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
      +
      2929  break;
      +
      2930  }
      +
      2931 
      +
      2932  default:
      +
      2933  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
      +
      2934  }
      +
      2935 }
      +
      2936 
      +
      2937 template<typename BasicJsonType>
      +
      2938 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
      +
      2939 {
      +
      2940  if (JSON_HEDLEY_UNLIKELY(not j.is_boolean()))
      +
      2941  {
      +
      2942  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name())));
      +
      2943  }
      +
      2944  b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
      +
      2945 }
      +
      2946 
      +
      2947 template<typename BasicJsonType>
      +
      2948 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
      +
      2949 {
      +
      2950  if (JSON_HEDLEY_UNLIKELY(not j.is_string()))
      +
      2951  {
      +
      2952  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
      +
      2953  }
      +
      2954  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
      +
      2955 }
      +
      2956 
      +
      2957 template <
      +
      2958  typename BasicJsonType, typename ConstructibleStringType,
      +
      2959  enable_if_t <
      +
      2960  is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value and
      +
      2961  not std::is_same<typename BasicJsonType::string_t,
      +
      2962  ConstructibleStringType>::value,
      +
      2963  int > = 0 >
      +
      2964 void from_json(const BasicJsonType& j, ConstructibleStringType& s)
      +
      2965 {
      +
      2966  if (JSON_HEDLEY_UNLIKELY(not j.is_string()))
      +
      2967  {
      +
      2968  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
      +
      2969  }
      +
      2970 
      +
      2971  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
      +
      2972 }
      +
      2973 
      +
      2974 template<typename BasicJsonType>
      +
      2975 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
      +
      2976 {
      +
      2977  get_arithmetic_value(j, val);
      +
      2978 }
      +
      2979 
      +
      2980 template<typename BasicJsonType>
      +
      2981 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
      +
      2982 {
      +
      2983  get_arithmetic_value(j, val);
      +
      2984 }
      +
      2985 
      +
      2986 template<typename BasicJsonType>
      +
      2987 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
      +
      2988 {
      +
      2989  get_arithmetic_value(j, val);
      +
      2990 }
      +
      2991 
      +
      2992 template<typename BasicJsonType, typename EnumType,
      +
      2993  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
      +
      2994 void from_json(const BasicJsonType& j, EnumType& e)
      +
      2995 {
      +
      2996  typename std::underlying_type<EnumType>::type val;
      +
      2997  get_arithmetic_value(j, val);
      +
      2998  e = static_cast<EnumType>(val);
      +
      2999 }
      +
      3000 
      +
      3001 // forward_list doesn't have an insert method
      +
      3002 template<typename BasicJsonType, typename T, typename Allocator,
      +
      3003  enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
      +
      3004 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
      +
      3005 {
      +
      3006  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
      +
      3007  {
      +
      3008  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3009  }
      +
      3010  l.clear();
      +
      3011  std::transform(j.rbegin(), j.rend(),
      +
      3012  std::front_inserter(l), [](const BasicJsonType & i)
      +
      3013  {
      +
      3014  return i.template get<T>();
      +
      3015  });
      +
      3016 }
      +
      3017 
      +
      3018 // valarray doesn't have an insert method
      +
      3019 template<typename BasicJsonType, typename T,
      +
      3020  enable_if_t<std::is_convertible<BasicJsonType, T>::value, int> = 0>
      +
      3021 void from_json(const BasicJsonType& j, std::valarray<T>& l)
      +
      3022 {
      +
      3023  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
      +
      3024  {
      +
      3025  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3026  }
      +
      3027  l.resize(j.size());
      +
      3028  std::copy(j.begin(), j.end(), std::begin(l));
      +
      3029 }
      +
      3030 
      +
      3031 template <typename BasicJsonType, typename T, std::size_t N>
      +
      3032 auto from_json(const BasicJsonType& j, T (&arr)[N])
      +
      3033 -> decltype(j.template get<T>(), void())
      +
      3034 {
      +
      3035  for (std::size_t i = 0; i < N; ++i)
      +
      3036  {
      +
      3037  arr[i] = j.at(i).template get<T>();
      +
      3038  }
      +
      3039 }
      +
      3040 
      +
      3041 template<typename BasicJsonType>
      +
      3042 void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/)
      +
      3043 {
      +
      3044  arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
      +
      3045 }
      +
      3046 
      +
      3047 template <typename BasicJsonType, typename T, std::size_t N>
      +
      3048 auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& arr,
      +
      3049  priority_tag<2> /*unused*/)
      +
      3050 -> decltype(j.template get<T>(), void())
      +
      3051 {
      +
      3052  for (std::size_t i = 0; i < N; ++i)
      +
      3053  {
      +
      3054  arr[i] = j.at(i).template get<T>();
      +
      3055  }
      +
      3056 }
      +
      3057 
      +
      3058 template<typename BasicJsonType, typename ConstructibleArrayType>
      +
      3059 auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/)
      +
      3060 -> decltype(
      +
      3061  arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()),
      +
      3062  j.template get<typename ConstructibleArrayType::value_type>(),
      +
      3063  void())
      +
      3064 {
      +
      3065  using std::end;
      +
      3066 
      +
      3067  ConstructibleArrayType ret;
      +
      3068  ret.reserve(j.size());
      +
      3069  std::transform(j.begin(), j.end(),
      +
      3070  std::inserter(ret, end(ret)), [](const BasicJsonType & i)
      +
      3071  {
      +
      3072  // get<BasicJsonType>() returns *this, this won't call a from_json
      +
      3073  // method when value_type is BasicJsonType
      +
      3074  return i.template get<typename ConstructibleArrayType::value_type>();
      +
      3075  });
      +
      3076  arr = std::move(ret);
      +
      3077 }
      +
      3078 
      +
      3079 template <typename BasicJsonType, typename ConstructibleArrayType>
      +
      3080 void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr,
      +
      3081  priority_tag<0> /*unused*/)
      +
      3082 {
      +
      3083  using std::end;
      +
      3084 
      +
      3085  ConstructibleArrayType ret;
      +
      3086  std::transform(
      +
      3087  j.begin(), j.end(), std::inserter(ret, end(ret)),
      +
      3088  [](const BasicJsonType & i)
      +
      3089  {
      +
      3090  // get<BasicJsonType>() returns *this, this won't call a from_json
      +
      3091  // method when value_type is BasicJsonType
      +
      3092  return i.template get<typename ConstructibleArrayType::value_type>();
      +
      3093  });
      +
      3094  arr = std::move(ret);
      +
      3095 }
      +
      3096 
      +
      3097 template <typename BasicJsonType, typename ConstructibleArrayType,
      +
      3098  enable_if_t <
      +
      3099  is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value and
      +
      3100  not is_constructible_object_type<BasicJsonType, ConstructibleArrayType>::value and
      +
      3101  not is_constructible_string_type<BasicJsonType, ConstructibleArrayType>::value and
      +
      3102  not is_basic_json<ConstructibleArrayType>::value,
      +
      3103  int > = 0 >
      +
      3104 
      +
      3105 auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
      +
      3106 -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),
      +
      3107 j.template get<typename ConstructibleArrayType::value_type>(),
      +
      3108 void())
      +
      3109 {
      +
      3110  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
      +
      3111  {
      +
      3112  JSON_THROW(type_error::create(302, "type must be array, but is " +
      +
      3113  std::string(j.type_name())));
      +
      3114  }
      +
      3115 
      + +
      3117 }
      +
      3118 
      +
      3119 template<typename BasicJsonType, typename ConstructibleObjectType,
      +
      3120  enable_if_t<is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value, int> = 0>
      +
      3121 void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
      +
      3122 {
      +
      3123  if (JSON_HEDLEY_UNLIKELY(not j.is_object()))
      +
      3124  {
      +
      3125  JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name())));
      +
      3126  }
      +
      3127 
      +
      3128  ConstructibleObjectType ret;
      +
      3129  auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
      +
      3130  using value_type = typename ConstructibleObjectType::value_type;
      +
      3131  std::transform(
      +
      3132  inner_object->begin(), inner_object->end(),
      +
      3133  std::inserter(ret, ret.begin()),
      +
      3134  [](typename BasicJsonType::object_t::value_type const & p)
      +
      3135  {
      +
      3136  return value_type(p.first, p.second.template get<typename ConstructibleObjectType::mapped_type>());
      +
      3137  });
      +
      3138  obj = std::move(ret);
      +
      3139 }
      +
      3140 
      +
      3141 // overload for arithmetic types, not chosen for basic_json template arguments
      +
      3142 // (BooleanType, etc..); note: Is it really necessary to provide explicit
      +
      3143 // overloads for boolean_t etc. in case of a custom BooleanType which is not
      +
      3144 // an arithmetic type?
      +
      3145 template<typename BasicJsonType, typename ArithmeticType,
      +
      3146  enable_if_t <
      +
      3147  std::is_arithmetic<ArithmeticType>::value and
      +
      3148  not std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value and
      +
      3149  not std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value and
      +
      3150  not std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value and
      +
      3151  not std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
      +
      3152  int> = 0>
      +
      3153 void from_json(const BasicJsonType& j, ArithmeticType& val)
      +
      3154 {
      +
      3155  switch (static_cast<value_t>(j))
      +
      3156  {
      + +
      3158  {
      +
      3159  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
      +
      3160  break;
      +
      3161  }
      + +
      3163  {
      +
      3164  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
      +
      3165  break;
      +
      3166  }
      +
      3167  case value_t::number_float:
      +
      3168  {
      +
      3169  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
      +
      3170  break;
      +
      3171  }
      +
      3172  case value_t::boolean:
      +
      3173  {
      +
      3174  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
      +
      3175  break;
      +
      3176  }
      +
      3177 
      +
      3178  default:
      +
      3179  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
      +
      3180  }
      +
      3181 }
      +
      3182 
      +
      3183 template<typename BasicJsonType, typename A1, typename A2>
      +
      3184 void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
      +
      3185 {
      +
      3186  p = {j.at(0).template get<A1>(), j.at(1).template get<A2>()};
      +
      3187 }
      +
      3188 
      +
      3189 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
      +
      3190 void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...> /*unused*/)
      +
      3191 {
      +
      3192  t = std::make_tuple(j.at(Idx).template get<typename std::tuple_element<Idx, Tuple>::type>()...);
      +
      3193 }
      +
      3194 
      +
      3195 template<typename BasicJsonType, typename... Args>
      +
      3196 void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
      +
      3197 {
      + +
      3199 }
      +
      3200 
      +
      3201 template <typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator,
      +
      3202  typename = enable_if_t<not std::is_constructible<
      +
      3203  typename BasicJsonType::string_t, Key>::value>>
      +
      3204 void from_json(const BasicJsonType& j, std::map<Key, Value, Compare, Allocator>& m)
      +
      3205 {
      +
      3206  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
      +
      3207  {
      +
      3208  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3209  }
      +
      3210  m.clear();
      +
      3211  for (const auto& p : j)
      +
      3212  {
      +
      3213  if (JSON_HEDLEY_UNLIKELY(not p.is_array()))
      +
      3214  {
      +
      3215  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
      +
      3216  }
      +
      3217  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
      +
      3218  }
      +
      3219 }
      +
      3220 
      +
      3221 template <typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator,
      +
      3222  typename = enable_if_t<not std::is_constructible<
      +
      3223  typename BasicJsonType::string_t, Key>::value>>
      +
      3224 void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
      +
      3225 {
      +
      3226  if (JSON_HEDLEY_UNLIKELY(not j.is_array()))
      +
      3227  {
      +
      3228  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3229  }
      +
      3230  m.clear();
      +
      3231  for (const auto& p : j)
      +
      3232  {
      +
      3233  if (JSON_HEDLEY_UNLIKELY(not p.is_array()))
      +
      3234  {
      +
      3235  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
      +
      3236  }
      +
      3237  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
      +
      3238  }
      +
      3239 }
      +
      3240 
      + +
      3242 {
      +
      3243  template<typename BasicJsonType, typename T>
      +
      3244  auto operator()(const BasicJsonType& j, T& val) const
      +
      3245  noexcept(noexcept(from_json(j, val)))
      +
      3246  -> decltype(from_json(j, val), void())
      +
      3247  {
      +
      3248  return from_json(j, val);
      +
      3249  }
      +
      3250 };
      +
      3251 } // namespace detail
      +
      3252 
      +
      3256 namespace
      +
      3257 {
      + +
      3259 } // namespace
      +
      3260 } // namespace nlohmann
      +
      3261 
      +
      3262 // #include <nlohmann/detail/conversions/to_json.hpp>
      +
      3263 
      +
      3264 
      +
      3265 #include <algorithm> // copy
      +
      3266 #include <ciso646> // or, and, not
      +
      3267 #include <iterator> // begin, end
      +
      3268 #include <string> // string
      +
      3269 #include <tuple> // tuple, get
      +
      3270 #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
      +
      3271 #include <utility> // move, forward, declval, pair
      +
      3272 #include <valarray> // valarray
      +
      3273 #include <vector> // vector
      +
      3274 
      +
      3275 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
      +
      3276 
      +
      3277 
      +
      3278 #include <cstddef> // size_t
      +
      3279 #include <iterator> // input_iterator_tag
      +
      3280 #include <string> // string, to_string
      +
      3281 #include <tuple> // tuple_size, get, tuple_element
      +
      3282 
      +
      3283 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      3284 
      +
      3285 // #include <nlohmann/detail/value_t.hpp>
      +
      3286 
      +
      3287 
      +
      3288 namespace nlohmann
      +
      3289 {
      +
      3290 namespace detail
      +
      3291 {
      +
      3292 template<typename string_type>
      +
      3293 void int_to_string( string_type& target, std::size_t value )
      +
      3294 {
      +
      3295  target = std::to_string(value);
      +
      3296 }
      +
      3297 template <typename IteratorType> class iteration_proxy_value
      +
      3298 {
      +
      3299  public:
      +
      3300  using difference_type = std::ptrdiff_t;
      + +
      3302  using pointer = value_type * ;
      +
      3303  using reference = value_type & ;
      +
      3304  using iterator_category = std::input_iterator_tag;
      +
      3305  using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
      +
      3306 
      +
      3307  private:
      +
      3309  IteratorType anchor;
      +
      3311  std::size_t array_index = 0;
      +
      3313  mutable std::size_t array_index_last = 0;
      +
      3315  mutable string_type array_index_str = "0";
      +
      3317  const string_type empty_str = "";
      +
      3318 
      +
      3319  public:
      +
      3320  explicit iteration_proxy_value(IteratorType it) noexcept : anchor(it) {}
      +
      3321 
      + +
      3324  {
      +
      3325  return *this;
      +
      3326  }
      +
      3327 
      + +
      3330  {
      +
      3331  ++anchor;
      +
      3332  ++array_index;
      +
      3333 
      +
      3334  return *this;
      +
      3335  }
      +
      3336 
      +
      3338  bool operator==(const iteration_proxy_value& o) const
      +
      3339  {
      +
      3340  return anchor == o.anchor;
      +
      3341  }
      +
      3342 
      +
      3344  bool operator!=(const iteration_proxy_value& o) const
      +
      3345  {
      +
      3346  return anchor != o.anchor;
      +
      3347  }
      +
      3348 
      +
      3350  const string_type& key() const
      +
      3351  {
      +
      3352  assert(anchor.m_object != nullptr);
      +
      3353 
      +
      3354  switch (anchor.m_object->type())
      +
      3355  {
      +
      3356  // use integer array index as key
      +
      3357  case value_t::array:
      +
      3358  {
      +
      3359  if (array_index != array_index_last)
      +
      3360  {
      +
      3361  int_to_string( array_index_str, array_index );
      +
      3362  array_index_last = array_index;
      +
      3363  }
      +
      3364  return array_index_str;
      +
      3365  }
      +
      3366 
      +
      3367  // use key from the object
      +
      3368  case value_t::object:
      +
      3369  return anchor.key();
      +
      3370 
      +
      3371  // use an empty key for all primitive types
      +
      3372  default:
      +
      3373  return empty_str;
      +
      3374  }
      +
      3375  }
      +
      3376 
      +
      3378  typename IteratorType::reference value() const
      +
      3379  {
      +
      3380  return anchor.value();
      +
      3381  }
      +
      3382 };
      +
      3383 
      +
      3385 template<typename IteratorType> class iteration_proxy
      +
      3386 {
      +
      3387  private:
      +
      3389  typename IteratorType::reference container;
      +
      3390 
      +
      3391  public:
      +
      3393  explicit iteration_proxy(typename IteratorType::reference cont) noexcept
      +
      3394  : container(cont) {}
      +
      3395 
      + +
      3398  {
      +
      3399  return iteration_proxy_value<IteratorType>(container.begin());
      +
      3400  }
      +
      3401 
      + +
      3404  {
      +
      3405  return iteration_proxy_value<IteratorType>(container.end());
      +
      3406  }
      +
      3407 };
      +
      3408 // Structured Bindings Support
      +
      3409 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3410 // And see https://github.com/nlohmann/json/pull/1391
      +
      3411 template <std::size_t N, typename IteratorType, enable_if_t<N == 0, int> = 0>
      + +
      3413 {
      +
      3414  return i.key();
      +
      3415 }
      +
      3416 // Structured Bindings Support
      +
      3417 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3418 // And see https://github.com/nlohmann/json/pull/1391
      +
      3419 template <std::size_t N, typename IteratorType, enable_if_t<N == 1, int> = 0>
      +
      3420 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.value())
      +
      3421 {
      +
      3422  return i.value();
      +
      3423 }
      +
      3424 } // namespace detail
      +
      3425 } // namespace nlohmann
      +
      3426 
      +
      3427 // The Addition to the STD Namespace is required to add
      +
      3428 // Structured Bindings Support to the iteration_proxy_value class
      +
      3429 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3430 // And see https://github.com/nlohmann/json/pull/1391
      +
      3431 namespace std
      +
      3432 {
      +
      3433 #if defined(__clang__)
      +
      3434  // Fix: https://github.com/nlohmann/json/issues/1401
      +
      3435  #pragma clang diagnostic push
      +
      3436  #pragma clang diagnostic ignored "-Wmismatched-tags"
      +
      3437 #endif
      +
      3438 template <typename IteratorType>
      +
      3439 class tuple_size<::nlohmann::detail::iteration_proxy_value<IteratorType>>
      +
      3440  : public std::integral_constant<std::size_t, 2> {};
      +
      3441 
      +
      3442 template <std::size_t N, typename IteratorType>
      +
      3443 class tuple_element<N, ::nlohmann::detail::iteration_proxy_value<IteratorType >>
      +
      3444 {
      +
      3445  public:
      +
      3446  using type = decltype(
      +
      3447  get<N>(std::declval <
      + +
      3449 };
      +
      3450 #if defined(__clang__)
      +
      3451  #pragma clang diagnostic pop
      +
      3452 #endif
      +
      3453 } // namespace std
      +
      3454 
      +
      3455 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      3456 
      +
      3457 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      3458 
      +
      3459 // #include <nlohmann/detail/value_t.hpp>
      +
      3460 
      +
      3461 
      +
      3462 namespace nlohmann
      +
      3463 {
      +
      3464 namespace detail
      +
      3465 {
      +
      3467 // constructors //
      +
      3469 
      +
      3470 template<value_t> struct external_constructor;
      +
      3471 
      +
      3472 template<>
      + +
      3474 {
      +
      3475  template<typename BasicJsonType>
      +
      3476  static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
      +
      3477  {
      +
      3478  j.m_type = value_t::boolean;
      +
      3479  j.m_value = b;
      +
      3480  j.assert_invariant();
      +
      3481  }
      +
      3482 };
      +
      3483 
      +
      3484 template<>
      + +
      3486 {
      +
      3487  template<typename BasicJsonType>
      +
      3488  static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
      +
      3489  {
      +
      3490  j.m_type = value_t::string;
      +
      3491  j.m_value = s;
      +
      3492  j.assert_invariant();
      +
      3493  }
      +
      3494 
      +
      3495  template<typename BasicJsonType>
      +
      3496  static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
      +
      3497  {
      +
      3498  j.m_type = value_t::string;
      +
      3499  j.m_value = std::move(s);
      +
      3500  j.assert_invariant();
      +
      3501  }
      +
      3502 
      +
      3503  template<typename BasicJsonType, typename CompatibleStringType,
      + +
      3505  int> = 0>
      +
      3506  static void construct(BasicJsonType& j, const CompatibleStringType& str)
      +
      3507  {
      +
      3508  j.m_type = value_t::string;
      +
      3509  j.m_value.string = j.template create<typename BasicJsonType::string_t>(str);
      +
      3510  j.assert_invariant();
      +
      3511  }
      +
      3512 };
      +
      3513 
      +
      3514 template<>
      + +
      3516 {
      +
      3517  template<typename BasicJsonType>
      +
      3518  static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
      +
      3519  {
      +
      3520  j.m_type = value_t::number_float;
      +
      3521  j.m_value = val;
      +
      3522  j.assert_invariant();
      +
      3523  }
      +
      3524 };
      +
      3525 
      +
      3526 template<>
      + +
      3528 {
      +
      3529  template<typename BasicJsonType>
      +
      3530  static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
      +
      3531  {
      +
      3532  j.m_type = value_t::number_unsigned;
      +
      3533  j.m_value = val;
      +
      3534  j.assert_invariant();
      +
      3535  }
      +
      3536 };
      +
      3537 
      +
      3538 template<>
      + +
      3540 {
      +
      3541  template<typename BasicJsonType>
      +
      3542  static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
      +
      3543  {
      +
      3544  j.m_type = value_t::number_integer;
      +
      3545  j.m_value = val;
      +
      3546  j.assert_invariant();
      +
      3547  }
      +
      3548 };
      +
      3549 
      +
      3550 template<>
      + +
      3552 {
      +
      3553  template<typename BasicJsonType>
      +
      3554  static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
      +
      3555  {
      +
      3556  j.m_type = value_t::array;
      +
      3557  j.m_value = arr;
      +
      3558  j.assert_invariant();
      +
      3559  }
      +
      3560 
      +
      3561  template<typename BasicJsonType>
      +
      3562  static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
      +
      3563  {
      +
      3564  j.m_type = value_t::array;
      +
      3565  j.m_value = std::move(arr);
      +
      3566  j.assert_invariant();
      +
      3567  }
      +
      3568 
      +
      3569  template<typename BasicJsonType, typename CompatibleArrayType,
      + +
      3571  int> = 0>
      +
      3572  static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
      +
      3573  {
      +
      3574  using std::begin;
      +
      3575  using std::end;
      +
      3576  j.m_type = value_t::array;
      +
      3577  j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
      +
      3578  j.assert_invariant();
      +
      3579  }
      +
      3580 
      +
      3581  template<typename BasicJsonType>
      +
      3582  static void construct(BasicJsonType& j, const std::vector<bool>& arr)
      +
      3583  {
      +
      3584  j.m_type = value_t::array;
      +
      3585  j.m_value = value_t::array;
      +
      3586  j.m_value.array->reserve(arr.size());
      +
      3587  for (const bool x : arr)
      +
      3588  {
      +
      3589  j.m_value.array->push_back(x);
      +
      3590  }
      +
      3591  j.assert_invariant();
      +
      3592  }
      +
      3593 
      +
      3594  template<typename BasicJsonType, typename T,
      + +
      3596  static void construct(BasicJsonType& j, const std::valarray<T>& arr)
      +
      3597  {
      +
      3598  j.m_type = value_t::array;
      +
      3599  j.m_value = value_t::array;
      +
      3600  j.m_value.array->resize(arr.size());
      +
      3601  if (arr.size() > 0)
      +
      3602  {
      +
      3603  std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
      +
      3604  }
      +
      3605  j.assert_invariant();
      +
      3606  }
      +
      3607 };
      +
      3608 
      +
      3609 template<>
      + +
      3611 {
      +
      3612  template<typename BasicJsonType>
      +
      3613  static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
      +
      3614  {
      +
      3615  j.m_type = value_t::object;
      +
      3616  j.m_value = obj;
      +
      3617  j.assert_invariant();
      +
      3618  }
      +
      3619 
      +
      3620  template<typename BasicJsonType>
      +
      3621  static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
      +
      3622  {
      +
      3623  j.m_type = value_t::object;
      +
      3624  j.m_value = std::move(obj);
      +
      3625  j.assert_invariant();
      +
      3626  }
      +
      3627 
      +
      3628  template<typename BasicJsonType, typename CompatibleObjectType,
      + +
      3630  static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
      +
      3631  {
      +
      3632  using std::begin;
      +
      3633  using std::end;
      +
      3634 
      +
      3635  j.m_type = value_t::object;
      +
      3636  j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
      +
      3637  j.assert_invariant();
      +
      3638  }
      +
      3639 };
      +
      3640 
      +
      3642 // to_json //
      +
      3644 
      +
      3645 template<typename BasicJsonType, typename T,
      +
      3646  enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
      +
      3647 void to_json(BasicJsonType& j, T b) noexcept
      +
      3648 {
      + +
      3650 }
      +
      3651 
      +
      3652 template<typename BasicJsonType, typename CompatibleString,
      +
      3653  enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
      +
      3654 void to_json(BasicJsonType& j, const CompatibleString& s)
      +
      3655 {
      + +
      3657 }
      +
      3658 
      +
      3659 template<typename BasicJsonType>
      +
      3660 void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
      +
      3661 {
      + +
      3663 }
      +
      3664 
      +
      3665 template<typename BasicJsonType, typename FloatType,
      +
      3666  enable_if_t<std::is_floating_point<FloatType>::value, int> = 0>
      +
      3667 void to_json(BasicJsonType& j, FloatType val) noexcept
      +
      3668 {
      +
      3669  external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
      +
      3670 }
      +
      3671 
      +
      3672 template<typename BasicJsonType, typename CompatibleNumberUnsignedType,
      +
      3673  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value, int> = 0>
      +
      3674 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
      +
      3675 {
      +
      3676  external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
      +
      3677 }
      +
      3678 
      +
      3679 template<typename BasicJsonType, typename CompatibleNumberIntegerType,
      +
      3680  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value, int> = 0>
      +
      3681 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
      +
      3682 {
      +
      3683  external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
      +
      3684 }
      +
      3685 
      +
      3686 template<typename BasicJsonType, typename EnumType,
      +
      3687  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
      +
      3688 void to_json(BasicJsonType& j, EnumType e) noexcept
      +
      3689 {
      +
      3690  using underlying_type = typename std::underlying_type<EnumType>::type;
      +
      3691  external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
      +
      3692 }
      +
      3693 
      +
      3694 template<typename BasicJsonType>
      +
      3695 void to_json(BasicJsonType& j, const std::vector<bool>& e)
      +
      3696 {
      + +
      3698 }
      +
      3699 
      +
      3700 template <typename BasicJsonType, typename CompatibleArrayType,
      +
      3701  enable_if_t<is_compatible_array_type<BasicJsonType,
      +
      3702  CompatibleArrayType>::value and
      +
      3703  not is_compatible_object_type<
      +
      3704  BasicJsonType, CompatibleArrayType>::value and
      +
      3705  not is_compatible_string_type<BasicJsonType, CompatibleArrayType>::value and
      +
      3706  not is_basic_json<CompatibleArrayType>::value,
      +
      3707  int> = 0>
      +
      3708 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
      +
      3709 {
      + +
      3711 }
      +
      3712 
      +
      3713 template<typename BasicJsonType, typename T,
      +
      3714  enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
      +
      3715 void to_json(BasicJsonType& j, const std::valarray<T>& arr)
      +
      3716 {
      + +
      3718 }
      +
      3719 
      +
      3720 template<typename BasicJsonType>
      +
      3721 void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
      +
      3722 {
      + +
      3724 }
      +
      3725 
      +
      3726 template<typename BasicJsonType, typename CompatibleObjectType,
      +
      3727  enable_if_t<is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value and not is_basic_json<CompatibleObjectType>::value, int> = 0>
      +
      3728 void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
      +
      3729 {
      + +
      3731 }
      +
      3732 
      +
      3733 template<typename BasicJsonType>
      +
      3734 void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
      +
      3735 {
      + +
      3737 }
      +
      3738 
      +
      3739 template <
      +
      3740  typename BasicJsonType, typename T, std::size_t N,
      +
      3741  enable_if_t<not std::is_constructible<typename BasicJsonType::string_t,
      +
      3742  const T(&)[N]>::value,
      +
      3743  int> = 0 >
      +
      3744 void to_json(BasicJsonType& j, const T(&arr)[N])
      +
      3745 {
      + +
      3747 }
      +
      3748 
      +
      3749 template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible<BasicJsonType, T1>::value&& std::is_constructible<BasicJsonType, T2>::value, int > = 0 >
      +
      3750 void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
      +
      3751 {
      +
      3752  j = { p.first, p.second };
      +
      3753 }
      +
      3754 
      +
      3755 // for https://github.com/nlohmann/json/pull/1134
      +
      3756 template < typename BasicJsonType, typename T,
      +
      3757  enable_if_t<std::is_same<T, iteration_proxy_value<typename BasicJsonType::iterator>>::value, int> = 0>
      +
      3758 void to_json(BasicJsonType& j, const T& b)
      +
      3759 {
      +
      3760  j = { {b.key(), b.value()} };
      +
      3761 }
      +
      3762 
      +
      3763 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
      +
      3764 void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...> /*unused*/)
      +
      3765 {
      +
      3766  j = { std::get<Idx>(t)... };
      +
      3767 }
      +
      3768 
      +
      3769 template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value, int > = 0>
      +
      3770 void to_json(BasicJsonType& j, const T& t)
      +
      3771 {
      +
      3772  to_json_tuple_impl(j, t, make_index_sequence<std::tuple_size<T>::value> {});
      +
      3773 }
      +
      3774 
      + +
      3776 {
      +
      3777  template<typename BasicJsonType, typename T>
      +
      3778  auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
      +
      3779  -> decltype(to_json(j, std::forward<T>(val)), void())
      +
      3780  {
      +
      3781  return to_json(j, std::forward<T>(val));
      +
      3782  }
      +
      3783 };
      +
      3784 } // namespace detail
      +
      3785 
      +
      3787 namespace
      +
      3788 {
      + +
      3790 } // namespace
      +
      3791 } // namespace nlohmann
      +
      3792 
      +
      3793 
      +
      3794 namespace nlohmann
      +
      3795 {
      +
      3796 
      +
      3797 template<typename, typename>
      +
      3798 struct adl_serializer
      +
      3799 {
      +
      3809  template<typename BasicJsonType, typename ValueType>
      +
      3810  static auto from_json(BasicJsonType&& j, ValueType& val) noexcept(
      +
      3811  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
      +
      3812  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void())
      +
      3813  {
      +
      3814  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
      +
      3815  }
      +
      3816 
      +
      3826  template <typename BasicJsonType, typename ValueType>
      +
      3827  static auto to_json(BasicJsonType& j, ValueType&& val) noexcept(
      +
      3828  noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
      +
      3829  -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void())
      +
      3830  {
      +
      3831  ::nlohmann::to_json(j, std::forward<ValueType>(val));
      +
      3832  }
      +
      3833 };
      +
      3834 
      +
      3835 } // namespace nlohmann
      +
      3836 
      +
      3837 // #include <nlohmann/detail/conversions/from_json.hpp>
      +
      3838 
      +
      3839 // #include <nlohmann/detail/conversions/to_json.hpp>
      +
      3840 
      +
      3841 // #include <nlohmann/detail/exceptions.hpp>
      +
      3842 
      +
      3843 // #include <nlohmann/detail/input/binary_reader.hpp>
      +
      3844 
      +
      3845 
      +
      3846 #include <algorithm> // generate_n
      +
      3847 #include <array> // array
      +
      3848 #include <cassert> // assert
      +
      3849 #include <cmath> // ldexp
      +
      3850 #include <cstddef> // size_t
      +
      3851 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
      +
      3852 #include <cstdio> // snprintf
      +
      3853 #include <cstring> // memcpy
      +
      3854 #include <iterator> // back_inserter
      +
      3855 #include <limits> // numeric_limits
      +
      3856 #include <string> // char_traits, string
      +
      3857 #include <utility> // make_pair, move
      +
      3858 
      +
      3859 // #include <nlohmann/detail/exceptions.hpp>
      +
      3860 
      +
      3861 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      3862 
      +
      3863 
      +
      3864 #include <array> // array
      +
      3865 #include <cassert> // assert
      +
      3866 #include <cstddef> // size_t
      +
      3867 #include <cstdio> //FILE *
      +
      3868 #include <cstring> // strlen
      +
      3869 #include <istream> // istream
      +
      3870 #include <iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
      +
      3871 #include <memory> // shared_ptr, make_shared, addressof
      +
      3872 #include <numeric> // accumulate
      +
      3873 #include <string> // string, char_traits
      +
      3874 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
      +
      3875 #include <utility> // pair, declval
      +
      3876 
      +
      3877 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
      +
      3878 
      +
      3879 // #include <nlohmann/detail/macro_scope.hpp>
      +
      3880 
      +
      3881 
      +
      3882 namespace nlohmann
      +
      3883 {
      +
      3884 namespace detail
      +
      3885 {
      + +
      3888 
      +
      3890 // input adapters //
      +
      3892 
      + +
      3905 {
      +
      3907  virtual std::char_traits<char>::int_type get_character() = 0;
      +
      3908  virtual ~input_adapter_protocol() = default;
      +
      3909 };
      +
      3910 
      +
      3912 using input_adapter_t = std::shared_ptr<input_adapter_protocol>;
      +
      3913 
      + +
      3919 {
      +
      3920  public:
      + +
      3922  explicit file_input_adapter(std::FILE* f) noexcept
      +
      3923  : m_file(f)
      +
      3924  {}
      +
      3925 
      +
      3926  // make class move-only
      +
      3927  file_input_adapter(const file_input_adapter&) = delete;
      + + + +
      3931  ~file_input_adapter() override = default;
      +
      3932 
      +
      3933  std::char_traits<char>::int_type get_character() noexcept override
      +
      3934  {
      +
      3935  return std::fgetc(m_file);
      +
      3936  }
      +
      3937 
      +
      3938  private:
      +
      3940  std::FILE* m_file;
      +
      3941 };
      +
      3942 
      +
      3943 
      + +
      3954 {
      +
      3955  public:
      + +
      3957  {
      +
      3958  // clear stream flags; we use underlying streambuf I/O, do not
      +
      3959  // maintain ifstream flags, except eof
      +
      3960  is.clear(is.rdstate() & std::ios::eofbit);
      +
      3961  }
      +
      3962 
      +
      3963  explicit input_stream_adapter(std::istream& i)
      +
      3964  : is(i), sb(*i.rdbuf())
      +
      3965  {}
      +
      3966 
      +
      3967  // delete because of pointer members
      +
      3968  input_stream_adapter(const input_stream_adapter&) = delete;
      + + + +
      3972 
      +
      3973  // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
      +
      3974  // ensure that std::char_traits<char>::eof() and the character 0xFF do not
      +
      3975  // end up as the same value, eg. 0xFFFFFFFF.
      +
      3976  std::char_traits<char>::int_type get_character() override
      +
      3977  {
      +
      3978  auto res = sb.sbumpc();
      +
      3979  // set eof manually, as we don't use the istream interface.
      +
      3980  if (res == EOF)
      +
      3981  {
      +
      3982  is.clear(is.rdstate() | std::ios::eofbit);
      +
      3983  }
      +
      3984  return res;
      +
      3985  }
      +
      3986 
      +
      3987  private:
      +
      3989  std::istream& is;
      +
      3990  std::streambuf& sb;
      +
      3991 };
      +
      3992 
      + +
      3995 {
      +
      3996  public:
      +
      3997  input_buffer_adapter(const char* b, const std::size_t l) noexcept
      +
      3998  : cursor(b), limit(b == nullptr ? nullptr : (b + l))
      +
      3999  {}
      +
      4000 
      +
      4001  // delete because of pointer members
      +
      4002  input_buffer_adapter(const input_buffer_adapter&) = delete;
      + + + +
      4006  ~input_buffer_adapter() override = default;
      +
      4007 
      +
      4008  std::char_traits<char>::int_type get_character() noexcept override
      +
      4009  {
      +
      4010  if (JSON_HEDLEY_LIKELY(cursor < limit))
      +
      4011  {
      +
      4012  assert(cursor != nullptr and limit != nullptr);
      +
      4013  return std::char_traits<char>::to_int_type(*(cursor++));
      +
      4014  }
      +
      4015 
      +
      4016  return std::char_traits<char>::eof();
      +
      4017  }
      +
      4018 
      +
      4019  private:
      +
      4021  const char* cursor;
      +
      4023  const char* const limit;
      +
      4024 };
      +
      4025 
      +
      4026 template<typename WideStringType, size_t T>
      + +
      4028 {
      +
      4029  // UTF-32
      +
      4030  static void fill_buffer(const WideStringType& str,
      +
      4031  size_t& current_wchar,
      +
      4032  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
      +
      4033  size_t& utf8_bytes_index,
      +
      4034  size_t& utf8_bytes_filled)
      +
      4035  {
      +
      4036  utf8_bytes_index = 0;
      +
      4037 
      +
      4038  if (current_wchar == str.size())
      +
      4039  {
      +
      4040  utf8_bytes[0] = std::char_traits<char>::eof();
      +
      4041  utf8_bytes_filled = 1;
      +
      4042  }
      +
      4043  else
      +
      4044  {
      +
      4045  // get the current character
      +
      4046  const auto wc = static_cast<unsigned int>(str[current_wchar++]);
      +
      4047 
      +
      4048  // UTF-32 to UTF-8 encoding
      +
      4049  if (wc < 0x80)
      +
      4050  {
      +
      4051  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4052  utf8_bytes_filled = 1;
      +
      4053  }
      +
      4054  else if (wc <= 0x7FF)
      +
      4055  {
      +
      4056  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((wc >> 6u) & 0x1Fu));
      +
      4057  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
      +
      4058  utf8_bytes_filled = 2;
      +
      4059  }
      +
      4060  else if (wc <= 0xFFFF)
      +
      4061  {
      +
      4062  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((wc >> 12u) & 0x0Fu));
      +
      4063  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
      +
      4064  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
      +
      4065  utf8_bytes_filled = 3;
      +
      4066  }
      +
      4067  else if (wc <= 0x10FFFF)
      +
      4068  {
      +
      4069  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((wc >> 18u) & 0x07u));
      +
      4070  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 12u) & 0x3Fu));
      +
      4071  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
      +
      4072  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
      +
      4073  utf8_bytes_filled = 4;
      +
      4074  }
      +
      4075  else
      +
      4076  {
      +
      4077  // unknown character
      +
      4078  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4079  utf8_bytes_filled = 1;
      +
      4080  }
      +
      4081  }
      +
      4082  }
      +
      4083 };
      +
      4084 
      +
      4085 template<typename WideStringType>
      +
      4086 struct wide_string_input_helper<WideStringType, 2>
      +
      4087 {
      +
      4088  // UTF-16
      +
      4089  static void fill_buffer(const WideStringType& str,
      +
      4090  size_t& current_wchar,
      +
      4091  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
      +
      4092  size_t& utf8_bytes_index,
      +
      4093  size_t& utf8_bytes_filled)
      +
      4094  {
      +
      4095  utf8_bytes_index = 0;
      +
      4096 
      +
      4097  if (current_wchar == str.size())
      +
      4098  {
      +
      4099  utf8_bytes[0] = std::char_traits<char>::eof();
      +
      4100  utf8_bytes_filled = 1;
      +
      4101  }
      +
      4102  else
      +
      4103  {
      +
      4104  // get the current character
      +
      4105  const auto wc = static_cast<unsigned int>(str[current_wchar++]);
      +
      4106 
      +
      4107  // UTF-16 to UTF-8 encoding
      +
      4108  if (wc < 0x80)
      +
      4109  {
      +
      4110  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4111  utf8_bytes_filled = 1;
      +
      4112  }
      +
      4113  else if (wc <= 0x7FF)
      +
      4114  {
      +
      4115  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((wc >> 6u)));
      +
      4116  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
      +
      4117  utf8_bytes_filled = 2;
      +
      4118  }
      +
      4119  else if (0xD800 > wc or wc >= 0xE000)
      +
      4120  {
      +
      4121  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((wc >> 12u)));
      +
      4122  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((wc >> 6u) & 0x3Fu));
      +
      4123  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (wc & 0x3Fu));
      +
      4124  utf8_bytes_filled = 3;
      +
      4125  }
      +
      4126  else
      +
      4127  {
      +
      4128  if (current_wchar < str.size())
      +
      4129  {
      +
      4130  const auto wc2 = static_cast<unsigned int>(str[current_wchar++]);
      +
      4131  const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu));
      +
      4132  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | (charcode >> 18u));
      +
      4133  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu));
      +
      4134  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu));
      +
      4135  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (charcode & 0x3Fu));
      +
      4136  utf8_bytes_filled = 4;
      +
      4137  }
      +
      4138  else
      +
      4139  {
      +
      4140  // unknown character
      +
      4141  ++current_wchar;
      +
      4142  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4143  utf8_bytes_filled = 1;
      +
      4144  }
      +
      4145  }
      +
      4146  }
      +
      4147  }
      +
      4148 };
      +
      4149 
      +
      4150 template<typename WideStringType>
      + +
      4152 {
      +
      4153  public:
      +
      4154  explicit wide_string_input_adapter(const WideStringType& w) noexcept
      +
      4155  : str(w)
      +
      4156  {}
      +
      4157 
      +
      4158  std::char_traits<char>::int_type get_character() noexcept override
      +
      4159  {
      +
      4160  // check if buffer needs to be filled
      +
      4161  if (utf8_bytes_index == utf8_bytes_filled)
      +
      4162  {
      +
      4163  fill_buffer<sizeof(typename WideStringType::value_type)>();
      +
      4164 
      +
      4165  assert(utf8_bytes_filled > 0);
      +
      4166  assert(utf8_bytes_index == 0);
      +
      4167  }
      +
      4168 
      +
      4169  // use buffer
      +
      4170  assert(utf8_bytes_filled > 0);
      +
      4171  assert(utf8_bytes_index < utf8_bytes_filled);
      +
      4172  return utf8_bytes[utf8_bytes_index++];
      +
      4173  }
      +
      4174 
      +
      4175  private:
      +
      4176  template<size_t T>
      +
      4177  void fill_buffer()
      +
      4178  {
      +
      4179  wide_string_input_helper<WideStringType, T>::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled);
      +
      4180  }
      +
      4181 
      +
      4183  const WideStringType& str;
      +
      4184 
      +
      4186  std::size_t current_wchar = 0;
      +
      4187 
      +
      4189  std::array<std::char_traits<char>::int_type, 4> utf8_bytes = {{0, 0, 0, 0}};
      +
      4190 
      +
      4192  std::size_t utf8_bytes_index = 0;
      +
      4194  std::size_t utf8_bytes_filled = 0;
      +
      4195 };
      +
      4196 
      + +
      4198 {
      +
      4199  public:
      +
      4200  // native support
      + +
      4202  input_adapter(std::FILE* file)
      +
      4203  : ia(std::make_shared<file_input_adapter>(file)) {}
      +
      4205  input_adapter(std::istream& i)
      +
      4206  : ia(std::make_shared<input_stream_adapter>(i)) {}
      +
      4207 
      +
      4209  input_adapter(std::istream&& i)
      +
      4210  : ia(std::make_shared<input_stream_adapter>(i)) {}
      +
      4211 
      +
      4212  input_adapter(const std::wstring& ws)
      +
      4213  : ia(std::make_shared<wide_string_input_adapter<std::wstring>>(ws)) {}
      +
      4214 
      +
      4215  input_adapter(const std::u16string& ws)
      +
      4216  : ia(std::make_shared<wide_string_input_adapter<std::u16string>>(ws)) {}
      +
      4217 
      +
      4218  input_adapter(const std::u32string& ws)
      +
      4219  : ia(std::make_shared<wide_string_input_adapter<std::u32string>>(ws)) {}
      +
      4220 
      +
      4222  template<typename CharT,
      +
      4223  typename std::enable_if<
      +
      4224  std::is_pointer<CharT>::value and
      +
      4225  std::is_integral<typename std::remove_pointer<CharT>::type>::value and
      +
      4226  sizeof(typename std::remove_pointer<CharT>::type) == 1,
      +
      4227  int>::type = 0>
      +
      4228  input_adapter(CharT b, std::size_t l)
      +
      4229  : ia(std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(b), l)) {}
      +
      4230 
      +
      4231  // derived support
      +
      4232 
      +
      4234  template<typename CharT,
      +
      4235  typename std::enable_if<
      +
      4236  std::is_pointer<CharT>::value and
      +
      4237  std::is_integral<typename std::remove_pointer<CharT>::type>::value and
      +
      4238  sizeof(typename std::remove_pointer<CharT>::type) == 1,
      +
      4239  int>::type = 0>
      +
      4240  input_adapter(CharT b)
      +
      4241  : input_adapter(reinterpret_cast<const char*>(b),
      +
      4242  std::strlen(reinterpret_cast<const char*>(b))) {}
      +
      4243 
      +
      4245  template<class IteratorType,
      +
      4246  typename std::enable_if<
      +
      4247  std::is_same<typename iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
      +
      4248  int>::type = 0>
      +
      4249  input_adapter(IteratorType first, IteratorType last)
      +
      4250  {
      +
      4251 #ifndef NDEBUG
      +
      4252  // assertion to check that the iterator range is indeed contiguous,
      +
      4253  // see http://stackoverflow.com/a/35008842/266378 for more discussion
      +
      4254  const auto is_contiguous = std::accumulate(
      +
      4255  first, last, std::pair<bool, int>(true, 0),
      +
      4256  [&first](std::pair<bool, int> res, decltype(*first) val)
      +
      4257  {
      +
      4258  res.first &= (val == *(std::next(std::addressof(*first), res.second++)));
      +
      4259  return res;
      +
      4260  }).first;
      +
      4261  assert(is_contiguous);
      +
      4262 #endif
      +
      4263 
      +
      4264  // assertion to check that each element is 1 byte long
      +
      4265  static_assert(
      +
      4266  sizeof(typename iterator_traits<IteratorType>::value_type) == 1,
      +
      4267  "each element in the iterator range must have the size of 1 byte");
      +
      4268 
      +
      4269  const auto len = static_cast<size_t>(std::distance(first, last));
      +
      4270  if (JSON_HEDLEY_LIKELY(len > 0))
      +
      4271  {
      +
      4272  // there is at least one element: use the address of first
      +
      4273  ia = std::make_shared<input_buffer_adapter>(reinterpret_cast<const char*>(&(*first)), len);
      +
      4274  }
      +
      4275  else
      +
      4276  {
      +
      4277  // the address of first cannot be used: use nullptr
      +
      4278  ia = std::make_shared<input_buffer_adapter>(nullptr, len);
      +
      4279  }
      +
      4280  }
      +
      4281 
      +
      4283  template<class T, std::size_t N>
      +
      4284  input_adapter(T (&array)[N])
      +
      4285  : input_adapter(std::begin(array), std::end(array)) {}
      +
      4286 
      +
      4288  template<class ContiguousContainer, typename
      +
      4289  std::enable_if<not std::is_pointer<ContiguousContainer>::value and
      +
      4290  std::is_base_of<std::random_access_iterator_tag, typename iterator_traits<decltype(std::begin(std::declval<ContiguousContainer const>()))>::iterator_category>::value,
      +
      4291  int>::type = 0>
      +
      4292  input_adapter(const ContiguousContainer& c)
      +
      4293  : input_adapter(std::begin(c), std::end(c)) {}
      +
      4294 
      +
      4295  operator input_adapter_t()
      +
      4296  {
      +
      4297  return ia;
      +
      4298  }
      +
      4299 
      +
      4300  private:
      +
      4302  input_adapter_t ia = nullptr;
      +
      4303 };
      +
      4304 } // namespace detail
      +
      4305 } // namespace nlohmann
      +
      4306 
      +
      4307 // #include <nlohmann/detail/input/json_sax.hpp>
      +
      4308 
      +
      4309 
      +
      4310 #include <cassert> // assert
      +
      4311 #include <cstddef>
      +
      4312 #include <string> // string
      +
      4313 #include <utility> // move
      +
      4314 #include <vector> // vector
      +
      4315 
      +
      4316 // #include <nlohmann/detail/exceptions.hpp>
      +
      4317 
      +
      4318 // #include <nlohmann/detail/macro_scope.hpp>
      +
      4319 
      +
      4320 
      +
      4321 namespace nlohmann
      +
      4322 {
      +
      4323 
      +
      4332 template<typename BasicJsonType>
      +
      4333 struct json_sax
      +
      4334 {
      +
      4336  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      4338  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      4340  using number_float_t = typename BasicJsonType::number_float_t;
      +
      4342  using string_t = typename BasicJsonType::string_t;
      +
      4343 
      +
      4348  virtual bool null() = 0;
      +
      4349 
      +
      4355  virtual bool boolean(bool val) = 0;
      +
      4356 
      +
      4362  virtual bool number_integer(number_integer_t val) = 0;
      +
      4363 
      +
      4369  virtual bool number_unsigned(number_unsigned_t val) = 0;
      +
      4370 
      +
      4377  virtual bool number_float(number_float_t val, const string_t& s) = 0;
      +
      4378 
      +
      4385  virtual bool string(string_t& val) = 0;
      +
      4386 
      +
      4393  virtual bool start_object(std::size_t elements) = 0;
      +
      4394 
      +
      4401  virtual bool key(string_t& val) = 0;
      +
      4402 
      +
      4407  virtual bool end_object() = 0;
      +
      4408 
      +
      4415  virtual bool start_array(std::size_t elements) = 0;
      +
      4416 
      +
      4421  virtual bool end_array() = 0;
      +
      4422 
      +
      4430  virtual bool parse_error(std::size_t position,
      +
      4431  const std::string& last_token,
      +
      4432  const detail::exception& ex) = 0;
      +
      4433 
      +
      4434  virtual ~json_sax() = default;
      +
      4435 };
      +
      4436 
      +
      4437 
      +
      4438 namespace detail
      +
      4439 {
      +
      4453 template<typename BasicJsonType>
      + +
      4455 {
      +
      4456  public:
      +
      4457  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      4458  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      4459  using number_float_t = typename BasicJsonType::number_float_t;
      +
      4460  using string_t = typename BasicJsonType::string_t;
      +
      4461 
      +
      4467  explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true)
      +
      4468  : root(r), allow_exceptions(allow_exceptions_)
      +
      4469  {}
      +
      4470 
      +
      4471  // make class move-only
      +
      4472  json_sax_dom_parser(const json_sax_dom_parser&) = delete;
      + + + +
      4476  ~json_sax_dom_parser() = default;
      +
      4477 
      +
      4478  bool null()
      +
      4479  {
      +
      4480  handle_value(nullptr);
      +
      4481  return true;
      +
      4482  }
      +
      4483 
      +
      4484  bool boolean(bool val)
      +
      4485  {
      +
      4486  handle_value(val);
      +
      4487  return true;
      +
      4488  }
      +
      4489 
      + +
      4491  {
      +
      4492  handle_value(val);
      +
      4493  return true;
      +
      4494  }
      +
      4495 
      + +
      4497  {
      +
      4498  handle_value(val);
      +
      4499  return true;
      +
      4500  }
      +
      4501 
      +
      4502  bool number_float(number_float_t val, const string_t& /*unused*/)
      +
      4503  {
      +
      4504  handle_value(val);
      +
      4505  return true;
      +
      4506  }
      +
      4507 
      +
      4508  bool string(string_t& val)
      +
      4509  {
      +
      4510  handle_value(val);
      +
      4511  return true;
      +
      4512  }
      +
      4513 
      +
      4514  bool start_object(std::size_t len)
      +
      4515  {
      +
      4516  ref_stack.push_back(handle_value(BasicJsonType::value_t::object));
      +
      4517 
      +
      4518  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
      +
      4519  {
      + +
      4521  "excessive object size: " + std::to_string(len)));
      +
      4522  }
      +
      4523 
      +
      4524  return true;
      +
      4525  }
      +
      4526 
      +
      4527  bool key(string_t& val)
      +
      4528  {
      +
      4529  // add null at given key and store the reference for later
      +
      4530  object_element = &(ref_stack.back()->m_value.object->operator[](val));
      +
      4531  return true;
      +
      4532  }
      +
      4533 
      +
      4534  bool end_object()
      +
      4535  {
      +
      4536  ref_stack.pop_back();
      +
      4537  return true;
      +
      4538  }
      +
      4539 
      +
      4540  bool start_array(std::size_t len)
      +
      4541  {
      +
      4542  ref_stack.push_back(handle_value(BasicJsonType::value_t::array));
      +
      4543 
      +
      4544  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
      +
      4545  {
      + +
      4547  "excessive array size: " + std::to_string(len)));
      +
      4548  }
      +
      4549 
      +
      4550  return true;
      +
      4551  }
      +
      4552 
      +
      4553  bool end_array()
      +
      4554  {
      +
      4555  ref_stack.pop_back();
      +
      4556  return true;
      +
      4557  }
      +
      4558 
      +
      4559  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      +
      4560  const detail::exception& ex)
      +
      4561  {
      +
      4562  errored = true;
      +
      4563  if (allow_exceptions)
      +
      4564  {
      +
      4565  // determine the proper exception type from the id
      +
      4566  switch ((ex.id / 100) % 100)
      +
      4567  {
      +
      4568  case 1:
      +
      4569  JSON_THROW(*static_cast<const detail::parse_error*>(&ex));
      +
      4570  case 4:
      +
      4571  JSON_THROW(*static_cast<const detail::out_of_range*>(&ex));
      +
      4572  // LCOV_EXCL_START
      +
      4573  case 2:
      +
      4574  JSON_THROW(*static_cast<const detail::invalid_iterator*>(&ex));
      +
      4575  case 3:
      +
      4576  JSON_THROW(*static_cast<const detail::type_error*>(&ex));
      +
      4577  case 5:
      +
      4578  JSON_THROW(*static_cast<const detail::other_error*>(&ex));
      +
      4579  default:
      +
      4580  assert(false);
      +
      4581  // LCOV_EXCL_STOP
      +
      4582  }
      +
      4583  }
      +
      4584  return false;
      +
      4585  }
      +
      4586 
      +
      4587  constexpr bool is_errored() const
      +
      4588  {
      +
      4589  return errored;
      +
      4590  }
      +
      4591 
      +
      4592  private:
      +
      4599  template<typename Value>
      + +
      4601  BasicJsonType* handle_value(Value&& v)
      +
      4602  {
      +
      4603  if (ref_stack.empty())
      +
      4604  {
      +
      4605  root = BasicJsonType(std::forward<Value>(v));
      +
      4606  return &root;
      +
      4607  }
      +
      4608 
      +
      4609  assert(ref_stack.back()->is_array() or ref_stack.back()->is_object());
      +
      4610 
      +
      4611  if (ref_stack.back()->is_array())
      +
      4612  {
      +
      4613  ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v));
      +
      4614  return &(ref_stack.back()->m_value.array->back());
      +
      4615  }
      +
      4616 
      +
      4617  assert(ref_stack.back()->is_object());
      +
      4618  assert(object_element);
      +
      4619  *object_element = BasicJsonType(std::forward<Value>(v));
      +
      4620  return object_element;
      +
      4621  }
      +
      4622 
      +
      4624  BasicJsonType& root;
      +
      4626  std::vector<BasicJsonType*> ref_stack {};
      +
      4628  BasicJsonType* object_element = nullptr;
      +
      4630  bool errored = false;
      +
      4632  const bool allow_exceptions = true;
      +
      4633 };
      +
      4634 
      +
      4635 template<typename BasicJsonType>
      + +
      4637 {
      +
      4638  public:
      +
      4639  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      4640  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      4641  using number_float_t = typename BasicJsonType::number_float_t;
      +
      4642  using string_t = typename BasicJsonType::string_t;
      +
      4643  using parser_callback_t = typename BasicJsonType::parser_callback_t;
      +
      4644  using parse_event_t = typename BasicJsonType::parse_event_t;
      +
      4645 
      + +
      4647  const parser_callback_t cb,
      +
      4648  const bool allow_exceptions_ = true)
      +
      4649  : root(r), callback(cb), allow_exceptions(allow_exceptions_)
      +
      4650  {
      +
      4651  keep_stack.push_back(true);
      +
      4652  }
      +
      4653 
      +
      4654  // make class move-only
      + + + + +
      4659  ~json_sax_dom_callback_parser() = default;
      +
      4660 
      +
      4661  bool null()
      +
      4662  {
      +
      4663  handle_value(nullptr);
      +
      4664  return true;
      +
      4665  }
      +
      4666 
      +
      4667  bool boolean(bool val)
      +
      4668  {
      +
      4669  handle_value(val);
      +
      4670  return true;
      +
      4671  }
      +
      4672 
      + +
      4674  {
      +
      4675  handle_value(val);
      +
      4676  return true;
      +
      4677  }
      +
      4678 
      + +
      4680  {
      +
      4681  handle_value(val);
      +
      4682  return true;
      +
      4683  }
      +
      4684 
      +
      4685  bool number_float(number_float_t val, const string_t& /*unused*/)
      +
      4686  {
      +
      4687  handle_value(val);
      +
      4688  return true;
      +
      4689  }
      +
      4690 
      +
      4691  bool string(string_t& val)
      +
      4692  {
      +
      4693  handle_value(val);
      +
      4694  return true;
      +
      4695  }
      +
      4696 
      +
      4697  bool start_object(std::size_t len)
      +
      4698  {
      +
      4699  // check callback for object start
      +
      4700  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::object_start, discarded);
      +
      4701  keep_stack.push_back(keep);
      +
      4702 
      +
      4703  auto val = handle_value(BasicJsonType::value_t::object, true);
      +
      4704  ref_stack.push_back(val.second);
      +
      4705 
      +
      4706  // check object limit
      +
      4707  if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
      +
      4708  {
      +
      4709  JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len)));
      +
      4710  }
      +
      4711 
      +
      4712  return true;
      +
      4713  }
      +
      4714 
      +
      4715  bool key(string_t& val)
      +
      4716  {
      +
      4717  BasicJsonType k = BasicJsonType(val);
      +
      4718 
      +
      4719  // check callback for key
      +
      4720  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::key, k);
      +
      4721  key_keep_stack.push_back(keep);
      +
      4722 
      +
      4723  // add discarded value at given key and store the reference for later
      +
      4724  if (keep and ref_stack.back())
      +
      4725  {
      +
      4726  object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded);
      +
      4727  }
      +
      4728 
      +
      4729  return true;
      +
      4730  }
      +
      4731 
      +
      4732  bool end_object()
      +
      4733  {
      +
      4734  if (ref_stack.back() and not callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back()))
      +
      4735  {
      +
      4736  // discard object
      +
      4737  *ref_stack.back() = discarded;
      +
      4738  }
      +
      4739 
      +
      4740  assert(not ref_stack.empty());
      +
      4741  assert(not keep_stack.empty());
      +
      4742  ref_stack.pop_back();
      +
      4743  keep_stack.pop_back();
      +
      4744 
      +
      4745  if (not ref_stack.empty() and ref_stack.back() and ref_stack.back()->is_object())
      +
      4746  {
      +
      4747  // remove discarded value
      +
      4748  for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it)
      +
      4749  {
      +
      4750  if (it->is_discarded())
      +
      4751  {
      +
      4752  ref_stack.back()->erase(it);
      +
      4753  break;
      +
      4754  }
      +
      4755  }
      +
      4756  }
      +
      4757 
      +
      4758  return true;
      +
      4759  }
      +
      4760 
      +
      4761  bool start_array(std::size_t len)
      +
      4762  {
      +
      4763  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::array_start, discarded);
      +
      4764  keep_stack.push_back(keep);
      +
      4765 
      +
      4766  auto val = handle_value(BasicJsonType::value_t::array, true);
      +
      4767  ref_stack.push_back(val.second);
      +
      4768 
      +
      4769  // check array limit
      +
      4770  if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size()))
      +
      4771  {
      +
      4772  JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len)));
      +
      4773  }
      +
      4774 
      +
      4775  return true;
      +
      4776  }
      +
      4777 
      +
      4778  bool end_array()
      +
      4779  {
      +
      4780  bool keep = true;
      +
      4781 
      +
      4782  if (ref_stack.back())
      +
      4783  {
      +
      4784  keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back());
      +
      4785  if (not keep)
      +
      4786  {
      +
      4787  // discard array
      +
      4788  *ref_stack.back() = discarded;
      +
      4789  }
      +
      4790  }
      +
      4791 
      +
      4792  assert(not ref_stack.empty());
      +
      4793  assert(not keep_stack.empty());
      +
      4794  ref_stack.pop_back();
      +
      4795  keep_stack.pop_back();
      +
      4796 
      +
      4797  // remove discarded value
      +
      4798  if (not keep and not ref_stack.empty() and ref_stack.back()->is_array())
      +
      4799  {
      +
      4800  ref_stack.back()->m_value.array->pop_back();
      +
      4801  }
      +
      4802 
      +
      4803  return true;
      +
      4804  }
      +
      4805 
      +
      4806  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      +
      4807  const detail::exception& ex)
      +
      4808  {
      +
      4809  errored = true;
      +
      4810  if (allow_exceptions)
      +
      4811  {
      +
      4812  // determine the proper exception type from the id
      +
      4813  switch ((ex.id / 100) % 100)
      +
      4814  {
      +
      4815  case 1:
      +
      4816  JSON_THROW(*static_cast<const detail::parse_error*>(&ex));
      +
      4817  case 4:
      +
      4818  JSON_THROW(*static_cast<const detail::out_of_range*>(&ex));
      +
      4819  // LCOV_EXCL_START
      +
      4820  case 2:
      +
      4821  JSON_THROW(*static_cast<const detail::invalid_iterator*>(&ex));
      +
      4822  case 3:
      +
      4823  JSON_THROW(*static_cast<const detail::type_error*>(&ex));
      +
      4824  case 5:
      +
      4825  JSON_THROW(*static_cast<const detail::other_error*>(&ex));
      +
      4826  default:
      +
      4827  assert(false);
      +
      4828  // LCOV_EXCL_STOP
      +
      4829  }
      +
      4830  }
      +
      4831  return false;
      +
      4832  }
      +
      4833 
      +
      4834  constexpr bool is_errored() const
      +
      4835  {
      +
      4836  return errored;
      +
      4837  }
      +
      4838 
      +
      4839  private:
      +
      4855  template<typename Value>
      +
      4856  std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool skip_callback = false)
      +
      4857  {
      +
      4858  assert(not keep_stack.empty());
      +
      4859 
      +
      4860  // do not handle this value if we know it would be added to a discarded
      +
      4861  // container
      +
      4862  if (not keep_stack.back())
      +
      4863  {
      +
      4864  return {false, nullptr};
      +
      4865  }
      +
      4866 
      +
      4867  // create value
      +
      4868  auto value = BasicJsonType(std::forward<Value>(v));
      +
      4869 
      +
      4870  // check callback
      +
      4871  const bool keep = skip_callback or callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value);
      +
      4872 
      +
      4873  // do not handle this value if we just learnt it shall be discarded
      +
      4874  if (not keep)
      +
      4875  {
      +
      4876  return {false, nullptr};
      +
      4877  }
      +
      4878 
      +
      4879  if (ref_stack.empty())
      +
      4880  {
      +
      4881  root = std::move(value);
      +
      4882  return {true, &root};
      +
      4883  }
      +
      4884 
      +
      4885  // skip this value if we already decided to skip the parent
      +
      4886  // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360)
      +
      4887  if (not ref_stack.back())
      +
      4888  {
      +
      4889  return {false, nullptr};
      +
      4890  }
      +
      4891 
      +
      4892  // we now only expect arrays and objects
      +
      4893  assert(ref_stack.back()->is_array() or ref_stack.back()->is_object());
      +
      4894 
      +
      4895  // array
      +
      4896  if (ref_stack.back()->is_array())
      +
      4897  {
      +
      4898  ref_stack.back()->m_value.array->push_back(std::move(value));
      +
      4899  return {true, &(ref_stack.back()->m_value.array->back())};
      +
      4900  }
      +
      4901 
      +
      4902  // object
      +
      4903  assert(ref_stack.back()->is_object());
      +
      4904  // check if we should store an element for the current key
      +
      4905  assert(not key_keep_stack.empty());
      +
      4906  const bool store_element = key_keep_stack.back();
      +
      4907  key_keep_stack.pop_back();
      +
      4908 
      +
      4909  if (not store_element)
      +
      4910  {
      +
      4911  return {false, nullptr};
      +
      4912  }
      +
      4913 
      +
      4914  assert(object_element);
      +
      4915  *object_element = std::move(value);
      +
      4916  return {true, object_element};
      +
      4917  }
      +
      4918 
      +
      4920  BasicJsonType& root;
      +
      4922  std::vector<BasicJsonType*> ref_stack {};
      +
      4924  std::vector<bool> keep_stack {};
      +
      4926  std::vector<bool> key_keep_stack {};
      +
      4928  BasicJsonType* object_element = nullptr;
      +
      4930  bool errored = false;
      +
      4932  const parser_callback_t callback = nullptr;
      +
      4934  const bool allow_exceptions = true;
      +
      4936  BasicJsonType discarded = BasicJsonType::value_t::discarded;
      +
      4937 };
      +
      4938 
      +
      4939 template<typename BasicJsonType>
      + +
      4941 {
      +
      4942  public:
      +
      4943  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      4944  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      4945  using number_float_t = typename BasicJsonType::number_float_t;
      +
      4946  using string_t = typename BasicJsonType::string_t;
      +
      4947 
      +
      4948  bool null()
      +
      4949  {
      +
      4950  return true;
      +
      4951  }
      +
      4952 
      +
      4953  bool boolean(bool /*unused*/)
      +
      4954  {
      +
      4955  return true;
      +
      4956  }
      +
      4957 
      + +
      4959  {
      +
      4960  return true;
      +
      4961  }
      +
      4962 
      + +
      4964  {
      +
      4965  return true;
      +
      4966  }
      +
      4967 
      +
      4968  bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
      +
      4969  {
      +
      4970  return true;
      +
      4971  }
      +
      4972 
      +
      4973  bool string(string_t& /*unused*/)
      +
      4974  {
      +
      4975  return true;
      +
      4976  }
      +
      4977 
      +
      4978  bool start_object(std::size_t /*unused*/ = std::size_t(-1))
      +
      4979  {
      +
      4980  return true;
      +
      4981  }
      +
      4982 
      +
      4983  bool key(string_t& /*unused*/)
      +
      4984  {
      +
      4985  return true;
      +
      4986  }
      +
      4987 
      +
      4988  bool end_object()
      +
      4989  {
      +
      4990  return true;
      +
      4991  }
      +
      4992 
      +
      4993  bool start_array(std::size_t /*unused*/ = std::size_t(-1))
      +
      4994  {
      +
      4995  return true;
      +
      4996  }
      +
      4997 
      +
      4998  bool end_array()
      +
      4999  {
      +
      5000  return true;
      +
      5001  }
      +
      5002 
      +
      5003  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/)
      +
      5004  {
      +
      5005  return false;
      +
      5006  }
      +
      5007 };
      +
      5008 } // namespace detail
      +
      5009 
      +
      5010 } // namespace nlohmann
      +
      5011 
      +
      5012 // #include <nlohmann/detail/macro_scope.hpp>
      +
      5013 
      +
      5014 // #include <nlohmann/detail/meta/is_sax.hpp>
      +
      5015 
      +
      5016 
      +
      5017 #include <cstdint> // size_t
      +
      5018 #include <utility> // declval
      +
      5019 #include <string> // string
      +
      5020 
      +
      5021 // #include <nlohmann/detail/meta/detected.hpp>
      +
      5022 
      +
      5023 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      5024 
      +
      5025 
      +
      5026 namespace nlohmann
      +
      5027 {
      +
      5028 namespace detail
      +
      5029 {
      +
      5030 template <typename T>
      +
      5031 using null_function_t = decltype(std::declval<T&>().null());
      +
      5032 
      +
      5033 template <typename T>
      +
      5034 using boolean_function_t =
      +
      5035  decltype(std::declval<T&>().boolean(std::declval<bool>()));
      +
      5036 
      +
      5037 template <typename T, typename Integer>
      + +
      5039  decltype(std::declval<T&>().number_integer(std::declval<Integer>()));
      +
      5040 
      +
      5041 template <typename T, typename Unsigned>
      + +
      5043  decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()));
      +
      5044 
      +
      5045 template <typename T, typename Float, typename String>
      +
      5046 using number_float_function_t = decltype(std::declval<T&>().number_float(
      +
      5047  std::declval<Float>(), std::declval<const String&>()));
      +
      5048 
      +
      5049 template <typename T, typename String>
      +
      5050 using string_function_t =
      +
      5051  decltype(std::declval<T&>().string(std::declval<String&>()));
      +
      5052 
      +
      5053 template <typename T>
      + +
      5055  decltype(std::declval<T&>().start_object(std::declval<std::size_t>()));
      +
      5056 
      +
      5057 template <typename T, typename String>
      +
      5058 using key_function_t =
      +
      5059  decltype(std::declval<T&>().key(std::declval<String&>()));
      +
      5060 
      +
      5061 template <typename T>
      +
      5062 using end_object_function_t = decltype(std::declval<T&>().end_object());
      +
      5063 
      +
      5064 template <typename T>
      +
      5065 using start_array_function_t =
      +
      5066  decltype(std::declval<T&>().start_array(std::declval<std::size_t>()));
      +
      5067 
      +
      5068 template <typename T>
      +
      5069 using end_array_function_t = decltype(std::declval<T&>().end_array());
      +
      5070 
      +
      5071 template <typename T, typename Exception>
      +
      5072 using parse_error_function_t = decltype(std::declval<T&>().parse_error(
      +
      5073  std::declval<std::size_t>(), std::declval<const std::string&>(),
      +
      5074  std::declval<const Exception&>()));
      +
      5075 
      +
      5076 template <typename SAX, typename BasicJsonType>
      +
      5077 struct is_sax
      +
      5078 {
      +
      5079  private:
      + +
      5081  "BasicJsonType must be of type basic_json<...>");
      +
      5082 
      +
      5083  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5084  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5085  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5086  using string_t = typename BasicJsonType::string_t;
      +
      5087  using exception_t = typename BasicJsonType::exception;
      +
      5088 
      +
      5089  public:
      +
      5090  static constexpr bool value =
      + + + +
      5094  number_integer_t>::value &&
      + +
      5096  number_unsigned_t>::value &&
      +
      5097  is_detected_exact<bool, number_float_function_t, SAX, number_float_t,
      +
      5098  string_t>::value &&
      + + + + + + + +
      5106 };
      +
      5107 
      +
      5108 template <typename SAX, typename BasicJsonType>
      + +
      5110 {
      +
      5111  private:
      + +
      5113  "BasicJsonType must be of type basic_json<...>");
      +
      5114 
      +
      5115  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5116  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5117  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5118  using string_t = typename BasicJsonType::string_t;
      +
      5119  using exception_t = typename BasicJsonType::exception;
      +
      5120 
      +
      5121  public:
      + +
      5123  "Missing/invalid function: bool null()");
      + +
      5125  "Missing/invalid function: bool boolean(bool)");
      + +
      5127  "Missing/invalid function: bool boolean(bool)");
      +
      5128  static_assert(
      + +
      5130  number_integer_t>::value,
      +
      5131  "Missing/invalid function: bool number_integer(number_integer_t)");
      +
      5132  static_assert(
      + +
      5134  number_unsigned_t>::value,
      +
      5135  "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
      +
      5136  static_assert(is_detected_exact<bool, number_float_function_t, SAX,
      +
      5137  number_float_t, string_t>::value,
      +
      5138  "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
      +
      5139  static_assert(
      + +
      5141  "Missing/invalid function: bool string(string_t&)");
      + +
      5143  "Missing/invalid function: bool start_object(std::size_t)");
      + +
      5145  "Missing/invalid function: bool key(string_t&)");
      + +
      5147  "Missing/invalid function: bool end_object()");
      + +
      5149  "Missing/invalid function: bool start_array(std::size_t)");
      + +
      5151  "Missing/invalid function: bool end_array()");
      +
      5152  static_assert(
      + +
      5154  "Missing/invalid function: bool parse_error(std::size_t, const "
      +
      5155  "std::string&, const exception&)");
      +
      5156 };
      +
      5157 } // namespace detail
      +
      5158 } // namespace nlohmann
      +
      5159 
      +
      5160 // #include <nlohmann/detail/value_t.hpp>
      +
      5161 
      +
      5162 
      +
      5163 namespace nlohmann
      +
      5164 {
      +
      5165 namespace detail
      +
      5166 {
      +
      5168 // binary reader //
      +
      5170 
      +
      5174 template<typename BasicJsonType, typename SAX = json_sax_dom_parser<BasicJsonType>>
      + +
      5176 {
      +
      5177  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5178  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5179  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5180  using string_t = typename BasicJsonType::string_t;
      +
      5181  using json_sax_t = SAX;
      +
      5182 
      +
      5183  public:
      +
      5189  explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter))
      +
      5190  {
      + +
      5192  assert(ia);
      +
      5193  }
      +
      5194 
      +
      5195  // make class move-only
      +
      5196  binary_reader(const binary_reader&) = delete;
      +
      5197  binary_reader(binary_reader&&) = default;
      +
      5198  binary_reader& operator=(const binary_reader&) = delete;
      +
      5199  binary_reader& operator=(binary_reader&&) = default;
      +
      5200  ~binary_reader() = default;
      +
      5201 
      + +
      5210  bool sax_parse(const input_format_t format,
      +
      5211  json_sax_t* sax_,
      +
      5212  const bool strict = true)
      +
      5213  {
      +
      5214  sax = sax_;
      +
      5215  bool result = false;
      +
      5216 
      +
      5217  switch (format)
      +
      5218  {
      +
      5219  case input_format_t::bson:
      +
      5220  result = parse_bson_internal();
      +
      5221  break;
      +
      5222 
      +
      5223  case input_format_t::cbor:
      +
      5224  result = parse_cbor_internal();
      +
      5225  break;
      +
      5226 
      + +
      5228  result = parse_msgpack_internal();
      +
      5229  break;
      +
      5230 
      + +
      5232  result = parse_ubjson_internal();
      +
      5233  break;
      +
      5234 
      +
      5235  default: // LCOV_EXCL_LINE
      +
      5236  assert(false); // LCOV_EXCL_LINE
      +
      5237  }
      +
      5238 
      +
      5239  // strict mode: next byte must be EOF
      +
      5240  if (result and strict)
      +
      5241  {
      +
      5242  if (format == input_format_t::ubjson)
      +
      5243  {
      +
      5244  get_ignore_noop();
      +
      5245  }
      +
      5246  else
      +
      5247  {
      +
      5248  get();
      +
      5249  }
      +
      5250 
      +
      5251  if (JSON_HEDLEY_UNLIKELY(current != std::char_traits<char>::eof()))
      +
      5252  {
      +
      5253  return sax->parse_error(chars_read, get_token_string(),
      +
      5254  parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value")));
      +
      5255  }
      +
      5256  }
      +
      5257 
      +
      5258  return result;
      +
      5259  }
      +
      5260 
      +
      5268  static constexpr bool little_endianess(int num = 1) noexcept
      +
      5269  {
      +
      5270  return *reinterpret_cast<char*>(&num) == 1;
      +
      5271  }
      +
      5272 
      +
      5273  private:
      +
      5275  // BSON //
      +
      5277 
      +
      5282  bool parse_bson_internal()
      +
      5283  {
      +
      5284  std::int32_t document_size;
      +
      5285  get_number<std::int32_t, true>(input_format_t::bson, document_size);
      +
      5286 
      +
      5287  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
      +
      5288  {
      +
      5289  return false;
      +
      5290  }
      +
      5291 
      +
      5292  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/false)))
      +
      5293  {
      +
      5294  return false;
      +
      5295  }
      +
      5296 
      +
      5297  return sax->end_object();
      +
      5298  }
      +
      5299 
      +
      5307  bool get_bson_cstr(string_t& result)
      +
      5308  {
      +
      5309  auto out = std::back_inserter(result);
      +
      5310  while (true)
      +
      5311  {
      +
      5312  get();
      +
      5313  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "cstring")))
      +
      5314  {
      +
      5315  return false;
      +
      5316  }
      +
      5317  if (current == 0x00)
      +
      5318  {
      +
      5319  return true;
      +
      5320  }
      +
      5321  *out++ = static_cast<char>(current);
      +
      5322  }
      +
      5323 
      +
      5324  return true;
      +
      5325  }
      +
      5326 
      +
      5338  template<typename NumberType>
      +
      5339  bool get_bson_string(const NumberType len, string_t& result)
      +
      5340  {
      +
      5341  if (JSON_HEDLEY_UNLIKELY(len < 1))
      +
      5342  {
      +
      5343  auto last_token = get_token_string();
      +
      5344  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string")));
      +
      5345  }
      +
      5346 
      +
      5347  return get_string(input_format_t::bson, len - static_cast<NumberType>(1), result) and get() != std::char_traits<char>::eof();
      +
      5348  }
      +
      5349 
      +
      5360  bool parse_bson_element_internal(const int element_type,
      +
      5361  const std::size_t element_type_parse_position)
      +
      5362  {
      +
      5363  switch (element_type)
      +
      5364  {
      +
      5365  case 0x01: // double
      +
      5366  {
      +
      5367  double number;
      +
      5368  return get_number<double, true>(input_format_t::bson, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      5369  }
      +
      5370 
      +
      5371  case 0x02: // string
      +
      5372  {
      +
      5373  std::int32_t len;
      +
      5374  string_t value;
      +
      5375  return get_number<std::int32_t, true>(input_format_t::bson, len) and get_bson_string(len, value) and sax->string(value);
      +
      5376  }
      +
      5377 
      +
      5378  case 0x03: // object
      +
      5379  {
      +
      5380  return parse_bson_internal();
      +
      5381  }
      +
      5382 
      +
      5383  case 0x04: // array
      +
      5384  {
      +
      5385  return parse_bson_array();
      +
      5386  }
      +
      5387 
      +
      5388  case 0x08: // boolean
      +
      5389  {
      +
      5390  return sax->boolean(get() != 0);
      +
      5391  }
      +
      5392 
      +
      5393  case 0x0A: // null
      +
      5394  {
      +
      5395  return sax->null();
      +
      5396  }
      +
      5397 
      +
      5398  case 0x10: // int32
      +
      5399  {
      +
      5400  std::int32_t value;
      +
      5401  return get_number<std::int32_t, true>(input_format_t::bson, value) and sax->number_integer(value);
      +
      5402  }
      +
      5403 
      +
      5404  case 0x12: // int64
      +
      5405  {
      +
      5406  std::int64_t value;
      +
      5407  return get_number<std::int64_t, true>(input_format_t::bson, value) and sax->number_integer(value);
      +
      5408  }
      +
      5409 
      +
      5410  default: // anything else not supported (yet)
      +
      5411  {
      +
      5412  std::array<char, 3> cr{{}};
      +
      5413  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(element_type));
      +
      5414  return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data())));
      +
      5415  }
      +
      5416  }
      +
      5417  }
      +
      5418 
      +
      5431  bool parse_bson_element_list(const bool is_array)
      +
      5432  {
      +
      5433  string_t key;
      +
      5434  while (int element_type = get())
      +
      5435  {
      +
      5436  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list")))
      +
      5437  {
      +
      5438  return false;
      +
      5439  }
      +
      5440 
      +
      5441  const std::size_t element_type_parse_position = chars_read;
      +
      5442  if (JSON_HEDLEY_UNLIKELY(not get_bson_cstr(key)))
      +
      5443  {
      +
      5444  return false;
      +
      5445  }
      +
      5446 
      +
      5447  if (not is_array and not sax->key(key))
      +
      5448  {
      +
      5449  return false;
      +
      5450  }
      +
      5451 
      +
      5452  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_internal(element_type, element_type_parse_position)))
      +
      5453  {
      +
      5454  return false;
      +
      5455  }
      +
      5456 
      +
      5457  // get_bson_cstr only appends
      +
      5458  key.clear();
      +
      5459  }
      +
      5460 
      +
      5461  return true;
      +
      5462  }
      +
      5463 
      +
      5468  bool parse_bson_array()
      +
      5469  {
      +
      5470  std::int32_t document_size;
      +
      5471  get_number<std::int32_t, true>(input_format_t::bson, document_size);
      +
      5472 
      +
      5473  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
      +
      5474  {
      +
      5475  return false;
      +
      5476  }
      +
      5477 
      +
      5478  if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/true)))
      +
      5479  {
      +
      5480  return false;
      +
      5481  }
      +
      5482 
      +
      5483  return sax->end_array();
      +
      5484  }
      +
      5485 
      +
      5487  // CBOR //
      +
      5489 
      +
      5497  bool parse_cbor_internal(const bool get_char = true)
      +
      5498  {
      +
      5499  switch (get_char ? get() : current)
      +
      5500  {
      +
      5501  // EOF
      +
      5502  case std::char_traits<char>::eof():
      +
      5503  return unexpect_eof(input_format_t::cbor, "value");
      +
      5504 
      +
      5505  // Integer 0x00..0x17 (0..23)
      +
      5506  case 0x00:
      +
      5507  case 0x01:
      +
      5508  case 0x02:
      +
      5509  case 0x03:
      +
      5510  case 0x04:
      +
      5511  case 0x05:
      +
      5512  case 0x06:
      +
      5513  case 0x07:
      +
      5514  case 0x08:
      +
      5515  case 0x09:
      +
      5516  case 0x0A:
      +
      5517  case 0x0B:
      +
      5518  case 0x0C:
      +
      5519  case 0x0D:
      +
      5520  case 0x0E:
      +
      5521  case 0x0F:
      +
      5522  case 0x10:
      +
      5523  case 0x11:
      +
      5524  case 0x12:
      +
      5525  case 0x13:
      +
      5526  case 0x14:
      +
      5527  case 0x15:
      +
      5528  case 0x16:
      +
      5529  case 0x17:
      +
      5530  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
      +
      5531 
      +
      5532  case 0x18: // Unsigned integer (one-byte uint8_t follows)
      +
      5533  {
      +
      5534  std::uint8_t number;
      +
      5535  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
      +
      5536  }
      +
      5537 
      +
      5538  case 0x19: // Unsigned integer (two-byte uint16_t follows)
      +
      5539  {
      +
      5540  std::uint16_t number;
      +
      5541  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
      +
      5542  }
      +
      5543 
      +
      5544  case 0x1A: // Unsigned integer (four-byte uint32_t follows)
      +
      5545  {
      +
      5546  std::uint32_t number;
      +
      5547  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
      +
      5548  }
      +
      5549 
      +
      5550  case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
      +
      5551  {
      +
      5552  std::uint64_t number;
      +
      5553  return get_number(input_format_t::cbor, number) and sax->number_unsigned(number);
      +
      5554  }
      +
      5555 
      +
      5556  // Negative integer -1-0x00..-1-0x17 (-1..-24)
      +
      5557  case 0x20:
      +
      5558  case 0x21:
      +
      5559  case 0x22:
      +
      5560  case 0x23:
      +
      5561  case 0x24:
      +
      5562  case 0x25:
      +
      5563  case 0x26:
      +
      5564  case 0x27:
      +
      5565  case 0x28:
      +
      5566  case 0x29:
      +
      5567  case 0x2A:
      +
      5568  case 0x2B:
      +
      5569  case 0x2C:
      +
      5570  case 0x2D:
      +
      5571  case 0x2E:
      +
      5572  case 0x2F:
      +
      5573  case 0x30:
      +
      5574  case 0x31:
      +
      5575  case 0x32:
      +
      5576  case 0x33:
      +
      5577  case 0x34:
      +
      5578  case 0x35:
      +
      5579  case 0x36:
      +
      5580  case 0x37:
      +
      5581  return sax->number_integer(static_cast<std::int8_t>(0x20 - 1 - current));
      +
      5582 
      +
      5583  case 0x38: // Negative integer (one-byte uint8_t follows)
      +
      5584  {
      +
      5585  std::uint8_t number;
      +
      5586  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      5587  }
      +
      5588 
      +
      5589  case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
      +
      5590  {
      +
      5591  std::uint16_t number;
      +
      5592  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      5593  }
      +
      5594 
      +
      5595  case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
      +
      5596  {
      +
      5597  std::uint32_t number;
      +
      5598  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      5599  }
      +
      5600 
      +
      5601  case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
      +
      5602  {
      +
      5603  std::uint64_t number;
      +
      5604  return get_number(input_format_t::cbor, number) and sax->number_integer(static_cast<number_integer_t>(-1)
      +
      5605  - static_cast<number_integer_t>(number));
      +
      5606  }
      +
      5607 
      +
      5608  // UTF-8 string (0x00..0x17 bytes follow)
      +
      5609  case 0x60:
      +
      5610  case 0x61:
      +
      5611  case 0x62:
      +
      5612  case 0x63:
      +
      5613  case 0x64:
      +
      5614  case 0x65:
      +
      5615  case 0x66:
      +
      5616  case 0x67:
      +
      5617  case 0x68:
      +
      5618  case 0x69:
      +
      5619  case 0x6A:
      +
      5620  case 0x6B:
      +
      5621  case 0x6C:
      +
      5622  case 0x6D:
      +
      5623  case 0x6E:
      +
      5624  case 0x6F:
      +
      5625  case 0x70:
      +
      5626  case 0x71:
      +
      5627  case 0x72:
      +
      5628  case 0x73:
      +
      5629  case 0x74:
      +
      5630  case 0x75:
      +
      5631  case 0x76:
      +
      5632  case 0x77:
      +
      5633  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
      +
      5634  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
      +
      5635  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
      +
      5636  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
      +
      5637  case 0x7F: // UTF-8 string (indefinite length)
      +
      5638  {
      +
      5639  string_t s;
      +
      5640  return get_cbor_string(s) and sax->string(s);
      +
      5641  }
      +
      5642 
      +
      5643  // array (0x00..0x17 data items follow)
      +
      5644  case 0x80:
      +
      5645  case 0x81:
      +
      5646  case 0x82:
      +
      5647  case 0x83:
      +
      5648  case 0x84:
      +
      5649  case 0x85:
      +
      5650  case 0x86:
      +
      5651  case 0x87:
      +
      5652  case 0x88:
      +
      5653  case 0x89:
      +
      5654  case 0x8A:
      +
      5655  case 0x8B:
      +
      5656  case 0x8C:
      +
      5657  case 0x8D:
      +
      5658  case 0x8E:
      +
      5659  case 0x8F:
      +
      5660  case 0x90:
      +
      5661  case 0x91:
      +
      5662  case 0x92:
      +
      5663  case 0x93:
      +
      5664  case 0x94:
      +
      5665  case 0x95:
      +
      5666  case 0x96:
      +
      5667  case 0x97:
      +
      5668  return get_cbor_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu));
      +
      5669 
      +
      5670  case 0x98: // array (one-byte uint8_t for n follows)
      +
      5671  {
      +
      5672  std::uint8_t len;
      +
      5673  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
      +
      5674  }
      +
      5675 
      +
      5676  case 0x99: // array (two-byte uint16_t for n follow)
      +
      5677  {
      +
      5678  std::uint16_t len;
      +
      5679  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
      +
      5680  }
      +
      5681 
      +
      5682  case 0x9A: // array (four-byte uint32_t for n follow)
      +
      5683  {
      +
      5684  std::uint32_t len;
      +
      5685  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
      +
      5686  }
      +
      5687 
      +
      5688  case 0x9B: // array (eight-byte uint64_t for n follow)
      +
      5689  {
      +
      5690  std::uint64_t len;
      +
      5691  return get_number(input_format_t::cbor, len) and get_cbor_array(static_cast<std::size_t>(len));
      +
      5692  }
      +
      5693 
      +
      5694  case 0x9F: // array (indefinite length)
      +
      5695  return get_cbor_array(std::size_t(-1));
      +
      5696 
      +
      5697  // map (0x00..0x17 pairs of data items follow)
      +
      5698  case 0xA0:
      +
      5699  case 0xA1:
      +
      5700  case 0xA2:
      +
      5701  case 0xA3:
      +
      5702  case 0xA4:
      +
      5703  case 0xA5:
      +
      5704  case 0xA6:
      +
      5705  case 0xA7:
      +
      5706  case 0xA8:
      +
      5707  case 0xA9:
      +
      5708  case 0xAA:
      +
      5709  case 0xAB:
      +
      5710  case 0xAC:
      +
      5711  case 0xAD:
      +
      5712  case 0xAE:
      +
      5713  case 0xAF:
      +
      5714  case 0xB0:
      +
      5715  case 0xB1:
      +
      5716  case 0xB2:
      +
      5717  case 0xB3:
      +
      5718  case 0xB4:
      +
      5719  case 0xB5:
      +
      5720  case 0xB6:
      +
      5721  case 0xB7:
      +
      5722  return get_cbor_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu));
      +
      5723 
      +
      5724  case 0xB8: // map (one-byte uint8_t for n follows)
      +
      5725  {
      +
      5726  std::uint8_t len;
      +
      5727  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
      +
      5728  }
      +
      5729 
      +
      5730  case 0xB9: // map (two-byte uint16_t for n follow)
      +
      5731  {
      +
      5732  std::uint16_t len;
      +
      5733  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
      +
      5734  }
      +
      5735 
      +
      5736  case 0xBA: // map (four-byte uint32_t for n follow)
      +
      5737  {
      +
      5738  std::uint32_t len;
      +
      5739  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
      +
      5740  }
      +
      5741 
      +
      5742  case 0xBB: // map (eight-byte uint64_t for n follow)
      +
      5743  {
      +
      5744  std::uint64_t len;
      +
      5745  return get_number(input_format_t::cbor, len) and get_cbor_object(static_cast<std::size_t>(len));
      +
      5746  }
      +
      5747 
      +
      5748  case 0xBF: // map (indefinite length)
      +
      5749  return get_cbor_object(std::size_t(-1));
      +
      5750 
      +
      5751  case 0xF4: // false
      +
      5752  return sax->boolean(false);
      +
      5753 
      +
      5754  case 0xF5: // true
      +
      5755  return sax->boolean(true);
      +
      5756 
      +
      5757  case 0xF6: // null
      +
      5758  return sax->null();
      +
      5759 
      +
      5760  case 0xF9: // Half-Precision Float (two-byte IEEE 754)
      +
      5761  {
      +
      5762  const int byte1_raw = get();
      +
      5763  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number")))
      +
      5764  {
      +
      5765  return false;
      +
      5766  }
      +
      5767  const int byte2_raw = get();
      +
      5768  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number")))
      +
      5769  {
      +
      5770  return false;
      +
      5771  }
      +
      5772 
      +
      5773  const auto byte1 = static_cast<unsigned char>(byte1_raw);
      +
      5774  const auto byte2 = static_cast<unsigned char>(byte2_raw);
      +
      5775 
      +
      5776  // code from RFC 7049, Appendix D, Figure 3:
      +
      5777  // As half-precision floating-point numbers were only added
      +
      5778  // to IEEE 754 in 2008, today's programming platforms often
      +
      5779  // still only have limited support for them. It is very
      +
      5780  // easy to include at least decoding support for them even
      +
      5781  // without such support. An example of a small decoder for
      +
      5782  // half-precision floating-point numbers in the C language
      +
      5783  // is shown in Fig. 3.
      +
      5784  const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);
      +
      5785  const double val = [&half]
      +
      5786  {
      +
      5787  const int exp = (half >> 10u) & 0x1Fu;
      +
      5788  const unsigned int mant = half & 0x3FFu;
      +
      5789  assert(0 <= exp and exp <= 32);
      +
      5790  assert(mant <= 1024);
      +
      5791  switch (exp)
      +
      5792  {
      +
      5793  case 0:
      +
      5794  return std::ldexp(mant, -24);
      +
      5795  case 31:
      +
      5796  return (mant == 0)
      +
      5797  ? std::numeric_limits<double>::infinity()
      +
      5798  : std::numeric_limits<double>::quiet_NaN();
      +
      5799  default:
      +
      5800  return std::ldexp(mant + 1024, exp - 25);
      +
      5801  }
      +
      5802  }();
      +
      5803  return sax->number_float((half & 0x8000u) != 0
      +
      5804  ? static_cast<number_float_t>(-val)
      +
      5805  : static_cast<number_float_t>(val), "");
      +
      5806  }
      +
      5807 
      +
      5808  case 0xFA: // Single-Precision Float (four-byte IEEE 754)
      +
      5809  {
      +
      5810  float number;
      +
      5811  return get_number(input_format_t::cbor, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      5812  }
      +
      5813 
      +
      5814  case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
      +
      5815  {
      +
      5816  double number;
      +
      5817  return get_number(input_format_t::cbor, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      5818  }
      +
      5819 
      +
      5820  default: // anything else (0xFF is handled inside the other types)
      +
      5821  {
      +
      5822  auto last_token = get_token_string();
      +
      5823  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value")));
      +
      5824  }
      +
      5825  }
      +
      5826  }
      +
      5827 
      +
      5839  bool get_cbor_string(string_t& result)
      +
      5840  {
      +
      5841  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "string")))
      +
      5842  {
      +
      5843  return false;
      +
      5844  }
      +
      5845 
      +
      5846  switch (current)
      +
      5847  {
      +
      5848  // UTF-8 string (0x00..0x17 bytes follow)
      +
      5849  case 0x60:
      +
      5850  case 0x61:
      +
      5851  case 0x62:
      +
      5852  case 0x63:
      +
      5853  case 0x64:
      +
      5854  case 0x65:
      +
      5855  case 0x66:
      +
      5856  case 0x67:
      +
      5857  case 0x68:
      +
      5858  case 0x69:
      +
      5859  case 0x6A:
      +
      5860  case 0x6B:
      +
      5861  case 0x6C:
      +
      5862  case 0x6D:
      +
      5863  case 0x6E:
      +
      5864  case 0x6F:
      +
      5865  case 0x70:
      +
      5866  case 0x71:
      +
      5867  case 0x72:
      +
      5868  case 0x73:
      +
      5869  case 0x74:
      +
      5870  case 0x75:
      +
      5871  case 0x76:
      +
      5872  case 0x77:
      +
      5873  {
      +
      5874  return get_string(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
      +
      5875  }
      +
      5876 
      +
      5877  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
      +
      5878  {
      +
      5879  std::uint8_t len;
      +
      5880  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
      +
      5881  }
      +
      5882 
      +
      5883  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
      +
      5884  {
      +
      5885  std::uint16_t len;
      +
      5886  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
      +
      5887  }
      +
      5888 
      +
      5889  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
      +
      5890  {
      +
      5891  std::uint32_t len;
      +
      5892  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
      +
      5893  }
      +
      5894 
      +
      5895  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
      +
      5896  {
      +
      5897  std::uint64_t len;
      +
      5898  return get_number(input_format_t::cbor, len) and get_string(input_format_t::cbor, len, result);
      +
      5899  }
      +
      5900 
      +
      5901  case 0x7F: // UTF-8 string (indefinite length)
      +
      5902  {
      +
      5903  while (get() != 0xFF)
      +
      5904  {
      +
      5905  string_t chunk;
      +
      5906  if (not get_cbor_string(chunk))
      +
      5907  {
      +
      5908  return false;
      +
      5909  }
      +
      5910  result.append(chunk);
      +
      5911  }
      +
      5912  return true;
      +
      5913  }
      +
      5914 
      +
      5915  default:
      +
      5916  {
      +
      5917  auto last_token = get_token_string();
      +
      5918  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string")));
      +
      5919  }
      +
      5920  }
      +
      5921  }
      +
      5922 
      +
      5928  bool get_cbor_array(const std::size_t len)
      +
      5929  {
      +
      5930  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len)))
      +
      5931  {
      +
      5932  return false;
      +
      5933  }
      +
      5934 
      +
      5935  if (len != std::size_t(-1))
      +
      5936  {
      +
      5937  for (std::size_t i = 0; i < len; ++i)
      +
      5938  {
      +
      5939  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
      +
      5940  {
      +
      5941  return false;
      +
      5942  }
      +
      5943  }
      +
      5944  }
      +
      5945  else
      +
      5946  {
      +
      5947  while (get() != 0xFF)
      +
      5948  {
      +
      5949  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal(false)))
      +
      5950  {
      +
      5951  return false;
      +
      5952  }
      +
      5953  }
      +
      5954  }
      +
      5955 
      +
      5956  return sax->end_array();
      +
      5957  }
      +
      5958 
      +
      5964  bool get_cbor_object(const std::size_t len)
      +
      5965  {
      +
      5966  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len)))
      +
      5967  {
      +
      5968  return false;
      +
      5969  }
      +
      5970 
      +
      5971  string_t key;
      +
      5972  if (len != std::size_t(-1))
      +
      5973  {
      +
      5974  for (std::size_t i = 0; i < len; ++i)
      +
      5975  {
      +
      5976  get();
      +
      5977  if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key)))
      +
      5978  {
      +
      5979  return false;
      +
      5980  }
      +
      5981 
      +
      5982  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
      +
      5983  {
      +
      5984  return false;
      +
      5985  }
      +
      5986  key.clear();
      +
      5987  }
      +
      5988  }
      +
      5989  else
      +
      5990  {
      +
      5991  while (get() != 0xFF)
      +
      5992  {
      +
      5993  if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key)))
      +
      5994  {
      +
      5995  return false;
      +
      5996  }
      +
      5997 
      +
      5998  if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal()))
      +
      5999  {
      +
      6000  return false;
      +
      6001  }
      +
      6002  key.clear();
      +
      6003  }
      +
      6004  }
      +
      6005 
      +
      6006  return sax->end_object();
      +
      6007  }
      +
      6008 
      +
      6010  // MsgPack //
      +
      6012 
      +
      6016  bool parse_msgpack_internal()
      +
      6017  {
      +
      6018  switch (get())
      +
      6019  {
      +
      6020  // EOF
      +
      6021  case std::char_traits<char>::eof():
      +
      6022  return unexpect_eof(input_format_t::msgpack, "value");
      +
      6023 
      +
      6024  // positive fixint
      +
      6025  case 0x00:
      +
      6026  case 0x01:
      +
      6027  case 0x02:
      +
      6028  case 0x03:
      +
      6029  case 0x04:
      +
      6030  case 0x05:
      +
      6031  case 0x06:
      +
      6032  case 0x07:
      +
      6033  case 0x08:
      +
      6034  case 0x09:
      +
      6035  case 0x0A:
      +
      6036  case 0x0B:
      +
      6037  case 0x0C:
      +
      6038  case 0x0D:
      +
      6039  case 0x0E:
      +
      6040  case 0x0F:
      +
      6041  case 0x10:
      +
      6042  case 0x11:
      +
      6043  case 0x12:
      +
      6044  case 0x13:
      +
      6045  case 0x14:
      +
      6046  case 0x15:
      +
      6047  case 0x16:
      +
      6048  case 0x17:
      +
      6049  case 0x18:
      +
      6050  case 0x19:
      +
      6051  case 0x1A:
      +
      6052  case 0x1B:
      +
      6053  case 0x1C:
      +
      6054  case 0x1D:
      +
      6055  case 0x1E:
      +
      6056  case 0x1F:
      +
      6057  case 0x20:
      +
      6058  case 0x21:
      +
      6059  case 0x22:
      +
      6060  case 0x23:
      +
      6061  case 0x24:
      +
      6062  case 0x25:
      +
      6063  case 0x26:
      +
      6064  case 0x27:
      +
      6065  case 0x28:
      +
      6066  case 0x29:
      +
      6067  case 0x2A:
      +
      6068  case 0x2B:
      +
      6069  case 0x2C:
      +
      6070  case 0x2D:
      +
      6071  case 0x2E:
      +
      6072  case 0x2F:
      +
      6073  case 0x30:
      +
      6074  case 0x31:
      +
      6075  case 0x32:
      +
      6076  case 0x33:
      +
      6077  case 0x34:
      +
      6078  case 0x35:
      +
      6079  case 0x36:
      +
      6080  case 0x37:
      +
      6081  case 0x38:
      +
      6082  case 0x39:
      +
      6083  case 0x3A:
      +
      6084  case 0x3B:
      +
      6085  case 0x3C:
      +
      6086  case 0x3D:
      +
      6087  case 0x3E:
      +
      6088  case 0x3F:
      +
      6089  case 0x40:
      +
      6090  case 0x41:
      +
      6091  case 0x42:
      +
      6092  case 0x43:
      +
      6093  case 0x44:
      +
      6094  case 0x45:
      +
      6095  case 0x46:
      +
      6096  case 0x47:
      +
      6097  case 0x48:
      +
      6098  case 0x49:
      +
      6099  case 0x4A:
      +
      6100  case 0x4B:
      +
      6101  case 0x4C:
      +
      6102  case 0x4D:
      +
      6103  case 0x4E:
      +
      6104  case 0x4F:
      +
      6105  case 0x50:
      +
      6106  case 0x51:
      +
      6107  case 0x52:
      +
      6108  case 0x53:
      +
      6109  case 0x54:
      +
      6110  case 0x55:
      +
      6111  case 0x56:
      +
      6112  case 0x57:
      +
      6113  case 0x58:
      +
      6114  case 0x59:
      +
      6115  case 0x5A:
      +
      6116  case 0x5B:
      +
      6117  case 0x5C:
      +
      6118  case 0x5D:
      +
      6119  case 0x5E:
      +
      6120  case 0x5F:
      +
      6121  case 0x60:
      +
      6122  case 0x61:
      +
      6123  case 0x62:
      +
      6124  case 0x63:
      +
      6125  case 0x64:
      +
      6126  case 0x65:
      +
      6127  case 0x66:
      +
      6128  case 0x67:
      +
      6129  case 0x68:
      +
      6130  case 0x69:
      +
      6131  case 0x6A:
      +
      6132  case 0x6B:
      +
      6133  case 0x6C:
      +
      6134  case 0x6D:
      +
      6135  case 0x6E:
      +
      6136  case 0x6F:
      +
      6137  case 0x70:
      +
      6138  case 0x71:
      +
      6139  case 0x72:
      +
      6140  case 0x73:
      +
      6141  case 0x74:
      +
      6142  case 0x75:
      +
      6143  case 0x76:
      +
      6144  case 0x77:
      +
      6145  case 0x78:
      +
      6146  case 0x79:
      +
      6147  case 0x7A:
      +
      6148  case 0x7B:
      +
      6149  case 0x7C:
      +
      6150  case 0x7D:
      +
      6151  case 0x7E:
      +
      6152  case 0x7F:
      +
      6153  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
      +
      6154 
      +
      6155  // fixmap
      +
      6156  case 0x80:
      +
      6157  case 0x81:
      +
      6158  case 0x82:
      +
      6159  case 0x83:
      +
      6160  case 0x84:
      +
      6161  case 0x85:
      +
      6162  case 0x86:
      +
      6163  case 0x87:
      +
      6164  case 0x88:
      +
      6165  case 0x89:
      +
      6166  case 0x8A:
      +
      6167  case 0x8B:
      +
      6168  case 0x8C:
      +
      6169  case 0x8D:
      +
      6170  case 0x8E:
      +
      6171  case 0x8F:
      +
      6172  return get_msgpack_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
      +
      6173 
      +
      6174  // fixarray
      +
      6175  case 0x90:
      +
      6176  case 0x91:
      +
      6177  case 0x92:
      +
      6178  case 0x93:
      +
      6179  case 0x94:
      +
      6180  case 0x95:
      +
      6181  case 0x96:
      +
      6182  case 0x97:
      +
      6183  case 0x98:
      +
      6184  case 0x99:
      +
      6185  case 0x9A:
      +
      6186  case 0x9B:
      +
      6187  case 0x9C:
      +
      6188  case 0x9D:
      +
      6189  case 0x9E:
      +
      6190  case 0x9F:
      +
      6191  return get_msgpack_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
      +
      6192 
      +
      6193  // fixstr
      +
      6194  case 0xA0:
      +
      6195  case 0xA1:
      +
      6196  case 0xA2:
      +
      6197  case 0xA3:
      +
      6198  case 0xA4:
      +
      6199  case 0xA5:
      +
      6200  case 0xA6:
      +
      6201  case 0xA7:
      +
      6202  case 0xA8:
      +
      6203  case 0xA9:
      +
      6204  case 0xAA:
      +
      6205  case 0xAB:
      +
      6206  case 0xAC:
      +
      6207  case 0xAD:
      +
      6208  case 0xAE:
      +
      6209  case 0xAF:
      +
      6210  case 0xB0:
      +
      6211  case 0xB1:
      +
      6212  case 0xB2:
      +
      6213  case 0xB3:
      +
      6214  case 0xB4:
      +
      6215  case 0xB5:
      +
      6216  case 0xB6:
      +
      6217  case 0xB7:
      +
      6218  case 0xB8:
      +
      6219  case 0xB9:
      +
      6220  case 0xBA:
      +
      6221  case 0xBB:
      +
      6222  case 0xBC:
      +
      6223  case 0xBD:
      +
      6224  case 0xBE:
      +
      6225  case 0xBF:
      +
      6226  case 0xD9: // str 8
      +
      6227  case 0xDA: // str 16
      +
      6228  case 0xDB: // str 32
      +
      6229  {
      +
      6230  string_t s;
      +
      6231  return get_msgpack_string(s) and sax->string(s);
      +
      6232  }
      +
      6233 
      +
      6234  case 0xC0: // nil
      +
      6235  return sax->null();
      +
      6236 
      +
      6237  case 0xC2: // false
      +
      6238  return sax->boolean(false);
      +
      6239 
      +
      6240  case 0xC3: // true
      +
      6241  return sax->boolean(true);
      +
      6242 
      +
      6243  case 0xCA: // float 32
      +
      6244  {
      +
      6245  float number;
      +
      6246  return get_number(input_format_t::msgpack, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      6247  }
      +
      6248 
      +
      6249  case 0xCB: // float 64
      +
      6250  {
      +
      6251  double number;
      +
      6252  return get_number(input_format_t::msgpack, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      6253  }
      +
      6254 
      +
      6255  case 0xCC: // uint 8
      +
      6256  {
      +
      6257  std::uint8_t number;
      +
      6258  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
      +
      6259  }
      +
      6260 
      +
      6261  case 0xCD: // uint 16
      +
      6262  {
      +
      6263  std::uint16_t number;
      +
      6264  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
      +
      6265  }
      +
      6266 
      +
      6267  case 0xCE: // uint 32
      +
      6268  {
      +
      6269  std::uint32_t number;
      +
      6270  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
      +
      6271  }
      +
      6272 
      +
      6273  case 0xCF: // uint 64
      +
      6274  {
      +
      6275  std::uint64_t number;
      +
      6276  return get_number(input_format_t::msgpack, number) and sax->number_unsigned(number);
      +
      6277  }
      +
      6278 
      +
      6279  case 0xD0: // int 8
      +
      6280  {
      +
      6281  std::int8_t number;
      +
      6282  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
      +
      6283  }
      +
      6284 
      +
      6285  case 0xD1: // int 16
      +
      6286  {
      +
      6287  std::int16_t number;
      +
      6288  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
      +
      6289  }
      +
      6290 
      +
      6291  case 0xD2: // int 32
      +
      6292  {
      +
      6293  std::int32_t number;
      +
      6294  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
      +
      6295  }
      +
      6296 
      +
      6297  case 0xD3: // int 64
      +
      6298  {
      +
      6299  std::int64_t number;
      +
      6300  return get_number(input_format_t::msgpack, number) and sax->number_integer(number);
      +
      6301  }
      +
      6302 
      +
      6303  case 0xDC: // array 16
      +
      6304  {
      +
      6305  std::uint16_t len;
      +
      6306  return get_number(input_format_t::msgpack, len) and get_msgpack_array(static_cast<std::size_t>(len));
      +
      6307  }
      +
      6308 
      +
      6309  case 0xDD: // array 32
      +
      6310  {
      +
      6311  std::uint32_t len;
      +
      6312  return get_number(input_format_t::msgpack, len) and get_msgpack_array(static_cast<std::size_t>(len));
      +
      6313  }
      +
      6314 
      +
      6315  case 0xDE: // map 16
      +
      6316  {
      +
      6317  std::uint16_t len;
      +
      6318  return get_number(input_format_t::msgpack, len) and get_msgpack_object(static_cast<std::size_t>(len));
      +
      6319  }
      +
      6320 
      +
      6321  case 0xDF: // map 32
      +
      6322  {
      +
      6323  std::uint32_t len;
      +
      6324  return get_number(input_format_t::msgpack, len) and get_msgpack_object(static_cast<std::size_t>(len));
      +
      6325  }
      +
      6326 
      +
      6327  // negative fixint
      +
      6328  case 0xE0:
      +
      6329  case 0xE1:
      +
      6330  case 0xE2:
      +
      6331  case 0xE3:
      +
      6332  case 0xE4:
      +
      6333  case 0xE5:
      +
      6334  case 0xE6:
      +
      6335  case 0xE7:
      +
      6336  case 0xE8:
      +
      6337  case 0xE9:
      +
      6338  case 0xEA:
      +
      6339  case 0xEB:
      +
      6340  case 0xEC:
      +
      6341  case 0xED:
      +
      6342  case 0xEE:
      +
      6343  case 0xEF:
      +
      6344  case 0xF0:
      +
      6345  case 0xF1:
      +
      6346  case 0xF2:
      +
      6347  case 0xF3:
      +
      6348  case 0xF4:
      +
      6349  case 0xF5:
      +
      6350  case 0xF6:
      +
      6351  case 0xF7:
      +
      6352  case 0xF8:
      +
      6353  case 0xF9:
      +
      6354  case 0xFA:
      +
      6355  case 0xFB:
      +
      6356  case 0xFC:
      +
      6357  case 0xFD:
      +
      6358  case 0xFE:
      +
      6359  case 0xFF:
      +
      6360  return sax->number_integer(static_cast<std::int8_t>(current));
      +
      6361 
      +
      6362  default: // anything else
      +
      6363  {
      +
      6364  auto last_token = get_token_string();
      +
      6365  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value")));
      +
      6366  }
      +
      6367  }
      +
      6368  }
      +
      6369 
      +
      6380  bool get_msgpack_string(string_t& result)
      +
      6381  {
      +
      6382  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::msgpack, "string")))
      +
      6383  {
      +
      6384  return false;
      +
      6385  }
      +
      6386 
      +
      6387  switch (current)
      +
      6388  {
      +
      6389  // fixstr
      +
      6390  case 0xA0:
      +
      6391  case 0xA1:
      +
      6392  case 0xA2:
      +
      6393  case 0xA3:
      +
      6394  case 0xA4:
      +
      6395  case 0xA5:
      +
      6396  case 0xA6:
      +
      6397  case 0xA7:
      +
      6398  case 0xA8:
      +
      6399  case 0xA9:
      +
      6400  case 0xAA:
      +
      6401  case 0xAB:
      +
      6402  case 0xAC:
      +
      6403  case 0xAD:
      +
      6404  case 0xAE:
      +
      6405  case 0xAF:
      +
      6406  case 0xB0:
      +
      6407  case 0xB1:
      +
      6408  case 0xB2:
      +
      6409  case 0xB3:
      +
      6410  case 0xB4:
      +
      6411  case 0xB5:
      +
      6412  case 0xB6:
      +
      6413  case 0xB7:
      +
      6414  case 0xB8:
      +
      6415  case 0xB9:
      +
      6416  case 0xBA:
      +
      6417  case 0xBB:
      +
      6418  case 0xBC:
      +
      6419  case 0xBD:
      +
      6420  case 0xBE:
      +
      6421  case 0xBF:
      +
      6422  {
      +
      6423  return get_string(input_format_t::msgpack, static_cast<unsigned int>(current) & 0x1Fu, result);
      +
      6424  }
      +
      6425 
      +
      6426  case 0xD9: // str 8
      +
      6427  {
      +
      6428  std::uint8_t len;
      +
      6429  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
      +
      6430  }
      +
      6431 
      +
      6432  case 0xDA: // str 16
      +
      6433  {
      +
      6434  std::uint16_t len;
      +
      6435  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
      +
      6436  }
      +
      6437 
      +
      6438  case 0xDB: // str 32
      +
      6439  {
      +
      6440  std::uint32_t len;
      +
      6441  return get_number(input_format_t::msgpack, len) and get_string(input_format_t::msgpack, len, result);
      +
      6442  }
      +
      6443 
      +
      6444  default:
      +
      6445  {
      +
      6446  auto last_token = get_token_string();
      +
      6447  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string")));
      +
      6448  }
      +
      6449  }
      +
      6450  }
      +
      6451 
      +
      6456  bool get_msgpack_array(const std::size_t len)
      +
      6457  {
      +
      6458  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len)))
      +
      6459  {
      +
      6460  return false;
      +
      6461  }
      +
      6462 
      +
      6463  for (std::size_t i = 0; i < len; ++i)
      +
      6464  {
      +
      6465  if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal()))
      +
      6466  {
      +
      6467  return false;
      +
      6468  }
      +
      6469  }
      +
      6470 
      +
      6471  return sax->end_array();
      +
      6472  }
      +
      6473 
      +
      6478  bool get_msgpack_object(const std::size_t len)
      +
      6479  {
      +
      6480  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len)))
      +
      6481  {
      +
      6482  return false;
      +
      6483  }
      +
      6484 
      +
      6485  string_t key;
      +
      6486  for (std::size_t i = 0; i < len; ++i)
      +
      6487  {
      +
      6488  get();
      +
      6489  if (JSON_HEDLEY_UNLIKELY(not get_msgpack_string(key) or not sax->key(key)))
      +
      6490  {
      +
      6491  return false;
      +
      6492  }
      +
      6493 
      +
      6494  if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal()))
      +
      6495  {
      +
      6496  return false;
      +
      6497  }
      +
      6498  key.clear();
      +
      6499  }
      +
      6500 
      +
      6501  return sax->end_object();
      +
      6502  }
      +
      6503 
      +
      6505  // UBJSON //
      +
      6507 
      +
      6515  bool parse_ubjson_internal(const bool get_char = true)
      +
      6516  {
      +
      6517  return get_ubjson_value(get_char ? get_ignore_noop() : current);
      +
      6518  }
      +
      6519 
      +
      6534  bool get_ubjson_string(string_t& result, const bool get_char = true)
      +
      6535  {
      +
      6536  if (get_char)
      +
      6537  {
      +
      6538  get(); // TODO(niels): may we ignore N here?
      +
      6539  }
      +
      6540 
      +
      6541  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value")))
      +
      6542  {
      +
      6543  return false;
      +
      6544  }
      +
      6545 
      +
      6546  switch (current)
      +
      6547  {
      +
      6548  case 'U':
      +
      6549  {
      +
      6550  std::uint8_t len;
      +
      6551  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
      +
      6552  }
      +
      6553 
      +
      6554  case 'i':
      +
      6555  {
      +
      6556  std::int8_t len;
      +
      6557  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
      +
      6558  }
      +
      6559 
      +
      6560  case 'I':
      +
      6561  {
      +
      6562  std::int16_t len;
      +
      6563  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
      +
      6564  }
      +
      6565 
      +
      6566  case 'l':
      +
      6567  {
      +
      6568  std::int32_t len;
      +
      6569  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
      +
      6570  }
      +
      6571 
      +
      6572  case 'L':
      +
      6573  {
      +
      6574  std::int64_t len;
      +
      6575  return get_number(input_format_t::ubjson, len) and get_string(input_format_t::ubjson, len, result);
      +
      6576  }
      +
      6577 
      +
      6578  default:
      +
      6579  auto last_token = get_token_string();
      +
      6580  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string")));
      +
      6581  }
      +
      6582  }
      +
      6583 
      +
      6588  bool get_ubjson_size_value(std::size_t& result)
      +
      6589  {
      +
      6590  switch (get_ignore_noop())
      +
      6591  {
      +
      6592  case 'U':
      +
      6593  {
      +
      6594  std::uint8_t number;
      +
      6595  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
      +
      6596  {
      +
      6597  return false;
      +
      6598  }
      +
      6599  result = static_cast<std::size_t>(number);
      +
      6600  return true;
      +
      6601  }
      +
      6602 
      +
      6603  case 'i':
      +
      6604  {
      +
      6605  std::int8_t number;
      +
      6606  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
      +
      6607  {
      +
      6608  return false;
      +
      6609  }
      +
      6610  result = static_cast<std::size_t>(number);
      +
      6611  return true;
      +
      6612  }
      +
      6613 
      +
      6614  case 'I':
      +
      6615  {
      +
      6616  std::int16_t number;
      +
      6617  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
      +
      6618  {
      +
      6619  return false;
      +
      6620  }
      +
      6621  result = static_cast<std::size_t>(number);
      +
      6622  return true;
      +
      6623  }
      +
      6624 
      +
      6625  case 'l':
      +
      6626  {
      +
      6627  std::int32_t number;
      +
      6628  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
      +
      6629  {
      +
      6630  return false;
      +
      6631  }
      +
      6632  result = static_cast<std::size_t>(number);
      +
      6633  return true;
      +
      6634  }
      +
      6635 
      +
      6636  case 'L':
      +
      6637  {
      +
      6638  std::int64_t number;
      +
      6639  if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number)))
      +
      6640  {
      +
      6641  return false;
      +
      6642  }
      +
      6643  result = static_cast<std::size_t>(number);
      +
      6644  return true;
      +
      6645  }
      +
      6646 
      +
      6647  default:
      +
      6648  {
      +
      6649  auto last_token = get_token_string();
      +
      6650  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size")));
      +
      6651  }
      +
      6652  }
      +
      6653  }
      +
      6654 
      +
      6665  bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
      +
      6666  {
      +
      6667  result.first = string_t::npos; // size
      +
      6668  result.second = 0; // type
      +
      6669 
      +
      6670  get_ignore_noop();
      +
      6671 
      +
      6672  if (current == '$')
      +
      6673  {
      +
      6674  result.second = get(); // must not ignore 'N', because 'N' maybe the type
      +
      6675  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "type")))
      +
      6676  {
      +
      6677  return false;
      +
      6678  }
      +
      6679 
      +
      6680  get_ignore_noop();
      +
      6681  if (JSON_HEDLEY_UNLIKELY(current != '#'))
      +
      6682  {
      +
      6683  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value")))
      +
      6684  {
      +
      6685  return false;
      +
      6686  }
      +
      6687  auto last_token = get_token_string();
      +
      6688  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size")));
      +
      6689  }
      +
      6690 
      +
      6691  return get_ubjson_size_value(result.first);
      +
      6692  }
      +
      6693 
      +
      6694  if (current == '#')
      +
      6695  {
      +
      6696  return get_ubjson_size_value(result.first);
      +
      6697  }
      +
      6698 
      +
      6699  return true;
      +
      6700  }
      +
      6701 
      +
      6706  bool get_ubjson_value(const int prefix)
      +
      6707  {
      +
      6708  switch (prefix)
      +
      6709  {
      +
      6710  case std::char_traits<char>::eof(): // EOF
      +
      6711  return unexpect_eof(input_format_t::ubjson, "value");
      +
      6712 
      +
      6713  case 'T': // true
      +
      6714  return sax->boolean(true);
      +
      6715  case 'F': // false
      +
      6716  return sax->boolean(false);
      +
      6717 
      +
      6718  case 'Z': // null
      +
      6719  return sax->null();
      +
      6720 
      +
      6721  case 'U':
      +
      6722  {
      +
      6723  std::uint8_t number;
      +
      6724  return get_number(input_format_t::ubjson, number) and sax->number_unsigned(number);
      +
      6725  }
      +
      6726 
      +
      6727  case 'i':
      +
      6728  {
      +
      6729  std::int8_t number;
      +
      6730  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
      +
      6731  }
      +
      6732 
      +
      6733  case 'I':
      +
      6734  {
      +
      6735  std::int16_t number;
      +
      6736  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
      +
      6737  }
      +
      6738 
      +
      6739  case 'l':
      +
      6740  {
      +
      6741  std::int32_t number;
      +
      6742  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
      +
      6743  }
      +
      6744 
      +
      6745  case 'L':
      +
      6746  {
      +
      6747  std::int64_t number;
      +
      6748  return get_number(input_format_t::ubjson, number) and sax->number_integer(number);
      +
      6749  }
      +
      6750 
      +
      6751  case 'd':
      +
      6752  {
      +
      6753  float number;
      +
      6754  return get_number(input_format_t::ubjson, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      6755  }
      +
      6756 
      +
      6757  case 'D':
      +
      6758  {
      +
      6759  double number;
      +
      6760  return get_number(input_format_t::ubjson, number) and sax->number_float(static_cast<number_float_t>(number), "");
      +
      6761  }
      +
      6762 
      +
      6763  case 'C': // char
      +
      6764  {
      +
      6765  get();
      +
      6766  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "char")))
      +
      6767  {
      +
      6768  return false;
      +
      6769  }
      +
      6770  if (JSON_HEDLEY_UNLIKELY(current > 127))
      +
      6771  {
      +
      6772  auto last_token = get_token_string();
      +
      6773  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char")));
      +
      6774  }
      +
      6775  string_t s(1, static_cast<char>(current));
      +
      6776  return sax->string(s);
      +
      6777  }
      +
      6778 
      +
      6779  case 'S': // string
      +
      6780  {
      +
      6781  string_t s;
      +
      6782  return get_ubjson_string(s) and sax->string(s);
      +
      6783  }
      +
      6784 
      +
      6785  case '[': // array
      +
      6786  return get_ubjson_array();
      +
      6787 
      +
      6788  case '{': // object
      +
      6789  return get_ubjson_object();
      +
      6790 
      +
      6791  default: // anything else
      +
      6792  {
      +
      6793  auto last_token = get_token_string();
      +
      6794  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value")));
      +
      6795  }
      +
      6796  }
      +
      6797  }
      +
      6798 
      +
      6802  bool get_ubjson_array()
      +
      6803  {
      +
      6804  std::pair<std::size_t, int> size_and_type;
      +
      6805  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type)))
      +
      6806  {
      +
      6807  return false;
      +
      6808  }
      +
      6809 
      +
      6810  if (size_and_type.first != string_t::npos)
      +
      6811  {
      +
      6812  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(size_and_type.first)))
      +
      6813  {
      +
      6814  return false;
      +
      6815  }
      +
      6816 
      +
      6817  if (size_and_type.second != 0)
      +
      6818  {
      +
      6819  if (size_and_type.second != 'N')
      +
      6820  {
      +
      6821  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      6822  {
      +
      6823  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second)))
      +
      6824  {
      +
      6825  return false;
      +
      6826  }
      +
      6827  }
      +
      6828  }
      +
      6829  }
      +
      6830  else
      +
      6831  {
      +
      6832  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      6833  {
      +
      6834  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
      +
      6835  {
      +
      6836  return false;
      +
      6837  }
      +
      6838  }
      +
      6839  }
      +
      6840  }
      +
      6841  else
      +
      6842  {
      +
      6843  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
      +
      6844  {
      +
      6845  return false;
      +
      6846  }
      +
      6847 
      +
      6848  while (current != ']')
      +
      6849  {
      +
      6850  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal(false)))
      +
      6851  {
      +
      6852  return false;
      +
      6853  }
      +
      6854  get_ignore_noop();
      +
      6855  }
      +
      6856  }
      +
      6857 
      +
      6858  return sax->end_array();
      +
      6859  }
      +
      6860 
      +
      6864  bool get_ubjson_object()
      +
      6865  {
      +
      6866  std::pair<std::size_t, int> size_and_type;
      +
      6867  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type)))
      +
      6868  {
      +
      6869  return false;
      +
      6870  }
      +
      6871 
      +
      6872  string_t key;
      +
      6873  if (size_and_type.first != string_t::npos)
      +
      6874  {
      +
      6875  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(size_and_type.first)))
      +
      6876  {
      +
      6877  return false;
      +
      6878  }
      +
      6879 
      +
      6880  if (size_and_type.second != 0)
      +
      6881  {
      +
      6882  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      6883  {
      +
      6884  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key)))
      +
      6885  {
      +
      6886  return false;
      +
      6887  }
      +
      6888  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second)))
      +
      6889  {
      +
      6890  return false;
      +
      6891  }
      +
      6892  key.clear();
      +
      6893  }
      +
      6894  }
      +
      6895  else
      +
      6896  {
      +
      6897  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      6898  {
      +
      6899  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key)))
      +
      6900  {
      +
      6901  return false;
      +
      6902  }
      +
      6903  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
      +
      6904  {
      +
      6905  return false;
      +
      6906  }
      +
      6907  key.clear();
      +
      6908  }
      +
      6909  }
      +
      6910  }
      +
      6911  else
      +
      6912  {
      +
      6913  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
      +
      6914  {
      +
      6915  return false;
      +
      6916  }
      +
      6917 
      +
      6918  while (current != '}')
      +
      6919  {
      +
      6920  if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key, false) or not sax->key(key)))
      +
      6921  {
      +
      6922  return false;
      +
      6923  }
      +
      6924  if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal()))
      +
      6925  {
      +
      6926  return false;
      +
      6927  }
      +
      6928  get_ignore_noop();
      +
      6929  key.clear();
      +
      6930  }
      +
      6931  }
      +
      6932 
      +
      6933  return sax->end_object();
      +
      6934  }
      +
      6935 
      +
      6937  // Utility functions //
      +
      6939 
      +
      6949  int get()
      +
      6950  {
      +
      6951  ++chars_read;
      +
      6952  return current = ia->get_character();
      +
      6953  }
      +
      6954 
      +
      6958  int get_ignore_noop()
      +
      6959  {
      +
      6960  do
      +
      6961  {
      +
      6962  get();
      +
      6963  }
      +
      6964  while (current == 'N');
      +
      6965 
      +
      6966  return current;
      +
      6967  }
      +
      6968 
      +
      6969  /*
      +
      6970  @brief read a number from the input
      +
      6971 
      +
      6972  @tparam NumberType the type of the number
      +
      6973  @param[in] format the current format (for diagnostics)
      +
      6974  @param[out] result number of type @a NumberType
      +
      6975 
      +
      6976  @return whether conversion completed
      +
      6977 
      +
      6978  @note This function needs to respect the system's endianess, because
      +
      6979  bytes in CBOR, MessagePack, and UBJSON are stored in network order
      +
      6980  (big endian) and therefore need reordering on little endian systems.
      +
      6981  */
      +
      6982  template<typename NumberType, bool InputIsLittleEndian = false>
      +
      6983  bool get_number(const input_format_t format, NumberType& result)
      +
      6984  {
      +
      6985  // step 1: read input into array with system's byte order
      +
      6986  std::array<std::uint8_t, sizeof(NumberType)> vec;
      +
      6987  for (std::size_t i = 0; i < sizeof(NumberType); ++i)
      +
      6988  {
      +
      6989  get();
      +
      6990  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "number")))
      +
      6991  {
      +
      6992  return false;
      +
      6993  }
      +
      6994 
      +
      6995  // reverse byte order prior to conversion if necessary
      +
      6996  if (is_little_endian != InputIsLittleEndian)
      +
      6997  {
      +
      6998  vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current);
      +
      6999  }
      +
      7000  else
      +
      7001  {
      +
      7002  vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE
      +
      7003  }
      +
      7004  }
      +
      7005 
      +
      7006  // step 2: convert array into number of type T and return
      +
      7007  std::memcpy(&result, vec.data(), sizeof(NumberType));
      +
      7008  return true;
      +
      7009  }
      +
      7010 
      +
      7025  template<typename NumberType>
      +
      7026  bool get_string(const input_format_t format,
      +
      7027  const NumberType len,
      +
      7028  string_t& result)
      +
      7029  {
      +
      7030  bool success = true;
      +
      7031  std::generate_n(std::back_inserter(result), len, [this, &success, &format]()
      +
      7032  {
      +
      7033  get();
      +
      7034  if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "string")))
      +
      7035  {
      +
      7036  success = false;
      +
      7037  }
      +
      7038  return static_cast<char>(current);
      +
      7039  });
      +
      7040  return success;
      +
      7041  }
      +
      7042 
      + +
      7049  bool unexpect_eof(const input_format_t format, const char* context) const
      +
      7050  {
      +
      7051  if (JSON_HEDLEY_UNLIKELY(current == std::char_traits<char>::eof()))
      +
      7052  {
      +
      7053  return sax->parse_error(chars_read, "<end of file>",
      +
      7054  parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context)));
      +
      7055  }
      +
      7056  return true;
      +
      7057  }
      +
      7058 
      +
      7062  std::string get_token_string() const
      +
      7063  {
      +
      7064  std::array<char, 3> cr{{}};
      +
      7065  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(current));
      +
      7066  return std::string{cr.data()};
      +
      7067  }
      +
      7068 
      +
      7075  std::string exception_message(const input_format_t format,
      +
      7076  const std::string& detail,
      +
      7077  const std::string& context) const
      +
      7078  {
      +
      7079  std::string error_msg = "syntax error while parsing ";
      +
      7080 
      +
      7081  switch (format)
      +
      7082  {
      +
      7083  case input_format_t::cbor:
      +
      7084  error_msg += "CBOR";
      +
      7085  break;
      +
      7086 
      + +
      7088  error_msg += "MessagePack";
      +
      7089  break;
      +
      7090 
      + +
      7092  error_msg += "UBJSON";
      +
      7093  break;
      +
      7094 
      +
      7095  case input_format_t::bson:
      +
      7096  error_msg += "BSON";
      +
      7097  break;
      +
      7098 
      +
      7099  default: // LCOV_EXCL_LINE
      +
      7100  assert(false); // LCOV_EXCL_LINE
      +
      7101  }
      +
      7102 
      +
      7103  return error_msg + " " + context + ": " + detail;
      +
      7104  }
      +
      7105 
      +
      7106  private:
      +
      7108  input_adapter_t ia = nullptr;
      +
      7109 
      +
      7111  int current = std::char_traits<char>::eof();
      +
      7112 
      +
      7114  std::size_t chars_read = 0;
      +
      7115 
      +
      7117  const bool is_little_endian = little_endianess();
      +
      7118 
      +
      7120  json_sax_t* sax = nullptr;
      +
      7121 };
      +
      7122 } // namespace detail
      +
      7123 } // namespace nlohmann
      +
      7124 
      +
      7125 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      7126 
      +
      7127 // #include <nlohmann/detail/input/lexer.hpp>
      +
      7128 
      +
      7129 
      +
      7130 #include <array> // array
      +
      7131 #include <clocale> // localeconv
      +
      7132 #include <cstddef> // size_t
      +
      7133 #include <cstdio> // snprintf
      +
      7134 #include <cstdlib> // strtof, strtod, strtold, strtoll, strtoull
      +
      7135 #include <initializer_list> // initializer_list
      +
      7136 #include <string> // char_traits, string
      +
      7137 #include <utility> // move
      +
      7138 #include <vector> // vector
      +
      7139 
      +
      7140 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      7141 
      +
      7142 // #include <nlohmann/detail/input/position_t.hpp>
      +
      7143 
      +
      7144 // #include <nlohmann/detail/macro_scope.hpp>
      +
      7145 
      +
      7146 
      +
      7147 namespace nlohmann
      +
      7148 {
      +
      7149 namespace detail
      +
      7150 {
      +
      7152 // lexer //
      +
      7154 
      +
      7160 template<typename BasicJsonType>
      +
      7161 class lexer
      +
      7162 {
      +
      7163  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      7164  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      7165  using number_float_t = typename BasicJsonType::number_float_t;
      +
      7166  using string_t = typename BasicJsonType::string_t;
      +
      7167 
      +
      7168  public:
      +
      7170  enum class token_type
      +
      7171  {
      +
      7172  uninitialized,
      +
      7173  literal_true,
      +
      7174  literal_false,
      +
      7175  literal_null,
      +
      7176  value_string,
      +
      7177  value_unsigned,
      +
      7178  value_integer,
      +
      7179  value_float,
      +
      7180  begin_array,
      +
      7181  begin_object,
      +
      7182  end_array,
      +
      7183  end_object,
      +
      7184  name_separator,
      +
      7185  value_separator,
      +
      7186  parse_error,
      +
      7187  end_of_input,
      + +
      7189  };
      +
      7190 
      + + +
      7194  static const char* token_type_name(const token_type t) noexcept
      +
      7195  {
      +
      7196  switch (t)
      +
      7197  {
      + +
      7199  return "<uninitialized>";
      + +
      7201  return "true literal";
      + +
      7203  return "false literal";
      + +
      7205  return "null literal";
      + +
      7207  return "string literal";
      + + + +
      7211  return "number literal";
      + +
      7213  return "'['";
      + +
      7215  return "'{'";
      +
      7216  case token_type::end_array:
      +
      7217  return "']'";
      + +
      7219  return "'}'";
      + +
      7221  return "':'";
      + +
      7223  return "','";
      + +
      7225  return "<parse error>";
      + +
      7227  return "end of input";
      + +
      7229  return "'[', '{', or a literal";
      +
      7230  // LCOV_EXCL_START
      +
      7231  default: // catch non-enum values
      +
      7232  return "unknown token";
      +
      7233  // LCOV_EXCL_STOP
      +
      7234  }
      +
      7235  }
      +
      7236 
      +
      7237  explicit lexer(detail::input_adapter_t&& adapter)
      +
      7238  : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {}
      +
      7239 
      +
      7240  // delete because of pointer members
      +
      7241  lexer(const lexer&) = delete;
      +
      7242  lexer(lexer&&) = delete;
      +
      7243  lexer& operator=(lexer&) = delete;
      +
      7244  lexer& operator=(lexer&&) = delete;
      +
      7245  ~lexer() = default;
      +
      7246 
      +
      7247  private:
      +
      7249  // locales
      +
      7251 
      + +
      7254  static char get_decimal_point() noexcept
      +
      7255  {
      +
      7256  const auto loc = localeconv();
      +
      7257  assert(loc != nullptr);
      +
      7258  return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
      +
      7259  }
      +
      7260 
      +
      7262  // scan functions
      +
      7264 
      +
      7280  int get_codepoint()
      +
      7281  {
      +
      7282  // this function only makes sense after reading `\u`
      +
      7283  assert(current == 'u');
      +
      7284  int codepoint = 0;
      +
      7285 
      +
      7286  const auto factors = { 12u, 8u, 4u, 0u };
      +
      7287  for (const auto factor : factors)
      +
      7288  {
      +
      7289  get();
      +
      7290 
      +
      7291  if (current >= '0' and current <= '9')
      +
      7292  {
      +
      7293  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x30u) << factor);
      +
      7294  }
      +
      7295  else if (current >= 'A' and current <= 'F')
      +
      7296  {
      +
      7297  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x37u) << factor);
      +
      7298  }
      +
      7299  else if (current >= 'a' and current <= 'f')
      +
      7300  {
      +
      7301  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x57u) << factor);
      +
      7302  }
      +
      7303  else
      +
      7304  {
      +
      7305  return -1;
      +
      7306  }
      +
      7307  }
      +
      7308 
      +
      7309  assert(0x0000 <= codepoint and codepoint <= 0xFFFF);
      +
      7310  return codepoint;
      +
      7311  }
      +
      7312 
      +
      7328  bool next_byte_in_range(std::initializer_list<int> ranges)
      +
      7329  {
      +
      7330  assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6);
      +
      7331  add(current);
      +
      7332 
      +
      7333  for (auto range = ranges.begin(); range != ranges.end(); ++range)
      +
      7334  {
      +
      7335  get();
      +
      7336  if (JSON_HEDLEY_LIKELY(*range <= current and current <= *(++range)))
      +
      7337  {
      +
      7338  add(current);
      +
      7339  }
      +
      7340  else
      +
      7341  {
      +
      7342  error_message = "invalid string: ill-formed UTF-8 byte";
      +
      7343  return false;
      +
      7344  }
      +
      7345  }
      +
      7346 
      +
      7347  return true;
      +
      7348  }
      +
      7349 
      +
      7365  token_type scan_string()
      +
      7366  {
      +
      7367  // reset token_buffer (ignore opening quote)
      +
      7368  reset();
      +
      7369 
      +
      7370  // we entered the function by reading an open quote
      +
      7371  assert(current == '\"');
      +
      7372 
      +
      7373  while (true)
      +
      7374  {
      +
      7375  // get next character
      +
      7376  switch (get())
      +
      7377  {
      +
      7378  // end of file while parsing string
      +
      7379  case std::char_traits<char>::eof():
      +
      7380  {
      +
      7381  error_message = "invalid string: missing closing quote";
      +
      7382  return token_type::parse_error;
      +
      7383  }
      +
      7384 
      +
      7385  // closing quote
      +
      7386  case '\"':
      +
      7387  {
      +
      7388  return token_type::value_string;
      +
      7389  }
      +
      7390 
      +
      7391  // escapes
      +
      7392  case '\\':
      +
      7393  {
      +
      7394  switch (get())
      +
      7395  {
      +
      7396  // quotation mark
      +
      7397  case '\"':
      +
      7398  add('\"');
      +
      7399  break;
      +
      7400  // reverse solidus
      +
      7401  case '\\':
      +
      7402  add('\\');
      +
      7403  break;
      +
      7404  // solidus
      +
      7405  case '/':
      +
      7406  add('/');
      +
      7407  break;
      +
      7408  // backspace
      +
      7409  case 'b':
      +
      7410  add('\b');
      +
      7411  break;
      +
      7412  // form feed
      +
      7413  case 'f':
      +
      7414  add('\f');
      +
      7415  break;
      +
      7416  // line feed
      +
      7417  case 'n':
      +
      7418  add('\n');
      +
      7419  break;
      +
      7420  // carriage return
      +
      7421  case 'r':
      +
      7422  add('\r');
      +
      7423  break;
      +
      7424  // tab
      +
      7425  case 't':
      +
      7426  add('\t');
      +
      7427  break;
      +
      7428 
      +
      7429  // unicode escapes
      +
      7430  case 'u':
      +
      7431  {
      +
      7432  const int codepoint1 = get_codepoint();
      +
      7433  int codepoint = codepoint1; // start with codepoint1
      +
      7434 
      +
      7435  if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1))
      +
      7436  {
      +
      7437  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
      +
      7438  return token_type::parse_error;
      +
      7439  }
      +
      7440 
      +
      7441  // check if code point is a high surrogate
      +
      7442  if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF)
      +
      7443  {
      +
      7444  // expect next \uxxxx entry
      +
      7445  if (JSON_HEDLEY_LIKELY(get() == '\\' and get() == 'u'))
      +
      7446  {
      +
      7447  const int codepoint2 = get_codepoint();
      +
      7448 
      +
      7449  if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1))
      +
      7450  {
      +
      7451  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
      +
      7452  return token_type::parse_error;
      +
      7453  }
      +
      7454 
      +
      7455  // check if codepoint2 is a low surrogate
      +
      7456  if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF))
      +
      7457  {
      +
      7458  // overwrite codepoint
      +
      7459  codepoint = static_cast<int>(
      +
      7460  // high surrogate occupies the most significant 22 bits
      +
      7461  (static_cast<unsigned int>(codepoint1) << 10u)
      +
      7462  // low surrogate occupies the least significant 15 bits
      +
      7463  + static_cast<unsigned int>(codepoint2)
      +
      7464  // there is still the 0xD800, 0xDC00 and 0x10000 noise
      +
      7465  // in the result so we have to subtract with:
      +
      7466  // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
      +
      7467  - 0x35FDC00u);
      +
      7468  }
      +
      7469  else
      +
      7470  {
      +
      7471  error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
      +
      7472  return token_type::parse_error;
      +
      7473  }
      +
      7474  }
      +
      7475  else
      +
      7476  {
      +
      7477  error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF";
      +
      7478  return token_type::parse_error;
      +
      7479  }
      +
      7480  }
      +
      7481  else
      +
      7482  {
      +
      7483  if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF))
      +
      7484  {
      +
      7485  error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
      +
      7486  return token_type::parse_error;
      +
      7487  }
      +
      7488  }
      +
      7489 
      +
      7490  // result of the above calculation yields a proper codepoint
      +
      7491  assert(0x00 <= codepoint and codepoint <= 0x10FFFF);
      +
      7492 
      +
      7493  // translate codepoint into bytes
      +
      7494  if (codepoint < 0x80)
      +
      7495  {
      +
      7496  // 1-byte characters: 0xxxxxxx (ASCII)
      +
      7497  add(codepoint);
      +
      7498  }
      +
      7499  else if (codepoint <= 0x7FF)
      +
      7500  {
      +
      7501  // 2-byte characters: 110xxxxx 10xxxxxx
      +
      7502  add(static_cast<int>(0xC0u | (static_cast<unsigned int>(codepoint) >> 6u)));
      +
      7503  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      7504  }
      +
      7505  else if (codepoint <= 0xFFFF)
      +
      7506  {
      +
      7507  // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
      +
      7508  add(static_cast<int>(0xE0u | (static_cast<unsigned int>(codepoint) >> 12u)));
      +
      7509  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
      +
      7510  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      7511  }
      +
      7512  else
      +
      7513  {
      +
      7514  // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
      +
      7515  add(static_cast<int>(0xF0u | (static_cast<unsigned int>(codepoint) >> 18u)));
      +
      7516  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 12u) & 0x3Fu)));
      +
      7517  add(static_cast<int>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
      +
      7518  add(static_cast<int>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      7519  }
      +
      7520 
      +
      7521  break;
      +
      7522  }
      +
      7523 
      +
      7524  // other characters after escape
      +
      7525  default:
      +
      7526  error_message = "invalid string: forbidden character after backslash";
      +
      7527  return token_type::parse_error;
      +
      7528  }
      +
      7529 
      +
      7530  break;
      +
      7531  }
      +
      7532 
      +
      7533  // invalid control characters
      +
      7534  case 0x00:
      +
      7535  {
      +
      7536  error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000";
      +
      7537  return token_type::parse_error;
      +
      7538  }
      +
      7539 
      +
      7540  case 0x01:
      +
      7541  {
      +
      7542  error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001";
      +
      7543  return token_type::parse_error;
      +
      7544  }
      +
      7545 
      +
      7546  case 0x02:
      +
      7547  {
      +
      7548  error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002";
      +
      7549  return token_type::parse_error;
      +
      7550  }
      +
      7551 
      +
      7552  case 0x03:
      +
      7553  {
      +
      7554  error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003";
      +
      7555  return token_type::parse_error;
      +
      7556  }
      +
      7557 
      +
      7558  case 0x04:
      +
      7559  {
      +
      7560  error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004";
      +
      7561  return token_type::parse_error;
      +
      7562  }
      +
      7563 
      +
      7564  case 0x05:
      +
      7565  {
      +
      7566  error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005";
      +
      7567  return token_type::parse_error;
      +
      7568  }
      +
      7569 
      +
      7570  case 0x06:
      +
      7571  {
      +
      7572  error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006";
      +
      7573  return token_type::parse_error;
      +
      7574  }
      +
      7575 
      +
      7576  case 0x07:
      +
      7577  {
      +
      7578  error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007";
      +
      7579  return token_type::parse_error;
      +
      7580  }
      +
      7581 
      +
      7582  case 0x08:
      +
      7583  {
      +
      7584  error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b";
      +
      7585  return token_type::parse_error;
      +
      7586  }
      +
      7587 
      +
      7588  case 0x09:
      +
      7589  {
      +
      7590  error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t";
      +
      7591  return token_type::parse_error;
      +
      7592  }
      +
      7593 
      +
      7594  case 0x0A:
      +
      7595  {
      +
      7596  error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n";
      +
      7597  return token_type::parse_error;
      +
      7598  }
      +
      7599 
      +
      7600  case 0x0B:
      +
      7601  {
      +
      7602  error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B";
      +
      7603  return token_type::parse_error;
      +
      7604  }
      +
      7605 
      +
      7606  case 0x0C:
      +
      7607  {
      +
      7608  error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f";
      +
      7609  return token_type::parse_error;
      +
      7610  }
      +
      7611 
      +
      7612  case 0x0D:
      +
      7613  {
      +
      7614  error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r";
      +
      7615  return token_type::parse_error;
      +
      7616  }
      +
      7617 
      +
      7618  case 0x0E:
      +
      7619  {
      +
      7620  error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E";
      +
      7621  return token_type::parse_error;
      +
      7622  }
      +
      7623 
      +
      7624  case 0x0F:
      +
      7625  {
      +
      7626  error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F";
      +
      7627  return token_type::parse_error;
      +
      7628  }
      +
      7629 
      +
      7630  case 0x10:
      +
      7631  {
      +
      7632  error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010";
      +
      7633  return token_type::parse_error;
      +
      7634  }
      +
      7635 
      +
      7636  case 0x11:
      +
      7637  {
      +
      7638  error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011";
      +
      7639  return token_type::parse_error;
      +
      7640  }
      +
      7641 
      +
      7642  case 0x12:
      +
      7643  {
      +
      7644  error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012";
      +
      7645  return token_type::parse_error;
      +
      7646  }
      +
      7647 
      +
      7648  case 0x13:
      +
      7649  {
      +
      7650  error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013";
      +
      7651  return token_type::parse_error;
      +
      7652  }
      +
      7653 
      +
      7654  case 0x14:
      +
      7655  {
      +
      7656  error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014";
      +
      7657  return token_type::parse_error;
      +
      7658  }
      +
      7659 
      +
      7660  case 0x15:
      +
      7661  {
      +
      7662  error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015";
      +
      7663  return token_type::parse_error;
      +
      7664  }
      +
      7665 
      +
      7666  case 0x16:
      +
      7667  {
      +
      7668  error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016";
      +
      7669  return token_type::parse_error;
      +
      7670  }
      +
      7671 
      +
      7672  case 0x17:
      +
      7673  {
      +
      7674  error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017";
      +
      7675  return token_type::parse_error;
      +
      7676  }
      +
      7677 
      +
      7678  case 0x18:
      +
      7679  {
      +
      7680  error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018";
      +
      7681  return token_type::parse_error;
      +
      7682  }
      +
      7683 
      +
      7684  case 0x19:
      +
      7685  {
      +
      7686  error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019";
      +
      7687  return token_type::parse_error;
      +
      7688  }
      +
      7689 
      +
      7690  case 0x1A:
      +
      7691  {
      +
      7692  error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A";
      +
      7693  return token_type::parse_error;
      +
      7694  }
      +
      7695 
      +
      7696  case 0x1B:
      +
      7697  {
      +
      7698  error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B";
      +
      7699  return token_type::parse_error;
      +
      7700  }
      +
      7701 
      +
      7702  case 0x1C:
      +
      7703  {
      +
      7704  error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C";
      +
      7705  return token_type::parse_error;
      +
      7706  }
      +
      7707 
      +
      7708  case 0x1D:
      +
      7709  {
      +
      7710  error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D";
      +
      7711  return token_type::parse_error;
      +
      7712  }
      +
      7713 
      +
      7714  case 0x1E:
      +
      7715  {
      +
      7716  error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E";
      +
      7717  return token_type::parse_error;
      +
      7718  }
      +
      7719 
      +
      7720  case 0x1F:
      +
      7721  {
      +
      7722  error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F";
      +
      7723  return token_type::parse_error;
      +
      7724  }
      +
      7725 
      +
      7726  // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
      +
      7727  case 0x20:
      +
      7728  case 0x21:
      +
      7729  case 0x23:
      +
      7730  case 0x24:
      +
      7731  case 0x25:
      +
      7732  case 0x26:
      +
      7733  case 0x27:
      +
      7734  case 0x28:
      +
      7735  case 0x29:
      +
      7736  case 0x2A:
      +
      7737  case 0x2B:
      +
      7738  case 0x2C:
      +
      7739  case 0x2D:
      +
      7740  case 0x2E:
      +
      7741  case 0x2F:
      +
      7742  case 0x30:
      +
      7743  case 0x31:
      +
      7744  case 0x32:
      +
      7745  case 0x33:
      +
      7746  case 0x34:
      +
      7747  case 0x35:
      +
      7748  case 0x36:
      +
      7749  case 0x37:
      +
      7750  case 0x38:
      +
      7751  case 0x39:
      +
      7752  case 0x3A:
      +
      7753  case 0x3B:
      +
      7754  case 0x3C:
      +
      7755  case 0x3D:
      +
      7756  case 0x3E:
      +
      7757  case 0x3F:
      +
      7758  case 0x40:
      +
      7759  case 0x41:
      +
      7760  case 0x42:
      +
      7761  case 0x43:
      +
      7762  case 0x44:
      +
      7763  case 0x45:
      +
      7764  case 0x46:
      +
      7765  case 0x47:
      +
      7766  case 0x48:
      +
      7767  case 0x49:
      +
      7768  case 0x4A:
      +
      7769  case 0x4B:
      +
      7770  case 0x4C:
      +
      7771  case 0x4D:
      +
      7772  case 0x4E:
      +
      7773  case 0x4F:
      +
      7774  case 0x50:
      +
      7775  case 0x51:
      +
      7776  case 0x52:
      +
      7777  case 0x53:
      +
      7778  case 0x54:
      +
      7779  case 0x55:
      +
      7780  case 0x56:
      +
      7781  case 0x57:
      +
      7782  case 0x58:
      +
      7783  case 0x59:
      +
      7784  case 0x5A:
      +
      7785  case 0x5B:
      +
      7786  case 0x5D:
      +
      7787  case 0x5E:
      +
      7788  case 0x5F:
      +
      7789  case 0x60:
      +
      7790  case 0x61:
      +
      7791  case 0x62:
      +
      7792  case 0x63:
      +
      7793  case 0x64:
      +
      7794  case 0x65:
      +
      7795  case 0x66:
      +
      7796  case 0x67:
      +
      7797  case 0x68:
      +
      7798  case 0x69:
      +
      7799  case 0x6A:
      +
      7800  case 0x6B:
      +
      7801  case 0x6C:
      +
      7802  case 0x6D:
      +
      7803  case 0x6E:
      +
      7804  case 0x6F:
      +
      7805  case 0x70:
      +
      7806  case 0x71:
      +
      7807  case 0x72:
      +
      7808  case 0x73:
      +
      7809  case 0x74:
      +
      7810  case 0x75:
      +
      7811  case 0x76:
      +
      7812  case 0x77:
      +
      7813  case 0x78:
      +
      7814  case 0x79:
      +
      7815  case 0x7A:
      +
      7816  case 0x7B:
      +
      7817  case 0x7C:
      +
      7818  case 0x7D:
      +
      7819  case 0x7E:
      +
      7820  case 0x7F:
      +
      7821  {
      +
      7822  add(current);
      +
      7823  break;
      +
      7824  }
      +
      7825 
      +
      7826  // U+0080..U+07FF: bytes C2..DF 80..BF
      +
      7827  case 0xC2:
      +
      7828  case 0xC3:
      +
      7829  case 0xC4:
      +
      7830  case 0xC5:
      +
      7831  case 0xC6:
      +
      7832  case 0xC7:
      +
      7833  case 0xC8:
      +
      7834  case 0xC9:
      +
      7835  case 0xCA:
      +
      7836  case 0xCB:
      +
      7837  case 0xCC:
      +
      7838  case 0xCD:
      +
      7839  case 0xCE:
      +
      7840  case 0xCF:
      +
      7841  case 0xD0:
      +
      7842  case 0xD1:
      +
      7843  case 0xD2:
      +
      7844  case 0xD3:
      +
      7845  case 0xD4:
      +
      7846  case 0xD5:
      +
      7847  case 0xD6:
      +
      7848  case 0xD7:
      +
      7849  case 0xD8:
      +
      7850  case 0xD9:
      +
      7851  case 0xDA:
      +
      7852  case 0xDB:
      +
      7853  case 0xDC:
      +
      7854  case 0xDD:
      +
      7855  case 0xDE:
      +
      7856  case 0xDF:
      +
      7857  {
      +
      7858  if (JSON_HEDLEY_UNLIKELY(not next_byte_in_range({0x80, 0xBF})))
      +
      7859  {
      +
      7860  return token_type::parse_error;
      +
      7861  }
      +
      7862  break;
      +
      7863  }
      +
      7864 
      +
      7865  // U+0800..U+0FFF: bytes E0 A0..BF 80..BF
      +
      7866  case 0xE0:
      +
      7867  {
      +
      7868  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF}))))
      +
      7869  {
      +
      7870  return token_type::parse_error;
      +
      7871  }
      +
      7872  break;
      +
      7873  }
      +
      7874 
      +
      7875  // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
      +
      7876  // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
      +
      7877  case 0xE1:
      +
      7878  case 0xE2:
      +
      7879  case 0xE3:
      +
      7880  case 0xE4:
      +
      7881  case 0xE5:
      +
      7882  case 0xE6:
      +
      7883  case 0xE7:
      +
      7884  case 0xE8:
      +
      7885  case 0xE9:
      +
      7886  case 0xEA:
      +
      7887  case 0xEB:
      +
      7888  case 0xEC:
      +
      7889  case 0xEE:
      +
      7890  case 0xEF:
      +
      7891  {
      +
      7892  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF}))))
      +
      7893  {
      +
      7894  return token_type::parse_error;
      +
      7895  }
      +
      7896  break;
      +
      7897  }
      +
      7898 
      +
      7899  // U+D000..U+D7FF: bytes ED 80..9F 80..BF
      +
      7900  case 0xED:
      +
      7901  {
      +
      7902  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF}))))
      +
      7903  {
      +
      7904  return token_type::parse_error;
      +
      7905  }
      +
      7906  break;
      +
      7907  }
      +
      7908 
      +
      7909  // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
      +
      7910  case 0xF0:
      +
      7911  {
      +
      7912  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      7913  {
      +
      7914  return token_type::parse_error;
      +
      7915  }
      +
      7916  break;
      +
      7917  }
      +
      7918 
      +
      7919  // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
      +
      7920  case 0xF1:
      +
      7921  case 0xF2:
      +
      7922  case 0xF3:
      +
      7923  {
      +
      7924  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      7925  {
      +
      7926  return token_type::parse_error;
      +
      7927  }
      +
      7928  break;
      +
      7929  }
      +
      7930 
      +
      7931  // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
      +
      7932  case 0xF4:
      +
      7933  {
      +
      7934  if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      7935  {
      +
      7936  return token_type::parse_error;
      +
      7937  }
      +
      7938  break;
      +
      7939  }
      +
      7940 
      +
      7941  // remaining bytes (80..C1 and F5..FF) are ill-formed
      +
      7942  default:
      +
      7943  {
      +
      7944  error_message = "invalid string: ill-formed UTF-8 byte";
      +
      7945  return token_type::parse_error;
      +
      7946  }
      +
      7947  }
      +
      7948  }
      +
      7949  }
      +
      7950 
      + +
      7952  static void strtof(float& f, const char* str, char** endptr) noexcept
      +
      7953  {
      +
      7954  f = std::strtof(str, endptr);
      +
      7955  }
      +
      7956 
      + +
      7958  static void strtof(double& f, const char* str, char** endptr) noexcept
      +
      7959  {
      +
      7960  f = std::strtod(str, endptr);
      +
      7961  }
      +
      7962 
      + +
      7964  static void strtof(long double& f, const char* str, char** endptr) noexcept
      +
      7965  {
      +
      7966  f = std::strtold(str, endptr);
      +
      7967  }
      +
      7968 
      +
      8009  token_type scan_number() // lgtm [cpp/use-of-goto]
      +
      8010  {
      +
      8011  // reset token_buffer to store the number's bytes
      +
      8012  reset();
      +
      8013 
      +
      8014  // the type of the parsed number; initially set to unsigned; will be
      +
      8015  // changed if minus sign, decimal point or exponent is read
      +
      8016  token_type number_type = token_type::value_unsigned;
      +
      8017 
      +
      8018  // state (init): we just found out we need to scan a number
      +
      8019  switch (current)
      +
      8020  {
      +
      8021  case '-':
      +
      8022  {
      +
      8023  add(current);
      +
      8024  goto scan_number_minus;
      +
      8025  }
      +
      8026 
      +
      8027  case '0':
      +
      8028  {
      +
      8029  add(current);
      +
      8030  goto scan_number_zero;
      +
      8031  }
      +
      8032 
      +
      8033  case '1':
      +
      8034  case '2':
      +
      8035  case '3':
      +
      8036  case '4':
      +
      8037  case '5':
      +
      8038  case '6':
      +
      8039  case '7':
      +
      8040  case '8':
      +
      8041  case '9':
      +
      8042  {
      +
      8043  add(current);
      +
      8044  goto scan_number_any1;
      +
      8045  }
      +
      8046 
      +
      8047  // all other characters are rejected outside scan_number()
      +
      8048  default: // LCOV_EXCL_LINE
      +
      8049  assert(false); // LCOV_EXCL_LINE
      +
      8050  }
      +
      8051 
      +
      8052 scan_number_minus:
      +
      8053  // state: we just parsed a leading minus sign
      +
      8054  number_type = token_type::value_integer;
      +
      8055  switch (get())
      +
      8056  {
      +
      8057  case '0':
      +
      8058  {
      +
      8059  add(current);
      +
      8060  goto scan_number_zero;
      +
      8061  }
      +
      8062 
      +
      8063  case '1':
      +
      8064  case '2':
      +
      8065  case '3':
      +
      8066  case '4':
      +
      8067  case '5':
      +
      8068  case '6':
      +
      8069  case '7':
      +
      8070  case '8':
      +
      8071  case '9':
      +
      8072  {
      +
      8073  add(current);
      +
      8074  goto scan_number_any1;
      +
      8075  }
      +
      8076 
      +
      8077  default:
      +
      8078  {
      +
      8079  error_message = "invalid number; expected digit after '-'";
      +
      8080  return token_type::parse_error;
      +
      8081  }
      +
      8082  }
      +
      8083 
      +
      8084 scan_number_zero:
      +
      8085  // state: we just parse a zero (maybe with a leading minus sign)
      +
      8086  switch (get())
      +
      8087  {
      +
      8088  case '.':
      +
      8089  {
      +
      8090  add(decimal_point_char);
      +
      8091  goto scan_number_decimal1;
      +
      8092  }
      +
      8093 
      +
      8094  case 'e':
      +
      8095  case 'E':
      +
      8096  {
      +
      8097  add(current);
      +
      8098  goto scan_number_exponent;
      +
      8099  }
      +
      8100 
      +
      8101  default:
      +
      8102  goto scan_number_done;
      +
      8103  }
      +
      8104 
      +
      8105 scan_number_any1:
      +
      8106  // state: we just parsed a number 0-9 (maybe with a leading minus sign)
      +
      8107  switch (get())
      +
      8108  {
      +
      8109  case '0':
      +
      8110  case '1':
      +
      8111  case '2':
      +
      8112  case '3':
      +
      8113  case '4':
      +
      8114  case '5':
      +
      8115  case '6':
      +
      8116  case '7':
      +
      8117  case '8':
      +
      8118  case '9':
      +
      8119  {
      +
      8120  add(current);
      +
      8121  goto scan_number_any1;
      +
      8122  }
      +
      8123 
      +
      8124  case '.':
      +
      8125  {
      +
      8126  add(decimal_point_char);
      +
      8127  goto scan_number_decimal1;
      +
      8128  }
      +
      8129 
      +
      8130  case 'e':
      +
      8131  case 'E':
      +
      8132  {
      +
      8133  add(current);
      +
      8134  goto scan_number_exponent;
      +
      8135  }
      +
      8136 
      +
      8137  default:
      +
      8138  goto scan_number_done;
      +
      8139  }
      +
      8140 
      +
      8141 scan_number_decimal1:
      +
      8142  // state: we just parsed a decimal point
      +
      8143  number_type = token_type::value_float;
      +
      8144  switch (get())
      +
      8145  {
      +
      8146  case '0':
      +
      8147  case '1':
      +
      8148  case '2':
      +
      8149  case '3':
      +
      8150  case '4':
      +
      8151  case '5':
      +
      8152  case '6':
      +
      8153  case '7':
      +
      8154  case '8':
      +
      8155  case '9':
      +
      8156  {
      +
      8157  add(current);
      +
      8158  goto scan_number_decimal2;
      +
      8159  }
      +
      8160 
      +
      8161  default:
      +
      8162  {
      +
      8163  error_message = "invalid number; expected digit after '.'";
      +
      8164  return token_type::parse_error;
      +
      8165  }
      +
      8166  }
      +
      8167 
      +
      8168 scan_number_decimal2:
      +
      8169  // we just parsed at least one number after a decimal point
      +
      8170  switch (get())
      +
      8171  {
      +
      8172  case '0':
      +
      8173  case '1':
      +
      8174  case '2':
      +
      8175  case '3':
      +
      8176  case '4':
      +
      8177  case '5':
      +
      8178  case '6':
      +
      8179  case '7':
      +
      8180  case '8':
      +
      8181  case '9':
      +
      8182  {
      +
      8183  add(current);
      +
      8184  goto scan_number_decimal2;
      +
      8185  }
      +
      8186 
      +
      8187  case 'e':
      +
      8188  case 'E':
      +
      8189  {
      +
      8190  add(current);
      +
      8191  goto scan_number_exponent;
      +
      8192  }
      +
      8193 
      +
      8194  default:
      +
      8195  goto scan_number_done;
      +
      8196  }
      +
      8197 
      +
      8198 scan_number_exponent:
      +
      8199  // we just parsed an exponent
      +
      8200  number_type = token_type::value_float;
      +
      8201  switch (get())
      +
      8202  {
      +
      8203  case '+':
      +
      8204  case '-':
      +
      8205  {
      +
      8206  add(current);
      +
      8207  goto scan_number_sign;
      +
      8208  }
      +
      8209 
      +
      8210  case '0':
      +
      8211  case '1':
      +
      8212  case '2':
      +
      8213  case '3':
      +
      8214  case '4':
      +
      8215  case '5':
      +
      8216  case '6':
      +
      8217  case '7':
      +
      8218  case '8':
      +
      8219  case '9':
      +
      8220  {
      +
      8221  add(current);
      +
      8222  goto scan_number_any2;
      +
      8223  }
      +
      8224 
      +
      8225  default:
      +
      8226  {
      +
      8227  error_message =
      +
      8228  "invalid number; expected '+', '-', or digit after exponent";
      +
      8229  return token_type::parse_error;
      +
      8230  }
      +
      8231  }
      +
      8232 
      +
      8233 scan_number_sign:
      +
      8234  // we just parsed an exponent sign
      +
      8235  switch (get())
      +
      8236  {
      +
      8237  case '0':
      +
      8238  case '1':
      +
      8239  case '2':
      +
      8240  case '3':
      +
      8241  case '4':
      +
      8242  case '5':
      +
      8243  case '6':
      +
      8244  case '7':
      +
      8245  case '8':
      +
      8246  case '9':
      +
      8247  {
      +
      8248  add(current);
      +
      8249  goto scan_number_any2;
      +
      8250  }
      +
      8251 
      +
      8252  default:
      +
      8253  {
      +
      8254  error_message = "invalid number; expected digit after exponent sign";
      +
      8255  return token_type::parse_error;
      +
      8256  }
      +
      8257  }
      +
      8258 
      +
      8259 scan_number_any2:
      +
      8260  // we just parsed a number after the exponent or exponent sign
      +
      8261  switch (get())
      +
      8262  {
      +
      8263  case '0':
      +
      8264  case '1':
      +
      8265  case '2':
      +
      8266  case '3':
      +
      8267  case '4':
      +
      8268  case '5':
      +
      8269  case '6':
      +
      8270  case '7':
      +
      8271  case '8':
      +
      8272  case '9':
      +
      8273  {
      +
      8274  add(current);
      +
      8275  goto scan_number_any2;
      +
      8276  }
      +
      8277 
      +
      8278  default:
      +
      8279  goto scan_number_done;
      +
      8280  }
      +
      8281 
      +
      8282 scan_number_done:
      +
      8283  // unget the character after the number (we only read it to know that
      +
      8284  // we are done scanning a number)
      +
      8285  unget();
      +
      8286 
      +
      8287  char* endptr = nullptr;
      +
      8288  errno = 0;
      +
      8289 
      +
      8290  // try to parse integers first and fall back to floats
      +
      8291  if (number_type == token_type::value_unsigned)
      +
      8292  {
      +
      8293  const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
      +
      8294 
      +
      8295  // we checked the number format before
      +
      8296  assert(endptr == token_buffer.data() + token_buffer.size());
      +
      8297 
      +
      8298  if (errno == 0)
      +
      8299  {
      +
      8300  value_unsigned = static_cast<number_unsigned_t>(x);
      +
      8301  if (value_unsigned == x)
      +
      8302  {
      +
      8303  return token_type::value_unsigned;
      +
      8304  }
      +
      8305  }
      +
      8306  }
      +
      8307  else if (number_type == token_type::value_integer)
      +
      8308  {
      +
      8309  const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
      +
      8310 
      +
      8311  // we checked the number format before
      +
      8312  assert(endptr == token_buffer.data() + token_buffer.size());
      +
      8313 
      +
      8314  if (errno == 0)
      +
      8315  {
      +
      8316  value_integer = static_cast<number_integer_t>(x);
      +
      8317  if (value_integer == x)
      +
      8318  {
      +
      8319  return token_type::value_integer;
      +
      8320  }
      +
      8321  }
      +
      8322  }
      +
      8323 
      +
      8324  // this code is reached if we parse a floating-point number or if an
      +
      8325  // integer conversion above failed
      +
      8326  strtof(value_float, token_buffer.data(), &endptr);
      +
      8327 
      +
      8328  // we checked the number format before
      +
      8329  assert(endptr == token_buffer.data() + token_buffer.size());
      +
      8330 
      +
      8331  return token_type::value_float;
      +
      8332  }
      +
      8333 
      + +
      8340  token_type scan_literal(const char* literal_text, const std::size_t length,
      +
      8341  token_type return_type)
      +
      8342  {
      +
      8343  assert(current == literal_text[0]);
      +
      8344  for (std::size_t i = 1; i < length; ++i)
      +
      8345  {
      +
      8346  if (JSON_HEDLEY_UNLIKELY(get() != literal_text[i]))
      +
      8347  {
      +
      8348  error_message = "invalid literal";
      +
      8349  return token_type::parse_error;
      +
      8350  }
      +
      8351  }
      +
      8352  return return_type;
      +
      8353  }
      +
      8354 
      +
      8356  // input management
      +
      8358 
      +
      8360  void reset() noexcept
      +
      8361  {
      +
      8362  token_buffer.clear();
      +
      8363  token_string.clear();
      +
      8364  token_string.push_back(std::char_traits<char>::to_char_type(current));
      +
      8365  }
      +
      8366 
      +
      8367  /*
      +
      8368  @brief get next character from the input
      +
      8369 
      +
      8370  This function provides the interface to the used input adapter. It does
      +
      8371  not throw in case the input reached EOF, but returns a
      +
      8372  `std::char_traits<char>::eof()` in that case. Stores the scanned characters
      +
      8373  for use in error messages.
      +
      8374 
      +
      8375  @return character read from the input
      +
      8376  */
      +
      8377  std::char_traits<char>::int_type get()
      +
      8378  {
      +
      8379  ++position.chars_read_total;
      +
      8380  ++position.chars_read_current_line;
      +
      8381 
      +
      8382  if (next_unget)
      +
      8383  {
      +
      8384  // just reset the next_unget variable and work with current
      +
      8385  next_unget = false;
      +
      8386  }
      +
      8387  else
      +
      8388  {
      +
      8389  current = ia->get_character();
      +
      8390  }
      +
      8391 
      +
      8392  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char>::eof()))
      +
      8393  {
      +
      8394  token_string.push_back(std::char_traits<char>::to_char_type(current));
      +
      8395  }
      +
      8396 
      +
      8397  if (current == '\n')
      +
      8398  {
      +
      8399  ++position.lines_read;
      +
      8400  position.chars_read_current_line = 0;
      +
      8401  }
      +
      8402 
      +
      8403  return current;
      +
      8404  }
      +
      8405 
      +
      8414  void unget()
      +
      8415  {
      +
      8416  next_unget = true;
      +
      8417 
      +
      8418  --position.chars_read_total;
      +
      8419 
      +
      8420  // in case we "unget" a newline, we have to also decrement the lines_read
      +
      8421  if (position.chars_read_current_line == 0)
      +
      8422  {
      +
      8423  if (position.lines_read > 0)
      +
      8424  {
      +
      8425  --position.lines_read;
      +
      8426  }
      +
      8427  }
      +
      8428  else
      +
      8429  {
      +
      8430  --position.chars_read_current_line;
      +
      8431  }
      +
      8432 
      +
      8433  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char>::eof()))
      +
      8434  {
      +
      8435  assert(not token_string.empty());
      +
      8436  token_string.pop_back();
      +
      8437  }
      +
      8438  }
      +
      8439 
      +
      8441  void add(int c)
      +
      8442  {
      +
      8443  token_buffer.push_back(std::char_traits<char>::to_char_type(c));
      +
      8444  }
      +
      8445 
      +
      8446  public:
      +
      8448  // value getters
      +
      8450 
      +
      8452  constexpr number_integer_t get_number_integer() const noexcept
      +
      8453  {
      +
      8454  return value_integer;
      +
      8455  }
      +
      8456 
      +
      8458  constexpr number_unsigned_t get_number_unsigned() const noexcept
      +
      8459  {
      +
      8460  return value_unsigned;
      +
      8461  }
      +
      8462 
      +
      8464  constexpr number_float_t get_number_float() const noexcept
      +
      8465  {
      +
      8466  return value_float;
      +
      8467  }
      +
      8468 
      +
      8470  string_t& get_string()
      +
      8471  {
      +
      8472  return token_buffer;
      +
      8473  }
      +
      8474 
      +
      8476  // diagnostics
      +
      8478 
      +
      8480  constexpr position_t get_position() const noexcept
      +
      8481  {
      +
      8482  return position;
      +
      8483  }
      +
      8484 
      +
      8488  std::string get_token_string() const
      +
      8489  {
      +
      8490  // escape control characters
      +
      8491  std::string result;
      +
      8492  for (const auto c : token_string)
      +
      8493  {
      +
      8494  if ('\x00' <= c and c <= '\x1F')
      +
      8495  {
      +
      8496  // escape control characters
      +
      8497  std::array<char, 9> cs{{}};
      +
      8498  (std::snprintf)(cs.data(), cs.size(), "<U+%.4X>", static_cast<unsigned char>(c));
      +
      8499  result += cs.data();
      +
      8500  }
      +
      8501  else
      +
      8502  {
      +
      8503  // add character as is
      +
      8504  result.push_back(c);
      +
      8505  }
      +
      8506  }
      +
      8507 
      +
      8508  return result;
      +
      8509  }
      +
      8510 
      + +
      8513  constexpr const char* get_error_message() const noexcept
      +
      8514  {
      +
      8515  return error_message;
      +
      8516  }
      +
      8517 
      +
      8519  // actual scanner
      +
      8521 
      +
      8526  bool skip_bom()
      +
      8527  {
      +
      8528  if (get() == 0xEF)
      +
      8529  {
      +
      8530  // check if we completely parse the BOM
      +
      8531  return get() == 0xBB and get() == 0xBF;
      +
      8532  }
      +
      8533 
      +
      8534  // the first character is not the beginning of the BOM; unget it to
      +
      8535  // process is later
      +
      8536  unget();
      +
      8537  return true;
      +
      8538  }
      +
      8539 
      + +
      8541  {
      +
      8542  // initially, skip the BOM
      +
      8543  if (position.chars_read_total == 0 and not skip_bom())
      +
      8544  {
      +
      8545  error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given";
      +
      8546  return token_type::parse_error;
      +
      8547  }
      +
      8548 
      +
      8549  // read next character and ignore whitespace
      +
      8550  do
      +
      8551  {
      +
      8552  get();
      +
      8553  }
      +
      8554  while (current == ' ' or current == '\t' or current == '\n' or current == '\r');
      +
      8555 
      +
      8556  switch (current)
      +
      8557  {
      +
      8558  // structural characters
      +
      8559  case '[':
      +
      8560  return token_type::begin_array;
      +
      8561  case ']':
      +
      8562  return token_type::end_array;
      +
      8563  case '{':
      +
      8564  return token_type::begin_object;
      +
      8565  case '}':
      +
      8566  return token_type::end_object;
      +
      8567  case ':':
      +
      8568  return token_type::name_separator;
      +
      8569  case ',':
      +
      8570  return token_type::value_separator;
      +
      8571 
      +
      8572  // literals
      +
      8573  case 't':
      +
      8574  return scan_literal("true", 4, token_type::literal_true);
      +
      8575  case 'f':
      +
      8576  return scan_literal("false", 5, token_type::literal_false);
      +
      8577  case 'n':
      +
      8578  return scan_literal("null", 4, token_type::literal_null);
      +
      8579 
      +
      8580  // string
      +
      8581  case '\"':
      +
      8582  return scan_string();
      +
      8583 
      +
      8584  // number
      +
      8585  case '-':
      +
      8586  case '0':
      +
      8587  case '1':
      +
      8588  case '2':
      +
      8589  case '3':
      +
      8590  case '4':
      +
      8591  case '5':
      +
      8592  case '6':
      +
      8593  case '7':
      +
      8594  case '8':
      +
      8595  case '9':
      +
      8596  return scan_number();
      +
      8597 
      +
      8598  // end of input (the null byte is needed when parsing from
      +
      8599  // string literals)
      +
      8600  case '\0':
      +
      8601  case std::char_traits<char>::eof():
      +
      8602  return token_type::end_of_input;
      +
      8603 
      +
      8604  // error
      +
      8605  default:
      +
      8606  error_message = "invalid literal";
      +
      8607  return token_type::parse_error;
      +
      8608  }
      +
      8609  }
      +
      8610 
      +
      8611  private:
      +
      8613  detail::input_adapter_t ia = nullptr;
      +
      8614 
      +
      8616  std::char_traits<char>::int_type current = std::char_traits<char>::eof();
      +
      8617 
      +
      8619  bool next_unget = false;
      +
      8620 
      +
      8622  position_t position {};
      +
      8623 
      +
      8625  std::vector<char> token_string {};
      +
      8626 
      +
      8628  string_t token_buffer {};
      +
      8629 
      +
      8631  const char* error_message = "";
      +
      8632 
      +
      8633  // number values
      +
      8634  number_integer_t value_integer = 0;
      +
      8635  number_unsigned_t value_unsigned = 0;
      +
      8636  number_float_t value_float = 0;
      +
      8637 
      +
      8639  const char decimal_point_char = '.';
      +
      8640 };
      +
      8641 } // namespace detail
      +
      8642 } // namespace nlohmann
      +
      8643 
      +
      8644 // #include <nlohmann/detail/input/parser.hpp>
      +
      8645 
      +
      8646 
      +
      8647 #include <cassert> // assert
      +
      8648 #include <cmath> // isfinite
      +
      8649 #include <cstdint> // uint8_t
      +
      8650 #include <functional> // function
      +
      8651 #include <string> // string
      +
      8652 #include <utility> // move
      +
      8653 #include <vector> // vector
      +
      8654 
      +
      8655 // #include <nlohmann/detail/exceptions.hpp>
      +
      8656 
      +
      8657 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      8658 
      +
      8659 // #include <nlohmann/detail/input/json_sax.hpp>
      +
      8660 
      +
      8661 // #include <nlohmann/detail/input/lexer.hpp>
      +
      8662 
      +
      8663 // #include <nlohmann/detail/macro_scope.hpp>
      +
      8664 
      +
      8665 // #include <nlohmann/detail/meta/is_sax.hpp>
      +
      8666 
      +
      8667 // #include <nlohmann/detail/value_t.hpp>
      +
      8668 
      +
      8669 
      +
      8670 namespace nlohmann
      +
      8671 {
      +
      8672 namespace detail
      +
      8673 {
      +
      8675 // parser //
      +
      8677 
      +
      8683 template<typename BasicJsonType>
      +
      8684 class parser
      +
      8685 {
      +
      8686  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      8687  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      8688  using number_float_t = typename BasicJsonType::number_float_t;
      +
      8689  using string_t = typename BasicJsonType::string_t;
      +
      8690  using lexer_t = lexer<BasicJsonType>;
      +
      8691  using token_type = typename lexer_t::token_type;
      +
      8692 
      +
      8693  public:
      +
      8694  enum class parse_event_t : uint8_t
      +
      8695  {
      +
      8697  object_start,
      +
      8699  object_end,
      +
      8701  array_start,
      +
      8703  array_end,
      +
      8705  key,
      +
      8707  value
      +
      8708  };
      +
      8709 
      +
      8710  using parser_callback_t =
      +
      8711  std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
      +
      8712 
      +
      8714  explicit parser(detail::input_adapter_t&& adapter,
      +
      8715  const parser_callback_t cb = nullptr,
      +
      8716  const bool allow_exceptions_ = true)
      +
      8717  : callback(cb), m_lexer(std::move(adapter)), allow_exceptions(allow_exceptions_)
      +
      8718  {
      +
      8719  // read first token
      +
      8720  get_token();
      +
      8721  }
      +
      8722 
      +
      8733  void parse(const bool strict, BasicJsonType& result)
      +
      8734  {
      +
      8735  if (callback)
      +
      8736  {
      +
      8737  json_sax_dom_callback_parser<BasicJsonType> sdp(result, callback, allow_exceptions);
      +
      8738  sax_parse_internal(&sdp);
      +
      8739  result.assert_invariant();
      +
      8740 
      +
      8741  // in strict mode, input must be completely read
      +
      8742  if (strict and (get_token() != token_type::end_of_input))
      +
      8743  {
      +
      8744  sdp.parse_error(m_lexer.get_position(),
      +
      8745  m_lexer.get_token_string(),
      +
      8746  parse_error::create(101, m_lexer.get_position(),
      +
      8747  exception_message(token_type::end_of_input, "value")));
      +
      8748  }
      +
      8749 
      +
      8750  // in case of an error, return discarded value
      +
      8751  if (sdp.is_errored())
      +
      8752  {
      +
      8753  result = value_t::discarded;
      +
      8754  return;
      +
      8755  }
      +
      8756 
      +
      8757  // set top-level value to null if it was discarded by the callback
      +
      8758  // function
      +
      8759  if (result.is_discarded())
      +
      8760  {
      +
      8761  result = nullptr;
      +
      8762  }
      +
      8763  }
      +
      8764  else
      +
      8765  {
      +
      8766  json_sax_dom_parser<BasicJsonType> sdp(result, allow_exceptions);
      +
      8767  sax_parse_internal(&sdp);
      +
      8768  result.assert_invariant();
      +
      8769 
      +
      8770  // in strict mode, input must be completely read
      +
      8771  if (strict and (get_token() != token_type::end_of_input))
      +
      8772  {
      +
      8773  sdp.parse_error(m_lexer.get_position(),
      +
      8774  m_lexer.get_token_string(),
      +
      8775  parse_error::create(101, m_lexer.get_position(),
      +
      8776  exception_message(token_type::end_of_input, "value")));
      +
      8777  }
      +
      8778 
      +
      8779  // in case of an error, return discarded value
      +
      8780  if (sdp.is_errored())
      +
      8781  {
      +
      8782  result = value_t::discarded;
      +
      8783  return;
      +
      8784  }
      +
      8785  }
      +
      8786  }
      +
      8787 
      +
      8794  bool accept(const bool strict = true)
      +
      8795  {
      +
      8796  json_sax_acceptor<BasicJsonType> sax_acceptor;
      +
      8797  return sax_parse(&sax_acceptor, strict);
      +
      8798  }
      +
      8799 
      +
      8800  template <typename SAX>
      + +
      8802  bool sax_parse(SAX* sax, const bool strict = true)
      +
      8803  {
      + +
      8805  const bool result = sax_parse_internal(sax);
      +
      8806 
      +
      8807  // strict mode: next byte must be EOF
      +
      8808  if (result and strict and (get_token() != token_type::end_of_input))
      +
      8809  {
      +
      8810  return sax->parse_error(m_lexer.get_position(),
      +
      8811  m_lexer.get_token_string(),
      +
      8812  parse_error::create(101, m_lexer.get_position(),
      +
      8813  exception_message(token_type::end_of_input, "value")));
      +
      8814  }
      +
      8815 
      +
      8816  return result;
      +
      8817  }
      +
      8818 
      +
      8819  private:
      +
      8820  template <typename SAX>
      + +
      8822  bool sax_parse_internal(SAX* sax)
      +
      8823  {
      +
      8824  // stack to remember the hierarchy of structured values we are parsing
      +
      8825  // true = array; false = object
      +
      8826  std::vector<bool> states;
      +
      8827  // value to avoid a goto (see comment where set to true)
      +
      8828  bool skip_to_state_evaluation = false;
      +
      8829 
      +
      8830  while (true)
      +
      8831  {
      +
      8832  if (not skip_to_state_evaluation)
      +
      8833  {
      +
      8834  // invariant: get_token() was called before each iteration
      +
      8835  switch (last_token)
      +
      8836  {
      +
      8837  case token_type::begin_object:
      +
      8838  {
      +
      8839  if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1))))
      +
      8840  {
      +
      8841  return false;
      +
      8842  }
      +
      8843 
      +
      8844  // closing } -> we are done
      +
      8845  if (get_token() == token_type::end_object)
      +
      8846  {
      +
      8847  if (JSON_HEDLEY_UNLIKELY(not sax->end_object()))
      +
      8848  {
      +
      8849  return false;
      +
      8850  }
      +
      8851  break;
      +
      8852  }
      +
      8853 
      +
      8854  // parse key
      +
      8855  if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string))
      +
      8856  {
      +
      8857  return sax->parse_error(m_lexer.get_position(),
      +
      8858  m_lexer.get_token_string(),
      +
      8859  parse_error::create(101, m_lexer.get_position(),
      +
      8860  exception_message(token_type::value_string, "object key")));
      +
      8861  }
      +
      8862  if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string())))
      +
      8863  {
      +
      8864  return false;
      +
      8865  }
      +
      8866 
      +
      8867  // parse separator (:)
      +
      8868  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
      +
      8869  {
      +
      8870  return sax->parse_error(m_lexer.get_position(),
      +
      8871  m_lexer.get_token_string(),
      +
      8872  parse_error::create(101, m_lexer.get_position(),
      +
      8873  exception_message(token_type::name_separator, "object separator")));
      +
      8874  }
      +
      8875 
      +
      8876  // remember we are now inside an object
      +
      8877  states.push_back(false);
      +
      8878 
      +
      8879  // parse values
      +
      8880  get_token();
      +
      8881  continue;
      +
      8882  }
      +
      8883 
      +
      8884  case token_type::begin_array:
      +
      8885  {
      +
      8886  if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1))))
      +
      8887  {
      +
      8888  return false;
      +
      8889  }
      +
      8890 
      +
      8891  // closing ] -> we are done
      +
      8892  if (get_token() == token_type::end_array)
      +
      8893  {
      +
      8894  if (JSON_HEDLEY_UNLIKELY(not sax->end_array()))
      +
      8895  {
      +
      8896  return false;
      +
      8897  }
      +
      8898  break;
      +
      8899  }
      +
      8900 
      +
      8901  // remember we are now inside an array
      +
      8902  states.push_back(true);
      +
      8903 
      +
      8904  // parse values (no need to call get_token)
      +
      8905  continue;
      +
      8906  }
      +
      8907 
      +
      8908  case token_type::value_float:
      +
      8909  {
      +
      8910  const auto res = m_lexer.get_number_float();
      +
      8911 
      +
      8912  if (JSON_HEDLEY_UNLIKELY(not std::isfinite(res)))
      +
      8913  {
      +
      8914  return sax->parse_error(m_lexer.get_position(),
      +
      8915  m_lexer.get_token_string(),
      +
      8916  out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'"));
      +
      8917  }
      +
      8918 
      +
      8919  if (JSON_HEDLEY_UNLIKELY(not sax->number_float(res, m_lexer.get_string())))
      +
      8920  {
      +
      8921  return false;
      +
      8922  }
      +
      8923 
      +
      8924  break;
      +
      8925  }
      +
      8926 
      +
      8927  case token_type::literal_false:
      +
      8928  {
      +
      8929  if (JSON_HEDLEY_UNLIKELY(not sax->boolean(false)))
      +
      8930  {
      +
      8931  return false;
      +
      8932  }
      +
      8933  break;
      +
      8934  }
      +
      8935 
      +
      8936  case token_type::literal_null:
      +
      8937  {
      +
      8938  if (JSON_HEDLEY_UNLIKELY(not sax->null()))
      +
      8939  {
      +
      8940  return false;
      +
      8941  }
      +
      8942  break;
      +
      8943  }
      +
      8944 
      +
      8945  case token_type::literal_true:
      +
      8946  {
      +
      8947  if (JSON_HEDLEY_UNLIKELY(not sax->boolean(true)))
      +
      8948  {
      +
      8949  return false;
      +
      8950  }
      +
      8951  break;
      +
      8952  }
      +
      8953 
      +
      8954  case token_type::value_integer:
      +
      8955  {
      +
      8956  if (JSON_HEDLEY_UNLIKELY(not sax->number_integer(m_lexer.get_number_integer())))
      +
      8957  {
      +
      8958  return false;
      +
      8959  }
      +
      8960  break;
      +
      8961  }
      +
      8962 
      +
      8963  case token_type::value_string:
      +
      8964  {
      +
      8965  if (JSON_HEDLEY_UNLIKELY(not sax->string(m_lexer.get_string())))
      +
      8966  {
      +
      8967  return false;
      +
      8968  }
      +
      8969  break;
      +
      8970  }
      +
      8971 
      +
      8972  case token_type::value_unsigned:
      +
      8973  {
      +
      8974  if (JSON_HEDLEY_UNLIKELY(not sax->number_unsigned(m_lexer.get_number_unsigned())))
      +
      8975  {
      +
      8976  return false;
      +
      8977  }
      +
      8978  break;
      +
      8979  }
      +
      8980 
      +
      8981  case token_type::parse_error:
      +
      8982  {
      +
      8983  // using "uninitialized" to avoid "expected" message
      +
      8984  return sax->parse_error(m_lexer.get_position(),
      +
      8985  m_lexer.get_token_string(),
      +
      8986  parse_error::create(101, m_lexer.get_position(),
      +
      8987  exception_message(token_type::uninitialized, "value")));
      +
      8988  }
      +
      8989 
      +
      8990  default: // the last token was unexpected
      +
      8991  {
      +
      8992  return sax->parse_error(m_lexer.get_position(),
      +
      8993  m_lexer.get_token_string(),
      +
      8994  parse_error::create(101, m_lexer.get_position(),
      +
      8995  exception_message(token_type::literal_or_value, "value")));
      +
      8996  }
      +
      8997  }
      +
      8998  }
      +
      8999  else
      +
      9000  {
      +
      9001  skip_to_state_evaluation = false;
      +
      9002  }
      +
      9003 
      +
      9004  // we reached this line after we successfully parsed a value
      +
      9005  if (states.empty())
      +
      9006  {
      +
      9007  // empty stack: we reached the end of the hierarchy: done
      +
      9008  return true;
      +
      9009  }
      +
      9010 
      +
      9011  if (states.back()) // array
      +
      9012  {
      +
      9013  // comma -> next value
      +
      9014  if (get_token() == token_type::value_separator)
      +
      9015  {
      +
      9016  // parse a new value
      +
      9017  get_token();
      +
      9018  continue;
      +
      9019  }
      +
      9020 
      +
      9021  // closing ]
      +
      9022  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array))
      +
      9023  {
      +
      9024  if (JSON_HEDLEY_UNLIKELY(not sax->end_array()))
      +
      9025  {
      +
      9026  return false;
      +
      9027  }
      +
      9028 
      +
      9029  // We are done with this array. Before we can parse a
      +
      9030  // new value, we need to evaluate the new state first.
      +
      9031  // By setting skip_to_state_evaluation to false, we
      +
      9032  // are effectively jumping to the beginning of this if.
      +
      9033  assert(not states.empty());
      +
      9034  states.pop_back();
      +
      9035  skip_to_state_evaluation = true;
      +
      9036  continue;
      +
      9037  }
      +
      9038 
      +
      9039  return sax->parse_error(m_lexer.get_position(),
      +
      9040  m_lexer.get_token_string(),
      +
      9041  parse_error::create(101, m_lexer.get_position(),
      +
      9042  exception_message(token_type::end_array, "array")));
      +
      9043  }
      +
      9044  else // object
      +
      9045  {
      +
      9046  // comma -> next value
      +
      9047  if (get_token() == token_type::value_separator)
      +
      9048  {
      +
      9049  // parse key
      +
      9050  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string))
      +
      9051  {
      +
      9052  return sax->parse_error(m_lexer.get_position(),
      +
      9053  m_lexer.get_token_string(),
      +
      9054  parse_error::create(101, m_lexer.get_position(),
      +
      9055  exception_message(token_type::value_string, "object key")));
      +
      9056  }
      +
      9057 
      +
      9058  if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string())))
      +
      9059  {
      +
      9060  return false;
      +
      9061  }
      +
      9062 
      +
      9063  // parse separator (:)
      +
      9064  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
      +
      9065  {
      +
      9066  return sax->parse_error(m_lexer.get_position(),
      +
      9067  m_lexer.get_token_string(),
      +
      9068  parse_error::create(101, m_lexer.get_position(),
      +
      9069  exception_message(token_type::name_separator, "object separator")));
      +
      9070  }
      +
      9071 
      +
      9072  // parse values
      +
      9073  get_token();
      +
      9074  continue;
      +
      9075  }
      +
      9076 
      +
      9077  // closing }
      +
      9078  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object))
      +
      9079  {
      +
      9080  if (JSON_HEDLEY_UNLIKELY(not sax->end_object()))
      +
      9081  {
      +
      9082  return false;
      +
      9083  }
      +
      9084 
      +
      9085  // We are done with this object. Before we can parse a
      +
      9086  // new value, we need to evaluate the new state first.
      +
      9087  // By setting skip_to_state_evaluation to false, we
      +
      9088  // are effectively jumping to the beginning of this if.
      +
      9089  assert(not states.empty());
      +
      9090  states.pop_back();
      +
      9091  skip_to_state_evaluation = true;
      +
      9092  continue;
      +
      9093  }
      +
      9094 
      +
      9095  return sax->parse_error(m_lexer.get_position(),
      +
      9096  m_lexer.get_token_string(),
      +
      9097  parse_error::create(101, m_lexer.get_position(),
      +
      9098  exception_message(token_type::end_object, "object")));
      +
      9099  }
      +
      9100  }
      +
      9101  }
      +
      9102 
      +
      9104  token_type get_token()
      +
      9105  {
      +
      9106  return last_token = m_lexer.scan();
      +
      9107  }
      +
      9108 
      +
      9109  std::string exception_message(const token_type expected, const std::string& context)
      +
      9110  {
      +
      9111  std::string error_msg = "syntax error ";
      +
      9112 
      +
      9113  if (not context.empty())
      +
      9114  {
      +
      9115  error_msg += "while parsing " + context + " ";
      +
      9116  }
      +
      9117 
      +
      9118  error_msg += "- ";
      +
      9119 
      +
      9120  if (last_token == token_type::parse_error)
      +
      9121  {
      +
      9122  error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
      +
      9123  m_lexer.get_token_string() + "'";
      +
      9124  }
      +
      9125  else
      +
      9126  {
      +
      9127  error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
      +
      9128  }
      +
      9129 
      +
      9130  if (expected != token_type::uninitialized)
      +
      9131  {
      +
      9132  error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
      +
      9133  }
      +
      9134 
      +
      9135  return error_msg;
      +
      9136  }
      +
      9137 
      +
      9138  private:
      +
      9140  const parser_callback_t callback = nullptr;
      +
      9142  token_type last_token = token_type::uninitialized;
      +
      9144  lexer_t m_lexer;
      +
      9146  const bool allow_exceptions = true;
      +
      9147 };
      +
      9148 } // namespace detail
      +
      9149 } // namespace nlohmann
      +
      9150 
      +
      9151 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
      +
      9152 
      +
      9153 
      +
      9154 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      9155 
      +
      9156 
      +
      9157 #include <cstddef> // ptrdiff_t
      +
      9158 #include <limits> // numeric_limits
      +
      9159 
      +
      9160 namespace nlohmann
      +
      9161 {
      +
      9162 namespace detail
      +
      9163 {
      +
      9164 /*
      +
      9165 @brief an iterator for primitive JSON types
      +
      9166 
      +
      9167 This class models an iterator for primitive JSON types (boolean, number,
      +
      9168 string). It's only purpose is to allow the iterator/const_iterator classes
      +
      9169 to "iterate" over primitive values. Internally, the iterator is modeled by
      +
      9170 a `difference_type` variable. Value begin_value (`0`) models the begin,
      +
      9171 end_value (`1`) models past the end.
      +
      9172 */
      + +
      9174 {
      +
      9175  private:
      +
      9176  using difference_type = std::ptrdiff_t;
      +
      9177  static constexpr difference_type begin_value = 0;
      +
      9178  static constexpr difference_type end_value = begin_value + 1;
      +
      9179 
      +
      9181  difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
      +
      9182 
      +
      9183  public:
      +
      9184  constexpr difference_type get_value() const noexcept
      +
      9185  {
      +
      9186  return m_it;
      +
      9187  }
      +
      9188 
      +
      9190  void set_begin() noexcept
      +
      9191  {
      +
      9192  m_it = begin_value;
      +
      9193  }
      +
      9194 
      +
      9196  void set_end() noexcept
      +
      9197  {
      +
      9198  m_it = end_value;
      +
      9199  }
      +
      9200 
      +
      9202  constexpr bool is_begin() const noexcept
      +
      9203  {
      +
      9204  return m_it == begin_value;
      +
      9205  }
      +
      9206 
      +
      9208  constexpr bool is_end() const noexcept
      +
      9209  {
      +
      9210  return m_it == end_value;
      +
      9211  }
      +
      9212 
      +
      9213  friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      9214  {
      +
      9215  return lhs.m_it == rhs.m_it;
      +
      9216  }
      +
      9217 
      +
      9218  friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      9219  {
      +
      9220  return lhs.m_it < rhs.m_it;
      +
      9221  }
      +
      9222 
      +
      9223  primitive_iterator_t operator+(difference_type n) noexcept
      +
      9224  {
      +
      9225  auto result = *this;
      +
      9226  result += n;
      +
      9227  return result;
      +
      9228  }
      +
      9229 
      +
      9230  friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      9231  {
      +
      9232  return lhs.m_it - rhs.m_it;
      +
      9233  }
      +
      9234 
      + +
      9236  {
      +
      9237  ++m_it;
      +
      9238  return *this;
      +
      9239  }
      +
      9240 
      +
      9241  primitive_iterator_t const operator++(int) noexcept
      +
      9242  {
      +
      9243  auto result = *this;
      +
      9244  ++m_it;
      +
      9245  return result;
      +
      9246  }
      +
      9247 
      + +
      9249  {
      +
      9250  --m_it;
      +
      9251  return *this;
      +
      9252  }
      +
      9253 
      +
      9254  primitive_iterator_t const operator--(int) noexcept
      +
      9255  {
      +
      9256  auto result = *this;
      +
      9257  --m_it;
      +
      9258  return result;
      +
      9259  }
      +
      9260 
      +
      9261  primitive_iterator_t& operator+=(difference_type n) noexcept
      +
      9262  {
      +
      9263  m_it += n;
      +
      9264  return *this;
      +
      9265  }
      +
      9266 
      +
      9267  primitive_iterator_t& operator-=(difference_type n) noexcept
      +
      9268  {
      +
      9269  m_it -= n;
      +
      9270  return *this;
      +
      9271  }
      +
      9272 };
      +
      9273 } // namespace detail
      +
      9274 } // namespace nlohmann
      +
      9275 
      +
      9276 
      +
      9277 namespace nlohmann
      +
      9278 {
      +
      9279 namespace detail
      +
      9280 {
      +
      9287 template<typename BasicJsonType> struct internal_iterator
      +
      9288 {
      +
      9290  typename BasicJsonType::object_t::iterator object_iterator {};
      +
      9292  typename BasicJsonType::array_t::iterator array_iterator {};
      + +
      9295 };
      +
      9296 } // namespace detail
      +
      9297 } // namespace nlohmann
      +
      9298 
      +
      9299 // #include <nlohmann/detail/iterators/iter_impl.hpp>
      +
      9300 
      +
      9301 
      +
      9302 #include <ciso646> // not
      +
      9303 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
      +
      9304 #include <type_traits> // conditional, is_const, remove_const
      +
      9305 
      +
      9306 // #include <nlohmann/detail/exceptions.hpp>
      +
      9307 
      +
      9308 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
      +
      9309 
      +
      9310 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      9311 
      +
      9312 // #include <nlohmann/detail/macro_scope.hpp>
      +
      9313 
      +
      9314 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      9315 
      +
      9316 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      9317 
      +
      9318 // #include <nlohmann/detail/value_t.hpp>
      +
      9319 
      +
      9320 
      +
      9321 namespace nlohmann
      +
      9322 {
      +
      9323 namespace detail
      +
      9324 {
      +
      9325 // forward declare, to be able to friend it later on
      +
      9326 template<typename IteratorType> class iteration_proxy;
      +
      9327 template<typename IteratorType> class iteration_proxy_value;
      +
      9328 
      +
      9345 template<typename BasicJsonType>
      + +
      9347 {
      +
      9349  friend iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
      +
      9350  friend BasicJsonType;
      + + +
      9353 
      +
      9354  using object_t = typename BasicJsonType::object_t;
      +
      9355  using array_t = typename BasicJsonType::array_t;
      +
      9356  // make sure BasicJsonType is basic_json or const basic_json
      +
      9357  static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
      +
      9358  "iter_impl only accepts (const) basic_json");
      +
      9359 
      +
      9360  public:
      +
      9361 
      +
      9367  using iterator_category = std::bidirectional_iterator_tag;
      +
      9368 
      +
      9370  using value_type = typename BasicJsonType::value_type;
      +
      9372  using difference_type = typename BasicJsonType::difference_type;
      +
      9374  using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
      +
      9375  typename BasicJsonType::const_pointer,
      +
      9376  typename BasicJsonType::pointer>::type;
      +
      9378  using reference =
      +
      9379  typename std::conditional<std::is_const<BasicJsonType>::value,
      +
      9380  typename BasicJsonType::const_reference,
      +
      9381  typename BasicJsonType::reference>::type;
      +
      9382 
      +
      9384  iter_impl() = default;
      +
      9385 
      +
      9392  explicit iter_impl(pointer object) noexcept : m_object(object)
      +
      9393  {
      +
      9394  assert(m_object != nullptr);
      +
      9395 
      +
      9396  switch (m_object->m_type)
      +
      9397  {
      +
      9398  case value_t::object:
      +
      9399  {
      +
      9400  m_it.object_iterator = typename object_t::iterator();
      +
      9401  break;
      +
      9402  }
      +
      9403 
      +
      9404  case value_t::array:
      +
      9405  {
      +
      9406  m_it.array_iterator = typename array_t::iterator();
      +
      9407  break;
      +
      9408  }
      +
      9409 
      +
      9410  default:
      +
      9411  {
      + +
      9413  break;
      +
      9414  }
      +
      9415  }
      +
      9416  }
      +
      9417 
      + +
      9435  : m_object(other.m_object), m_it(other.m_it)
      +
      9436  {}
      +
      9437 
      + +
      9445  {
      +
      9446  m_object = other.m_object;
      +
      9447  m_it = other.m_it;
      +
      9448  return *this;
      +
      9449  }
      +
      9450 
      +
      9456  iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
      +
      9457  : m_object(other.m_object), m_it(other.m_it)
      +
      9458  {}
      +
      9459 
      +
      9466  iter_impl& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
      +
      9467  {
      +
      9468  m_object = other.m_object;
      +
      9469  m_it = other.m_it;
      +
      9470  return *this;
      +
      9471  }
      +
      9472 
      +
      9473  private:
      +
      9478  void set_begin() noexcept
      +
      9479  {
      +
      9480  assert(m_object != nullptr);
      +
      9481 
      +
      9482  switch (m_object->m_type)
      +
      9483  {
      +
      9484  case value_t::object:
      +
      9485  {
      +
      9486  m_it.object_iterator = m_object->m_value.object->begin();
      +
      9487  break;
      +
      9488  }
      +
      9489 
      +
      9490  case value_t::array:
      +
      9491  {
      +
      9492  m_it.array_iterator = m_object->m_value.array->begin();
      +
      9493  break;
      +
      9494  }
      +
      9495 
      +
      9496  case value_t::null:
      +
      9497  {
      +
      9498  // set to end so begin()==end() is true: null is empty
      +
      9499  m_it.primitive_iterator.set_end();
      +
      9500  break;
      +
      9501  }
      +
      9502 
      +
      9503  default:
      +
      9504  {
      + +
      9506  break;
      +
      9507  }
      +
      9508  }
      +
      9509  }
      +
      9510 
      +
      9515  void set_end() noexcept
      +
      9516  {
      +
      9517  assert(m_object != nullptr);
      +
      9518 
      +
      9519  switch (m_object->m_type)
      +
      9520  {
      +
      9521  case value_t::object:
      +
      9522  {
      +
      9523  m_it.object_iterator = m_object->m_value.object->end();
      +
      9524  break;
      +
      9525  }
      +
      9526 
      +
      9527  case value_t::array:
      +
      9528  {
      +
      9529  m_it.array_iterator = m_object->m_value.array->end();
      +
      9530  break;
      +
      9531  }
      +
      9532 
      +
      9533  default:
      +
      9534  {
      +
      9535  m_it.primitive_iterator.set_end();
      +
      9536  break;
      +
      9537  }
      +
      9538  }
      +
      9539  }
      +
      9540 
      +
      9541  public:
      + +
      9547  {
      +
      9548  assert(m_object != nullptr);
      +
      9549 
      +
      9550  switch (m_object->m_type)
      +
      9551  {
      +
      9552  case value_t::object:
      +
      9553  {
      +
      9554  assert(m_it.object_iterator != m_object->m_value.object->end());
      +
      9555  return m_it.object_iterator->second;
      +
      9556  }
      +
      9557 
      +
      9558  case value_t::array:
      +
      9559  {
      +
      9560  assert(m_it.array_iterator != m_object->m_value.array->end());
      +
      9561  return *m_it.array_iterator;
      +
      9562  }
      +
      9563 
      +
      9564  case value_t::null:
      +
      9565  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      9566 
      +
      9567  default:
      +
      9568  {
      + +
      9570  {
      +
      9571  return *m_object;
      +
      9572  }
      +
      9573 
      +
      9574  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      9575  }
      +
      9576  }
      +
      9577  }
      +
      9578 
      + +
      9584  {
      +
      9585  assert(m_object != nullptr);
      +
      9586 
      +
      9587  switch (m_object->m_type)
      +
      9588  {
      +
      9589  case value_t::object:
      +
      9590  {
      +
      9591  assert(m_it.object_iterator != m_object->m_value.object->end());
      +
      9592  return &(m_it.object_iterator->second);
      +
      9593  }
      +
      9594 
      +
      9595  case value_t::array:
      +
      9596  {
      +
      9597  assert(m_it.array_iterator != m_object->m_value.array->end());
      +
      9598  return &*m_it.array_iterator;
      +
      9599  }
      +
      9600 
      +
      9601  default:
      +
      9602  {
      + +
      9604  {
      +
      9605  return m_object;
      +
      9606  }
      +
      9607 
      +
      9608  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      9609  }
      +
      9610  }
      +
      9611  }
      +
      9612 
      + +
      9618  {
      +
      9619  auto result = *this;
      +
      9620  ++(*this);
      +
      9621  return result;
      +
      9622  }
      +
      9623 
      + +
      9629  {
      +
      9630  assert(m_object != nullptr);
      +
      9631 
      +
      9632  switch (m_object->m_type)
      +
      9633  {
      +
      9634  case value_t::object:
      +
      9635  {
      +
      9636  std::advance(m_it.object_iterator, 1);
      +
      9637  break;
      +
      9638  }
      +
      9639 
      +
      9640  case value_t::array:
      +
      9641  {
      +
      9642  std::advance(m_it.array_iterator, 1);
      +
      9643  break;
      +
      9644  }
      +
      9645 
      +
      9646  default:
      +
      9647  {
      +
      9648  ++m_it.primitive_iterator;
      +
      9649  break;
      +
      9650  }
      +
      9651  }
      +
      9652 
      +
      9653  return *this;
      +
      9654  }
      +
      9655 
      + +
      9661  {
      +
      9662  auto result = *this;
      +
      9663  --(*this);
      +
      9664  return result;
      +
      9665  }
      +
      9666 
      + +
      9672  {
      +
      9673  assert(m_object != nullptr);
      +
      9674 
      +
      9675  switch (m_object->m_type)
      +
      9676  {
      +
      9677  case value_t::object:
      +
      9678  {
      +
      9679  std::advance(m_it.object_iterator, -1);
      +
      9680  break;
      +
      9681  }
      +
      9682 
      +
      9683  case value_t::array:
      +
      9684  {
      +
      9685  std::advance(m_it.array_iterator, -1);
      +
      9686  break;
      +
      9687  }
      +
      9688 
      +
      9689  default:
      +
      9690  {
      +
      9691  --m_it.primitive_iterator;
      +
      9692  break;
      +
      9693  }
      +
      9694  }
      +
      9695 
      +
      9696  return *this;
      +
      9697  }
      +
      9698 
      +
      9703  bool operator==(const iter_impl& other) const
      +
      9704  {
      +
      9705  // if objects are not the same, the comparison is undefined
      +
      9706  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
      +
      9707  {
      +
      9708  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
      +
      9709  }
      +
      9710 
      +
      9711  assert(m_object != nullptr);
      +
      9712 
      +
      9713  switch (m_object->m_type)
      +
      9714  {
      +
      9715  case value_t::object:
      +
      9716  return (m_it.object_iterator == other.m_it.object_iterator);
      +
      9717 
      +
      9718  case value_t::array:
      +
      9719  return (m_it.array_iterator == other.m_it.array_iterator);
      +
      9720 
      +
      9721  default:
      +
      9722  return (m_it.primitive_iterator == other.m_it.primitive_iterator);
      +
      9723  }
      +
      9724  }
      +
      9725 
      +
      9730  bool operator!=(const iter_impl& other) const
      +
      9731  {
      +
      9732  return not operator==(other);
      +
      9733  }
      +
      9734 
      +
      9739  bool operator<(const iter_impl& other) const
      +
      9740  {
      +
      9741  // if objects are not the same, the comparison is undefined
      +
      9742  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
      +
      9743  {
      +
      9744  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
      +
      9745  }
      +
      9746 
      +
      9747  assert(m_object != nullptr);
      +
      9748 
      +
      9749  switch (m_object->m_type)
      +
      9750  {
      +
      9751  case value_t::object:
      +
      9752  JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));
      +
      9753 
      +
      9754  case value_t::array:
      +
      9755  return (m_it.array_iterator < other.m_it.array_iterator);
      +
      9756 
      +
      9757  default:
      +
      9758  return (m_it.primitive_iterator < other.m_it.primitive_iterator);
      +
      9759  }
      +
      9760  }
      +
      9761 
      +
      9766  bool operator<=(const iter_impl& other) const
      +
      9767  {
      +
      9768  return not other.operator < (*this);
      +
      9769  }
      +
      9770 
      +
      9775  bool operator>(const iter_impl& other) const
      +
      9776  {
      +
      9777  return not operator<=(other);
      +
      9778  }
      +
      9779 
      +
      9784  bool operator>=(const iter_impl& other) const
      +
      9785  {
      +
      9786  return not operator<(other);
      +
      9787  }
      +
      9788 
      + +
      9794  {
      +
      9795  assert(m_object != nullptr);
      +
      9796 
      +
      9797  switch (m_object->m_type)
      +
      9798  {
      +
      9799  case value_t::object:
      +
      9800  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
      +
      9801 
      +
      9802  case value_t::array:
      +
      9803  {
      +
      9804  std::advance(m_it.array_iterator, i);
      +
      9805  break;
      +
      9806  }
      +
      9807 
      +
      9808  default:
      +
      9809  {
      +
      9810  m_it.primitive_iterator += i;
      +
      9811  break;
      +
      9812  }
      +
      9813  }
      +
      9814 
      +
      9815  return *this;
      +
      9816  }
      +
      9817 
      + +
      9823  {
      +
      9824  return operator+=(-i);
      +
      9825  }
      +
      9826 
      + +
      9832  {
      +
      9833  auto result = *this;
      +
      9834  result += i;
      +
      9835  return result;
      +
      9836  }
      +
      9837 
      + +
      9843  {
      +
      9844  auto result = it;
      +
      9845  result += i;
      +
      9846  return result;
      +
      9847  }
      +
      9848 
      + +
      9854  {
      +
      9855  auto result = *this;
      +
      9856  result -= i;
      +
      9857  return result;
      +
      9858  }
      +
      9859 
      + +
      9865  {
      +
      9866  assert(m_object != nullptr);
      +
      9867 
      +
      9868  switch (m_object->m_type)
      +
      9869  {
      +
      9870  case value_t::object:
      +
      9871  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
      +
      9872 
      +
      9873  case value_t::array:
      +
      9874  return m_it.array_iterator - other.m_it.array_iterator;
      +
      9875 
      +
      9876  default:
      +
      9877  return m_it.primitive_iterator - other.m_it.primitive_iterator;
      +
      9878  }
      +
      9879  }
      +
      9880 
      + +
      9886  {
      +
      9887  assert(m_object != nullptr);
      +
      9888 
      +
      9889  switch (m_object->m_type)
      +
      9890  {
      +
      9891  case value_t::object:
      +
      9892  JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
      +
      9893 
      +
      9894  case value_t::array:
      +
      9895  return *std::next(m_it.array_iterator, n);
      +
      9896 
      +
      9897  case value_t::null:
      +
      9898  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      9899 
      +
      9900  default:
      +
      9901  {
      + +
      9903  {
      +
      9904  return *m_object;
      +
      9905  }
      +
      9906 
      +
      9907  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      9908  }
      +
      9909  }
      +
      9910  }
      +
      9911 
      +
      9916  const typename object_t::key_type& key() const
      +
      9917  {
      +
      9918  assert(m_object != nullptr);
      +
      9919 
      +
      9920  if (JSON_HEDLEY_LIKELY(m_object->is_object()))
      +
      9921  {
      +
      9922  return m_it.object_iterator->first;
      +
      9923  }
      +
      9924 
      +
      9925  JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators"));
      +
      9926  }
      +
      9927 
      + +
      9933  {
      +
      9934  return operator*();
      +
      9935  }
      +
      9936 
      +
      9937  private:
      +
      9939  pointer m_object = nullptr;
      + +
      9942 };
      +
      9943 } // namespace detail
      +
      9944 } // namespace nlohmann
      +
      9945 
      +
      9946 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
      +
      9947 
      +
      9948 // #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
      +
      9949 
      +
      9950 
      +
      9951 #include <cstddef> // ptrdiff_t
      +
      9952 #include <iterator> // reverse_iterator
      +
      9953 #include <utility> // declval
      +
      9954 
      +
      9955 namespace nlohmann
      +
      9956 {
      +
      9957 namespace detail
      +
      9958 {
      +
      9960 // reverse_iterator //
      +
      9962 
      +
      9981 template<typename Base>
      +
      9982 class json_reverse_iterator : public std::reverse_iterator<Base>
      +
      9983 {
      +
      9984  public:
      +
      9985  using difference_type = std::ptrdiff_t;
      +
      9987  using base_iterator = std::reverse_iterator<Base>;
      +
      9989  using reference = typename Base::reference;
      +
      9990 
      +
      9992  explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
      +
      9993  : base_iterator(it) {}
      +
      9994 
      +
      9996  explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {}
      +
      9997 
      + +
      10000  {
      +
      10001  return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
      +
      10002  }
      +
      10003 
      + +
      10006  {
      +
      10007  return static_cast<json_reverse_iterator&>(base_iterator::operator++());
      +
      10008  }
      +
      10009 
      + +
      10012  {
      +
      10013  return static_cast<json_reverse_iterator>(base_iterator::operator--(1));
      +
      10014  }
      +
      10015 
      + +
      10018  {
      +
      10019  return static_cast<json_reverse_iterator&>(base_iterator::operator--());
      +
      10020  }
      +
      10021 
      + +
      10024  {
      +
      10025  return static_cast<json_reverse_iterator&>(base_iterator::operator+=(i));
      +
      10026  }
      +
      10027 
      + +
      10030  {
      +
      10031  return static_cast<json_reverse_iterator>(base_iterator::operator+(i));
      +
      10032  }
      +
      10033 
      + +
      10036  {
      +
      10037  return static_cast<json_reverse_iterator>(base_iterator::operator-(i));
      +
      10038  }
      +
      10039 
      + +
      10042  {
      +
      10043  return base_iterator(*this) - base_iterator(other);
      +
      10044  }
      +
      10045 
      + +
      10048  {
      +
      10049  return *(this->operator+(n));
      +
      10050  }
      +
      10051 
      +
      10053  auto key() const -> decltype(std::declval<Base>().key())
      +
      10054  {
      +
      10055  auto it = --this->base();
      +
      10056  return it.key();
      +
      10057  }
      +
      10058 
      + +
      10061  {
      +
      10062  auto it = --this->base();
      +
      10063  return it.operator * ();
      +
      10064  }
      +
      10065 };
      +
      10066 } // namespace detail
      +
      10067 } // namespace nlohmann
      +
      10068 
      +
      10069 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      10070 
      +
      10071 // #include <nlohmann/detail/json_pointer.hpp>
      +
      10072 
      +
      10073 
      +
      10074 #include <algorithm> // all_of
      +
      10075 #include <cassert> // assert
      +
      10076 #include <cctype> // isdigit
      +
      10077 #include <numeric> // accumulate
      +
      10078 #include <string> // string
      +
      10079 #include <utility> // move
      +
      10080 #include <vector> // vector
      +
      10081 
      +
      10082 // #include <nlohmann/detail/exceptions.hpp>
      +
      10083 
      +
      10084 // #include <nlohmann/detail/macro_scope.hpp>
      +
      10085 
      +
      10086 // #include <nlohmann/detail/value_t.hpp>
      +
      10087 
      +
      10088 
      +
      10089 namespace nlohmann
      +
      10090 {
      +
      10091 template<typename BasicJsonType>
      +
      10092 class json_pointer
      +
      10093 {
      +
      10094  // allow basic_json to access private members
      + +
      10096  friend class basic_json;
      +
      10097 
      +
      10098  public:
      +
      10120  explicit json_pointer(const std::string& s = "")
      +
      10121  : reference_tokens(split(s))
      +
      10122  {}
      +
      10123 
      +
      10138  std::string to_string() const
      +
      10139  {
      +
      10140  return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
      +
      10141  std::string{},
      +
      10142  [](const std::string & a, const std::string & b)
      +
      10143  {
      +
      10144  return a + "/" + escape(b);
      +
      10145  });
      +
      10146  }
      +
      10147 
      +
      10149  operator std::string() const
      +
      10150  {
      +
      10151  return to_string();
      +
      10152  }
      +
      10153 
      + +
      10171  {
      +
      10172  reference_tokens.insert(reference_tokens.end(),
      +
      10173  ptr.reference_tokens.begin(),
      +
      10174  ptr.reference_tokens.end());
      +
      10175  return *this;
      +
      10176  }
      +
      10177 
      +
      10194  json_pointer& operator/=(std::string token)
      +
      10195  {
      +
      10196  push_back(std::move(token));
      +
      10197  return *this;
      +
      10198  }
      +
      10199 
      +
      10216  json_pointer& operator/=(std::size_t array_index)
      +
      10217  {
      +
      10218  return *this /= std::to_string(array_index);
      +
      10219  }
      +
      10220 
      + +
      10237  const json_pointer& rhs)
      +
      10238  {
      +
      10239  return json_pointer(lhs) /= rhs;
      +
      10240  }
      +
      10241 
      +
      10257  friend json_pointer operator/(const json_pointer& ptr, std::string token)
      +
      10258  {
      +
      10259  return json_pointer(ptr) /= std::move(token);
      +
      10260  }
      +
      10261 
      +
      10277  friend json_pointer operator/(const json_pointer& ptr, std::size_t array_index)
      +
      10278  {
      +
      10279  return json_pointer(ptr) /= array_index;
      +
      10280  }
      +
      10281 
      + +
      10296  {
      +
      10297  if (empty())
      +
      10298  {
      +
      10299  return *this;
      +
      10300  }
      +
      10301 
      +
      10302  json_pointer res = *this;
      +
      10303  res.pop_back();
      +
      10304  return res;
      +
      10305  }
      +
      10306 
      +
      10320  void pop_back()
      +
      10321  {
      +
      10322  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      10323  {
      +
      10324  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      10325  }
      +
      10326 
      +
      10327  reference_tokens.pop_back();
      +
      10328  }
      +
      10329 
      +
      10344  const std::string& back() const
      +
      10345  {
      +
      10346  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      10347  {
      +
      10348  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      10349  }
      +
      10350 
      +
      10351  return reference_tokens.back();
      +
      10352  }
      +
      10353 
      +
      10366  void push_back(const std::string& token)
      +
      10367  {
      +
      10368  reference_tokens.push_back(token);
      +
      10369  }
      +
      10370 
      +
      10372  void push_back(std::string&& token)
      +
      10373  {
      +
      10374  reference_tokens.push_back(std::move(token));
      +
      10375  }
      +
      10376 
      +
      10391  bool empty() const noexcept
      +
      10392  {
      +
      10393  return reference_tokens.empty();
      +
      10394  }
      +
      10395 
      +
      10396  private:
      +
      10404  static int array_index(const std::string& s)
      +
      10405  {
      +
      10406  std::size_t processed_chars = 0;
      +
      10407  const int res = std::stoi(s, &processed_chars);
      +
      10408 
      +
      10409  // check if the string was completely read
      +
      10410  if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
      +
      10411  {
      +
      10412  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
      +
      10413  }
      +
      10414 
      +
      10415  return res;
      +
      10416  }
      +
      10417 
      +
      10418  json_pointer top() const
      +
      10419  {
      +
      10420  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      10421  {
      +
      10422  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      10423  }
      +
      10424 
      +
      10425  json_pointer result = *this;
      +
      10426  result.reference_tokens = {reference_tokens[0]};
      +
      10427  return result;
      +
      10428  }
      +
      10429 
      +
      10438  BasicJsonType& get_and_create(BasicJsonType& j) const
      +
      10439  {
      +
      10440  using size_type = typename BasicJsonType::size_type;
      +
      10441  auto result = &j;
      +
      10442 
      +
      10443  // in case no reference tokens exist, return a reference to the JSON value
      +
      10444  // j which will be overwritten by a primitive value
      +
      10445  for (const auto& reference_token : reference_tokens)
      +
      10446  {
      +
      10447  switch (result->type())
      +
      10448  {
      +
      10449  case detail::value_t::null:
      +
      10450  {
      +
      10451  if (reference_token == "0")
      +
      10452  {
      +
      10453  // start a new array if reference token is 0
      +
      10454  result = &result->operator[](0);
      +
      10455  }
      +
      10456  else
      +
      10457  {
      +
      10458  // start a new object otherwise
      +
      10459  result = &result->operator[](reference_token);
      +
      10460  }
      +
      10461  break;
      +
      10462  }
      +
      10463 
      + +
      10465  {
      +
      10466  // create an entry in the object
      +
      10467  result = &result->operator[](reference_token);
      +
      10468  break;
      +
      10469  }
      +
      10470 
      + +
      10472  {
      +
      10473  // create an entry in the array
      +
      10474  JSON_TRY
      +
      10475  {
      +
      10476  result = &result->operator[](static_cast<size_type>(array_index(reference_token)));
      +
      10477  }
      +
      10478  JSON_CATCH(std::invalid_argument&)
      +
      10479  {
      +
      10480  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10481  }
      +
      10482  break;
      +
      10483  }
      +
      10484 
      +
      10485  /*
      +
      10486  The following code is only reached if there exists a reference
      +
      10487  token _and_ the current value is primitive. In this case, we have
      +
      10488  an error situation, because primitive values may only occur as
      +
      10489  single value; that is, with an empty list of reference tokens.
      +
      10490  */
      +
      10491  default:
      +
      10492  JSON_THROW(detail::type_error::create(313, "invalid value to unflatten"));
      +
      10493  }
      +
      10494  }
      +
      10495 
      +
      10496  return *result;
      +
      10497  }
      +
      10498 
      +
      10518  BasicJsonType& get_unchecked(BasicJsonType* ptr) const
      +
      10519  {
      +
      10520  using size_type = typename BasicJsonType::size_type;
      +
      10521  for (const auto& reference_token : reference_tokens)
      +
      10522  {
      +
      10523  // convert null values to arrays or objects before continuing
      +
      10524  if (ptr->is_null())
      +
      10525  {
      +
      10526  // check if reference token is a number
      +
      10527  const bool nums =
      +
      10528  std::all_of(reference_token.begin(), reference_token.end(),
      +
      10529  [](const unsigned char x)
      +
      10530  {
      +
      10531  return std::isdigit(x);
      +
      10532  });
      +
      10533 
      +
      10534  // change value to array for numbers or "-" or to object otherwise
      +
      10535  *ptr = (nums or reference_token == "-")
      + + +
      10538  }
      +
      10539 
      +
      10540  switch (ptr->type())
      +
      10541  {
      + +
      10543  {
      +
      10544  // use unchecked object access
      +
      10545  ptr = &ptr->operator[](reference_token);
      +
      10546  break;
      +
      10547  }
      +
      10548 
      + +
      10550  {
      +
      10551  // error condition (cf. RFC 6901, Sect. 4)
      +
      10552  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
      +
      10553  {
      + +
      10555  "array index '" + reference_token +
      +
      10556  "' must not begin with '0'"));
      +
      10557  }
      +
      10558 
      +
      10559  if (reference_token == "-")
      +
      10560  {
      +
      10561  // explicitly treat "-" as index beyond the end
      +
      10562  ptr = &ptr->operator[](ptr->m_value.array->size());
      +
      10563  }
      +
      10564  else
      +
      10565  {
      +
      10566  // convert array index to number; unchecked access
      +
      10567  JSON_TRY
      +
      10568  {
      +
      10569  ptr = &ptr->operator[](
      +
      10570  static_cast<size_type>(array_index(reference_token)));
      +
      10571  }
      +
      10572  JSON_CATCH(std::invalid_argument&)
      +
      10573  {
      +
      10574  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10575  }
      +
      10576  }
      +
      10577  break;
      +
      10578  }
      +
      10579 
      +
      10580  default:
      +
      10581  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      10582  }
      +
      10583  }
      +
      10584 
      +
      10585  return *ptr;
      +
      10586  }
      +
      10587 
      +
      10594  BasicJsonType& get_checked(BasicJsonType* ptr) const
      +
      10595  {
      +
      10596  using size_type = typename BasicJsonType::size_type;
      +
      10597  for (const auto& reference_token : reference_tokens)
      +
      10598  {
      +
      10599  switch (ptr->type())
      +
      10600  {
      + +
      10602  {
      +
      10603  // note: at performs range check
      +
      10604  ptr = &ptr->at(reference_token);
      +
      10605  break;
      +
      10606  }
      +
      10607 
      + +
      10609  {
      +
      10610  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      10611  {
      +
      10612  // "-" always fails the range check
      + +
      10614  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      10615  ") is out of range"));
      +
      10616  }
      +
      10617 
      +
      10618  // error condition (cf. RFC 6901, Sect. 4)
      +
      10619  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
      +
      10620  {
      + +
      10622  "array index '" + reference_token +
      +
      10623  "' must not begin with '0'"));
      +
      10624  }
      +
      10625 
      +
      10626  // note: at performs range check
      +
      10627  JSON_TRY
      +
      10628  {
      +
      10629  ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
      +
      10630  }
      +
      10631  JSON_CATCH(std::invalid_argument&)
      +
      10632  {
      +
      10633  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10634  }
      +
      10635  break;
      +
      10636  }
      +
      10637 
      +
      10638  default:
      +
      10639  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      10640  }
      +
      10641  }
      +
      10642 
      +
      10643  return *ptr;
      +
      10644  }
      +
      10645 
      +
      10659  const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
      +
      10660  {
      +
      10661  using size_type = typename BasicJsonType::size_type;
      +
      10662  for (const auto& reference_token : reference_tokens)
      +
      10663  {
      +
      10664  switch (ptr->type())
      +
      10665  {
      + +
      10667  {
      +
      10668  // use unchecked object access
      +
      10669  ptr = &ptr->operator[](reference_token);
      +
      10670  break;
      +
      10671  }
      +
      10672 
      + +
      10674  {
      +
      10675  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      10676  {
      +
      10677  // "-" cannot be used for const access
      + +
      10679  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      10680  ") is out of range"));
      +
      10681  }
      +
      10682 
      +
      10683  // error condition (cf. RFC 6901, Sect. 4)
      +
      10684  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
      +
      10685  {
      + +
      10687  "array index '" + reference_token +
      +
      10688  "' must not begin with '0'"));
      +
      10689  }
      +
      10690 
      +
      10691  // use unchecked array access
      +
      10692  JSON_TRY
      +
      10693  {
      +
      10694  ptr = &ptr->operator[](
      +
      10695  static_cast<size_type>(array_index(reference_token)));
      +
      10696  }
      +
      10697  JSON_CATCH(std::invalid_argument&)
      +
      10698  {
      +
      10699  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10700  }
      +
      10701  break;
      +
      10702  }
      +
      10703 
      +
      10704  default:
      +
      10705  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      10706  }
      +
      10707  }
      +
      10708 
      +
      10709  return *ptr;
      +
      10710  }
      +
      10711 
      +
      10718  const BasicJsonType& get_checked(const BasicJsonType* ptr) const
      +
      10719  {
      +
      10720  using size_type = typename BasicJsonType::size_type;
      +
      10721  for (const auto& reference_token : reference_tokens)
      +
      10722  {
      +
      10723  switch (ptr->type())
      +
      10724  {
      + +
      10726  {
      +
      10727  // note: at performs range check
      +
      10728  ptr = &ptr->at(reference_token);
      +
      10729  break;
      +
      10730  }
      +
      10731 
      + +
      10733  {
      +
      10734  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      10735  {
      +
      10736  // "-" always fails the range check
      + +
      10738  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      10739  ") is out of range"));
      +
      10740  }
      +
      10741 
      +
      10742  // error condition (cf. RFC 6901, Sect. 4)
      +
      10743  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
      +
      10744  {
      + +
      10746  "array index '" + reference_token +
      +
      10747  "' must not begin with '0'"));
      +
      10748  }
      +
      10749 
      +
      10750  // note: at performs range check
      +
      10751  JSON_TRY
      +
      10752  {
      +
      10753  ptr = &ptr->at(static_cast<size_type>(array_index(reference_token)));
      +
      10754  }
      +
      10755  JSON_CATCH(std::invalid_argument&)
      +
      10756  {
      +
      10757  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10758  }
      +
      10759  break;
      +
      10760  }
      +
      10761 
      +
      10762  default:
      +
      10763  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      10764  }
      +
      10765  }
      +
      10766 
      +
      10767  return *ptr;
      +
      10768  }
      +
      10769 
      +
      10774  bool contains(const BasicJsonType* ptr) const
      +
      10775  {
      +
      10776  using size_type = typename BasicJsonType::size_type;
      +
      10777  for (const auto& reference_token : reference_tokens)
      +
      10778  {
      +
      10779  switch (ptr->type())
      +
      10780  {
      + +
      10782  {
      +
      10783  if (not ptr->contains(reference_token))
      +
      10784  {
      +
      10785  // we did not find the key in the object
      +
      10786  return false;
      +
      10787  }
      +
      10788 
      +
      10789  ptr = &ptr->operator[](reference_token);
      +
      10790  break;
      +
      10791  }
      +
      10792 
      + +
      10794  {
      +
      10795  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      10796  {
      +
      10797  // "-" always fails the range check
      +
      10798  return false;
      +
      10799  }
      +
      10800 
      +
      10801  // error condition (cf. RFC 6901, Sect. 4)
      +
      10802  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0'))
      +
      10803  {
      + +
      10805  "array index '" + reference_token +
      +
      10806  "' must not begin with '0'"));
      +
      10807  }
      +
      10808 
      +
      10809  JSON_TRY
      +
      10810  {
      +
      10811  const auto idx = static_cast<size_type>(array_index(reference_token));
      +
      10812  if (idx >= ptr->size())
      +
      10813  {
      +
      10814  // index out of range
      +
      10815  return false;
      +
      10816  }
      +
      10817 
      +
      10818  ptr = &ptr->operator[](idx);
      +
      10819  break;
      +
      10820  }
      +
      10821  JSON_CATCH(std::invalid_argument&)
      +
      10822  {
      +
      10823  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number"));
      +
      10824  }
      +
      10825  break;
      +
      10826  }
      +
      10827 
      +
      10828  default:
      +
      10829  {
      +
      10830  // we do not expect primitive values if there is still a
      +
      10831  // reference token to process
      +
      10832  return false;
      +
      10833  }
      +
      10834  }
      +
      10835  }
      +
      10836 
      +
      10837  // no reference token left means we found a primitive value
      +
      10838  return true;
      +
      10839  }
      +
      10840 
      +
      10850  static std::vector<std::string> split(const std::string& reference_string)
      +
      10851  {
      +
      10852  std::vector<std::string> result;
      +
      10853 
      +
      10854  // special case: empty reference string -> no reference tokens
      +
      10855  if (reference_string.empty())
      +
      10856  {
      +
      10857  return result;
      +
      10858  }
      +
      10859 
      +
      10860  // check if nonempty reference string begins with slash
      +
      10861  if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/'))
      +
      10862  {
      + +
      10864  "JSON pointer must be empty or begin with '/' - was: '" +
      +
      10865  reference_string + "'"));
      +
      10866  }
      +
      10867 
      +
      10868  // extract the reference tokens:
      +
      10869  // - slash: position of the last read slash (or end of string)
      +
      10870  // - start: position after the previous slash
      +
      10871  for (
      +
      10872  // search for the first slash after the first character
      +
      10873  std::size_t slash = reference_string.find_first_of('/', 1),
      +
      10874  // set the beginning of the first reference token
      +
      10875  start = 1;
      +
      10876  // we can stop if start == 0 (if slash == std::string::npos)
      +
      10877  start != 0;
      +
      10878  // set the beginning of the next reference token
      +
      10879  // (will eventually be 0 if slash == std::string::npos)
      +
      10880  start = (slash == std::string::npos) ? 0 : slash + 1,
      +
      10881  // find next slash
      +
      10882  slash = reference_string.find_first_of('/', start))
      +
      10883  {
      +
      10884  // use the text between the beginning of the reference token
      +
      10885  // (start) and the last slash (slash).
      +
      10886  auto reference_token = reference_string.substr(start, slash - start);
      +
      10887 
      +
      10888  // check reference tokens are properly escaped
      +
      10889  for (std::size_t pos = reference_token.find_first_of('~');
      +
      10890  pos != std::string::npos;
      +
      10891  pos = reference_token.find_first_of('~', pos + 1))
      +
      10892  {
      +
      10893  assert(reference_token[pos] == '~');
      +
      10894 
      +
      10895  // ~ must be followed by 0 or 1
      +
      10896  if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 or
      +
      10897  (reference_token[pos + 1] != '0' and
      +
      10898  reference_token[pos + 1] != '1')))
      +
      10899  {
      +
      10900  JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'"));
      +
      10901  }
      +
      10902  }
      +
      10903 
      +
      10904  // finally, store the reference token
      +
      10905  unescape(reference_token);
      +
      10906  result.push_back(reference_token);
      +
      10907  }
      +
      10908 
      +
      10909  return result;
      +
      10910  }
      +
      10911 
      +
      10925  static void replace_substring(std::string& s, const std::string& f,
      +
      10926  const std::string& t)
      +
      10927  {
      +
      10928  assert(not f.empty());
      +
      10929  for (auto pos = s.find(f); // find first occurrence of f
      +
      10930  pos != std::string::npos; // make sure f was found
      +
      10931  s.replace(pos, f.size(), t), // replace with t, and
      +
      10932  pos = s.find(f, pos + t.size())) // find next occurrence of f
      +
      10933  {}
      +
      10934  }
      +
      10935 
      +
      10937  static std::string escape(std::string s)
      +
      10938  {
      +
      10939  replace_substring(s, "~", "~0");
      +
      10940  replace_substring(s, "/", "~1");
      +
      10941  return s;
      +
      10942  }
      +
      10943 
      +
      10945  static void unescape(std::string& s)
      +
      10946  {
      +
      10947  replace_substring(s, "~1", "/");
      +
      10948  replace_substring(s, "~0", "~");
      +
      10949  }
      +
      10950 
      +
      10958  static void flatten(const std::string& reference_string,
      +
      10959  const BasicJsonType& value,
      +
      10960  BasicJsonType& result)
      +
      10961  {
      +
      10962  switch (value.type())
      +
      10963  {
      + +
      10965  {
      +
      10966  if (value.m_value.array->empty())
      +
      10967  {
      +
      10968  // flatten empty array as null
      +
      10969  result[reference_string] = nullptr;
      +
      10970  }
      +
      10971  else
      +
      10972  {
      +
      10973  // iterate array and use index as reference string
      +
      10974  for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
      +
      10975  {
      +
      10976  flatten(reference_string + "/" + std::to_string(i),
      +
      10977  value.m_value.array->operator[](i), result);
      +
      10978  }
      +
      10979  }
      +
      10980  break;
      +
      10981  }
      +
      10982 
      + +
      10984  {
      +
      10985  if (value.m_value.object->empty())
      +
      10986  {
      +
      10987  // flatten empty object as null
      +
      10988  result[reference_string] = nullptr;
      +
      10989  }
      +
      10990  else
      +
      10991  {
      +
      10992  // iterate object and use keys as reference string
      +
      10993  for (const auto& element : *value.m_value.object)
      +
      10994  {
      +
      10995  flatten(reference_string + "/" + escape(element.first), element.second, result);
      +
      10996  }
      +
      10997  }
      +
      10998  break;
      +
      10999  }
      +
      11000 
      +
      11001  default:
      +
      11002  {
      +
      11003  // add primitive value with its reference string
      +
      11004  result[reference_string] = value;
      +
      11005  break;
      +
      11006  }
      +
      11007  }
      +
      11008  }
      +
      11009 
      +
      11020  static BasicJsonType
      +
      11021  unflatten(const BasicJsonType& value)
      +
      11022  {
      +
      11023  if (JSON_HEDLEY_UNLIKELY(not value.is_object()))
      +
      11024  {
      +
      11025  JSON_THROW(detail::type_error::create(314, "only objects can be unflattened"));
      +
      11026  }
      +
      11027 
      +
      11028  BasicJsonType result;
      +
      11029 
      +
      11030  // iterate the JSON object values
      +
      11031  for (const auto& element : *value.m_value.object)
      +
      11032  {
      +
      11033  if (JSON_HEDLEY_UNLIKELY(not element.second.is_primitive()))
      +
      11034  {
      +
      11035  JSON_THROW(detail::type_error::create(315, "values in object must be primitive"));
      +
      11036  }
      +
      11037 
      +
      11038  // assign value to reference pointed to by JSON pointer; Note that if
      +
      11039  // the JSON pointer is "" (i.e., points to the whole value), function
      +
      11040  // get_and_create returns a reference to result itself. An assignment
      +
      11041  // will then create a primitive value.
      +
      11042  json_pointer(element.first).get_and_create(result) = element.second;
      +
      11043  }
      +
      11044 
      +
      11045  return result;
      +
      11046  }
      +
      11047 
      +
      11059  friend bool operator==(json_pointer const& lhs,
      +
      11060  json_pointer const& rhs) noexcept
      +
      11061  {
      +
      11062  return lhs.reference_tokens == rhs.reference_tokens;
      +
      11063  }
      +
      11064 
      +
      11076  friend bool operator!=(json_pointer const& lhs,
      +
      11077  json_pointer const& rhs) noexcept
      +
      11078  {
      +
      11079  return not (lhs == rhs);
      +
      11080  }
      +
      11081 
      +
      11083  std::vector<std::string> reference_tokens;
      +
      11084 };
      +
      11085 } // namespace nlohmann
      +
      11086 
      +
      11087 // #include <nlohmann/detail/json_ref.hpp>
      +
      11088 
      +
      11089 
      +
      11090 #include <initializer_list>
      +
      11091 #include <utility>
      +
      11092 
      +
      11093 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      11094 
      +
      11095 
      +
      11096 namespace nlohmann
      +
      11097 {
      +
      11098 namespace detail
      +
      11099 {
      +
      11100 template<typename BasicJsonType>
      + +
      11102 {
      +
      11103  public:
      +
      11104  using value_type = BasicJsonType;
      +
      11105 
      + +
      11107  : owned_value(std::move(value)), value_ref(&owned_value), is_rvalue(true)
      +
      11108  {}
      +
      11109 
      +
      11110  json_ref(const value_type& value)
      +
      11111  : value_ref(const_cast<value_type*>(&value)), is_rvalue(false)
      +
      11112  {}
      +
      11113 
      +
      11114  json_ref(std::initializer_list<json_ref> init)
      +
      11115  : owned_value(init), value_ref(&owned_value), is_rvalue(true)
      +
      11116  {}
      +
      11117 
      +
      11118  template <
      +
      11119  class... Args,
      +
      11120  enable_if_t<std::is_constructible<value_type, Args...>::value, int> = 0 >
      +
      11121  json_ref(Args && ... args)
      +
      11122  : owned_value(std::forward<Args>(args)...), value_ref(&owned_value),
      +
      11123  is_rvalue(true) {}
      +
      11124 
      +
      11125  // class should be movable only
      +
      11126  json_ref(json_ref&&) = default;
      +
      11127  json_ref(const json_ref&) = delete;
      +
      11128  json_ref& operator=(const json_ref&) = delete;
      +
      11129  json_ref& operator=(json_ref&&) = delete;
      +
      11130  ~json_ref() = default;
      +
      11131 
      + +
      11133  {
      +
      11134  if (is_rvalue)
      +
      11135  {
      +
      11136  return std::move(*value_ref);
      +
      11137  }
      +
      11138  return *value_ref;
      +
      11139  }
      +
      11140 
      +
      11141  value_type const& operator*() const
      +
      11142  {
      +
      11143  return *static_cast<value_type const*>(value_ref);
      +
      11144  }
      +
      11145 
      +
      11146  value_type const* operator->() const
      +
      11147  {
      +
      11148  return static_cast<value_type const*>(value_ref);
      +
      11149  }
      +
      11150 
      +
      11151  private:
      +
      11152  mutable value_type owned_value = nullptr;
      +
      11153  value_type* value_ref = nullptr;
      +
      11154  const bool is_rvalue;
      +
      11155 };
      +
      11156 } // namespace detail
      +
      11157 } // namespace nlohmann
      +
      11158 
      +
      11159 // #include <nlohmann/detail/macro_scope.hpp>
      +
      11160 
      +
      11161 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      11162 
      +
      11163 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      11164 
      +
      11165 // #include <nlohmann/detail/output/binary_writer.hpp>
      +
      11166 
      +
      11167 
      +
      11168 #include <algorithm> // reverse
      +
      11169 #include <array> // array
      +
      11170 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
      +
      11171 #include <cstring> // memcpy
      +
      11172 #include <limits> // numeric_limits
      +
      11173 #include <string> // string
      +
      11174 
      +
      11175 // #include <nlohmann/detail/input/binary_reader.hpp>
      +
      11176 
      +
      11177 // #include <nlohmann/detail/macro_scope.hpp>
      +
      11178 
      +
      11179 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      11180 
      +
      11181 
      +
      11182 #include <algorithm> // copy
      +
      11183 #include <cstddef> // size_t
      +
      11184 #include <ios> // streamsize
      +
      11185 #include <iterator> // back_inserter
      +
      11186 #include <memory> // shared_ptr, make_shared
      +
      11187 #include <ostream> // basic_ostream
      +
      11188 #include <string> // basic_string
      +
      11189 #include <vector> // vector
      +
      11190 // #include <nlohmann/detail/macro_scope.hpp>
      +
      11191 
      +
      11192 
      +
      11193 namespace nlohmann
      +
      11194 {
      +
      11195 namespace detail
      +
      11196 {
      +
      11198 template<typename CharType> struct output_adapter_protocol
      +
      11199 {
      +
      11200  virtual void write_character(CharType c) = 0;
      +
      11201  virtual void write_characters(const CharType* s, std::size_t length) = 0;
      +
      11202  virtual ~output_adapter_protocol() = default;
      +
      11203 };
      +
      11204 
      +
      11206 template<typename CharType>
      +
      11207 using output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>>;
      +
      11208 
      +
      11210 template<typename CharType>
      + +
      11212 {
      +
      11213  public:
      +
      11214  explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
      +
      11215  : v(vec)
      +
      11216  {}
      +
      11217 
      +
      11218  void write_character(CharType c) override
      +
      11219  {
      +
      11220  v.push_back(c);
      +
      11221  }
      +
      11222 
      + +
      11224  void write_characters(const CharType* s, std::size_t length) override
      +
      11225  {
      +
      11226  std::copy(s, s + length, std::back_inserter(v));
      +
      11227  }
      +
      11228 
      +
      11229  private:
      +
      11230  std::vector<CharType>& v;
      +
      11231 };
      +
      11232 
      +
      11234 template<typename CharType>
      + +
      11236 {
      +
      11237  public:
      +
      11238  explicit output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
      +
      11239  : stream(s)
      +
      11240  {}
      +
      11241 
      +
      11242  void write_character(CharType c) override
      +
      11243  {
      +
      11244  stream.put(c);
      +
      11245  }
      +
      11246 
      + +
      11248  void write_characters(const CharType* s, std::size_t length) override
      +
      11249  {
      +
      11250  stream.write(s, static_cast<std::streamsize>(length));
      +
      11251  }
      +
      11252 
      +
      11253  private:
      +
      11254  std::basic_ostream<CharType>& stream;
      +
      11255 };
      +
      11256 
      +
      11258 template<typename CharType, typename StringType = std::basic_string<CharType>>
      + +
      11260 {
      +
      11261  public:
      +
      11262  explicit output_string_adapter(StringType& s) noexcept
      +
      11263  : str(s)
      +
      11264  {}
      +
      11265 
      +
      11266  void write_character(CharType c) override
      +
      11267  {
      +
      11268  str.push_back(c);
      +
      11269  }
      +
      11270 
      + +
      11272  void write_characters(const CharType* s, std::size_t length) override
      +
      11273  {
      +
      11274  str.append(s, length);
      +
      11275  }
      +
      11276 
      +
      11277  private:
      +
      11278  StringType& str;
      +
      11279 };
      +
      11280 
      +
      11281 template<typename CharType, typename StringType = std::basic_string<CharType>>
      + +
      11283 {
      +
      11284  public:
      +
      11285  output_adapter(std::vector<CharType>& vec)
      +
      11286  : oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {}
      +
      11287 
      +
      11288  output_adapter(std::basic_ostream<CharType>& s)
      +
      11289  : oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
      +
      11290 
      +
      11291  output_adapter(StringType& s)
      +
      11292  : oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {}
      +
      11293 
      + +
      11295  {
      +
      11296  return oa;
      +
      11297  }
      +
      11298 
      +
      11299  private:
      +
      11300  output_adapter_t<CharType> oa = nullptr;
      +
      11301 };
      +
      11302 } // namespace detail
      +
      11303 } // namespace nlohmann
      +
      11304 
      +
      11305 
      +
      11306 namespace nlohmann
      +
      11307 {
      +
      11308 namespace detail
      +
      11309 {
      +
      11311 // binary writer //
      +
      11313 
      +
      11317 template<typename BasicJsonType, typename CharType>
      + +
      11319 {
      +
      11320  using string_t = typename BasicJsonType::string_t;
      +
      11321 
      +
      11322  public:
      +
      11328  explicit binary_writer(output_adapter_t<CharType> adapter) : oa(adapter)
      +
      11329  {
      +
      11330  assert(oa);
      +
      11331  }
      +
      11332 
      +
      11337  void write_bson(const BasicJsonType& j)
      +
      11338  {
      +
      11339  switch (j.type())
      +
      11340  {
      +
      11341  case value_t::object:
      +
      11342  {
      +
      11343  write_bson_object(*j.m_value.object);
      +
      11344  break;
      +
      11345  }
      +
      11346 
      +
      11347  default:
      +
      11348  {
      +
      11349  JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name())));
      +
      11350  }
      +
      11351  }
      +
      11352  }
      +
      11353 
      +
      11357  void write_cbor(const BasicJsonType& j)
      +
      11358  {
      +
      11359  switch (j.type())
      +
      11360  {
      +
      11361  case value_t::null:
      +
      11362  {
      +
      11363  oa->write_character(to_char_type(0xF6));
      +
      11364  break;
      +
      11365  }
      +
      11366 
      +
      11367  case value_t::boolean:
      +
      11368  {
      +
      11369  oa->write_character(j.m_value.boolean
      +
      11370  ? to_char_type(0xF5)
      +
      11371  : to_char_type(0xF4));
      +
      11372  break;
      +
      11373  }
      +
      11374 
      + +
      11376  {
      +
      11377  if (j.m_value.number_integer >= 0)
      +
      11378  {
      +
      11379  // CBOR does not differentiate between positive signed
      +
      11380  // integers and unsigned integers. Therefore, we used the
      +
      11381  // code from the value_t::number_unsigned case here.
      +
      11382  if (j.m_value.number_integer <= 0x17)
      +
      11383  {
      +
      11384  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11385  }
      +
      11386  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11387  {
      +
      11388  oa->write_character(to_char_type(0x18));
      +
      11389  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11390  }
      +
      11391  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11392  {
      +
      11393  oa->write_character(to_char_type(0x19));
      +
      11394  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      11395  }
      +
      11396  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11397  {
      +
      11398  oa->write_character(to_char_type(0x1A));
      +
      11399  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      11400  }
      +
      11401  else
      +
      11402  {
      +
      11403  oa->write_character(to_char_type(0x1B));
      +
      11404  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      11405  }
      +
      11406  }
      +
      11407  else
      +
      11408  {
      +
      11409  // The conversions below encode the sign in the first
      +
      11410  // byte, and the value is converted to a positive number.
      +
      11411  const auto positive_number = -1 - j.m_value.number_integer;
      +
      11412  if (j.m_value.number_integer >= -24)
      +
      11413  {
      +
      11414  write_number(static_cast<std::uint8_t>(0x20 + positive_number));
      +
      11415  }
      +
      11416  else if (positive_number <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11417  {
      +
      11418  oa->write_character(to_char_type(0x38));
      +
      11419  write_number(static_cast<std::uint8_t>(positive_number));
      +
      11420  }
      +
      11421  else if (positive_number <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11422  {
      +
      11423  oa->write_character(to_char_type(0x39));
      +
      11424  write_number(static_cast<std::uint16_t>(positive_number));
      +
      11425  }
      +
      11426  else if (positive_number <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11427  {
      +
      11428  oa->write_character(to_char_type(0x3A));
      +
      11429  write_number(static_cast<std::uint32_t>(positive_number));
      +
      11430  }
      +
      11431  else
      +
      11432  {
      +
      11433  oa->write_character(to_char_type(0x3B));
      +
      11434  write_number(static_cast<std::uint64_t>(positive_number));
      +
      11435  }
      +
      11436  }
      +
      11437  break;
      +
      11438  }
      +
      11439 
      + +
      11441  {
      +
      11442  if (j.m_value.number_unsigned <= 0x17)
      +
      11443  {
      +
      11444  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
      +
      11445  }
      +
      11446  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11447  {
      +
      11448  oa->write_character(to_char_type(0x18));
      +
      11449  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
      +
      11450  }
      +
      11451  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11452  {
      +
      11453  oa->write_character(to_char_type(0x19));
      +
      11454  write_number(static_cast<std::uint16_t>(j.m_value.number_unsigned));
      +
      11455  }
      +
      11456  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11457  {
      +
      11458  oa->write_character(to_char_type(0x1A));
      +
      11459  write_number(static_cast<std::uint32_t>(j.m_value.number_unsigned));
      +
      11460  }
      +
      11461  else
      +
      11462  {
      +
      11463  oa->write_character(to_char_type(0x1B));
      +
      11464  write_number(static_cast<std::uint64_t>(j.m_value.number_unsigned));
      +
      11465  }
      +
      11466  break;
      +
      11467  }
      +
      11468 
      +
      11469  case value_t::number_float:
      +
      11470  {
      +
      11471  oa->write_character(get_cbor_float_prefix(j.m_value.number_float));
      +
      11472  write_number(j.m_value.number_float);
      +
      11473  break;
      +
      11474  }
      +
      11475 
      +
      11476  case value_t::string:
      +
      11477  {
      +
      11478  // step 1: write control byte and the string length
      +
      11479  const auto N = j.m_value.string->size();
      +
      11480  if (N <= 0x17)
      +
      11481  {
      +
      11482  write_number(static_cast<std::uint8_t>(0x60 + N));
      +
      11483  }
      +
      11484  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11485  {
      +
      11486  oa->write_character(to_char_type(0x78));
      +
      11487  write_number(static_cast<std::uint8_t>(N));
      +
      11488  }
      +
      11489  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11490  {
      +
      11491  oa->write_character(to_char_type(0x79));
      +
      11492  write_number(static_cast<std::uint16_t>(N));
      +
      11493  }
      +
      11494  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11495  {
      +
      11496  oa->write_character(to_char_type(0x7A));
      +
      11497  write_number(static_cast<std::uint32_t>(N));
      +
      11498  }
      +
      11499  // LCOV_EXCL_START
      +
      11500  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      11501  {
      +
      11502  oa->write_character(to_char_type(0x7B));
      +
      11503  write_number(static_cast<std::uint64_t>(N));
      +
      11504  }
      +
      11505  // LCOV_EXCL_STOP
      +
      11506 
      +
      11507  // step 2: write the string
      +
      11508  oa->write_characters(
      +
      11509  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      11510  j.m_value.string->size());
      +
      11511  break;
      +
      11512  }
      +
      11513 
      +
      11514  case value_t::array:
      +
      11515  {
      +
      11516  // step 1: write control byte and the array size
      +
      11517  const auto N = j.m_value.array->size();
      +
      11518  if (N <= 0x17)
      +
      11519  {
      +
      11520  write_number(static_cast<std::uint8_t>(0x80 + N));
      +
      11521  }
      +
      11522  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11523  {
      +
      11524  oa->write_character(to_char_type(0x98));
      +
      11525  write_number(static_cast<std::uint8_t>(N));
      +
      11526  }
      +
      11527  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11528  {
      +
      11529  oa->write_character(to_char_type(0x99));
      +
      11530  write_number(static_cast<std::uint16_t>(N));
      +
      11531  }
      +
      11532  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11533  {
      +
      11534  oa->write_character(to_char_type(0x9A));
      +
      11535  write_number(static_cast<std::uint32_t>(N));
      +
      11536  }
      +
      11537  // LCOV_EXCL_START
      +
      11538  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      11539  {
      +
      11540  oa->write_character(to_char_type(0x9B));
      +
      11541  write_number(static_cast<std::uint64_t>(N));
      +
      11542  }
      +
      11543  // LCOV_EXCL_STOP
      +
      11544 
      +
      11545  // step 2: write each element
      +
      11546  for (const auto& el : *j.m_value.array)
      +
      11547  {
      +
      11548  write_cbor(el);
      +
      11549  }
      +
      11550  break;
      +
      11551  }
      +
      11552 
      +
      11553  case value_t::object:
      +
      11554  {
      +
      11555  // step 1: write control byte and the object size
      +
      11556  const auto N = j.m_value.object->size();
      +
      11557  if (N <= 0x17)
      +
      11558  {
      +
      11559  write_number(static_cast<std::uint8_t>(0xA0 + N));
      +
      11560  }
      +
      11561  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11562  {
      +
      11563  oa->write_character(to_char_type(0xB8));
      +
      11564  write_number(static_cast<std::uint8_t>(N));
      +
      11565  }
      +
      11566  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11567  {
      +
      11568  oa->write_character(to_char_type(0xB9));
      +
      11569  write_number(static_cast<std::uint16_t>(N));
      +
      11570  }
      +
      11571  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11572  {
      +
      11573  oa->write_character(to_char_type(0xBA));
      +
      11574  write_number(static_cast<std::uint32_t>(N));
      +
      11575  }
      +
      11576  // LCOV_EXCL_START
      +
      11577  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      11578  {
      +
      11579  oa->write_character(to_char_type(0xBB));
      +
      11580  write_number(static_cast<std::uint64_t>(N));
      +
      11581  }
      +
      11582  // LCOV_EXCL_STOP
      +
      11583 
      +
      11584  // step 2: write each element
      +
      11585  for (const auto& el : *j.m_value.object)
      +
      11586  {
      +
      11587  write_cbor(el.first);
      +
      11588  write_cbor(el.second);
      +
      11589  }
      +
      11590  break;
      +
      11591  }
      +
      11592 
      +
      11593  default:
      +
      11594  break;
      +
      11595  }
      +
      11596  }
      +
      11597 
      +
      11601  void write_msgpack(const BasicJsonType& j)
      +
      11602  {
      +
      11603  switch (j.type())
      +
      11604  {
      +
      11605  case value_t::null: // nil
      +
      11606  {
      +
      11607  oa->write_character(to_char_type(0xC0));
      +
      11608  break;
      +
      11609  }
      +
      11610 
      +
      11611  case value_t::boolean: // true and false
      +
      11612  {
      +
      11613  oa->write_character(j.m_value.boolean
      +
      11614  ? to_char_type(0xC3)
      +
      11615  : to_char_type(0xC2));
      +
      11616  break;
      +
      11617  }
      +
      11618 
      + +
      11620  {
      +
      11621  if (j.m_value.number_integer >= 0)
      +
      11622  {
      +
      11623  // MessagePack does not differentiate between positive
      +
      11624  // signed integers and unsigned integers. Therefore, we used
      +
      11625  // the code from the value_t::number_unsigned case here.
      +
      11626  if (j.m_value.number_unsigned < 128)
      +
      11627  {
      +
      11628  // positive fixnum
      +
      11629  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11630  }
      +
      11631  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11632  {
      +
      11633  // uint 8
      +
      11634  oa->write_character(to_char_type(0xCC));
      +
      11635  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11636  }
      +
      11637  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11638  {
      +
      11639  // uint 16
      +
      11640  oa->write_character(to_char_type(0xCD));
      +
      11641  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      11642  }
      +
      11643  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11644  {
      +
      11645  // uint 32
      +
      11646  oa->write_character(to_char_type(0xCE));
      +
      11647  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      11648  }
      +
      11649  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
      +
      11650  {
      +
      11651  // uint 64
      +
      11652  oa->write_character(to_char_type(0xCF));
      +
      11653  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      11654  }
      +
      11655  }
      +
      11656  else
      +
      11657  {
      +
      11658  if (j.m_value.number_integer >= -32)
      +
      11659  {
      +
      11660  // negative fixnum
      +
      11661  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
      +
      11662  }
      +
      11663  else if (j.m_value.number_integer >= (std::numeric_limits<std::int8_t>::min)() and
      +
      11664  j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
      +
      11665  {
      +
      11666  // int 8
      +
      11667  oa->write_character(to_char_type(0xD0));
      +
      11668  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
      +
      11669  }
      +
      11670  else if (j.m_value.number_integer >= (std::numeric_limits<std::int16_t>::min)() and
      +
      11671  j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
      +
      11672  {
      +
      11673  // int 16
      +
      11674  oa->write_character(to_char_type(0xD1));
      +
      11675  write_number(static_cast<std::int16_t>(j.m_value.number_integer));
      +
      11676  }
      +
      11677  else if (j.m_value.number_integer >= (std::numeric_limits<std::int32_t>::min)() and
      +
      11678  j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
      +
      11679  {
      +
      11680  // int 32
      +
      11681  oa->write_character(to_char_type(0xD2));
      +
      11682  write_number(static_cast<std::int32_t>(j.m_value.number_integer));
      +
      11683  }
      +
      11684  else if (j.m_value.number_integer >= (std::numeric_limits<std::int64_t>::min)() and
      +
      11685  j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
      +
      11686  {
      +
      11687  // int 64
      +
      11688  oa->write_character(to_char_type(0xD3));
      +
      11689  write_number(static_cast<std::int64_t>(j.m_value.number_integer));
      +
      11690  }
      +
      11691  }
      +
      11692  break;
      +
      11693  }
      +
      11694 
      + +
      11696  {
      +
      11697  if (j.m_value.number_unsigned < 128)
      +
      11698  {
      +
      11699  // positive fixnum
      +
      11700  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11701  }
      +
      11702  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11703  {
      +
      11704  // uint 8
      +
      11705  oa->write_character(to_char_type(0xCC));
      +
      11706  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      11707  }
      +
      11708  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11709  {
      +
      11710  // uint 16
      +
      11711  oa->write_character(to_char_type(0xCD));
      +
      11712  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      11713  }
      +
      11714  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11715  {
      +
      11716  // uint 32
      +
      11717  oa->write_character(to_char_type(0xCE));
      +
      11718  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      11719  }
      +
      11720  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
      +
      11721  {
      +
      11722  // uint 64
      +
      11723  oa->write_character(to_char_type(0xCF));
      +
      11724  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      11725  }
      +
      11726  break;
      +
      11727  }
      +
      11728 
      +
      11729  case value_t::number_float:
      +
      11730  {
      +
      11731  oa->write_character(get_msgpack_float_prefix(j.m_value.number_float));
      +
      11732  write_number(j.m_value.number_float);
      +
      11733  break;
      +
      11734  }
      +
      11735 
      +
      11736  case value_t::string:
      +
      11737  {
      +
      11738  // step 1: write control byte and the string length
      +
      11739  const auto N = j.m_value.string->size();
      +
      11740  if (N <= 31)
      +
      11741  {
      +
      11742  // fixstr
      +
      11743  write_number(static_cast<std::uint8_t>(0xA0 | N));
      +
      11744  }
      +
      11745  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      11746  {
      +
      11747  // str 8
      +
      11748  oa->write_character(to_char_type(0xD9));
      +
      11749  write_number(static_cast<std::uint8_t>(N));
      +
      11750  }
      +
      11751  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11752  {
      +
      11753  // str 16
      +
      11754  oa->write_character(to_char_type(0xDA));
      +
      11755  write_number(static_cast<std::uint16_t>(N));
      +
      11756  }
      +
      11757  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11758  {
      +
      11759  // str 32
      +
      11760  oa->write_character(to_char_type(0xDB));
      +
      11761  write_number(static_cast<std::uint32_t>(N));
      +
      11762  }
      +
      11763 
      +
      11764  // step 2: write the string
      +
      11765  oa->write_characters(
      +
      11766  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      11767  j.m_value.string->size());
      +
      11768  break;
      +
      11769  }
      +
      11770 
      +
      11771  case value_t::array:
      +
      11772  {
      +
      11773  // step 1: write control byte and the array size
      +
      11774  const auto N = j.m_value.array->size();
      +
      11775  if (N <= 15)
      +
      11776  {
      +
      11777  // fixarray
      +
      11778  write_number(static_cast<std::uint8_t>(0x90 | N));
      +
      11779  }
      +
      11780  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11781  {
      +
      11782  // array 16
      +
      11783  oa->write_character(to_char_type(0xDC));
      +
      11784  write_number(static_cast<std::uint16_t>(N));
      +
      11785  }
      +
      11786  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11787  {
      +
      11788  // array 32
      +
      11789  oa->write_character(to_char_type(0xDD));
      +
      11790  write_number(static_cast<std::uint32_t>(N));
      +
      11791  }
      +
      11792 
      +
      11793  // step 2: write each element
      +
      11794  for (const auto& el : *j.m_value.array)
      +
      11795  {
      +
      11796  write_msgpack(el);
      +
      11797  }
      +
      11798  break;
      +
      11799  }
      +
      11800 
      +
      11801  case value_t::object:
      +
      11802  {
      +
      11803  // step 1: write control byte and the object size
      +
      11804  const auto N = j.m_value.object->size();
      +
      11805  if (N <= 15)
      +
      11806  {
      +
      11807  // fixmap
      +
      11808  write_number(static_cast<std::uint8_t>(0x80 | (N & 0xF)));
      +
      11809  }
      +
      11810  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      11811  {
      +
      11812  // map 16
      +
      11813  oa->write_character(to_char_type(0xDE));
      +
      11814  write_number(static_cast<std::uint16_t>(N));
      +
      11815  }
      +
      11816  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      11817  {
      +
      11818  // map 32
      +
      11819  oa->write_character(to_char_type(0xDF));
      +
      11820  write_number(static_cast<std::uint32_t>(N));
      +
      11821  }
      +
      11822 
      +
      11823  // step 2: write each element
      +
      11824  for (const auto& el : *j.m_value.object)
      +
      11825  {
      +
      11826  write_msgpack(el.first);
      +
      11827  write_msgpack(el.second);
      +
      11828  }
      +
      11829  break;
      +
      11830  }
      +
      11831 
      +
      11832  default:
      +
      11833  break;
      +
      11834  }
      +
      11835  }
      +
      11836 
      +
      11843  void write_ubjson(const BasicJsonType& j, const bool use_count,
      +
      11844  const bool use_type, const bool add_prefix = true)
      +
      11845  {
      +
      11846  switch (j.type())
      +
      11847  {
      +
      11848  case value_t::null:
      +
      11849  {
      +
      11850  if (add_prefix)
      +
      11851  {
      +
      11852  oa->write_character(to_char_type('Z'));
      +
      11853  }
      +
      11854  break;
      +
      11855  }
      +
      11856 
      +
      11857  case value_t::boolean:
      +
      11858  {
      +
      11859  if (add_prefix)
      +
      11860  {
      +
      11861  oa->write_character(j.m_value.boolean
      +
      11862  ? to_char_type('T')
      +
      11863  : to_char_type('F'));
      +
      11864  }
      +
      11865  break;
      +
      11866  }
      +
      11867 
      + +
      11869  {
      +
      11870  write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
      +
      11871  break;
      +
      11872  }
      +
      11873 
      + +
      11875  {
      +
      11876  write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
      +
      11877  break;
      +
      11878  }
      +
      11879 
      +
      11880  case value_t::number_float:
      +
      11881  {
      +
      11882  write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
      +
      11883  break;
      +
      11884  }
      +
      11885 
      +
      11886  case value_t::string:
      +
      11887  {
      +
      11888  if (add_prefix)
      +
      11889  {
      +
      11890  oa->write_character(to_char_type('S'));
      +
      11891  }
      +
      11892  write_number_with_ubjson_prefix(j.m_value.string->size(), true);
      +
      11893  oa->write_characters(
      +
      11894  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      11895  j.m_value.string->size());
      +
      11896  break;
      +
      11897  }
      +
      11898 
      +
      11899  case value_t::array:
      +
      11900  {
      +
      11901  if (add_prefix)
      +
      11902  {
      +
      11903  oa->write_character(to_char_type('['));
      +
      11904  }
      +
      11905 
      +
      11906  bool prefix_required = true;
      +
      11907  if (use_type and not j.m_value.array->empty())
      +
      11908  {
      +
      11909  assert(use_count);
      +
      11910  const CharType first_prefix = ubjson_prefix(j.front());
      +
      11911  const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
      +
      11912  [this, first_prefix](const BasicJsonType & v)
      +
      11913  {
      +
      11914  return ubjson_prefix(v) == first_prefix;
      +
      11915  });
      +
      11916 
      +
      11917  if (same_prefix)
      +
      11918  {
      +
      11919  prefix_required = false;
      +
      11920  oa->write_character(to_char_type('$'));
      +
      11921  oa->write_character(first_prefix);
      +
      11922  }
      +
      11923  }
      +
      11924 
      +
      11925  if (use_count)
      +
      11926  {
      +
      11927  oa->write_character(to_char_type('#'));
      +
      11928  write_number_with_ubjson_prefix(j.m_value.array->size(), true);
      +
      11929  }
      +
      11930 
      +
      11931  for (const auto& el : *j.m_value.array)
      +
      11932  {
      +
      11933  write_ubjson(el, use_count, use_type, prefix_required);
      +
      11934  }
      +
      11935 
      +
      11936  if (not use_count)
      +
      11937  {
      +
      11938  oa->write_character(to_char_type(']'));
      +
      11939  }
      +
      11940 
      +
      11941  break;
      +
      11942  }
      +
      11943 
      +
      11944  case value_t::object:
      +
      11945  {
      +
      11946  if (add_prefix)
      +
      11947  {
      +
      11948  oa->write_character(to_char_type('{'));
      +
      11949  }
      +
      11950 
      +
      11951  bool prefix_required = true;
      +
      11952  if (use_type and not j.m_value.object->empty())
      +
      11953  {
      +
      11954  assert(use_count);
      +
      11955  const CharType first_prefix = ubjson_prefix(j.front());
      +
      11956  const bool same_prefix = std::all_of(j.begin(), j.end(),
      +
      11957  [this, first_prefix](const BasicJsonType & v)
      +
      11958  {
      +
      11959  return ubjson_prefix(v) == first_prefix;
      +
      11960  });
      +
      11961 
      +
      11962  if (same_prefix)
      +
      11963  {
      +
      11964  prefix_required = false;
      +
      11965  oa->write_character(to_char_type('$'));
      +
      11966  oa->write_character(first_prefix);
      +
      11967  }
      +
      11968  }
      +
      11969 
      +
      11970  if (use_count)
      +
      11971  {
      +
      11972  oa->write_character(to_char_type('#'));
      +
      11973  write_number_with_ubjson_prefix(j.m_value.object->size(), true);
      +
      11974  }
      +
      11975 
      +
      11976  for (const auto& el : *j.m_value.object)
      +
      11977  {
      +
      11978  write_number_with_ubjson_prefix(el.first.size(), true);
      +
      11979  oa->write_characters(
      +
      11980  reinterpret_cast<const CharType*>(el.first.c_str()),
      +
      11981  el.first.size());
      +
      11982  write_ubjson(el.second, use_count, use_type, prefix_required);
      +
      11983  }
      +
      11984 
      +
      11985  if (not use_count)
      +
      11986  {
      +
      11987  oa->write_character(to_char_type('}'));
      +
      11988  }
      +
      11989 
      +
      11990  break;
      +
      11991  }
      +
      11992 
      +
      11993  default:
      +
      11994  break;
      +
      11995  }
      +
      11996  }
      +
      11997 
      +
      11998  private:
      +
      12000  // BSON //
      +
      12002 
      +
      12007  static std::size_t calc_bson_entry_header_size(const string_t& name)
      +
      12008  {
      +
      12009  const auto it = name.find(static_cast<typename string_t::value_type>(0));
      +
      12010  if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos))
      +
      12011  {
      + +
      12013  "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")"));
      +
      12014  }
      +
      12015 
      +
      12016  return /*id*/ 1ul + name.size() + /*zero-terminator*/1u;
      +
      12017  }
      +
      12018 
      +
      12022  void write_bson_entry_header(const string_t& name,
      +
      12023  const std::uint8_t element_type)
      +
      12024  {
      +
      12025  oa->write_character(to_char_type(element_type)); // boolean
      +
      12026  oa->write_characters(
      +
      12027  reinterpret_cast<const CharType*>(name.c_str()),
      +
      12028  name.size() + 1u);
      +
      12029  }
      +
      12030 
      +
      12034  void write_bson_boolean(const string_t& name,
      +
      12035  const bool value)
      +
      12036  {
      +
      12037  write_bson_entry_header(name, 0x08);
      +
      12038  oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00));
      +
      12039  }
      +
      12040 
      +
      12044  void write_bson_double(const string_t& name,
      +
      12045  const double value)
      +
      12046  {
      +
      12047  write_bson_entry_header(name, 0x01);
      +
      12048  write_number<double, true>(value);
      +
      12049  }
      +
      12050 
      +
      12054  static std::size_t calc_bson_string_size(const string_t& value)
      +
      12055  {
      +
      12056  return sizeof(std::int32_t) + value.size() + 1ul;
      +
      12057  }
      +
      12058 
      +
      12062  void write_bson_string(const string_t& name,
      +
      12063  const string_t& value)
      +
      12064  {
      +
      12065  write_bson_entry_header(name, 0x02);
      +
      12066 
      +
      12067  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size() + 1ul));
      +
      12068  oa->write_characters(
      +
      12069  reinterpret_cast<const CharType*>(value.c_str()),
      +
      12070  value.size() + 1);
      +
      12071  }
      +
      12072 
      +
      12076  void write_bson_null(const string_t& name)
      +
      12077  {
      +
      12078  write_bson_entry_header(name, 0x0A);
      +
      12079  }
      +
      12080 
      +
      12084  static std::size_t calc_bson_integer_size(const std::int64_t value)
      +
      12085  {
      +
      12086  return (std::numeric_limits<std::int32_t>::min)() <= value and value <= (std::numeric_limits<std::int32_t>::max)()
      +
      12087  ? sizeof(std::int32_t)
      +
      12088  : sizeof(std::int64_t);
      +
      12089  }
      +
      12090 
      +
      12094  void write_bson_integer(const string_t& name,
      +
      12095  const std::int64_t value)
      +
      12096  {
      +
      12097  if ((std::numeric_limits<std::int32_t>::min)() <= value and value <= (std::numeric_limits<std::int32_t>::max)())
      +
      12098  {
      +
      12099  write_bson_entry_header(name, 0x10); // int32
      +
      12100  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
      +
      12101  }
      +
      12102  else
      +
      12103  {
      +
      12104  write_bson_entry_header(name, 0x12); // int64
      +
      12105  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
      +
      12106  }
      +
      12107  }
      +
      12108 
      +
      12112  static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
      +
      12113  {
      +
      12114  return (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      12115  ? sizeof(std::int32_t)
      +
      12116  : sizeof(std::int64_t);
      +
      12117  }
      +
      12118 
      +
      12122  void write_bson_unsigned(const string_t& name,
      +
      12123  const std::uint64_t value)
      +
      12124  {
      +
      12125  if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      12126  {
      +
      12127  write_bson_entry_header(name, 0x10 /* int32 */);
      +
      12128  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
      +
      12129  }
      +
      12130  else if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
      +
      12131  {
      +
      12132  write_bson_entry_header(name, 0x12 /* int64 */);
      +
      12133  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
      +
      12134  }
      +
      12135  else
      +
      12136  {
      +
      12137  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(value) + " cannot be represented by BSON as it does not fit int64"));
      +
      12138  }
      +
      12139  }
      +
      12140 
      +
      12144  void write_bson_object_entry(const string_t& name,
      +
      12145  const typename BasicJsonType::object_t& value)
      +
      12146  {
      +
      12147  write_bson_entry_header(name, 0x03); // object
      +
      12148  write_bson_object(value);
      +
      12149  }
      +
      12150 
      +
      12154  static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value)
      +
      12155  {
      +
      12156  std::size_t array_index = 0ul;
      +
      12157 
      +
      12158  const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), 0ul, [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el)
      +
      12159  {
      +
      12160  return result + calc_bson_element_size(std::to_string(array_index++), el);
      +
      12161  });
      +
      12162 
      +
      12163  return sizeof(std::int32_t) + embedded_document_size + 1ul;
      +
      12164  }
      +
      12165 
      +
      12169  void write_bson_array(const string_t& name,
      +
      12170  const typename BasicJsonType::array_t& value)
      +
      12171  {
      +
      12172  write_bson_entry_header(name, 0x04); // array
      +
      12173  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_array_size(value)));
      +
      12174 
      +
      12175  std::size_t array_index = 0ul;
      +
      12176 
      +
      12177  for (const auto& el : value)
      +
      12178  {
      +
      12179  write_bson_element(std::to_string(array_index++), el);
      +
      12180  }
      +
      12181 
      +
      12182  oa->write_character(to_char_type(0x00));
      +
      12183  }
      +
      12184 
      +
      12189  static std::size_t calc_bson_element_size(const string_t& name,
      +
      12190  const BasicJsonType& j)
      +
      12191  {
      +
      12192  const auto header_size = calc_bson_entry_header_size(name);
      +
      12193  switch (j.type())
      +
      12194  {
      +
      12195  case value_t::object:
      +
      12196  return header_size + calc_bson_object_size(*j.m_value.object);
      +
      12197 
      +
      12198  case value_t::array:
      +
      12199  return header_size + calc_bson_array_size(*j.m_value.array);
      +
      12200 
      +
      12201  case value_t::boolean:
      +
      12202  return header_size + 1ul;
      +
      12203 
      +
      12204  case value_t::number_float:
      +
      12205  return header_size + 8ul;
      +
      12206 
      + +
      12208  return header_size + calc_bson_integer_size(j.m_value.number_integer);
      +
      12209 
      + +
      12211  return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned);
      +
      12212 
      +
      12213  case value_t::string:
      +
      12214  return header_size + calc_bson_string_size(*j.m_value.string);
      +
      12215 
      +
      12216  case value_t::null:
      +
      12217  return header_size + 0ul;
      +
      12218 
      +
      12219  // LCOV_EXCL_START
      +
      12220  default:
      +
      12221  assert(false);
      +
      12222  return 0ul;
      +
      12223  // LCOV_EXCL_STOP
      +
      12224  }
      +
      12225  }
      +
      12226 
      +
      12234  void write_bson_element(const string_t& name,
      +
      12235  const BasicJsonType& j)
      +
      12236  {
      +
      12237  switch (j.type())
      +
      12238  {
      +
      12239  case value_t::object:
      +
      12240  return write_bson_object_entry(name, *j.m_value.object);
      +
      12241 
      +
      12242  case value_t::array:
      +
      12243  return write_bson_array(name, *j.m_value.array);
      +
      12244 
      +
      12245  case value_t::boolean:
      +
      12246  return write_bson_boolean(name, j.m_value.boolean);
      +
      12247 
      +
      12248  case value_t::number_float:
      +
      12249  return write_bson_double(name, j.m_value.number_float);
      +
      12250 
      + +
      12252  return write_bson_integer(name, j.m_value.number_integer);
      +
      12253 
      + +
      12255  return write_bson_unsigned(name, j.m_value.number_unsigned);
      +
      12256 
      +
      12257  case value_t::string:
      +
      12258  return write_bson_string(name, *j.m_value.string);
      +
      12259 
      +
      12260  case value_t::null:
      +
      12261  return write_bson_null(name);
      +
      12262 
      +
      12263  // LCOV_EXCL_START
      +
      12264  default:
      +
      12265  assert(false);
      +
      12266  return;
      +
      12267  // LCOV_EXCL_STOP
      +
      12268  }
      +
      12269  }
      +
      12270 
      +
      12277  static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value)
      +
      12278  {
      +
      12279  std::size_t document_size = std::accumulate(value.begin(), value.end(), 0ul,
      +
      12280  [](size_t result, const typename BasicJsonType::object_t::value_type & el)
      +
      12281  {
      +
      12282  return result += calc_bson_element_size(el.first, el.second);
      +
      12283  });
      +
      12284 
      +
      12285  return sizeof(std::int32_t) + document_size + 1ul;
      +
      12286  }
      +
      12287 
      +
      12292  void write_bson_object(const typename BasicJsonType::object_t& value)
      +
      12293  {
      +
      12294  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_object_size(value)));
      +
      12295 
      +
      12296  for (const auto& el : value)
      +
      12297  {
      +
      12298  write_bson_element(el.first, el.second);
      +
      12299  }
      +
      12300 
      +
      12301  oa->write_character(to_char_type(0x00));
      +
      12302  }
      +
      12303 
      +
      12305  // CBOR //
      +
      12307 
      +
      12308  static constexpr CharType get_cbor_float_prefix(float /*unused*/)
      +
      12309  {
      +
      12310  return to_char_type(0xFA); // Single-Precision Float
      +
      12311  }
      +
      12312 
      +
      12313  static constexpr CharType get_cbor_float_prefix(double /*unused*/)
      +
      12314  {
      +
      12315  return to_char_type(0xFB); // Double-Precision Float
      +
      12316  }
      +
      12317 
      +
      12319  // MsgPack //
      +
      12321 
      +
      12322  static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
      +
      12323  {
      +
      12324  return to_char_type(0xCA); // float 32
      +
      12325  }
      +
      12326 
      +
      12327  static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
      +
      12328  {
      +
      12329  return to_char_type(0xCB); // float 64
      +
      12330  }
      +
      12331 
      +
      12333  // UBJSON //
      +
      12335 
      +
      12336  // UBJSON: write number (floating point)
      +
      12337  template<typename NumberType, typename std::enable_if<
      +
      12338  std::is_floating_point<NumberType>::value, int>::type = 0>
      +
      12339  void write_number_with_ubjson_prefix(const NumberType n,
      +
      12340  const bool add_prefix)
      +
      12341  {
      +
      12342  if (add_prefix)
      +
      12343  {
      +
      12344  oa->write_character(get_ubjson_float_prefix(n));
      +
      12345  }
      +
      12346  write_number(n);
      +
      12347  }
      +
      12348 
      +
      12349  // UBJSON: write number (unsigned integer)
      +
      12350  template<typename NumberType, typename std::enable_if<
      +
      12351  std::is_unsigned<NumberType>::value, int>::type = 0>
      +
      12352  void write_number_with_ubjson_prefix(const NumberType n,
      +
      12353  const bool add_prefix)
      +
      12354  {
      +
      12355  if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
      +
      12356  {
      +
      12357  if (add_prefix)
      +
      12358  {
      +
      12359  oa->write_character(to_char_type('i')); // int8
      +
      12360  }
      +
      12361  write_number(static_cast<std::uint8_t>(n));
      +
      12362  }
      +
      12363  else if (n <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12364  {
      +
      12365  if (add_prefix)
      +
      12366  {
      +
      12367  oa->write_character(to_char_type('U')); // uint8
      +
      12368  }
      +
      12369  write_number(static_cast<std::uint8_t>(n));
      +
      12370  }
      +
      12371  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
      +
      12372  {
      +
      12373  if (add_prefix)
      +
      12374  {
      +
      12375  oa->write_character(to_char_type('I')); // int16
      +
      12376  }
      +
      12377  write_number(static_cast<std::int16_t>(n));
      +
      12378  }
      +
      12379  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      12380  {
      +
      12381  if (add_prefix)
      +
      12382  {
      +
      12383  oa->write_character(to_char_type('l')); // int32
      +
      12384  }
      +
      12385  write_number(static_cast<std::int32_t>(n));
      +
      12386  }
      +
      12387  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
      +
      12388  {
      +
      12389  if (add_prefix)
      +
      12390  {
      +
      12391  oa->write_character(to_char_type('L')); // int64
      +
      12392  }
      +
      12393  write_number(static_cast<std::int64_t>(n));
      +
      12394  }
      +
      12395  else
      +
      12396  {
      +
      12397  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(n) + " cannot be represented by UBJSON as it does not fit int64"));
      +
      12398  }
      +
      12399  }
      +
      12400 
      +
      12401  // UBJSON: write number (signed integer)
      +
      12402  template<typename NumberType, typename std::enable_if<
      +
      12403  std::is_signed<NumberType>::value and
      +
      12404  not std::is_floating_point<NumberType>::value, int>::type = 0>
      +
      12405  void write_number_with_ubjson_prefix(const NumberType n,
      +
      12406  const bool add_prefix)
      +
      12407  {
      +
      12408  if ((std::numeric_limits<std::int8_t>::min)() <= n and n <= (std::numeric_limits<std::int8_t>::max)())
      +
      12409  {
      +
      12410  if (add_prefix)
      +
      12411  {
      +
      12412  oa->write_character(to_char_type('i')); // int8
      +
      12413  }
      +
      12414  write_number(static_cast<std::int8_t>(n));
      +
      12415  }
      +
      12416  else if (static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::min)()) <= n and n <= static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::max)()))
      +
      12417  {
      +
      12418  if (add_prefix)
      +
      12419  {
      +
      12420  oa->write_character(to_char_type('U')); // uint8
      +
      12421  }
      +
      12422  write_number(static_cast<std::uint8_t>(n));
      +
      12423  }
      +
      12424  else if ((std::numeric_limits<std::int16_t>::min)() <= n and n <= (std::numeric_limits<std::int16_t>::max)())
      +
      12425  {
      +
      12426  if (add_prefix)
      +
      12427  {
      +
      12428  oa->write_character(to_char_type('I')); // int16
      +
      12429  }
      +
      12430  write_number(static_cast<std::int16_t>(n));
      +
      12431  }
      +
      12432  else if ((std::numeric_limits<std::int32_t>::min)() <= n and n <= (std::numeric_limits<std::int32_t>::max)())
      +
      12433  {
      +
      12434  if (add_prefix)
      +
      12435  {
      +
      12436  oa->write_character(to_char_type('l')); // int32
      +
      12437  }
      +
      12438  write_number(static_cast<std::int32_t>(n));
      +
      12439  }
      +
      12440  else if ((std::numeric_limits<std::int64_t>::min)() <= n and n <= (std::numeric_limits<std::int64_t>::max)())
      +
      12441  {
      +
      12442  if (add_prefix)
      +
      12443  {
      +
      12444  oa->write_character(to_char_type('L')); // int64
      +
      12445  }
      +
      12446  write_number(static_cast<std::int64_t>(n));
      +
      12447  }
      +
      12448  // LCOV_EXCL_START
      +
      12449  else
      +
      12450  {
      +
      12451  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(n) + " cannot be represented by UBJSON as it does not fit int64"));
      +
      12452  }
      +
      12453  // LCOV_EXCL_STOP
      +
      12454  }
      +
      12455 
      +
      12465  CharType ubjson_prefix(const BasicJsonType& j) const noexcept
      +
      12466  {
      +
      12467  switch (j.type())
      +
      12468  {
      +
      12469  case value_t::null:
      +
      12470  return 'Z';
      +
      12471 
      +
      12472  case value_t::boolean:
      +
      12473  return j.m_value.boolean ? 'T' : 'F';
      +
      12474 
      + +
      12476  {
      +
      12477  if ((std::numeric_limits<std::int8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
      +
      12478  {
      +
      12479  return 'i';
      +
      12480  }
      +
      12481  if ((std::numeric_limits<std::uint8_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12482  {
      +
      12483  return 'U';
      +
      12484  }
      +
      12485  if ((std::numeric_limits<std::int16_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
      +
      12486  {
      +
      12487  return 'I';
      +
      12488  }
      +
      12489  if ((std::numeric_limits<std::int32_t>::min)() <= j.m_value.number_integer and j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
      +
      12490  {
      +
      12491  return 'l';
      +
      12492  }
      +
      12493  // no check and assume int64_t (see note above)
      +
      12494  return 'L';
      +
      12495  }
      +
      12496 
      + +
      12498  {
      +
      12499  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
      +
      12500  {
      +
      12501  return 'i';
      +
      12502  }
      +
      12503  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::uint8_t>::max)()))
      +
      12504  {
      +
      12505  return 'U';
      +
      12506  }
      +
      12507  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
      +
      12508  {
      +
      12509  return 'I';
      +
      12510  }
      +
      12511  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      12512  {
      +
      12513  return 'l';
      +
      12514  }
      +
      12515  // no check and assume int64_t (see note above)
      +
      12516  return 'L';
      +
      12517  }
      +
      12518 
      +
      12519  case value_t::number_float:
      +
      12520  return get_ubjson_float_prefix(j.m_value.number_float);
      +
      12521 
      +
      12522  case value_t::string:
      +
      12523  return 'S';
      +
      12524 
      +
      12525  case value_t::array:
      +
      12526  return '[';
      +
      12527 
      +
      12528  case value_t::object:
      +
      12529  return '{';
      +
      12530 
      +
      12531  default: // discarded values
      +
      12532  return 'N';
      +
      12533  }
      +
      12534  }
      +
      12535 
      +
      12536  static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
      +
      12537  {
      +
      12538  return 'd'; // float 32
      +
      12539  }
      +
      12540 
      +
      12541  static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
      +
      12542  {
      +
      12543  return 'D'; // float 64
      +
      12544  }
      +
      12545 
      +
      12547  // Utility functions //
      +
      12549 
      +
      12550  /*
      +
      12551  @brief write a number to output input
      +
      12552  @param[in] n number of type @a NumberType
      +
      12553  @tparam NumberType the type of the number
      +
      12554  @tparam OutputIsLittleEndian Set to true if output data is
      +
      12555  required to be little endian
      +
      12556 
      +
      12557  @note This function needs to respect the system's endianess, because bytes
      +
      12558  in CBOR, MessagePack, and UBJSON are stored in network order (big
      +
      12559  endian) and therefore need reordering on little endian systems.
      +
      12560  */
      +
      12561  template<typename NumberType, bool OutputIsLittleEndian = false>
      +
      12562  void write_number(const NumberType n)
      +
      12563  {
      +
      12564  // step 1: write number to array of length NumberType
      +
      12565  std::array<CharType, sizeof(NumberType)> vec;
      +
      12566  std::memcpy(vec.data(), &n, sizeof(NumberType));
      +
      12567 
      +
      12568  // step 2: write array to output (with possible reordering)
      +
      12569  if (is_little_endian != OutputIsLittleEndian)
      +
      12570  {
      +
      12571  // reverse byte order prior to conversion if necessary
      +
      12572  std::reverse(vec.begin(), vec.end());
      +
      12573  }
      +
      12574 
      +
      12575  oa->write_characters(vec.data(), sizeof(NumberType));
      +
      12576  }
      +
      12577 
      +
      12578  public:
      +
      12579  // The following to_char_type functions are implement the conversion
      +
      12580  // between uint8_t and CharType. In case CharType is not unsigned,
      +
      12581  // such a conversion is required to allow values greater than 128.
      +
      12582  // See <https://github.com/nlohmann/json/issues/1286> for a discussion.
      +
      12583  template < typename C = CharType,
      +
      12584  enable_if_t < std::is_signed<C>::value and std::is_signed<char>::value > * = nullptr >
      +
      12585  static constexpr CharType to_char_type(std::uint8_t x) noexcept
      +
      12586  {
      +
      12587  return *reinterpret_cast<char*>(&x);
      +
      12588  }
      +
      12589 
      +
      12590  template < typename C = CharType,
      +
      12591  enable_if_t < std::is_signed<C>::value and std::is_unsigned<char>::value > * = nullptr >
      +
      12592  static CharType to_char_type(std::uint8_t x) noexcept
      +
      12593  {
      +
      12594  static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t");
      +
      12595  static_assert(std::is_pod<CharType>::value, "CharType must be POD");
      +
      12596  CharType result;
      +
      12597  std::memcpy(&result, &x, sizeof(x));
      +
      12598  return result;
      +
      12599  }
      +
      12600 
      +
      12601  template<typename C = CharType,
      + +
      12603  static constexpr CharType to_char_type(std::uint8_t x) noexcept
      +
      12604  {
      +
      12605  return x;
      +
      12606  }
      +
      12607 
      +
      12608  template < typename InputCharType, typename C = CharType,
      +
      12609  enable_if_t <
      +
      12610  std::is_signed<C>::value and
      +
      12611  std::is_signed<char>::value and
      +
      12612  std::is_same<char, typename std::remove_cv<InputCharType>::type>::value
      +
      12613  > * = nullptr >
      +
      12614  static constexpr CharType to_char_type(InputCharType x) noexcept
      +
      12615  {
      +
      12616  return x;
      +
      12617  }
      +
      12618 
      +
      12619  private:
      +
      12621  const bool is_little_endian = binary_reader<BasicJsonType>::little_endianess();
      +
      12622 
      +
      12624  output_adapter_t<CharType> oa = nullptr;
      +
      12625 };
      +
      12626 } // namespace detail
      +
      12627 } // namespace nlohmann
      +
      12628 
      +
      12629 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      12630 
      +
      12631 // #include <nlohmann/detail/output/serializer.hpp>
      +
      12632 
      +
      12633 
      +
      12634 #include <algorithm> // reverse, remove, fill, find, none_of
      +
      12635 #include <array> // array
      +
      12636 #include <cassert> // assert
      +
      12637 #include <ciso646> // and, or
      +
      12638 #include <clocale> // localeconv, lconv
      +
      12639 #include <cmath> // labs, isfinite, isnan, signbit
      +
      12640 #include <cstddef> // size_t, ptrdiff_t
      +
      12641 #include <cstdint> // uint8_t
      +
      12642 #include <cstdio> // snprintf
      +
      12643 #include <limits> // numeric_limits
      +
      12644 #include <string> // string
      +
      12645 #include <type_traits> // is_same
      +
      12646 #include <utility> // move
      +
      12647 
      +
      12648 // #include <nlohmann/detail/conversions/to_chars.hpp>
      +
      12649 
      +
      12650 
      +
      12651 #include <array> // array
      +
      12652 #include <cassert> // assert
      +
      12653 #include <ciso646> // or, and, not
      +
      12654 #include <cmath> // signbit, isfinite
      +
      12655 #include <cstdint> // intN_t, uintN_t
      +
      12656 #include <cstring> // memcpy, memmove
      +
      12657 #include <limits> // numeric_limits
      +
      12658 #include <type_traits> // conditional
      +
      12659 // #include <nlohmann/detail/macro_scope.hpp>
      +
      12660 
      +
      12661 
      +
      12662 namespace nlohmann
      +
      12663 {
      +
      12664 namespace detail
      +
      12665 {
      +
      12666 
      +
      12686 namespace dtoa_impl
      +
      12687 {
      +
      12688 
      +
      12689 template <typename Target, typename Source>
      +
      12690 Target reinterpret_bits(const Source source)
      +
      12691 {
      +
      12692  static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
      +
      12693 
      +
      12694  Target target;
      +
      12695  std::memcpy(&target, &source, sizeof(Source));
      +
      12696  return target;
      +
      12697 }
      +
      12698 
      +
      12699 struct diyfp // f * 2^e
      +
      12700 {
      +
      12701  static constexpr int kPrecision = 64; // = q
      +
      12702 
      +
      12703  std::uint64_t f = 0;
      +
      12704  int e = 0;
      +
      12705 
      +
      12706  constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
      +
      12707 
      +
      12712  static diyfp sub(const diyfp& x, const diyfp& y) noexcept
      +
      12713  {
      +
      12714  assert(x.e == y.e);
      +
      12715  assert(x.f >= y.f);
      +
      12716 
      +
      12717  return {x.f - y.f, x.e};
      +
      12718  }
      +
      12719 
      +
      12724  static diyfp mul(const diyfp& x, const diyfp& y) noexcept
      +
      12725  {
      +
      12726  static_assert(kPrecision == 64, "internal error");
      +
      12727 
      +
      12728  // Computes:
      +
      12729  // f = round((x.f * y.f) / 2^q)
      +
      12730  // e = x.e + y.e + q
      +
      12731 
      +
      12732  // Emulate the 64-bit * 64-bit multiplication:
      +
      12733  //
      +
      12734  // p = u * v
      +
      12735  // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
      +
      12736  // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi )
      +
      12737  // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 )
      +
      12738  // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 )
      +
      12739  // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3)
      +
      12740  // = (p0_lo ) + 2^32 (Q ) + 2^64 (H )
      +
      12741  // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H )
      +
      12742  //
      +
      12743  // (Since Q might be larger than 2^32 - 1)
      +
      12744  //
      +
      12745  // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
      +
      12746  //
      +
      12747  // (Q_hi + H does not overflow a 64-bit int)
      +
      12748  //
      +
      12749  // = p_lo + 2^64 p_hi
      +
      12750 
      +
      12751  const std::uint64_t u_lo = x.f & 0xFFFFFFFFu;
      +
      12752  const std::uint64_t u_hi = x.f >> 32u;
      +
      12753  const std::uint64_t v_lo = y.f & 0xFFFFFFFFu;
      +
      12754  const std::uint64_t v_hi = y.f >> 32u;
      +
      12755 
      +
      12756  const std::uint64_t p0 = u_lo * v_lo;
      +
      12757  const std::uint64_t p1 = u_lo * v_hi;
      +
      12758  const std::uint64_t p2 = u_hi * v_lo;
      +
      12759  const std::uint64_t p3 = u_hi * v_hi;
      +
      12760 
      +
      12761  const std::uint64_t p0_hi = p0 >> 32u;
      +
      12762  const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu;
      +
      12763  const std::uint64_t p1_hi = p1 >> 32u;
      +
      12764  const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu;
      +
      12765  const std::uint64_t p2_hi = p2 >> 32u;
      +
      12766 
      +
      12767  std::uint64_t Q = p0_hi + p1_lo + p2_lo;
      +
      12768 
      +
      12769  // The full product might now be computed as
      +
      12770  //
      +
      12771  // p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
      +
      12772  // p_lo = p0_lo + (Q << 32)
      +
      12773  //
      +
      12774  // But in this particular case here, the full p_lo is not required.
      +
      12775  // Effectively we only need to add the highest bit in p_lo to p_hi (and
      +
      12776  // Q_hi + 1 does not overflow).
      +
      12777 
      +
      12778  Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up
      +
      12779 
      +
      12780  const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u);
      +
      12781 
      +
      12782  return {h, x.e + y.e + 64};
      +
      12783  }
      +
      12784 
      +
      12789  static diyfp normalize(diyfp x) noexcept
      +
      12790  {
      +
      12791  assert(x.f != 0);
      +
      12792 
      +
      12793  while ((x.f >> 63u) == 0)
      +
      12794  {
      +
      12795  x.f <<= 1u;
      +
      12796  x.e--;
      +
      12797  }
      +
      12798 
      +
      12799  return x;
      +
      12800  }
      +
      12801 
      +
      12806  static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
      +
      12807  {
      +
      12808  const int delta = x.e - target_exponent;
      +
      12809 
      +
      12810  assert(delta >= 0);
      +
      12811  assert(((x.f << delta) >> delta) == x.f);
      +
      12812 
      +
      12813  return {x.f << delta, target_exponent};
      +
      12814  }
      +
      12815 };
      +
      12816 
      + +
      12818 {
      + + + +
      12822 };
      +
      12823 
      +
      12830 template <typename FloatType>
      + +
      12832 {
      +
      12833  assert(std::isfinite(value));
      +
      12834  assert(value > 0);
      +
      12835 
      +
      12836  // Convert the IEEE representation into a diyfp.
      +
      12837  //
      +
      12838  // If v is denormal:
      +
      12839  // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1))
      +
      12840  // If v is normalized:
      +
      12841  // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
      +
      12842 
      +
      12843  static_assert(std::numeric_limits<FloatType>::is_iec559,
      +
      12844  "internal error: dtoa_short requires an IEEE-754 floating-point implementation");
      +
      12845 
      +
      12846  constexpr int kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
      +
      12847  constexpr int kBias = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
      +
      12848  constexpr int kMinExp = 1 - kBias;
      +
      12849  constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1)
      +
      12850 
      +
      12851  using bits_type = typename std::conditional<kPrecision == 24, std::uint32_t, std::uint64_t >::type;
      +
      12852 
      +
      12853  const std::uint64_t bits = reinterpret_bits<bits_type>(value);
      +
      12854  const std::uint64_t E = bits >> (kPrecision - 1);
      +
      12855  const std::uint64_t F = bits & (kHiddenBit - 1);
      +
      12856 
      +
      12857  const bool is_denormal = E == 0;
      +
      12858  const diyfp v = is_denormal
      +
      12859  ? diyfp(F, kMinExp)
      +
      12860  : diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
      +
      12861 
      +
      12862  // Compute the boundaries m- and m+ of the floating-point value
      +
      12863  // v = f * 2^e.
      +
      12864  //
      +
      12865  // Determine v- and v+, the floating-point predecessor and successor if v,
      +
      12866  // respectively.
      +
      12867  //
      +
      12868  // v- = v - 2^e if f != 2^(p-1) or e == e_min (A)
      +
      12869  // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B)
      +
      12870  //
      +
      12871  // v+ = v + 2^e
      +
      12872  //
      +
      12873  // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
      +
      12874  // between m- and m+ round to v, regardless of how the input rounding
      +
      12875  // algorithm breaks ties.
      +
      12876  //
      +
      12877  // ---+-------------+-------------+-------------+-------------+--- (A)
      +
      12878  // v- m- v m+ v+
      +
      12879  //
      +
      12880  // -----------------+------+------+-------------+-------------+--- (B)
      +
      12881  // v- m- v m+ v+
      +
      12882 
      +
      12883  const bool lower_boundary_is_closer = F == 0 and E > 1;
      +
      12884  const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
      +
      12885  const diyfp m_minus = lower_boundary_is_closer
      +
      12886  ? diyfp(4 * v.f - 1, v.e - 2) // (B)
      +
      12887  : diyfp(2 * v.f - 1, v.e - 1); // (A)
      +
      12888 
      +
      12889  // Determine the normalized w+ = m+.
      +
      12890  const diyfp w_plus = diyfp::normalize(m_plus);
      +
      12891 
      +
      12892  // Determine w- = m- such that e_(w-) = e_(w+).
      +
      12893  const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
      +
      12894 
      +
      12895  return {diyfp::normalize(v), w_minus, w_plus};
      +
      12896 }
      +
      12897 
      +
      12898 // Given normalized diyfp w, Grisu needs to find a (normalized) cached
      +
      12899 // power-of-ten c, such that the exponent of the product c * w = f * 2^e lies
      +
      12900 // within a certain range [alpha, gamma] (Definition 3.2 from [1])
      +
      12901 //
      +
      12902 // alpha <= e = e_c + e_w + q <= gamma
      +
      12903 //
      +
      12904 // or
      +
      12905 //
      +
      12906 // f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q
      +
      12907 // <= f_c * f_w * 2^gamma
      +
      12908 //
      +
      12909 // Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies
      +
      12910 //
      +
      12911 // 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma
      +
      12912 //
      +
      12913 // or
      +
      12914 //
      +
      12915 // 2^(q - 2 + alpha) <= c * w < 2^(q + gamma)
      +
      12916 //
      +
      12917 // The choice of (alpha,gamma) determines the size of the table and the form of
      +
      12918 // the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well
      +
      12919 // in practice:
      +
      12920 //
      +
      12921 // The idea is to cut the number c * w = f * 2^e into two parts, which can be
      +
      12922 // processed independently: An integral part p1, and a fractional part p2:
      +
      12923 //
      +
      12924 // f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e
      +
      12925 // = (f div 2^-e) + (f mod 2^-e) * 2^e
      +
      12926 // = p1 + p2 * 2^e
      +
      12927 //
      +
      12928 // The conversion of p1 into decimal form requires a series of divisions and
      +
      12929 // modulos by (a power of) 10. These operations are faster for 32-bit than for
      +
      12930 // 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be
      +
      12931 // achieved by choosing
      +
      12932 //
      +
      12933 // -e >= 32 or e <= -32 := gamma
      +
      12934 //
      +
      12935 // In order to convert the fractional part
      +
      12936 //
      +
      12937 // p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ...
      +
      12938 //
      +
      12939 // into decimal form, the fraction is repeatedly multiplied by 10 and the digits
      +
      12940 // d[-i] are extracted in order:
      +
      12941 //
      +
      12942 // (10 * p2) div 2^-e = d[-1]
      +
      12943 // (10 * p2) mod 2^-e = d[-2] / 10^1 + ...
      +
      12944 //
      +
      12945 // The multiplication by 10 must not overflow. It is sufficient to choose
      +
      12946 //
      +
      12947 // 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64.
      +
      12948 //
      +
      12949 // Since p2 = f mod 2^-e < 2^-e,
      +
      12950 //
      +
      12951 // -e <= 60 or e >= -60 := alpha
      +
      12952 
      +
      12953 constexpr int kAlpha = -60;
      +
      12954 constexpr int kGamma = -32;
      +
      12955 
      +
      12956 struct cached_power // c = f * 2^e ~= 10^k
      +
      12957 {
      +
      12958  std::uint64_t f;
      +
      12959  int e;
      +
      12960  int k;
      +
      12961 };
      +
      12962 
      + +
      12971 {
      +
      12972  // Now
      +
      12973  //
      +
      12974  // alpha <= e_c + e + q <= gamma (1)
      +
      12975  // ==> f_c * 2^alpha <= c * 2^e * 2^q
      +
      12976  //
      +
      12977  // and since the c's are normalized, 2^(q-1) <= f_c,
      +
      12978  //
      +
      12979  // ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
      +
      12980  // ==> 2^(alpha - e - 1) <= c
      +
      12981  //
      +
      12982  // If c were an exact power of ten, i.e. c = 10^k, one may determine k as
      +
      12983  //
      +
      12984  // k = ceil( log_10( 2^(alpha - e - 1) ) )
      +
      12985  // = ceil( (alpha - e - 1) * log_10(2) )
      +
      12986  //
      +
      12987  // From the paper:
      +
      12988  // "In theory the result of the procedure could be wrong since c is rounded,
      +
      12989  // and the computation itself is approximated [...]. In practice, however,
      +
      12990  // this simple function is sufficient."
      +
      12991  //
      +
      12992  // For IEEE double precision floating-point numbers converted into
      +
      12993  // normalized diyfp's w = f * 2^e, with q = 64,
      +
      12994  //
      +
      12995  // e >= -1022 (min IEEE exponent)
      +
      12996  // -52 (p - 1)
      +
      12997  // -52 (p - 1, possibly normalize denormal IEEE numbers)
      +
      12998  // -11 (normalize the diyfp)
      +
      12999  // = -1137
      +
      13000  //
      +
      13001  // and
      +
      13002  //
      +
      13003  // e <= +1023 (max IEEE exponent)
      +
      13004  // -52 (p - 1)
      +
      13005  // -11 (normalize the diyfp)
      +
      13006  // = 960
      +
      13007  //
      +
      13008  // This binary exponent range [-1137,960] results in a decimal exponent
      +
      13009  // range [-307,324]. One does not need to store a cached power for each
      +
      13010  // k in this range. For each such k it suffices to find a cached power
      +
      13011  // such that the exponent of the product lies in [alpha,gamma].
      +
      13012  // This implies that the difference of the decimal exponents of adjacent
      +
      13013  // table entries must be less than or equal to
      +
      13014  //
      +
      13015  // floor( (gamma - alpha) * log_10(2) ) = 8.
      +
      13016  //
      +
      13017  // (A smaller distance gamma-alpha would require a larger table.)
      +
      13018 
      +
      13019  // NB:
      +
      13020  // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
      +
      13021 
      +
      13022  constexpr int kCachedPowersMinDecExp = -300;
      +
      13023  constexpr int kCachedPowersDecStep = 8;
      +
      13024 
      +
      13025  static constexpr std::array<cached_power, 79> kCachedPowers =
      +
      13026  {
      +
      13027  {
      +
      13028  { 0xAB70FE17C79AC6CA, -1060, -300 },
      +
      13029  { 0xFF77B1FCBEBCDC4F, -1034, -292 },
      +
      13030  { 0xBE5691EF416BD60C, -1007, -284 },
      +
      13031  { 0x8DD01FAD907FFC3C, -980, -276 },
      +
      13032  { 0xD3515C2831559A83, -954, -268 },
      +
      13033  { 0x9D71AC8FADA6C9B5, -927, -260 },
      +
      13034  { 0xEA9C227723EE8BCB, -901, -252 },
      +
      13035  { 0xAECC49914078536D, -874, -244 },
      +
      13036  { 0x823C12795DB6CE57, -847, -236 },
      +
      13037  { 0xC21094364DFB5637, -821, -228 },
      +
      13038  { 0x9096EA6F3848984F, -794, -220 },
      +
      13039  { 0xD77485CB25823AC7, -768, -212 },
      +
      13040  { 0xA086CFCD97BF97F4, -741, -204 },
      +
      13041  { 0xEF340A98172AACE5, -715, -196 },
      +
      13042  { 0xB23867FB2A35B28E, -688, -188 },
      +
      13043  { 0x84C8D4DFD2C63F3B, -661, -180 },
      +
      13044  { 0xC5DD44271AD3CDBA, -635, -172 },
      +
      13045  { 0x936B9FCEBB25C996, -608, -164 },
      +
      13046  { 0xDBAC6C247D62A584, -582, -156 },
      +
      13047  { 0xA3AB66580D5FDAF6, -555, -148 },
      +
      13048  { 0xF3E2F893DEC3F126, -529, -140 },
      +
      13049  { 0xB5B5ADA8AAFF80B8, -502, -132 },
      +
      13050  { 0x87625F056C7C4A8B, -475, -124 },
      +
      13051  { 0xC9BCFF6034C13053, -449, -116 },
      +
      13052  { 0x964E858C91BA2655, -422, -108 },
      +
      13053  { 0xDFF9772470297EBD, -396, -100 },
      +
      13054  { 0xA6DFBD9FB8E5B88F, -369, -92 },
      +
      13055  { 0xF8A95FCF88747D94, -343, -84 },
      +
      13056  { 0xB94470938FA89BCF, -316, -76 },
      +
      13057  { 0x8A08F0F8BF0F156B, -289, -68 },
      +
      13058  { 0xCDB02555653131B6, -263, -60 },
      +
      13059  { 0x993FE2C6D07B7FAC, -236, -52 },
      +
      13060  { 0xE45C10C42A2B3B06, -210, -44 },
      +
      13061  { 0xAA242499697392D3, -183, -36 },
      +
      13062  { 0xFD87B5F28300CA0E, -157, -28 },
      +
      13063  { 0xBCE5086492111AEB, -130, -20 },
      +
      13064  { 0x8CBCCC096F5088CC, -103, -12 },
      +
      13065  { 0xD1B71758E219652C, -77, -4 },
      +
      13066  { 0x9C40000000000000, -50, 4 },
      +
      13067  { 0xE8D4A51000000000, -24, 12 },
      +
      13068  { 0xAD78EBC5AC620000, 3, 20 },
      +
      13069  { 0x813F3978F8940984, 30, 28 },
      +
      13070  { 0xC097CE7BC90715B3, 56, 36 },
      +
      13071  { 0x8F7E32CE7BEA5C70, 83, 44 },
      +
      13072  { 0xD5D238A4ABE98068, 109, 52 },
      +
      13073  { 0x9F4F2726179A2245, 136, 60 },
      +
      13074  { 0xED63A231D4C4FB27, 162, 68 },
      +
      13075  { 0xB0DE65388CC8ADA8, 189, 76 },
      +
      13076  { 0x83C7088E1AAB65DB, 216, 84 },
      +
      13077  { 0xC45D1DF942711D9A, 242, 92 },
      +
      13078  { 0x924D692CA61BE758, 269, 100 },
      +
      13079  { 0xDA01EE641A708DEA, 295, 108 },
      +
      13080  { 0xA26DA3999AEF774A, 322, 116 },
      +
      13081  { 0xF209787BB47D6B85, 348, 124 },
      +
      13082  { 0xB454E4A179DD1877, 375, 132 },
      +
      13083  { 0x865B86925B9BC5C2, 402, 140 },
      +
      13084  { 0xC83553C5C8965D3D, 428, 148 },
      +
      13085  { 0x952AB45CFA97A0B3, 455, 156 },
      +
      13086  { 0xDE469FBD99A05FE3, 481, 164 },
      +
      13087  { 0xA59BC234DB398C25, 508, 172 },
      +
      13088  { 0xF6C69A72A3989F5C, 534, 180 },
      +
      13089  { 0xB7DCBF5354E9BECE, 561, 188 },
      +
      13090  { 0x88FCF317F22241E2, 588, 196 },
      +
      13091  { 0xCC20CE9BD35C78A5, 614, 204 },
      +
      13092  { 0x98165AF37B2153DF, 641, 212 },
      +
      13093  { 0xE2A0B5DC971F303A, 667, 220 },
      +
      13094  { 0xA8D9D1535CE3B396, 694, 228 },
      +
      13095  { 0xFB9B7CD9A4A7443C, 720, 236 },
      +
      13096  { 0xBB764C4CA7A44410, 747, 244 },
      +
      13097  { 0x8BAB8EEFB6409C1A, 774, 252 },
      +
      13098  { 0xD01FEF10A657842C, 800, 260 },
      +
      13099  { 0x9B10A4E5E9913129, 827, 268 },
      +
      13100  { 0xE7109BFBA19C0C9D, 853, 276 },
      +
      13101  { 0xAC2820D9623BF429, 880, 284 },
      +
      13102  { 0x80444B5E7AA7CF85, 907, 292 },
      +
      13103  { 0xBF21E44003ACDD2D, 933, 300 },
      +
      13104  { 0x8E679C2F5E44FF8F, 960, 308 },
      +
      13105  { 0xD433179D9C8CB841, 986, 316 },
      +
      13106  { 0x9E19DB92B4E31BA9, 1013, 324 },
      +
      13107  }
      +
      13108  };
      +
      13109 
      +
      13110  // This computation gives exactly the same results for k as
      +
      13111  // k = ceil((kAlpha - e - 1) * 0.30102999566398114)
      +
      13112  // for |e| <= 1500, but doesn't require floating-point operations.
      +
      13113  // NB: log_10(2) ~= 78913 / 2^18
      +
      13114  assert(e >= -1500);
      +
      13115  assert(e <= 1500);
      +
      13116  const int f = kAlpha - e - 1;
      +
      13117  const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0);
      +
      13118 
      +
      13119  const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
      +
      13120  assert(index >= 0);
      +
      13121  assert(static_cast<std::size_t>(index) < kCachedPowers.size());
      +
      13122 
      +
      13123  const cached_power cached = kCachedPowers[static_cast<std::size_t>(index)];
      +
      13124  assert(kAlpha <= cached.e + e + 64);
      +
      13125  assert(kGamma >= cached.e + e + 64);
      +
      13126 
      +
      13127  return cached;
      +
      13128 }
      +
      13129 
      +
      13134 inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
      +
      13135 {
      +
      13136  // LCOV_EXCL_START
      +
      13137  if (n >= 1000000000)
      +
      13138  {
      +
      13139  pow10 = 1000000000;
      +
      13140  return 10;
      +
      13141  }
      +
      13142  // LCOV_EXCL_STOP
      +
      13143  else if (n >= 100000000)
      +
      13144  {
      +
      13145  pow10 = 100000000;
      +
      13146  return 9;
      +
      13147  }
      +
      13148  else if (n >= 10000000)
      +
      13149  {
      +
      13150  pow10 = 10000000;
      +
      13151  return 8;
      +
      13152  }
      +
      13153  else if (n >= 1000000)
      +
      13154  {
      +
      13155  pow10 = 1000000;
      +
      13156  return 7;
      +
      13157  }
      +
      13158  else if (n >= 100000)
      +
      13159  {
      +
      13160  pow10 = 100000;
      +
      13161  return 6;
      +
      13162  }
      +
      13163  else if (n >= 10000)
      +
      13164  {
      +
      13165  pow10 = 10000;
      +
      13166  return 5;
      +
      13167  }
      +
      13168  else if (n >= 1000)
      +
      13169  {
      +
      13170  pow10 = 1000;
      +
      13171  return 4;
      +
      13172  }
      +
      13173  else if (n >= 100)
      +
      13174  {
      +
      13175  pow10 = 100;
      +
      13176  return 3;
      +
      13177  }
      +
      13178  else if (n >= 10)
      +
      13179  {
      +
      13180  pow10 = 10;
      +
      13181  return 2;
      +
      13182  }
      +
      13183  else
      +
      13184  {
      +
      13185  pow10 = 1;
      +
      13186  return 1;
      +
      13187  }
      +
      13188 }
      +
      13189 
      +
      13190 inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta,
      +
      13191  std::uint64_t rest, std::uint64_t ten_k)
      +
      13192 {
      +
      13193  assert(len >= 1);
      +
      13194  assert(dist <= delta);
      +
      13195  assert(rest <= delta);
      +
      13196  assert(ten_k > 0);
      +
      13197 
      +
      13198  // <--------------------------- delta ---->
      +
      13199  // <---- dist --------->
      +
      13200  // --------------[------------------+-------------------]--------------
      +
      13201  // M- w M+
      +
      13202  //
      +
      13203  // ten_k
      +
      13204  // <------>
      +
      13205  // <---- rest ---->
      +
      13206  // --------------[------------------+----+--------------]--------------
      +
      13207  // w V
      +
      13208  // = buf * 10^k
      +
      13209  //
      +
      13210  // ten_k represents a unit-in-the-last-place in the decimal representation
      +
      13211  // stored in buf.
      +
      13212  // Decrement buf by ten_k while this takes buf closer to w.
      +
      13213 
      +
      13214  // The tests are written in this order to avoid overflow in unsigned
      +
      13215  // integer arithmetic.
      +
      13216 
      +
      13217  while (rest < dist
      +
      13218  and delta - rest >= ten_k
      +
      13219  and (rest + ten_k < dist or dist - rest > rest + ten_k - dist))
      +
      13220  {
      +
      13221  assert(buf[len - 1] != '0');
      +
      13222  buf[len - 1]--;
      +
      13223  rest += ten_k;
      +
      13224  }
      +
      13225 }
      +
      13226 
      +
      13231 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
      +
      13232  diyfp M_minus, diyfp w, diyfp M_plus)
      +
      13233 {
      +
      13234  static_assert(kAlpha >= -60, "internal error");
      +
      13235  static_assert(kGamma <= -32, "internal error");
      +
      13236 
      +
      13237  // Generates the digits (and the exponent) of a decimal floating-point
      +
      13238  // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
      +
      13239  // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
      +
      13240  //
      +
      13241  // <--------------------------- delta ---->
      +
      13242  // <---- dist --------->
      +
      13243  // --------------[------------------+-------------------]--------------
      +
      13244  // M- w M+
      +
      13245  //
      +
      13246  // Grisu2 generates the digits of M+ from left to right and stops as soon as
      +
      13247  // V is in [M-,M+].
      +
      13248 
      +
      13249  assert(M_plus.e >= kAlpha);
      +
      13250  assert(M_plus.e <= kGamma);
      +
      13251 
      +
      13252  std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
      +
      13253  std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e)
      +
      13254 
      +
      13255  // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
      +
      13256  //
      +
      13257  // M+ = f * 2^e
      +
      13258  // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
      +
      13259  // = ((p1 ) * 2^-e + (p2 )) * 2^e
      +
      13260  // = p1 + p2 * 2^e
      +
      13261 
      +
      13262  const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e);
      +
      13263 
      +
      13264  auto p1 = static_cast<std::uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
      +
      13265  std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e
      +
      13266 
      +
      13267  // 1)
      +
      13268  //
      +
      13269  // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
      +
      13270 
      +
      13271  assert(p1 > 0);
      +
      13272 
      +
      13273  std::uint32_t pow10;
      +
      13274  const int k = find_largest_pow10(p1, pow10);
      +
      13275 
      +
      13276  // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
      +
      13277  //
      +
      13278  // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
      +
      13279  // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1))
      +
      13280  //
      +
      13281  // M+ = p1 + p2 * 2^e
      +
      13282  // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e
      +
      13283  // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
      +
      13284  // = d[k-1] * 10^(k-1) + ( rest) * 2^e
      +
      13285  //
      +
      13286  // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
      +
      13287  //
      +
      13288  // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
      +
      13289  //
      +
      13290  // but stop as soon as
      +
      13291  //
      +
      13292  // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
      +
      13293 
      +
      13294  int n = k;
      +
      13295  while (n > 0)
      +
      13296  {
      +
      13297  // Invariants:
      +
      13298  // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k)
      +
      13299  // pow10 = 10^(n-1) <= p1 < 10^n
      +
      13300  //
      +
      13301  const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1)
      +
      13302  const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1)
      +
      13303  //
      +
      13304  // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
      +
      13305  // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
      +
      13306  //
      +
      13307  assert(d <= 9);
      +
      13308  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
      +
      13309  //
      +
      13310  // M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
      +
      13311  //
      +
      13312  p1 = r;
      +
      13313  n--;
      +
      13314  //
      +
      13315  // M+ = buffer * 10^n + (p1 + p2 * 2^e)
      +
      13316  // pow10 = 10^n
      +
      13317  //
      +
      13318 
      +
      13319  // Now check if enough digits have been generated.
      +
      13320  // Compute
      +
      13321  //
      +
      13322  // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
      +
      13323  //
      +
      13324  // Note:
      +
      13325  // Since rest and delta share the same exponent e, it suffices to
      +
      13326  // compare the significands.
      +
      13327  const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2;
      +
      13328  if (rest <= delta)
      +
      13329  {
      +
      13330  // V = buffer * 10^n, with M- <= V <= M+.
      +
      13331 
      +
      13332  decimal_exponent += n;
      +
      13333 
      +
      13334  // We may now just stop. But instead look if the buffer could be
      +
      13335  // decremented to bring V closer to w.
      +
      13336  //
      +
      13337  // pow10 = 10^n is now 1 ulp in the decimal representation V.
      +
      13338  // The rounding procedure works with diyfp's with an implicit
      +
      13339  // exponent of e.
      +
      13340  //
      +
      13341  // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
      +
      13342  //
      +
      13343  const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e;
      +
      13344  grisu2_round(buffer, length, dist, delta, rest, ten_n);
      +
      13345 
      +
      13346  return;
      +
      13347  }
      +
      13348 
      +
      13349  pow10 /= 10;
      +
      13350  //
      +
      13351  // pow10 = 10^(n-1) <= p1 < 10^n
      +
      13352  // Invariants restored.
      +
      13353  }
      +
      13354 
      +
      13355  // 2)
      +
      13356  //
      +
      13357  // The digits of the integral part have been generated:
      +
      13358  //
      +
      13359  // M+ = d[k-1]...d[1]d[0] + p2 * 2^e
      +
      13360  // = buffer + p2 * 2^e
      +
      13361  //
      +
      13362  // Now generate the digits of the fractional part p2 * 2^e.
      +
      13363  //
      +
      13364  // Note:
      +
      13365  // No decimal point is generated: the exponent is adjusted instead.
      +
      13366  //
      +
      13367  // p2 actually represents the fraction
      +
      13368  //
      +
      13369  // p2 * 2^e
      +
      13370  // = p2 / 2^-e
      +
      13371  // = d[-1] / 10^1 + d[-2] / 10^2 + ...
      +
      13372  //
      +
      13373  // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
      +
      13374  //
      +
      13375  // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
      +
      13376  // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
      +
      13377  //
      +
      13378  // using
      +
      13379  //
      +
      13380  // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
      +
      13381  // = ( d) * 2^-e + ( r)
      +
      13382  //
      +
      13383  // or
      +
      13384  // 10^m * p2 * 2^e = d + r * 2^e
      +
      13385  //
      +
      13386  // i.e.
      +
      13387  //
      +
      13388  // M+ = buffer + p2 * 2^e
      +
      13389  // = buffer + 10^-m * (d + r * 2^e)
      +
      13390  // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
      +
      13391  //
      +
      13392  // and stop as soon as 10^-m * r * 2^e <= delta * 2^e
      +
      13393 
      +
      13394  assert(p2 > delta);
      +
      13395 
      +
      13396  int m = 0;
      +
      13397  for (;;)
      +
      13398  {
      +
      13399  // Invariant:
      +
      13400  // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
      +
      13401  // = buffer * 10^-m + 10^-m * (p2 ) * 2^e
      +
      13402  // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e
      +
      13403  // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
      +
      13404  //
      +
      13405  assert(p2 <= (std::numeric_limits<std::uint64_t>::max)() / 10);
      +
      13406  p2 *= 10;
      +
      13407  const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e
      +
      13408  const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
      +
      13409  //
      +
      13410  // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
      +
      13411  // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
      +
      13412  // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
      +
      13413  //
      +
      13414  assert(d <= 9);
      +
      13415  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
      +
      13416  //
      +
      13417  // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
      +
      13418  //
      +
      13419  p2 = r;
      +
      13420  m++;
      +
      13421  //
      +
      13422  // M+ = buffer * 10^-m + 10^-m * p2 * 2^e
      +
      13423  // Invariant restored.
      +
      13424 
      +
      13425  // Check if enough digits have been generated.
      +
      13426  //
      +
      13427  // 10^-m * p2 * 2^e <= delta * 2^e
      +
      13428  // p2 * 2^e <= 10^m * delta * 2^e
      +
      13429  // p2 <= 10^m * delta
      +
      13430  delta *= 10;
      +
      13431  dist *= 10;
      +
      13432  if (p2 <= delta)
      +
      13433  {
      +
      13434  break;
      +
      13435  }
      +
      13436  }
      +
      13437 
      +
      13438  // V = buffer * 10^-m, with M- <= V <= M+.
      +
      13439 
      +
      13440  decimal_exponent -= m;
      +
      13441 
      +
      13442  // 1 ulp in the decimal representation is now 10^-m.
      +
      13443  // Since delta and dist are now scaled by 10^m, we need to do the
      +
      13444  // same with ulp in order to keep the units in sync.
      +
      13445  //
      +
      13446  // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
      +
      13447  //
      +
      13448  const std::uint64_t ten_m = one.f;
      +
      13449  grisu2_round(buffer, length, dist, delta, p2, ten_m);
      +
      13450 
      +
      13451  // By construction this algorithm generates the shortest possible decimal
      +
      13452  // number (Loitsch, Theorem 6.2) which rounds back to w.
      +
      13453  // For an input number of precision p, at least
      +
      13454  //
      +
      13455  // N = 1 + ceil(p * log_10(2))
      +
      13456  //
      +
      13457  // decimal digits are sufficient to identify all binary floating-point
      +
      13458  // numbers (Matula, "In-and-Out conversions").
      +
      13459  // This implies that the algorithm does not produce more than N decimal
      +
      13460  // digits.
      +
      13461  //
      +
      13462  // N = 17 for p = 53 (IEEE double precision)
      +
      13463  // N = 9 for p = 24 (IEEE single precision)
      +
      13464 }
      +
      13465 
      + +
      13472 inline void grisu2(char* buf, int& len, int& decimal_exponent,
      +
      13473  diyfp m_minus, diyfp v, diyfp m_plus)
      +
      13474 {
      +
      13475  assert(m_plus.e == m_minus.e);
      +
      13476  assert(m_plus.e == v.e);
      +
      13477 
      +
      13478  // --------(-----------------------+-----------------------)-------- (A)
      +
      13479  // m- v m+
      +
      13480  //
      +
      13481  // --------------------(-----------+-----------------------)-------- (B)
      +
      13482  // m- v m+
      +
      13483  //
      +
      13484  // First scale v (and m- and m+) such that the exponent is in the range
      +
      13485  // [alpha, gamma].
      +
      13486 
      +
      13487  const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
      +
      13488 
      +
      13489  const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
      +
      13490 
      +
      13491  // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
      +
      13492  const diyfp w = diyfp::mul(v, c_minus_k);
      +
      13493  const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
      +
      13494  const diyfp w_plus = diyfp::mul(m_plus, c_minus_k);
      +
      13495 
      +
      13496  // ----(---+---)---------------(---+---)---------------(---+---)----
      +
      13497  // w- w w+
      +
      13498  // = c*m- = c*v = c*m+
      +
      13499  //
      +
      13500  // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
      +
      13501  // w+ are now off by a small amount.
      +
      13502  // In fact:
      +
      13503  //
      +
      13504  // w - v * 10^k < 1 ulp
      +
      13505  //
      +
      13506  // To account for this inaccuracy, add resp. subtract 1 ulp.
      +
      13507  //
      +
      13508  // --------+---[---------------(---+---)---------------]---+--------
      +
      13509  // w- M- w M+ w+
      +
      13510  //
      +
      13511  // Now any number in [M-, M+] (bounds included) will round to w when input,
      +
      13512  // regardless of how the input rounding algorithm breaks ties.
      +
      13513  //
      +
      13514  // And digit_gen generates the shortest possible such number in [M-, M+].
      +
      13515  // Note that this does not mean that Grisu2 always generates the shortest
      +
      13516  // possible number in the interval (m-, m+).
      +
      13517  const diyfp M_minus(w_minus.f + 1, w_minus.e);
      +
      13518  const diyfp M_plus (w_plus.f - 1, w_plus.e );
      +
      13519 
      +
      13520  decimal_exponent = -cached.k; // = -(-k) = k
      +
      13521 
      +
      13522  grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
      +
      13523 }
      +
      13524 
      +
      13530 template <typename FloatType>
      + +
      13532 void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)
      +
      13533 {
      +
      13534  static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
      +
      13535  "internal error: not enough precision");
      +
      13536 
      +
      13537  assert(std::isfinite(value));
      +
      13538  assert(value > 0);
      +
      13539 
      +
      13540  // If the neighbors (and boundaries) of 'value' are always computed for double-precision
      +
      13541  // numbers, all float's can be recovered using strtod (and strtof). However, the resulting
      +
      13542  // decimal representations are not exactly "short".
      +
      13543  //
      +
      13544  // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars)
      +
      13545  // says "value is converted to a string as if by std::sprintf in the default ("C") locale"
      +
      13546  // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
      +
      13547  // does.
      +
      13548  // On the other hand, the documentation for 'std::to_chars' requires that "parsing the
      +
      13549  // representation using the corresponding std::from_chars function recovers value exactly". That
      +
      13550  // indicates that single precision floating-point numbers should be recovered using
      +
      13551  // 'std::strtof'.
      +
      13552  //
      +
      13553  // NB: If the neighbors are computed for single-precision numbers, there is a single float
      +
      13554  // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
      +
      13555  // value is off by 1 ulp.
      +
      13556 #if 0
      +
      13557  const boundaries w = compute_boundaries(static_cast<double>(value));
      +
      13558 #else
      +
      13559  const boundaries w = compute_boundaries(value);
      +
      13560 #endif
      +
      13561 
      +
      13562  grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
      +
      13563 }
      +
      13564 
      + + +
      13572 inline char* append_exponent(char* buf, int e)
      +
      13573 {
      +
      13574  assert(e > -1000);
      +
      13575  assert(e < 1000);
      +
      13576 
      +
      13577  if (e < 0)
      +
      13578  {
      +
      13579  e = -e;
      +
      13580  *buf++ = '-';
      +
      13581  }
      +
      13582  else
      +
      13583  {
      +
      13584  *buf++ = '+';
      +
      13585  }
      +
      13586 
      +
      13587  auto k = static_cast<std::uint32_t>(e);
      +
      13588  if (k < 10)
      +
      13589  {
      +
      13590  // Always print at least two digits in the exponent.
      +
      13591  // This is for compatibility with printf("%g").
      +
      13592  *buf++ = '0';
      +
      13593  *buf++ = static_cast<char>('0' + k);
      +
      13594  }
      +
      13595  else if (k < 100)
      +
      13596  {
      +
      13597  *buf++ = static_cast<char>('0' + k / 10);
      +
      13598  k %= 10;
      +
      13599  *buf++ = static_cast<char>('0' + k);
      +
      13600  }
      +
      13601  else
      +
      13602  {
      +
      13603  *buf++ = static_cast<char>('0' + k / 100);
      +
      13604  k %= 100;
      +
      13605  *buf++ = static_cast<char>('0' + k / 10);
      +
      13606  k %= 10;
      +
      13607  *buf++ = static_cast<char>('0' + k);
      +
      13608  }
      +
      13609 
      +
      13610  return buf;
      +
      13611 }
      +
      13612 
      + + +
      13624 inline char* format_buffer(char* buf, int len, int decimal_exponent,
      +
      13625  int min_exp, int max_exp)
      +
      13626 {
      +
      13627  assert(min_exp < 0);
      +
      13628  assert(max_exp > 0);
      +
      13629 
      +
      13630  const int k = len;
      +
      13631  const int n = len + decimal_exponent;
      +
      13632 
      +
      13633  // v = buf * 10^(n-k)
      +
      13634  // k is the length of the buffer (number of decimal digits)
      +
      13635  // n is the position of the decimal point relative to the start of the buffer.
      +
      13636 
      +
      13637  if (k <= n and n <= max_exp)
      +
      13638  {
      +
      13639  // digits[000]
      +
      13640  // len <= max_exp + 2
      +
      13641 
      +
      13642  std::memset(buf + k, '0', static_cast<size_t>(n - k));
      +
      13643  // Make it look like a floating-point number (#362, #378)
      +
      13644  buf[n + 0] = '.';
      +
      13645  buf[n + 1] = '0';
      +
      13646  return buf + (n + 2);
      +
      13647  }
      +
      13648 
      +
      13649  if (0 < n and n <= max_exp)
      +
      13650  {
      +
      13651  // dig.its
      +
      13652  // len <= max_digits10 + 1
      +
      13653 
      +
      13654  assert(k > n);
      +
      13655 
      +
      13656  std::memmove(buf + (n + 1), buf + n, static_cast<size_t>(k - n));
      +
      13657  buf[n] = '.';
      +
      13658  return buf + (k + 1);
      +
      13659  }
      +
      13660 
      +
      13661  if (min_exp < n and n <= 0)
      +
      13662  {
      +
      13663  // 0.[000]digits
      +
      13664  // len <= 2 + (-min_exp - 1) + max_digits10
      +
      13665 
      +
      13666  std::memmove(buf + (2 + -n), buf, static_cast<size_t>(k));
      +
      13667  buf[0] = '0';
      +
      13668  buf[1] = '.';
      +
      13669  std::memset(buf + 2, '0', static_cast<size_t>(-n));
      +
      13670  return buf + (2 + (-n) + k);
      +
      13671  }
      +
      13672 
      +
      13673  if (k == 1)
      +
      13674  {
      +
      13675  // dE+123
      +
      13676  // len <= 1 + 5
      +
      13677 
      +
      13678  buf += 1;
      +
      13679  }
      +
      13680  else
      +
      13681  {
      +
      13682  // d.igitsE+123
      +
      13683  // len <= max_digits10 + 1 + 5
      +
      13684 
      +
      13685  std::memmove(buf + 2, buf + 1, static_cast<size_t>(k - 1));
      +
      13686  buf[1] = '.';
      +
      13687  buf += 1 + k;
      +
      13688  }
      +
      13689 
      +
      13690  *buf++ = 'e';
      +
      13691  return append_exponent(buf, n - 1);
      +
      13692 }
      +
      13693 
      +
      13694 } // namespace dtoa_impl
      +
      13695 
      +
      13706 template <typename FloatType>
      + + +
      13709 char* to_chars(char* first, const char* last, FloatType value)
      +
      13710 {
      +
      13711  static_cast<void>(last); // maybe unused - fix warning
      +
      13712  assert(std::isfinite(value));
      +
      13713 
      +
      13714  // Use signbit(value) instead of (value < 0) since signbit works for -0.
      +
      13715  if (std::signbit(value))
      +
      13716  {
      +
      13717  value = -value;
      +
      13718  *first++ = '-';
      +
      13719  }
      +
      13720 
      +
      13721  if (value == 0) // +-0
      +
      13722  {
      +
      13723  *first++ = '0';
      +
      13724  // Make it look like a floating-point number (#362, #378)
      +
      13725  *first++ = '.';
      +
      13726  *first++ = '0';
      +
      13727  return first;
      +
      13728  }
      +
      13729 
      +
      13730  assert(last - first >= std::numeric_limits<FloatType>::max_digits10);
      +
      13731 
      +
      13732  // Compute v = buffer * 10^decimal_exponent.
      +
      13733  // The decimal digits are stored in the buffer, which needs to be interpreted
      +
      13734  // as an unsigned decimal integer.
      +
      13735  // len is the length of the buffer, i.e. the number of decimal digits.
      +
      13736  int len = 0;
      +
      13737  int decimal_exponent = 0;
      +
      13738  dtoa_impl::grisu2(first, len, decimal_exponent, value);
      +
      13739 
      +
      13740  assert(len <= std::numeric_limits<FloatType>::max_digits10);
      +
      13741 
      +
      13742  // Format the buffer like printf("%.*g", prec, value)
      +
      13743  constexpr int kMinExp = -4;
      +
      13744  // Use digits10 here to increase compatibility with version 2.
      +
      13745  constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
      +
      13746 
      +
      13747  assert(last - first >= kMaxExp + 2);
      +
      13748  assert(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
      +
      13749  assert(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
      +
      13750 
      +
      13751  return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
      +
      13752 }
      +
      13753 
      +
      13754 } // namespace detail
      +
      13755 } // namespace nlohmann
      +
      13756 
      +
      13757 // #include <nlohmann/detail/exceptions.hpp>
      +
      13758 
      +
      13759 // #include <nlohmann/detail/macro_scope.hpp>
      +
      13760 
      +
      13761 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      13762 
      +
      13763 // #include <nlohmann/detail/output/binary_writer.hpp>
      +
      13764 
      +
      13765 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      13766 
      +
      13767 // #include <nlohmann/detail/value_t.hpp>
      +
      13768 
      +
      13769 
      +
      13770 namespace nlohmann
      +
      13771 {
      +
      13772 namespace detail
      +
      13773 {
      +
      13775 // serialization //
      +
      13777 
      + +
      13780 {
      +
      13781  strict,
      +
      13782  replace,
      +
      13783  ignore
      +
      13784 };
      +
      13785 
      +
      13786 template<typename BasicJsonType>
      + +
      13788 {
      +
      13789  using string_t = typename BasicJsonType::string_t;
      +
      13790  using number_float_t = typename BasicJsonType::number_float_t;
      +
      13791  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      13792  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      13793  static constexpr std::uint8_t UTF8_ACCEPT = 0;
      +
      13794  static constexpr std::uint8_t UTF8_REJECT = 1;
      +
      13795 
      +
      13796  public:
      +
      13802  serializer(output_adapter_t<char> s, const char ichar,
      +
      13803  error_handler_t error_handler_ = error_handler_t::strict)
      +
      13804  : o(std::move(s))
      +
      13805  , loc(std::localeconv())
      +
      13806  , thousands_sep(loc->thousands_sep == nullptr ? '\0' : * (loc->thousands_sep))
      +
      13807  , decimal_point(loc->decimal_point == nullptr ? '\0' : * (loc->decimal_point))
      +
      13808  , indent_char(ichar)
      +
      13809  , indent_string(512, indent_char)
      +
      13810  , error_handler(error_handler_)
      +
      13811  {}
      +
      13812 
      +
      13813  // delete because of pointer members
      +
      13814  serializer(const serializer&) = delete;
      +
      13815  serializer& operator=(const serializer&) = delete;
      +
      13816  serializer(serializer&&) = delete;
      +
      13817  serializer& operator=(serializer&&) = delete;
      +
      13818  ~serializer() = default;
      +
      13819 
      +
      13837  void dump(const BasicJsonType& val, const bool pretty_print,
      +
      13838  const bool ensure_ascii,
      +
      13839  const unsigned int indent_step,
      +
      13840  const unsigned int current_indent = 0)
      +
      13841  {
      +
      13842  switch (val.m_type)
      +
      13843  {
      +
      13844  case value_t::object:
      +
      13845  {
      +
      13846  if (val.m_value.object->empty())
      +
      13847  {
      +
      13848  o->write_characters("{}", 2);
      +
      13849  return;
      +
      13850  }
      +
      13851 
      +
      13852  if (pretty_print)
      +
      13853  {
      +
      13854  o->write_characters("{\n", 2);
      +
      13855 
      +
      13856  // variable to hold indentation for recursive calls
      +
      13857  const auto new_indent = current_indent + indent_step;
      +
      13858  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
      +
      13859  {
      +
      13860  indent_string.resize(indent_string.size() * 2, ' ');
      +
      13861  }
      +
      13862 
      +
      13863  // first n-1 elements
      +
      13864  auto i = val.m_value.object->cbegin();
      +
      13865  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
      +
      13866  {
      +
      13867  o->write_characters(indent_string.c_str(), new_indent);
      +
      13868  o->write_character('\"');
      +
      13869  dump_escaped(i->first, ensure_ascii);
      +
      13870  o->write_characters("\": ", 3);
      +
      13871  dump(i->second, true, ensure_ascii, indent_step, new_indent);
      +
      13872  o->write_characters(",\n", 2);
      +
      13873  }
      +
      13874 
      +
      13875  // last element
      +
      13876  assert(i != val.m_value.object->cend());
      +
      13877  assert(std::next(i) == val.m_value.object->cend());
      +
      13878  o->write_characters(indent_string.c_str(), new_indent);
      +
      13879  o->write_character('\"');
      +
      13880  dump_escaped(i->first, ensure_ascii);
      +
      13881  o->write_characters("\": ", 3);
      +
      13882  dump(i->second, true, ensure_ascii, indent_step, new_indent);
      +
      13883 
      +
      13884  o->write_character('\n');
      +
      13885  o->write_characters(indent_string.c_str(), current_indent);
      +
      13886  o->write_character('}');
      +
      13887  }
      +
      13888  else
      +
      13889  {
      +
      13890  o->write_character('{');
      +
      13891 
      +
      13892  // first n-1 elements
      +
      13893  auto i = val.m_value.object->cbegin();
      +
      13894  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
      +
      13895  {
      +
      13896  o->write_character('\"');
      +
      13897  dump_escaped(i->first, ensure_ascii);
      +
      13898  o->write_characters("\":", 2);
      +
      13899  dump(i->second, false, ensure_ascii, indent_step, current_indent);
      +
      13900  o->write_character(',');
      +
      13901  }
      +
      13902 
      +
      13903  // last element
      +
      13904  assert(i != val.m_value.object->cend());
      +
      13905  assert(std::next(i) == val.m_value.object->cend());
      +
      13906  o->write_character('\"');
      +
      13907  dump_escaped(i->first, ensure_ascii);
      +
      13908  o->write_characters("\":", 2);
      +
      13909  dump(i->second, false, ensure_ascii, indent_step, current_indent);
      +
      13910 
      +
      13911  o->write_character('}');
      +
      13912  }
      +
      13913 
      +
      13914  return;
      +
      13915  }
      +
      13916 
      +
      13917  case value_t::array:
      +
      13918  {
      +
      13919  if (val.m_value.array->empty())
      +
      13920  {
      +
      13921  o->write_characters("[]", 2);
      +
      13922  return;
      +
      13923  }
      +
      13924 
      +
      13925  if (pretty_print)
      +
      13926  {
      +
      13927  o->write_characters("[\n", 2);
      +
      13928 
      +
      13929  // variable to hold indentation for recursive calls
      +
      13930  const auto new_indent = current_indent + indent_step;
      +
      13931  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
      +
      13932  {
      +
      13933  indent_string.resize(indent_string.size() * 2, ' ');
      +
      13934  }
      +
      13935 
      +
      13936  // first n-1 elements
      +
      13937  for (auto i = val.m_value.array->cbegin();
      +
      13938  i != val.m_value.array->cend() - 1; ++i)
      +
      13939  {
      +
      13940  o->write_characters(indent_string.c_str(), new_indent);
      +
      13941  dump(*i, true, ensure_ascii, indent_step, new_indent);
      +
      13942  o->write_characters(",\n", 2);
      +
      13943  }
      +
      13944 
      +
      13945  // last element
      +
      13946  assert(not val.m_value.array->empty());
      +
      13947  o->write_characters(indent_string.c_str(), new_indent);
      +
      13948  dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
      +
      13949 
      +
      13950  o->write_character('\n');
      +
      13951  o->write_characters(indent_string.c_str(), current_indent);
      +
      13952  o->write_character(']');
      +
      13953  }
      +
      13954  else
      +
      13955  {
      +
      13956  o->write_character('[');
      +
      13957 
      +
      13958  // first n-1 elements
      +
      13959  for (auto i = val.m_value.array->cbegin();
      +
      13960  i != val.m_value.array->cend() - 1; ++i)
      +
      13961  {
      +
      13962  dump(*i, false, ensure_ascii, indent_step, current_indent);
      +
      13963  o->write_character(',');
      +
      13964  }
      +
      13965 
      +
      13966  // last element
      +
      13967  assert(not val.m_value.array->empty());
      +
      13968  dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
      +
      13969 
      +
      13970  o->write_character(']');
      +
      13971  }
      +
      13972 
      +
      13973  return;
      +
      13974  }
      +
      13975 
      +
      13976  case value_t::string:
      +
      13977  {
      +
      13978  o->write_character('\"');
      +
      13979  dump_escaped(*val.m_value.string, ensure_ascii);
      +
      13980  o->write_character('\"');
      +
      13981  return;
      +
      13982  }
      +
      13983 
      +
      13984  case value_t::boolean:
      +
      13985  {
      +
      13986  if (val.m_value.boolean)
      +
      13987  {
      +
      13988  o->write_characters("true", 4);
      +
      13989  }
      +
      13990  else
      +
      13991  {
      +
      13992  o->write_characters("false", 5);
      +
      13993  }
      +
      13994  return;
      +
      13995  }
      +
      13996 
      + +
      13998  {
      +
      13999  dump_integer(val.m_value.number_integer);
      +
      14000  return;
      +
      14001  }
      +
      14002 
      + +
      14004  {
      +
      14005  dump_integer(val.m_value.number_unsigned);
      +
      14006  return;
      +
      14007  }
      +
      14008 
      +
      14009  case value_t::number_float:
      +
      14010  {
      +
      14011  dump_float(val.m_value.number_float);
      +
      14012  return;
      +
      14013  }
      +
      14014 
      +
      14015  case value_t::discarded:
      +
      14016  {
      +
      14017  o->write_characters("<discarded>", 11);
      +
      14018  return;
      +
      14019  }
      +
      14020 
      +
      14021  case value_t::null:
      +
      14022  {
      +
      14023  o->write_characters("null", 4);
      +
      14024  return;
      +
      14025  }
      +
      14026 
      +
      14027  default: // LCOV_EXCL_LINE
      +
      14028  assert(false); // LCOV_EXCL_LINE
      +
      14029  }
      +
      14030  }
      +
      14031 
      +
      14032  private:
      +
      14047  void dump_escaped(const string_t& s, const bool ensure_ascii)
      +
      14048  {
      +
      14049  std::uint32_t codepoint;
      +
      14050  std::uint8_t state = UTF8_ACCEPT;
      +
      14051  std::size_t bytes = 0; // number of bytes written to string_buffer
      +
      14052 
      +
      14053  // number of bytes written at the point of the last valid byte
      +
      14054  std::size_t bytes_after_last_accept = 0;
      +
      14055  std::size_t undumped_chars = 0;
      +
      14056 
      +
      14057  for (std::size_t i = 0; i < s.size(); ++i)
      +
      14058  {
      +
      14059  const auto byte = static_cast<uint8_t>(s[i]);
      +
      14060 
      +
      14061  switch (decode(state, codepoint, byte))
      +
      14062  {
      +
      14063  case UTF8_ACCEPT: // decode found a new code point
      +
      14064  {
      +
      14065  switch (codepoint)
      +
      14066  {
      +
      14067  case 0x08: // backspace
      +
      14068  {
      +
      14069  string_buffer[bytes++] = '\\';
      +
      14070  string_buffer[bytes++] = 'b';
      +
      14071  break;
      +
      14072  }
      +
      14073 
      +
      14074  case 0x09: // horizontal tab
      +
      14075  {
      +
      14076  string_buffer[bytes++] = '\\';
      +
      14077  string_buffer[bytes++] = 't';
      +
      14078  break;
      +
      14079  }
      +
      14080 
      +
      14081  case 0x0A: // newline
      +
      14082  {
      +
      14083  string_buffer[bytes++] = '\\';
      +
      14084  string_buffer[bytes++] = 'n';
      +
      14085  break;
      +
      14086  }
      +
      14087 
      +
      14088  case 0x0C: // formfeed
      +
      14089  {
      +
      14090  string_buffer[bytes++] = '\\';
      +
      14091  string_buffer[bytes++] = 'f';
      +
      14092  break;
      +
      14093  }
      +
      14094 
      +
      14095  case 0x0D: // carriage return
      +
      14096  {
      +
      14097  string_buffer[bytes++] = '\\';
      +
      14098  string_buffer[bytes++] = 'r';
      +
      14099  break;
      +
      14100  }
      +
      14101 
      +
      14102  case 0x22: // quotation mark
      +
      14103  {
      +
      14104  string_buffer[bytes++] = '\\';
      +
      14105  string_buffer[bytes++] = '\"';
      +
      14106  break;
      +
      14107  }
      +
      14108 
      +
      14109  case 0x5C: // reverse solidus
      +
      14110  {
      +
      14111  string_buffer[bytes++] = '\\';
      +
      14112  string_buffer[bytes++] = '\\';
      +
      14113  break;
      +
      14114  }
      +
      14115 
      +
      14116  default:
      +
      14117  {
      +
      14118  // escape control characters (0x00..0x1F) or, if
      +
      14119  // ensure_ascii parameter is used, non-ASCII characters
      +
      14120  if ((codepoint <= 0x1F) or (ensure_ascii and (codepoint >= 0x7F)))
      +
      14121  {
      +
      14122  if (codepoint <= 0xFFFF)
      +
      14123  {
      +
      14124  (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x",
      +
      14125  static_cast<std::uint16_t>(codepoint));
      +
      14126  bytes += 6;
      +
      14127  }
      +
      14128  else
      +
      14129  {
      +
      14130  (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
      +
      14131  static_cast<std::uint16_t>(0xD7C0u + (codepoint >> 10u)),
      +
      14132  static_cast<std::uint16_t>(0xDC00u + (codepoint & 0x3FFu)));
      +
      14133  bytes += 12;
      +
      14134  }
      +
      14135  }
      +
      14136  else
      +
      14137  {
      +
      14138  // copy byte to buffer (all previous bytes
      +
      14139  // been copied have in default case above)
      +
      14140  string_buffer[bytes++] = s[i];
      +
      14141  }
      +
      14142  break;
      +
      14143  }
      +
      14144  }
      +
      14145 
      +
      14146  // write buffer and reset index; there must be 13 bytes
      +
      14147  // left, as this is the maximal number of bytes to be
      +
      14148  // written ("\uxxxx\uxxxx\0") for one code point
      +
      14149  if (string_buffer.size() - bytes < 13)
      +
      14150  {
      +
      14151  o->write_characters(string_buffer.data(), bytes);
      +
      14152  bytes = 0;
      +
      14153  }
      +
      14154 
      +
      14155  // remember the byte position of this accept
      +
      14156  bytes_after_last_accept = bytes;
      +
      14157  undumped_chars = 0;
      +
      14158  break;
      +
      14159  }
      +
      14160 
      +
      14161  case UTF8_REJECT: // decode found invalid UTF-8 byte
      +
      14162  {
      +
      14163  switch (error_handler)
      +
      14164  {
      + +
      14166  {
      +
      14167  std::string sn(3, '\0');
      +
      14168  (std::snprintf)(&sn[0], sn.size(), "%.2X", byte);
      +
      14169  JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn));
      +
      14170  }
      +
      14171 
      + + +
      14174  {
      +
      14175  // in case we saw this character the first time, we
      +
      14176  // would like to read it again, because the byte
      +
      14177  // may be OK for itself, but just not OK for the
      +
      14178  // previous sequence
      +
      14179  if (undumped_chars > 0)
      +
      14180  {
      +
      14181  --i;
      +
      14182  }
      +
      14183 
      +
      14184  // reset length buffer to the last accepted index;
      +
      14185  // thus removing/ignoring the invalid characters
      +
      14186  bytes = bytes_after_last_accept;
      +
      14187 
      +
      14188  if (error_handler == error_handler_t::replace)
      +
      14189  {
      +
      14190  // add a replacement character
      +
      14191  if (ensure_ascii)
      +
      14192  {
      +
      14193  string_buffer[bytes++] = '\\';
      +
      14194  string_buffer[bytes++] = 'u';
      +
      14195  string_buffer[bytes++] = 'f';
      +
      14196  string_buffer[bytes++] = 'f';
      +
      14197  string_buffer[bytes++] = 'f';
      +
      14198  string_buffer[bytes++] = 'd';
      +
      14199  }
      +
      14200  else
      +
      14201  {
      +
      14202  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xEF');
      +
      14203  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBF');
      +
      14204  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBD');
      +
      14205  }
      +
      14206 
      +
      14207  // write buffer and reset index; there must be 13 bytes
      +
      14208  // left, as this is the maximal number of bytes to be
      +
      14209  // written ("\uxxxx\uxxxx\0") for one code point
      +
      14210  if (string_buffer.size() - bytes < 13)
      +
      14211  {
      +
      14212  o->write_characters(string_buffer.data(), bytes);
      +
      14213  bytes = 0;
      +
      14214  }
      +
      14215 
      +
      14216  bytes_after_last_accept = bytes;
      +
      14217  }
      +
      14218 
      +
      14219  undumped_chars = 0;
      +
      14220 
      +
      14221  // continue processing the string
      +
      14222  state = UTF8_ACCEPT;
      +
      14223  break;
      +
      14224  }
      +
      14225 
      +
      14226  default: // LCOV_EXCL_LINE
      +
      14227  assert(false); // LCOV_EXCL_LINE
      +
      14228  }
      +
      14229  break;
      +
      14230  }
      +
      14231 
      +
      14232  default: // decode found yet incomplete multi-byte code point
      +
      14233  {
      +
      14234  if (not ensure_ascii)
      +
      14235  {
      +
      14236  // code point will not be escaped - copy byte to buffer
      +
      14237  string_buffer[bytes++] = s[i];
      +
      14238  }
      +
      14239  ++undumped_chars;
      +
      14240  break;
      +
      14241  }
      +
      14242  }
      +
      14243  }
      +
      14244 
      +
      14245  // we finished processing the string
      +
      14246  if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT))
      +
      14247  {
      +
      14248  // write buffer
      +
      14249  if (bytes > 0)
      +
      14250  {
      +
      14251  o->write_characters(string_buffer.data(), bytes);
      +
      14252  }
      +
      14253  }
      +
      14254  else
      +
      14255  {
      +
      14256  // we finish reading, but do not accept: string was incomplete
      +
      14257  switch (error_handler)
      +
      14258  {
      + +
      14260  {
      +
      14261  std::string sn(3, '\0');
      +
      14262  (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast<std::uint8_t>(s.back()));
      +
      14263  JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn));
      +
      14264  }
      +
      14265 
      + +
      14267  {
      +
      14268  // write all accepted bytes
      +
      14269  o->write_characters(string_buffer.data(), bytes_after_last_accept);
      +
      14270  break;
      +
      14271  }
      +
      14272 
      + +
      14274  {
      +
      14275  // write all accepted bytes
      +
      14276  o->write_characters(string_buffer.data(), bytes_after_last_accept);
      +
      14277  // add a replacement character
      +
      14278  if (ensure_ascii)
      +
      14279  {
      +
      14280  o->write_characters("\\ufffd", 6);
      +
      14281  }
      +
      14282  else
      +
      14283  {
      +
      14284  o->write_characters("\xEF\xBF\xBD", 3);
      +
      14285  }
      +
      14286  break;
      +
      14287  }
      +
      14288 
      +
      14289  default: // LCOV_EXCL_LINE
      +
      14290  assert(false); // LCOV_EXCL_LINE
      +
      14291  }
      +
      14292  }
      +
      14293  }
      +
      14294 
      +
      14303  inline unsigned int count_digits(number_unsigned_t x) noexcept
      +
      14304  {
      +
      14305  unsigned int n_digits = 1;
      +
      14306  for (;;)
      +
      14307  {
      +
      14308  if (x < 10)
      +
      14309  {
      +
      14310  return n_digits;
      +
      14311  }
      +
      14312  if (x < 100)
      +
      14313  {
      +
      14314  return n_digits + 1;
      +
      14315  }
      +
      14316  if (x < 1000)
      +
      14317  {
      +
      14318  return n_digits + 2;
      +
      14319  }
      +
      14320  if (x < 10000)
      +
      14321  {
      +
      14322  return n_digits + 3;
      +
      14323  }
      +
      14324  x = x / 10000u;
      +
      14325  n_digits += 4;
      +
      14326  }
      +
      14327  }
      +
      14328 
      +
      14338  template<typename NumberType, detail::enable_if_t<
      +
      14339  std::is_same<NumberType, number_unsigned_t>::value or
      +
      14340  std::is_same<NumberType, number_integer_t>::value,
      +
      14341  int> = 0>
      +
      14342  void dump_integer(NumberType x)
      +
      14343  {
      +
      14344  static constexpr std::array<std::array<char, 2>, 100> digits_to_99
      +
      14345  {
      +
      14346  {
      +
      14347  {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}},
      +
      14348  {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}},
      +
      14349  {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}},
      +
      14350  {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}},
      +
      14351  {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}},
      +
      14352  {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}},
      +
      14353  {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}},
      +
      14354  {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}},
      +
      14355  {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}},
      +
      14356  {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}},
      +
      14357  }
      +
      14358  };
      +
      14359 
      +
      14360  // special case for "0"
      +
      14361  if (x == 0)
      +
      14362  {
      +
      14363  o->write_character('0');
      +
      14364  return;
      +
      14365  }
      +
      14366 
      +
      14367  // use a pointer to fill the buffer
      +
      14368  auto buffer_ptr = number_buffer.begin();
      +
      14369 
      +
      14370  const bool is_negative = std::is_same<NumberType, number_integer_t>::value and not(x >= 0); // see issue #755
      +
      14371  number_unsigned_t abs_value;
      +
      14372 
      +
      14373  unsigned int n_chars;
      +
      14374 
      +
      14375  if (is_negative)
      +
      14376  {
      +
      14377  *buffer_ptr = '-';
      +
      14378  abs_value = remove_sign(x);
      +
      14379 
      +
      14380  // account one more byte for the minus sign
      +
      14381  n_chars = 1 + count_digits(abs_value);
      +
      14382  }
      +
      14383  else
      +
      14384  {
      +
      14385  abs_value = static_cast<number_unsigned_t>(x);
      +
      14386  n_chars = count_digits(abs_value);
      +
      14387  }
      +
      14388 
      +
      14389  // spare 1 byte for '\0'
      +
      14390  assert(n_chars < number_buffer.size() - 1);
      +
      14391 
      +
      14392  // jump to the end to generate the string from backward
      +
      14393  // so we later avoid reversing the result
      +
      14394  buffer_ptr += n_chars;
      +
      14395 
      +
      14396  // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu
      +
      14397  // See: https://www.youtube.com/watch?v=o4-CwDo2zpg
      +
      14398  while (abs_value >= 100)
      +
      14399  {
      +
      14400  const auto digits_index = static_cast<unsigned>((abs_value % 100));
      +
      14401  abs_value /= 100;
      +
      14402  *(--buffer_ptr) = digits_to_99[digits_index][1];
      +
      14403  *(--buffer_ptr) = digits_to_99[digits_index][0];
      +
      14404  }
      +
      14405 
      +
      14406  if (abs_value >= 10)
      +
      14407  {
      +
      14408  const auto digits_index = static_cast<unsigned>(abs_value);
      +
      14409  *(--buffer_ptr) = digits_to_99[digits_index][1];
      +
      14410  *(--buffer_ptr) = digits_to_99[digits_index][0];
      +
      14411  }
      +
      14412  else
      +
      14413  {
      +
      14414  *(--buffer_ptr) = static_cast<char>('0' + abs_value);
      +
      14415  }
      +
      14416 
      +
      14417  o->write_characters(number_buffer.data(), n_chars);
      +
      14418  }
      +
      14419 
      +
      14428  void dump_float(number_float_t x)
      +
      14429  {
      +
      14430  // NaN / inf
      +
      14431  if (not std::isfinite(x))
      +
      14432  {
      +
      14433  o->write_characters("null", 4);
      +
      14434  return;
      +
      14435  }
      +
      14436 
      +
      14437  // If number_float_t is an IEEE-754 single or double precision number,
      +
      14438  // use the Grisu2 algorithm to produce short numbers which are
      +
      14439  // guaranteed to round-trip, using strtof and strtod, resp.
      +
      14440  //
      +
      14441  // NB: The test below works if <long double> == <double>.
      +
      14442  static constexpr bool is_ieee_single_or_double
      +
      14443  = (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 24 and std::numeric_limits<number_float_t>::max_exponent == 128) or
      +
      14444  (std::numeric_limits<number_float_t>::is_iec559 and std::numeric_limits<number_float_t>::digits == 53 and std::numeric_limits<number_float_t>::max_exponent == 1024);
      +
      14445 
      +
      14446  dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
      +
      14447  }
      +
      14448 
      +
      14449  void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
      +
      14450  {
      +
      14451  char* begin = number_buffer.data();
      +
      14452  char* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
      +
      14453 
      +
      14454  o->write_characters(begin, static_cast<size_t>(end - begin));
      +
      14455  }
      +
      14456 
      +
      14457  void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
      +
      14458  {
      +
      14459  // get number of digits for a float -> text -> float round-trip
      +
      14460  static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
      +
      14461 
      +
      14462  // the actual conversion
      +
      14463  std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
      +
      14464 
      +
      14465  // negative value indicates an error
      +
      14466  assert(len > 0);
      +
      14467  // check if buffer was large enough
      +
      14468  assert(static_cast<std::size_t>(len) < number_buffer.size());
      +
      14469 
      +
      14470  // erase thousands separator
      +
      14471  if (thousands_sep != '\0')
      +
      14472  {
      +
      14473  const auto end = std::remove(number_buffer.begin(),
      +
      14474  number_buffer.begin() + len, thousands_sep);
      +
      14475  std::fill(end, number_buffer.end(), '\0');
      +
      14476  assert((end - number_buffer.begin()) <= len);
      +
      14477  len = (end - number_buffer.begin());
      +
      14478  }
      +
      14479 
      +
      14480  // convert decimal point to '.'
      +
      14481  if (decimal_point != '\0' and decimal_point != '.')
      +
      14482  {
      +
      14483  const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
      +
      14484  if (dec_pos != number_buffer.end())
      +
      14485  {
      +
      14486  *dec_pos = '.';
      +
      14487  }
      +
      14488  }
      +
      14489 
      +
      14490  o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
      +
      14491 
      +
      14492  // determine if need to append ".0"
      +
      14493  const bool value_is_int_like =
      +
      14494  std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
      +
      14495  [](char c)
      +
      14496  {
      +
      14497  return c == '.' or c == 'e';
      +
      14498  });
      +
      14499 
      +
      14500  if (value_is_int_like)
      +
      14501  {
      +
      14502  o->write_characters(".0", 2);
      +
      14503  }
      +
      14504  }
      +
      14505 
      +
      14527  static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept
      +
      14528  {
      +
      14529  static const std::array<std::uint8_t, 400> utf8d =
      +
      14530  {
      +
      14531  {
      +
      14532  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
      +
      14533  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
      +
      14534  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
      +
      14535  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
      +
      14536  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
      +
      14537  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
      +
      14538  8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF
      +
      14539  0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
      +
      14540  0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
      +
      14541  0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
      +
      14542  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
      +
      14543  1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
      +
      14544  1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
      +
      14545  1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
      +
      14546  }
      +
      14547  };
      +
      14548 
      +
      14549  const std::uint8_t type = utf8d[byte];
      +
      14550 
      +
      14551  codep = (state != UTF8_ACCEPT)
      +
      14552  ? (byte & 0x3fu) | (codep << 6u)
      +
      14553  : (0xFFu >> type) & (byte);
      +
      14554 
      +
      14555  state = utf8d[256u + state * 16u + type];
      +
      14556  return state;
      +
      14557  }
      +
      14558 
      +
      14559  /*
      +
      14560  * Overload to make the compiler happy while it is instantiating
      +
      14561  * dump_integer for number_unsigned_t.
      +
      14562  * Must never be called.
      +
      14563  */
      +
      14564  number_unsigned_t remove_sign(number_unsigned_t x)
      +
      14565  {
      +
      14566  assert(false); // LCOV_EXCL_LINE
      +
      14567  return x; // LCOV_EXCL_LINE
      +
      14568  }
      +
      14569 
      +
      14570  /*
      +
      14571  * Helper function for dump_integer
      +
      14572  *
      +
      14573  * This function takes a negative signed integer and returns its absolute
      +
      14574  * value as unsigned integer. The plus/minus shuffling is necessary as we can
      +
      14575  * not directly remove the sign of an arbitrary signed integer as the
      +
      14576  * absolute values of INT_MIN and INT_MAX are usually not the same. See
      +
      14577  * #1708 for details.
      +
      14578  */
      +
      14579  inline number_unsigned_t remove_sign(number_integer_t x) noexcept
      +
      14580  {
      +
      14581  assert(x < 0 and x < (std::numeric_limits<number_integer_t>::max)());
      +
      14582  return static_cast<number_unsigned_t>(-(x + 1)) + 1;
      +
      14583  }
      +
      14584 
      +
      14585  private:
      +
      14587  output_adapter_t<char> o = nullptr;
      +
      14588 
      +
      14590  std::array<char, 64> number_buffer{{}};
      +
      14591 
      +
      14593  const std::lconv* loc = nullptr;
      +
      14595  const char thousands_sep = '\0';
      +
      14597  const char decimal_point = '\0';
      +
      14598 
      +
      14600  std::array<char, 512> string_buffer{{}};
      +
      14601 
      +
      14603  const char indent_char;
      +
      14605  string_t indent_string;
      +
      14606 
      +
      14608  const error_handler_t error_handler;
      +
      14609 };
      +
      14610 } // namespace detail
      +
      14611 } // namespace nlohmann
      +
      14612 
      +
      14613 // #include <nlohmann/detail/value_t.hpp>
      +
      14614 
      +
      14615 // #include <nlohmann/json_fwd.hpp>
      +
      14616 
      +
      14617 
      +
      14623 namespace nlohmann
      +
      14624 {
      +
      14625 
      + +
      14708 class basic_json
      +
      14709 {
      +
      14710  private:
      +
      14711  template<detail::value_t> friend struct detail::external_constructor;
      +
      14712  friend ::nlohmann::json_pointer<basic_json>;
      +
      14713  friend ::nlohmann::detail::parser<basic_json>;
      +
      14714  friend ::nlohmann::detail::serializer<basic_json>;
      +
      14715  template<typename BasicJsonType>
      +
      14716  friend class ::nlohmann::detail::iter_impl;
      +
      14717  template<typename BasicJsonType, typename CharType>
      +
      14718  friend class ::nlohmann::detail::binary_writer;
      +
      14719  template<typename BasicJsonType, typename SAX>
      +
      14720  friend class ::nlohmann::detail::binary_reader;
      +
      14721  template<typename BasicJsonType>
      +
      14722  friend class ::nlohmann::detail::json_sax_dom_parser;
      +
      14723  template<typename BasicJsonType>
      +
      14724  friend class ::nlohmann::detail::json_sax_dom_callback_parser;
      +
      14725 
      +
      14727  using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
      +
      14728 
      +
      14729  // convenience aliases for types residing in namespace detail;
      + + +
      14732 
      + +
      14734  template<typename BasicJsonType>
      + +
      14736  template<typename BasicJsonType>
      + +
      14738  template<typename Iterator>
      + + +
      14741 
      +
      14742  template<typename CharType>
      +
      14743  using output_adapter_t = ::nlohmann::detail::output_adapter_t<CharType>;
      +
      14744 
      + +
      14746  template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
      +
      14747 
      + +
      14749 
      +
      14750  public:
      + + +
      14754  template<typename T, typename SFINAE>
      +
      14755  using json_serializer = JSONSerializer<T, SFINAE>;
      + +
      14759  using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
      +
      14760 
      + + +
      14764 
      +
      14766  // exceptions //
      +
      14768 
      +
      14772 
      + + + + + + +
      14785 
      +
      14787 
      +
      14788 
      +
      14790  // container types //
      +
      14792 
      +
      14797 
      + +
      14800 
      + +
      14804  using const_reference = const value_type&;
      +
      14805 
      +
      14807  using difference_type = std::ptrdiff_t;
      +
      14809  using size_type = std::size_t;
      +
      14810 
      +
      14812  using allocator_type = AllocatorType<basic_json>;
      +
      14813 
      +
      14815  using pointer = typename std::allocator_traits<allocator_type>::pointer;
      +
      14817  using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
      +
      14818 
      + + + + +
      14827 
      +
      14829 
      +
      14830 
      + +
      14835  {
      +
      14836  return allocator_type();
      +
      14837  }
      +
      14838 
      + +
      14866  static basic_json meta()
      +
      14867  {
      +
      14868  basic_json result;
      +
      14869 
      +
      14870  result["copyright"] = "(C) 2013-2017 Niels Lohmann";
      +
      14871  result["name"] = "JSON for Modern C++";
      +
      14872  result["url"] = "https://github.com/nlohmann/json";
      +
      14873  result["version"]["string"] =
      + + + +
      14877  result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
      +
      14878  result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
      +
      14879  result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
      +
      14880 
      +
      14881 #ifdef _WIN32
      +
      14882  result["platform"] = "win32";
      +
      14883 #elif defined __linux__
      +
      14884  result["platform"] = "linux";
      +
      14885 #elif defined __APPLE__
      +
      14886  result["platform"] = "apple";
      +
      14887 #elif defined __unix__
      +
      14888  result["platform"] = "unix";
      +
      14889 #else
      +
      14890  result["platform"] = "unknown";
      +
      14891 #endif
      +
      14892 
      +
      14893 #if defined(__ICC) || defined(__INTEL_COMPILER)
      +
      14894  result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
      +
      14895 #elif defined(__clang__)
      +
      14896  result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
      +
      14897 #elif defined(__GNUC__) || defined(__GNUG__)
      +
      14898  result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
      +
      14899 #elif defined(__HP_cc) || defined(__HP_aCC)
      +
      14900  result["compiler"] = "hp"
      +
      14901 #elif defined(__IBMCPP__)
      +
      14902  result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
      +
      14903 #elif defined(_MSC_VER)
      +
      14904  result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
      +
      14905 #elif defined(__PGI)
      +
      14906  result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
      +
      14907 #elif defined(__SUNPRO_CC)
      +
      14908  result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
      +
      14909 #else
      +
      14910  result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
      +
      14911 #endif
      +
      14912 
      +
      14913 #ifdef __cplusplus
      +
      14914  result["compiler"]["c++"] = std::to_string(__cplusplus);
      +
      14915 #else
      +
      14916  result["compiler"]["c++"] = "unknown";
      +
      14917 #endif
      +
      14918  return result;
      +
      14919  }
      +
      14920 
      +
      14921 
      +
      14923  // JSON value data types //
      +
      14925 
      +
      14930 
      +
      14931 #if defined(JSON_HAS_CPP_14)
      +
      14932  // Use transparent comparator if possible, combined with perfect forwarding
      +
      14933  // on find() and count() calls prevents unnecessary string construction.
      +
      14934  using object_comparator_t = std::less<>;
      +
      14935 #else
      +
      14936  using object_comparator_t = std::less<StringType>;
      +
      14937 #endif
      +
      14938 
      +
      15022  using object_t = ObjectType<StringType,
      +
      15023  basic_json,
      + +
      15025  AllocatorType<std::pair<const StringType,
      + +
      15027 
      +
      15072  using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
      +
      15073 
      +
      15125  using string_t = StringType;
      +
      15126 
      +
      15151  using boolean_t = BooleanType;
      +
      15152 
      +
      15223  using number_integer_t = NumberIntegerType;
      +
      15224 
      +
      15294  using number_unsigned_t = NumberUnsignedType;
      +
      15295 
      +
      15362  using number_float_t = NumberFloatType;
      +
      15363 
      +
      15365 
      +
      15366  private:
      +
      15367 
      +
      15369  template<typename T, typename... Args>
      + +
      15371  static T* create(Args&& ... args)
      +
      15372  {
      +
      15373  AllocatorType<T> alloc;
      +
      15374  using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
      +
      15375 
      +
      15376  auto deleter = [&](T * object)
      +
      15377  {
      +
      15378  AllocatorTraits::deallocate(alloc, object, 1);
      +
      15379  };
      +
      15380  std::unique_ptr<T, decltype(deleter)> object(AllocatorTraits::allocate(alloc, 1), deleter);
      +
      15381  AllocatorTraits::construct(alloc, object.get(), std::forward<Args>(args)...);
      +
      15382  assert(object != nullptr);
      +
      15383  return object.release();
      +
      15384  }
      +
      15385 
      +
      15387  // JSON value storage //
      +
      15389 
      +
      15414  union json_value
      +
      15415  {
      +
      15417  object_t* object;
      +
      15419  array_t* array;
      +
      15421  string_t* string;
      +
      15423  boolean_t boolean;
      +
      15425  number_integer_t number_integer;
      +
      15427  number_unsigned_t number_unsigned;
      +
      15429  number_float_t number_float;
      +
      15430 
      +
      15432  json_value() = default;
      +
      15434  json_value(boolean_t v) noexcept : boolean(v) {}
      +
      15436  json_value(number_integer_t v) noexcept : number_integer(v) {}
      +
      15438  json_value(number_unsigned_t v) noexcept : number_unsigned(v) {}
      +
      15440  json_value(number_float_t v) noexcept : number_float(v) {}
      +
      15442  json_value(value_t t)
      +
      15443  {
      +
      15444  switch (t)
      +
      15445  {
      +
      15446  case value_t::object:
      +
      15447  {
      +
      15448  object = create<object_t>();
      +
      15449  break;
      +
      15450  }
      +
      15451 
      +
      15452  case value_t::array:
      +
      15453  {
      +
      15454  array = create<array_t>();
      +
      15455  break;
      +
      15456  }
      +
      15457 
      +
      15458  case value_t::string:
      +
      15459  {
      +
      15460  string = create<string_t>("");
      +
      15461  break;
      +
      15462  }
      +
      15463 
      +
      15464  case value_t::boolean:
      +
      15465  {
      +
      15466  boolean = boolean_t(false);
      +
      15467  break;
      +
      15468  }
      +
      15469 
      + +
      15471  {
      + +
      15473  break;
      +
      15474  }
      +
      15475 
      + +
      15477  {
      + +
      15479  break;
      +
      15480  }
      +
      15481 
      +
      15482  case value_t::number_float:
      +
      15483  {
      + +
      15485  break;
      +
      15486  }
      +
      15487 
      +
      15488  case value_t::null:
      +
      15489  {
      +
      15490  object = nullptr; // silence warning, see #821
      +
      15491  break;
      +
      15492  }
      +
      15493 
      +
      15494  default:
      +
      15495  {
      +
      15496  object = nullptr; // silence warning, see #821
      + +
      15498  {
      +
      15499  JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.7.3")); // LCOV_EXCL_LINE
      +
      15500  }
      +
      15501  break;
      +
      15502  }
      +
      15503  }
      +
      15504  }
      +
      15505 
      +
      15507  json_value(const string_t& value)
      +
      15508  {
      +
      15509  string = create<string_t>(value);
      +
      15510  }
      +
      15511 
      +
      15513  json_value(string_t&& value)
      +
      15514  {
      +
      15515  string = create<string_t>(std::move(value));
      +
      15516  }
      +
      15517 
      +
      15519  json_value(const object_t& value)
      +
      15520  {
      +
      15521  object = create<object_t>(value);
      +
      15522  }
      +
      15523 
      +
      15525  json_value(object_t&& value)
      +
      15526  {
      +
      15527  object = create<object_t>(std::move(value));
      +
      15528  }
      +
      15529 
      +
      15531  json_value(const array_t& value)
      +
      15532  {
      +
      15533  array = create<array_t>(value);
      +
      15534  }
      +
      15535 
      +
      15537  json_value(array_t&& value)
      +
      15538  {
      +
      15539  array = create<array_t>(std::move(value));
      +
      15540  }
      +
      15541 
      +
      15542  void destroy(value_t t) noexcept
      +
      15543  {
      +
      15544  // flatten the current json_value to a heap-allocated stack
      +
      15545  std::vector<basic_json> stack;
      +
      15546 
      +
      15547  // move the top-level items to stack
      +
      15548  if (t == value_t::array)
      +
      15549  {
      +
      15550  stack.reserve(array->size());
      +
      15551  std::move(array->begin(), array->end(), std::back_inserter(stack));
      +
      15552  }
      +
      15553  else if (t == value_t::object)
      +
      15554  {
      +
      15555  stack.reserve(object->size());
      +
      15556  for (auto&& it : *object)
      +
      15557  {
      +
      15558  stack.push_back(std::move(it.second));
      +
      15559  }
      +
      15560  }
      +
      15561 
      +
      15562  while (not stack.empty())
      +
      15563  {
      +
      15564  // move the last item to local variable to be processed
      +
      15565  basic_json current_item(std::move(stack.back()));
      +
      15566  stack.pop_back();
      +
      15567 
      +
      15568  // if current_item is array/object, move
      +
      15569  // its children to the stack to be processed later
      +
      15570  if (current_item.is_array())
      +
      15571  {
      +
      15572  std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(),
      +
      15573  std::back_inserter(stack));
      +
      15574 
      +
      15575  current_item.m_value.array->clear();
      +
      15576  }
      +
      15577  else if (current_item.is_object())
      +
      15578  {
      +
      15579  for (auto&& it : *current_item.m_value.object)
      +
      15580  {
      +
      15581  stack.push_back(std::move(it.second));
      +
      15582  }
      +
      15583 
      +
      15584  current_item.m_value.object->clear();
      +
      15585  }
      +
      15586 
      +
      15587  // it's now safe that current_item get destructed
      +
      15588  // since it doesn't have any children
      +
      15589  }
      +
      15590 
      +
      15591  switch (t)
      +
      15592  {
      +
      15593  case value_t::object:
      +
      15594  {
      +
      15595  AllocatorType<object_t> alloc;
      +
      15596  std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
      +
      15597  std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
      +
      15598  break;
      +
      15599  }
      +
      15600 
      +
      15601  case value_t::array:
      +
      15602  {
      +
      15603  AllocatorType<array_t> alloc;
      +
      15604  std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
      +
      15605  std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
      +
      15606  break;
      +
      15607  }
      +
      15608 
      +
      15609  case value_t::string:
      +
      15610  {
      +
      15611  AllocatorType<string_t> alloc;
      +
      15612  std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
      +
      15613  std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
      +
      15614  break;
      +
      15615  }
      +
      15616 
      +
      15617  default:
      +
      15618  {
      +
      15619  break;
      +
      15620  }
      +
      15621  }
      +
      15622  }
      +
      15623  };
      +
      15624 
      +
      15634  void assert_invariant() const noexcept
      +
      15635  {
      +
      15636  assert(m_type != value_t::object or m_value.object != nullptr);
      +
      15637  assert(m_type != value_t::array or m_value.array != nullptr);
      +
      15638  assert(m_type != value_t::string or m_value.string != nullptr);
      +
      15639  }
      +
      15640 
      +
      15641  public:
      +
      15643  // JSON parser callback //
      +
      15645 
      + +
      15662 
      + +
      15713 
      +
      15715  // constructors //
      +
      15717 
      +
      15722 
      + +
      15753  : m_type(v), m_value(v)
      +
      15754  {
      +
      15755  assert_invariant();
      +
      15756  }
      +
      15757 
      +
      15776  basic_json(std::nullptr_t = nullptr) noexcept
      +
      15777  : basic_json(value_t::null)
      +
      15778  {
      +
      15779  assert_invariant();
      +
      15780  }
      +
      15781 
      +
      15839  template <typename CompatibleType,
      +
      15840  typename U = detail::uncvref_t<CompatibleType>,
      + + +
      15843  basic_json(CompatibleType && val) noexcept(noexcept(
      +
      15844  JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
      +
      15845  std::forward<CompatibleType>(val))))
      +
      15846  {
      +
      15847  JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
      +
      15848  assert_invariant();
      +
      15849  }
      +
      15850 
      +
      15877  template <typename BasicJsonType,
      + +
      15879  detail::is_basic_json<BasicJsonType>::value and not std::is_same<basic_json, BasicJsonType>::value, int> = 0>
      +
      15880  basic_json(const BasicJsonType& val)
      +
      15881  {
      +
      15882  using other_boolean_t = typename BasicJsonType::boolean_t;
      +
      15883  using other_number_float_t = typename BasicJsonType::number_float_t;
      +
      15884  using other_number_integer_t = typename BasicJsonType::number_integer_t;
      +
      15885  using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      15886  using other_string_t = typename BasicJsonType::string_t;
      +
      15887  using other_object_t = typename BasicJsonType::object_t;
      +
      15888  using other_array_t = typename BasicJsonType::array_t;
      +
      15889 
      +
      15890  switch (val.type())
      +
      15891  {
      +
      15892  case value_t::boolean:
      +
      15893  JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
      +
      15894  break;
      +
      15895  case value_t::number_float:
      +
      15896  JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
      +
      15897  break;
      + +
      15899  JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
      +
      15900  break;
      + +
      15902  JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
      +
      15903  break;
      +
      15904  case value_t::string:
      +
      15905  JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
      +
      15906  break;
      +
      15907  case value_t::object:
      +
      15908  JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
      +
      15909  break;
      +
      15910  case value_t::array:
      +
      15911  JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
      +
      15912  break;
      +
      15913  case value_t::null:
      +
      15914  *this = nullptr;
      +
      15915  break;
      +
      15916  case value_t::discarded:
      +
      15917  m_type = value_t::discarded;
      +
      15918  break;
      +
      15919  default: // LCOV_EXCL_LINE
      +
      15920  assert(false); // LCOV_EXCL_LINE
      +
      15921  }
      +
      15922  assert_invariant();
      +
      15923  }
      +
      15924 
      + +
      16000  bool type_deduction = true,
      +
      16001  value_t manual_type = value_t::array)
      +
      16002  {
      +
      16003  // check if each element is an array with two elements whose first
      +
      16004  // element is a string
      +
      16005  bool is_an_object = std::all_of(init.begin(), init.end(),
      +
      16006  [](const detail::json_ref<basic_json>& element_ref)
      +
      16007  {
      +
      16008  return element_ref->is_array() and element_ref->size() == 2 and (*element_ref)[0].is_string();
      +
      16009  });
      +
      16010 
      +
      16011  // adjust type if type deduction is not wanted
      +
      16012  if (not type_deduction)
      +
      16013  {
      +
      16014  // if array is wanted, do not create an object though possible
      +
      16015  if (manual_type == value_t::array)
      +
      16016  {
      +
      16017  is_an_object = false;
      +
      16018  }
      +
      16019 
      +
      16020  // if object is wanted but impossible, throw an exception
      +
      16021  if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object and not is_an_object))
      +
      16022  {
      +
      16023  JSON_THROW(type_error::create(301, "cannot create object from initializer list"));
      +
      16024  }
      +
      16025  }
      +
      16026 
      +
      16027  if (is_an_object)
      +
      16028  {
      +
      16029  // the initializer list is a list of pairs -> create object
      +
      16030  m_type = value_t::object;
      +
      16031  m_value = value_t::object;
      +
      16032 
      +
      16033  std::for_each(init.begin(), init.end(), [this](const detail::json_ref<basic_json>& element_ref)
      +
      16034  {
      +
      16035  auto element = element_ref.moved_or_copied();
      +
      16036  m_value.object->emplace(
      +
      16037  std::move(*((*element.m_value.array)[0].m_value.string)),
      +
      16038  std::move((*element.m_value.array)[1]));
      +
      16039  });
      +
      16040  }
      +
      16041  else
      +
      16042  {
      +
      16043  // the initializer list describes an array -> create array
      +
      16044  m_type = value_t::array;
      +
      16045  m_value.array = create<array_t>(init.begin(), init.end());
      +
      16046  }
      +
      16047 
      +
      16048  assert_invariant();
      +
      16049  }
      +
      16050 
      + + +
      16090  {
      +
      16091  return basic_json(init, false, value_t::array);
      +
      16092  }
      +
      16093 
      + + +
      16134  {
      +
      16135  return basic_json(init, false, value_t::object);
      +
      16136  }
      +
      16137 
      + +
      16161  : m_type(value_t::array)
      +
      16162  {
      +
      16163  m_value.array = create<array_t>(cnt, val);
      +
      16164  assert_invariant();
      +
      16165  }
      +
      16166 
      +
      16222  template<class InputIT, typename std::enable_if<
      +
      16223  std::is_same<InputIT, typename basic_json_t::iterator>::value or
      +
      16224  std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int>::type = 0>
      +
      16225  basic_json(InputIT first, InputIT last)
      +
      16226  {
      +
      16227  assert(first.m_object != nullptr);
      +
      16228  assert(last.m_object != nullptr);
      +
      16229 
      +
      16230  // make sure iterator fits the current value
      +
      16231  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      16232  {
      +
      16233  JSON_THROW(invalid_iterator::create(201, "iterators are not compatible"));
      +
      16234  }
      +
      16235 
      +
      16236  // copy type from first iterator
      +
      16237  m_type = first.m_object->m_type;
      +
      16238 
      +
      16239  // check if iterator range is complete for primitive values
      +
      16240  switch (m_type)
      +
      16241  {
      +
      16242  case value_t::boolean:
      +
      16243  case value_t::number_float:
      + + +
      16246  case value_t::string:
      +
      16247  {
      +
      16248  if (JSON_HEDLEY_UNLIKELY(not first.m_it.primitive_iterator.is_begin()
      +
      16249  or not last.m_it.primitive_iterator.is_end()))
      +
      16250  {
      +
      16251  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
      +
      16252  }
      +
      16253  break;
      +
      16254  }
      +
      16255 
      +
      16256  default:
      +
      16257  break;
      +
      16258  }
      +
      16259 
      +
      16260  switch (m_type)
      +
      16261  {
      + +
      16263  {
      +
      16264  m_value.number_integer = first.m_object->m_value.number_integer;
      +
      16265  break;
      +
      16266  }
      +
      16267 
      + +
      16269  {
      +
      16270  m_value.number_unsigned = first.m_object->m_value.number_unsigned;
      +
      16271  break;
      +
      16272  }
      +
      16273 
      +
      16274  case value_t::number_float:
      +
      16275  {
      +
      16276  m_value.number_float = first.m_object->m_value.number_float;
      +
      16277  break;
      +
      16278  }
      +
      16279 
      +
      16280  case value_t::boolean:
      +
      16281  {
      +
      16282  m_value.boolean = first.m_object->m_value.boolean;
      +
      16283  break;
      +
      16284  }
      +
      16285 
      +
      16286  case value_t::string:
      +
      16287  {
      +
      16288  m_value = *first.m_object->m_value.string;
      +
      16289  break;
      +
      16290  }
      +
      16291 
      +
      16292  case value_t::object:
      +
      16293  {
      +
      16294  m_value.object = create<object_t>(first.m_it.object_iterator,
      +
      16295  last.m_it.object_iterator);
      +
      16296  break;
      +
      16297  }
      +
      16298 
      +
      16299  case value_t::array:
      +
      16300  {
      +
      16301  m_value.array = create<array_t>(first.m_it.array_iterator,
      +
      16302  last.m_it.array_iterator);
      +
      16303  break;
      +
      16304  }
      +
      16305 
      +
      16306  default:
      +
      16307  JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " +
      +
      16308  std::string(first.m_object->type_name())));
      +
      16309  }
      +
      16310 
      +
      16311  assert_invariant();
      +
      16312  }
      +
      16313 
      +
      16314 
      +
      16316  // other constructors and destructor //
      +
      16318 
      + +
      16321  : basic_json(ref.moved_or_copied())
      +
      16322  {}
      +
      16323 
      +
      16349  basic_json(const basic_json& other)
      +
      16350  : m_type(other.m_type)
      +
      16351  {
      +
      16352  // check of passed value is valid
      +
      16353  other.assert_invariant();
      +
      16354 
      +
      16355  switch (m_type)
      +
      16356  {
      +
      16357  case value_t::object:
      +
      16358  {
      +
      16359  m_value = *other.m_value.object;
      +
      16360  break;
      +
      16361  }
      +
      16362 
      +
      16363  case value_t::array:
      +
      16364  {
      +
      16365  m_value = *other.m_value.array;
      +
      16366  break;
      +
      16367  }
      +
      16368 
      +
      16369  case value_t::string:
      +
      16370  {
      +
      16371  m_value = *other.m_value.string;
      +
      16372  break;
      +
      16373  }
      +
      16374 
      +
      16375  case value_t::boolean:
      +
      16376  {
      +
      16377  m_value = other.m_value.boolean;
      +
      16378  break;
      +
      16379  }
      +
      16380 
      + +
      16382  {
      +
      16383  m_value = other.m_value.number_integer;
      +
      16384  break;
      +
      16385  }
      +
      16386 
      + +
      16388  {
      +
      16389  m_value = other.m_value.number_unsigned;
      +
      16390  break;
      +
      16391  }
      +
      16392 
      +
      16393  case value_t::number_float:
      +
      16394  {
      +
      16395  m_value = other.m_value.number_float;
      +
      16396  break;
      +
      16397  }
      +
      16398 
      +
      16399  default:
      +
      16400  break;
      +
      16401  }
      +
      16402 
      +
      16403  assert_invariant();
      +
      16404  }
      +
      16405 
      +
      16432  basic_json(basic_json&& other) noexcept
      +
      16433  : m_type(std::move(other.m_type)),
      +
      16434  m_value(std::move(other.m_value))
      +
      16435  {
      +
      16436  // check that passed value is valid
      +
      16437  other.assert_invariant();
      +
      16438 
      +
      16439  // invalidate payload
      +
      16440  other.m_type = value_t::null;
      +
      16441  other.m_value = {};
      +
      16442 
      +
      16443  assert_invariant();
      +
      16444  }
      +
      16445 
      +
      16469  basic_json& operator=(basic_json other) noexcept (
      +
      16470  std::is_nothrow_move_constructible<value_t>::value and
      +
      16471  std::is_nothrow_move_assignable<value_t>::value and
      +
      16472  std::is_nothrow_move_constructible<json_value>::value and
      +
      16473  std::is_nothrow_move_assignable<json_value>::value
      +
      16474  )
      +
      16475  {
      +
      16476  // check that passed value is valid
      +
      16477  other.assert_invariant();
      +
      16478 
      +
      16479  using std::swap;
      +
      16480  swap(m_type, other.m_type);
      +
      16481  swap(m_value, other.m_value);
      +
      16482 
      +
      16483  assert_invariant();
      +
      16484  return *this;
      +
      16485  }
      +
      16486 
      +
      16502  ~basic_json() noexcept
      +
      16503  {
      +
      16504  assert_invariant();
      +
      16505  m_value.destroy(m_type);
      +
      16506  }
      +
      16507 
      +
      16509 
      +
      16510  public:
      +
      16512  // object inspection //
      +
      16514 
      +
      16518 
      +
      16560  string_t dump(const int indent = -1,
      +
      16561  const char indent_char = ' ',
      +
      16562  const bool ensure_ascii = false,
      +
      16563  const error_handler_t error_handler = error_handler_t::strict) const
      +
      16564  {
      +
      16565  string_t result;
      +
      16566  serializer s(detail::output_adapter<char, string_t>(result), indent_char, error_handler);
      +
      16567 
      +
      16568  if (indent >= 0)
      +
      16569  {
      +
      16570  s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
      +
      16571  }
      +
      16572  else
      +
      16573  {
      +
      16574  s.dump(*this, false, ensure_ascii, 0);
      +
      16575  }
      +
      16576 
      +
      16577  return result;
      +
      16578  }
      +
      16579 
      +
      16612  constexpr value_t type() const noexcept
      +
      16613  {
      +
      16614  return m_type;
      +
      16615  }
      +
      16616 
      +
      16642  constexpr bool is_primitive() const noexcept
      +
      16643  {
      +
      16644  return is_null() or is_string() or is_boolean() or is_number();
      +
      16645  }
      +
      16646 
      +
      16669  constexpr bool is_structured() const noexcept
      +
      16670  {
      +
      16671  return is_array() or is_object();
      +
      16672  }
      +
      16673 
      +
      16691  constexpr bool is_null() const noexcept
      +
      16692  {
      +
      16693  return m_type == value_t::null;
      +
      16694  }
      +
      16695 
      +
      16713  constexpr bool is_boolean() const noexcept
      +
      16714  {
      +
      16715  return m_type == value_t::boolean;
      +
      16716  }
      +
      16717 
      +
      16743  constexpr bool is_number() const noexcept
      +
      16744  {
      +
      16745  return is_number_integer() or is_number_float();
      +
      16746  }
      +
      16747 
      +
      16772  constexpr bool is_number_integer() const noexcept
      +
      16773  {
      +
      16774  return m_type == value_t::number_integer or m_type == value_t::number_unsigned;
      +
      16775  }
      +
      16776 
      +
      16800  constexpr bool is_number_unsigned() const noexcept
      +
      16801  {
      +
      16802  return m_type == value_t::number_unsigned;
      +
      16803  }
      +
      16804 
      +
      16828  constexpr bool is_number_float() const noexcept
      +
      16829  {
      +
      16830  return m_type == value_t::number_float;
      +
      16831  }
      +
      16832 
      +
      16850  constexpr bool is_object() const noexcept
      +
      16851  {
      +
      16852  return m_type == value_t::object;
      +
      16853  }
      +
      16854 
      +
      16872  constexpr bool is_array() const noexcept
      +
      16873  {
      +
      16874  return m_type == value_t::array;
      +
      16875  }
      +
      16876 
      +
      16894  constexpr bool is_string() const noexcept
      +
      16895  {
      +
      16896  return m_type == value_t::string;
      +
      16897  }
      +
      16898 
      +
      16921  constexpr bool is_discarded() const noexcept
      +
      16922  {
      +
      16923  return m_type == value_t::discarded;
      +
      16924  }
      +
      16925 
      +
      16947  constexpr operator value_t() const noexcept
      +
      16948  {
      +
      16949  return m_type;
      +
      16950  }
      +
      16951 
      +
      16953 
      +
      16954  private:
      +
      16956  // value access //
      +
      16958 
      +
      16960  boolean_t get_impl(boolean_t* /*unused*/) const
      +
      16961  {
      + +
      16963  {
      +
      16964  return m_value.boolean;
      +
      16965  }
      +
      16966 
      +
      16967  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name())));
      +
      16968  }
      +
      16969 
      +
      16971  object_t* get_impl_ptr(object_t* /*unused*/) noexcept
      +
      16972  {
      +
      16973  return is_object() ? m_value.object : nullptr;
      +
      16974  }
      +
      16975 
      +
      16977  constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
      +
      16978  {
      +
      16979  return is_object() ? m_value.object : nullptr;
      +
      16980  }
      +
      16981 
      +
      16983  array_t* get_impl_ptr(array_t* /*unused*/) noexcept
      +
      16984  {
      +
      16985  return is_array() ? m_value.array : nullptr;
      +
      16986  }
      +
      16987 
      +
      16989  constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
      +
      16990  {
      +
      16991  return is_array() ? m_value.array : nullptr;
      +
      16992  }
      +
      16993 
      +
      16995  string_t* get_impl_ptr(string_t* /*unused*/) noexcept
      +
      16996  {
      +
      16997  return is_string() ? m_value.string : nullptr;
      +
      16998  }
      +
      16999 
      +
      17001  constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
      +
      17002  {
      +
      17003  return is_string() ? m_value.string : nullptr;
      +
      17004  }
      +
      17005 
      +
      17007  boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
      +
      17008  {
      +
      17009  return is_boolean() ? &m_value.boolean : nullptr;
      +
      17010  }
      +
      17011 
      +
      17013  constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
      +
      17014  {
      +
      17015  return is_boolean() ? &m_value.boolean : nullptr;
      +
      17016  }
      +
      17017 
      +
      17019  number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
      +
      17020  {
      +
      17021  return is_number_integer() ? &m_value.number_integer : nullptr;
      +
      17022  }
      +
      17023 
      +
      17025  constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
      +
      17026  {
      +
      17027  return is_number_integer() ? &m_value.number_integer : nullptr;
      +
      17028  }
      +
      17029 
      +
      17031  number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
      +
      17032  {
      +
      17033  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
      +
      17034  }
      +
      17035 
      +
      17037  constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
      +
      17038  {
      +
      17039  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
      +
      17040  }
      +
      17041 
      +
      17043  number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
      +
      17044  {
      +
      17045  return is_number_float() ? &m_value.number_float : nullptr;
      +
      17046  }
      +
      17047 
      +
      17049  constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
      +
      17050  {
      +
      17051  return is_number_float() ? &m_value.number_float : nullptr;
      +
      17052  }
      +
      17053 
      +
      17065  template<typename ReferenceType, typename ThisType>
      +
      17066  static ReferenceType get_ref_impl(ThisType& obj)
      +
      17067  {
      +
      17068  // delegate the call to get_ptr<>()
      +
      17069  auto ptr = obj.template get_ptr<typename std::add_pointer<ReferenceType>::type>();
      +
      17070 
      +
      17071  if (JSON_HEDLEY_LIKELY(ptr != nullptr))
      +
      17072  {
      +
      17073  return *ptr;
      +
      17074  }
      +
      17075 
      +
      17076  JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name())));
      +
      17077  }
      +
      17078 
      +
      17079  public:
      +
      17083 
      +
      17098  template<typename BasicJsonType, detail::enable_if_t<
      +
      17099  std::is_same<typename std::remove_const<BasicJsonType>::type, basic_json_t>::value,
      +
      17100  int> = 0>
      +
      17101  basic_json get() const
      +
      17102  {
      +
      17103  return *this;
      +
      17104  }
      +
      17105 
      +
      17121  template<typename BasicJsonType, detail::enable_if_t<
      +
      17122  not std::is_same<BasicJsonType, basic_json>::value and
      + +
      17124  BasicJsonType get() const
      +
      17125  {
      +
      17126  return *this;
      +
      17127  }
      +
      17128 
      +
      17168  template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
      +
      17169  detail::enable_if_t <
      +
      17170  not detail::is_basic_json<ValueType>::value and
      +
      17171  detail::has_from_json<basic_json_t, ValueType>::value and
      +
      17172  not detail::has_non_default_from_json<basic_json_t, ValueType>::value,
      +
      17173  int> = 0>
      +
      17174  ValueType get() const noexcept(noexcept(
      +
      17175  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
      +
      17176  {
      +
      17177  // we cannot static_assert on ValueTypeCV being non-const, because
      +
      17178  // there is support for get<const basic_json_t>(), which is why we
      +
      17179  // still need the uncvref
      +
      17180  static_assert(not std::is_reference<ValueTypeCV>::value,
      +
      17181  "get() cannot be used with reference types, you might want to use get_ref()");
      +
      17182  static_assert(std::is_default_constructible<ValueType>::value,
      +
      17183  "types must be DefaultConstructible when used with get()");
      +
      17184 
      +
      17185  ValueType ret;
      + +
      17187  return ret;
      +
      17188  }
      +
      17189 
      +
      17221  template<typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
      +
      17222  detail::enable_if_t<not std::is_same<basic_json_t, ValueType>::value and
      +
      17223  detail::has_non_default_from_json<basic_json_t, ValueType>::value,
      +
      17224  int> = 0>
      +
      17225  ValueType get() const noexcept(noexcept(
      +
      17226  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>())))
      +
      17227  {
      +
      17228  static_assert(not std::is_reference<ValueTypeCV>::value,
      +
      17229  "get() cannot be used with reference types, you might want to use get_ref()");
      + +
      17231  }
      +
      17232 
      +
      17266  template<typename ValueType,
      + + + +
      17270  int> = 0>
      +
      17271  ValueType & get_to(ValueType& v) const noexcept(noexcept(
      +
      17272  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), v)))
      +
      17273  {
      + +
      17275  return v;
      +
      17276  }
      +
      17277 
      +
      17278  template <
      +
      17279  typename T, std::size_t N,
      +
      17280  typename Array = T (&)[N],
      + + +
      17283  Array get_to(T (&v)[N]) const
      +
      17284  noexcept(noexcept(JSONSerializer<Array>::from_json(
      +
      17285  std::declval<const basic_json_t&>(), v)))
      +
      17286  {
      + +
      17288  return v;
      +
      17289  }
      +
      17290 
      +
      17291 
      +
      17318  template<typename PointerType, typename std::enable_if<
      +
      17319  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      17320  auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
      +
      17321  {
      +
      17322  // delegate the call to get_impl_ptr<>()
      +
      17323  return get_impl_ptr(static_cast<PointerType>(nullptr));
      +
      17324  }
      +
      17325 
      +
      17330  template<typename PointerType, typename std::enable_if<
      +
      17331  std::is_pointer<PointerType>::value and
      +
      17332  std::is_const<typename std::remove_pointer<PointerType>::type>::value, int>::type = 0>
      +
      17333  constexpr auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
      +
      17334  {
      +
      17335  // delegate the call to get_impl_ptr<>() const
      +
      17336  return get_impl_ptr(static_cast<PointerType>(nullptr));
      +
      17337  }
      +
      17338 
      +
      17366  template<typename PointerType, typename std::enable_if<
      +
      17367  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      17368  auto get() noexcept -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>())
      +
      17369  {
      +
      17370  // delegate the call to get_ptr
      +
      17371  return get_ptr<PointerType>();
      +
      17372  }
      +
      17373 
      +
      17378  template<typename PointerType, typename std::enable_if<
      +
      17379  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      17380  constexpr auto get() const noexcept -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>())
      +
      17381  {
      +
      17382  // delegate the call to get_ptr
      +
      17383  return get_ptr<PointerType>();
      +
      17384  }
      +
      17385 
      +
      17412  template<typename ReferenceType, typename std::enable_if<
      +
      17413  std::is_reference<ReferenceType>::value, int>::type = 0>
      +
      17414  ReferenceType get_ref()
      +
      17415  {
      +
      17416  // delegate call to get_ref_impl
      +
      17417  return get_ref_impl<ReferenceType>(*this);
      +
      17418  }
      +
      17419 
      +
      17424  template<typename ReferenceType, typename std::enable_if<
      +
      17425  std::is_reference<ReferenceType>::value and
      +
      17426  std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int>::type = 0>
      +
      17427  ReferenceType get_ref() const
      +
      17428  {
      +
      17429  // delegate call to get_ref_impl
      +
      17430  return get_ref_impl<ReferenceType>(*this);
      +
      17431  }
      +
      17432 
      +
      17462  template < typename ValueType, typename std::enable_if <
      +
      17463  not std::is_pointer<ValueType>::value and
      +
      17464  not std::is_same<ValueType, detail::json_ref<basic_json>>::value and
      +
      17465  not std::is_same<ValueType, typename string_t::value_type>::value and
      + +
      17467 
      +
      17468 #ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015
      +
      17469  and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
      +
      17470 #if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) and _MSC_VER <= 1914))
      +
      17471  and not std::is_same<ValueType, typename std::string_view>::value
      +
      17472 #endif
      +
      17473 #endif
      + +
      17475  , int >::type = 0 >
      +
      17476  operator ValueType() const
      +
      17477  {
      +
      17478  // delegate the call to get<>() const
      +
      17479  return get<ValueType>();
      +
      17480  }
      +
      17481 
      +
      17483 
      +
      17484 
      +
      17486  // element access //
      +
      17488 
      +
      17492 
      + +
      17520  {
      +
      17521  // at only works for arrays
      + +
      17523  {
      +
      17524  JSON_TRY
      +
      17525  {
      +
      17526  return m_value.array->at(idx);
      +
      17527  }
      +
      17528  JSON_CATCH (std::out_of_range&)
      +
      17529  {
      +
      17530  // create better exception explanation
      +
      17531  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      17532  }
      +
      17533  }
      +
      17534  else
      +
      17535  {
      +
      17536  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      17537  }
      +
      17538  }
      +
      17539 
      + +
      17567  {
      +
      17568  // at only works for arrays
      + +
      17570  {
      +
      17571  JSON_TRY
      +
      17572  {
      +
      17573  return m_value.array->at(idx);
      +
      17574  }
      +
      17575  JSON_CATCH (std::out_of_range&)
      +
      17576  {
      +
      17577  // create better exception explanation
      +
      17578  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      17579  }
      +
      17580  }
      +
      17581  else
      +
      17582  {
      +
      17583  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      17584  }
      +
      17585  }
      +
      17586 
      +
      17617  reference at(const typename object_t::key_type& key)
      +
      17618  {
      +
      17619  // at only works for objects
      + +
      17621  {
      +
      17622  JSON_TRY
      +
      17623  {
      +
      17624  return m_value.object->at(key);
      +
      17625  }
      +
      17626  JSON_CATCH (std::out_of_range&)
      +
      17627  {
      +
      17628  // create better exception explanation
      +
      17629  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
      +
      17630  }
      +
      17631  }
      +
      17632  else
      +
      17633  {
      +
      17634  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      17635  }
      +
      17636  }
      +
      17637 
      +
      17668  const_reference at(const typename object_t::key_type& key) const
      +
      17669  {
      +
      17670  // at only works for objects
      + +
      17672  {
      +
      17673  JSON_TRY
      +
      17674  {
      +
      17675  return m_value.object->at(key);
      +
      17676  }
      +
      17677  JSON_CATCH (std::out_of_range&)
      +
      17678  {
      +
      17679  // create better exception explanation
      +
      17680  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
      +
      17681  }
      +
      17682  }
      +
      17683  else
      +
      17684  {
      +
      17685  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      17686  }
      +
      17687  }
      +
      17688 
      + +
      17715  {
      +
      17716  // implicitly convert null value to an empty array
      +
      17717  if (is_null())
      +
      17718  {
      +
      17719  m_type = value_t::array;
      +
      17720  m_value.array = create<array_t>();
      +
      17721  assert_invariant();
      +
      17722  }
      +
      17723 
      +
      17724  // operator[] only works for arrays
      + +
      17726  {
      +
      17727  // fill up array with null values if given idx is outside range
      +
      17728  if (idx >= m_value.array->size())
      +
      17729  {
      +
      17730  m_value.array->insert(m_value.array->end(),
      +
      17731  idx - m_value.array->size() + 1,
      +
      17732  basic_json());
      +
      17733  }
      +
      17734 
      +
      17735  return m_value.array->operator[](idx);
      +
      17736  }
      +
      17737 
      +
      17738  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
      +
      17739  }
      +
      17740 
      + +
      17761  {
      +
      17762  // const operator[] only works for arrays
      + +
      17764  {
      +
      17765  return m_value.array->operator[](idx);
      +
      17766  }
      +
      17767 
      +
      17768  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
      +
      17769  }
      +
      17770 
      +
      17798  reference operator[](const typename object_t::key_type& key)
      +
      17799  {
      +
      17800  // implicitly convert null value to an empty object
      +
      17801  if (is_null())
      +
      17802  {
      +
      17803  m_type = value_t::object;
      +
      17804  m_value.object = create<object_t>();
      +
      17805  assert_invariant();
      +
      17806  }
      +
      17807 
      +
      17808  // operator[] only works for objects
      + +
      17810  {
      +
      17811  return m_value.object->operator[](key);
      +
      17812  }
      +
      17813 
      +
      17814  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      17815  }
      +
      17816 
      +
      17847  const_reference operator[](const typename object_t::key_type& key) const
      +
      17848  {
      +
      17849  // const operator[] only works for objects
      + +
      17851  {
      +
      17852  assert(m_value.object->find(key) != m_value.object->end());
      +
      17853  return m_value.object->find(key)->second;
      +
      17854  }
      +
      17855 
      +
      17856  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      17857  }
      +
      17858 
      +
      17886  template<typename T>
      + +
      17888  reference operator[](T* key)
      +
      17889  {
      +
      17890  // implicitly convert null to object
      +
      17891  if (is_null())
      +
      17892  {
      +
      17893  m_type = value_t::object;
      +
      17894  m_value = value_t::object;
      +
      17895  assert_invariant();
      +
      17896  }
      +
      17897 
      +
      17898  // at only works for objects
      + +
      17900  {
      +
      17901  return m_value.object->operator[](key);
      +
      17902  }
      +
      17903 
      +
      17904  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      17905  }
      +
      17906 
      +
      17937  template<typename T>
      + +
      17939  const_reference operator[](T* key) const
      +
      17940  {
      +
      17941  // at only works for objects
      + +
      17943  {
      +
      17944  assert(m_value.object->find(key) != m_value.object->end());
      +
      17945  return m_value.object->find(key)->second;
      +
      17946  }
      +
      17947 
      +
      17948  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      17949  }
      +
      17950 
      +
      18001  template<class ValueType, typename std::enable_if<
      +
      18002  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
      +
      18003  ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
      +
      18004  {
      +
      18005  // at only works for objects
      + +
      18007  {
      +
      18008  // if key is found, return value and given default value otherwise
      +
      18009  const auto it = find(key);
      +
      18010  if (it != end())
      +
      18011  {
      +
      18012  return *it;
      +
      18013  }
      +
      18014 
      +
      18015  return default_value;
      +
      18016  }
      +
      18017 
      +
      18018  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
      +
      18019  }
      +
      18020 
      +
      18025  string_t value(const typename object_t::key_type& key, const char* default_value) const
      +
      18026  {
      +
      18027  return value(key, string_t(default_value));
      +
      18028  }
      +
      18029 
      +
      18073  template<class ValueType, typename std::enable_if<
      +
      18074  std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
      +
      18075  ValueType value(const json_pointer& ptr, const ValueType& default_value) const
      +
      18076  {
      +
      18077  // at only works for objects
      + +
      18079  {
      +
      18080  // if pointer resolves a value, return it or use default value
      +
      18081  JSON_TRY
      +
      18082  {
      +
      18083  return ptr.get_checked(this);
      +
      18084  }
      + +
      18086  {
      +
      18087  return default_value;
      +
      18088  }
      +
      18089  }
      +
      18090 
      +
      18091  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
      +
      18092  }
      +
      18093 
      + +
      18099  string_t value(const json_pointer& ptr, const char* default_value) const
      +
      18100  {
      +
      18101  return value(ptr, string_t(default_value));
      +
      18102  }
      +
      18103 
      + +
      18130  {
      +
      18131  return *begin();
      +
      18132  }
      +
      18133 
      + +
      18138  {
      +
      18139  return *cbegin();
      +
      18140  }
      +
      18141 
      + +
      18174  {
      +
      18175  auto tmp = end();
      +
      18176  --tmp;
      +
      18177  return *tmp;
      +
      18178  }
      +
      18179 
      + +
      18184  {
      +
      18185  auto tmp = cend();
      +
      18186  --tmp;
      +
      18187  return *tmp;
      +
      18188  }
      +
      18189 
      +
      18236  template<class IteratorType, typename std::enable_if<
      +
      18237  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
      +
      18238  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
      +
      18239  = 0>
      +
      18240  IteratorType erase(IteratorType pos)
      +
      18241  {
      +
      18242  // make sure iterator fits the current value
      +
      18243  if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))
      +
      18244  {
      +
      18245  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      18246  }
      +
      18247 
      +
      18248  IteratorType result = end();
      +
      18249 
      +
      18250  switch (m_type)
      +
      18251  {
      +
      18252  case value_t::boolean:
      +
      18253  case value_t::number_float:
      + + +
      18256  case value_t::string:
      +
      18257  {
      +
      18258  if (JSON_HEDLEY_UNLIKELY(not pos.m_it.primitive_iterator.is_begin()))
      +
      18259  {
      +
      18260  JSON_THROW(invalid_iterator::create(205, "iterator out of range"));
      +
      18261  }
      +
      18262 
      +
      18263  if (is_string())
      +
      18264  {
      +
      18265  AllocatorType<string_t> alloc;
      +
      18266  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
      +
      18267  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
      +
      18268  m_value.string = nullptr;
      +
      18269  }
      +
      18270 
      +
      18271  m_type = value_t::null;
      +
      18272  assert_invariant();
      +
      18273  break;
      +
      18274  }
      +
      18275 
      +
      18276  case value_t::object:
      +
      18277  {
      +
      18278  result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
      +
      18279  break;
      +
      18280  }
      +
      18281 
      +
      18282  case value_t::array:
      +
      18283  {
      +
      18284  result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
      +
      18285  break;
      +
      18286  }
      +
      18287 
      +
      18288  default:
      +
      18289  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      18290  }
      +
      18291 
      +
      18292  return result;
      +
      18293  }
      +
      18294 
      +
      18341  template<class IteratorType, typename std::enable_if<
      +
      18342  std::is_same<IteratorType, typename basic_json_t::iterator>::value or
      +
      18343  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int>::type
      +
      18344  = 0>
      +
      18345  IteratorType erase(IteratorType first, IteratorType last)
      +
      18346  {
      +
      18347  // make sure iterator fits the current value
      +
      18348  if (JSON_HEDLEY_UNLIKELY(this != first.m_object or this != last.m_object))
      +
      18349  {
      +
      18350  JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value"));
      +
      18351  }
      +
      18352 
      +
      18353  IteratorType result = end();
      +
      18354 
      +
      18355  switch (m_type)
      +
      18356  {
      +
      18357  case value_t::boolean:
      +
      18358  case value_t::number_float:
      + + +
      18361  case value_t::string:
      +
      18362  {
      +
      18363  if (JSON_HEDLEY_LIKELY(not first.m_it.primitive_iterator.is_begin()
      +
      18364  or not last.m_it.primitive_iterator.is_end()))
      +
      18365  {
      +
      18366  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
      +
      18367  }
      +
      18368 
      +
      18369  if (is_string())
      +
      18370  {
      +
      18371  AllocatorType<string_t> alloc;
      +
      18372  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
      +
      18373  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
      +
      18374  m_value.string = nullptr;
      +
      18375  }
      +
      18376 
      +
      18377  m_type = value_t::null;
      +
      18378  assert_invariant();
      +
      18379  break;
      +
      18380  }
      +
      18381 
      +
      18382  case value_t::object:
      +
      18383  {
      +
      18384  result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
      +
      18385  last.m_it.object_iterator);
      +
      18386  break;
      +
      18387  }
      +
      18388 
      +
      18389  case value_t::array:
      +
      18390  {
      +
      18391  result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
      +
      18392  last.m_it.array_iterator);
      +
      18393  break;
      +
      18394  }
      +
      18395 
      +
      18396  default:
      +
      18397  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      18398  }
      +
      18399 
      +
      18400  return result;
      +
      18401  }
      +
      18402 
      +
      18432  size_type erase(const typename object_t::key_type& key)
      +
      18433  {
      +
      18434  // this erase only works for objects
      + +
      18436  {
      +
      18437  return m_value.object->erase(key);
      +
      18438  }
      +
      18439 
      +
      18440  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      18441  }
      +
      18442 
      +
      18467  void erase(const size_type idx)
      +
      18468  {
      +
      18469  // this erase only works for arrays
      + +
      18471  {
      +
      18472  if (JSON_HEDLEY_UNLIKELY(idx >= size()))
      +
      18473  {
      +
      18474  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      18475  }
      +
      18476 
      +
      18477  m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
      +
      18478  }
      +
      18479  else
      +
      18480  {
      +
      18481  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      18482  }
      +
      18483  }
      +
      18484 
      +
      18486 
      +
      18487 
      +
      18489  // lookup //
      +
      18491 
      +
      18494 
      +
      18519  template<typename KeyT>
      +
      18520  iterator find(KeyT&& key)
      +
      18521  {
      +
      18522  auto result = end();
      +
      18523 
      +
      18524  if (is_object())
      +
      18525  {
      +
      18526  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
      +
      18527  }
      +
      18528 
      +
      18529  return result;
      +
      18530  }
      +
      18531 
      +
      18536  template<typename KeyT>
      +
      18537  const_iterator find(KeyT&& key) const
      +
      18538  {
      +
      18539  auto result = cend();
      +
      18540 
      +
      18541  if (is_object())
      +
      18542  {
      +
      18543  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
      +
      18544  }
      +
      18545 
      +
      18546  return result;
      +
      18547  }
      +
      18548 
      +
      18570  template<typename KeyT>
      +
      18571  size_type count(KeyT&& key) const
      +
      18572  {
      +
      18573  // return 0 for all nonobject types
      +
      18574  return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
      +
      18575  }
      +
      18576 
      +
      18602  template<typename KeyT, typename std::enable_if<
      +
      18603  not std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int>::type = 0>
      +
      18604  bool contains(KeyT && key) const
      +
      18605  {
      +
      18606  return is_object() and m_value.object->find(std::forward<KeyT>(key)) != m_value.object->end();
      +
      18607  }
      +
      18608 
      +
      18635  bool contains(const json_pointer& ptr) const
      +
      18636  {
      +
      18637  return ptr.contains(this);
      +
      18638  }
      +
      18639 
      +
      18641 
      +
      18642 
      +
      18644  // iterators //
      +
      18646 
      +
      18649 
      +
      18674  iterator begin() noexcept
      +
      18675  {
      +
      18676  iterator result(this);
      +
      18677  result.set_begin();
      +
      18678  return result;
      +
      18679  }
      +
      18680 
      +
      18684  const_iterator begin() const noexcept
      +
      18685  {
      +
      18686  return cbegin();
      +
      18687  }
      +
      18688 
      +
      18714  const_iterator cbegin() const noexcept
      +
      18715  {
      +
      18716  const_iterator result(this);
      +
      18717  result.set_begin();
      +
      18718  return result;
      +
      18719  }
      +
      18720 
      +
      18745  iterator end() noexcept
      +
      18746  {
      +
      18747  iterator result(this);
      +
      18748  result.set_end();
      +
      18749  return result;
      +
      18750  }
      +
      18751 
      +
      18755  const_iterator end() const noexcept
      +
      18756  {
      +
      18757  return cend();
      +
      18758  }
      +
      18759 
      +
      18785  const_iterator cend() const noexcept
      +
      18786  {
      +
      18787  const_iterator result(this);
      +
      18788  result.set_end();
      +
      18789  return result;
      +
      18790  }
      +
      18791 
      + +
      18816  {
      +
      18817  return reverse_iterator(end());
      +
      18818  }
      +
      18819 
      + +
      18824  {
      +
      18825  return crbegin();
      +
      18826  }
      +
      18827 
      + +
      18853  {
      +
      18854  return reverse_iterator(begin());
      +
      18855  }
      +
      18856 
      +
      18860  const_reverse_iterator rend() const noexcept
      +
      18861  {
      +
      18862  return crend();
      +
      18863  }
      +
      18864 
      + +
      18890  {
      +
      18891  return const_reverse_iterator(cend());
      +
      18892  }
      +
      18893 
      + +
      18919  {
      +
      18920  return const_reverse_iterator(cbegin());
      +
      18921  }
      +
      18922 
      +
      18923  public:
      +
      18981  JSON_HEDLEY_DEPRECATED(3.1.0)
      + +
      18983  {
      +
      18984  return ref.items();
      +
      18985  }
      +
      18986 
      +
      18990  JSON_HEDLEY_DEPRECATED(3.1.0)
      + +
      18992  {
      +
      18993  return ref.items();
      +
      18994  }
      +
      18995 
      + +
      19060  {
      +
      19061  return iteration_proxy<iterator>(*this);
      +
      19062  }
      +
      19063 
      + +
      19068  {
      +
      19069  return iteration_proxy<const_iterator>(*this);
      +
      19070  }
      +
      19071 
      +
      19073 
      +
      19074 
      +
      19076  // capacity //
      +
      19078 
      +
      19081 
      +
      19123  bool empty() const noexcept
      +
      19124  {
      +
      19125  switch (m_type)
      +
      19126  {
      +
      19127  case value_t::null:
      +
      19128  {
      +
      19129  // null values are empty
      +
      19130  return true;
      +
      19131  }
      +
      19132 
      +
      19133  case value_t::array:
      +
      19134  {
      +
      19135  // delegate call to array_t::empty()
      +
      19136  return m_value.array->empty();
      +
      19137  }
      +
      19138 
      +
      19139  case value_t::object:
      +
      19140  {
      +
      19141  // delegate call to object_t::empty()
      +
      19142  return m_value.object->empty();
      +
      19143  }
      +
      19144 
      +
      19145  default:
      +
      19146  {
      +
      19147  // all other types are nonempty
      +
      19148  return false;
      +
      19149  }
      +
      19150  }
      +
      19151  }
      +
      19152 
      +
      19195  size_type size() const noexcept
      +
      19196  {
      +
      19197  switch (m_type)
      +
      19198  {
      +
      19199  case value_t::null:
      +
      19200  {
      +
      19201  // null values are empty
      +
      19202  return 0;
      +
      19203  }
      +
      19204 
      +
      19205  case value_t::array:
      +
      19206  {
      +
      19207  // delegate call to array_t::size()
      +
      19208  return m_value.array->size();
      +
      19209  }
      +
      19210 
      +
      19211  case value_t::object:
      +
      19212  {
      +
      19213  // delegate call to object_t::size()
      +
      19214  return m_value.object->size();
      +
      19215  }
      +
      19216 
      +
      19217  default:
      +
      19218  {
      +
      19219  // all other types have size 1
      +
      19220  return 1;
      +
      19221  }
      +
      19222  }
      +
      19223  }
      +
      19224 
      +
      19265  size_type max_size() const noexcept
      +
      19266  {
      +
      19267  switch (m_type)
      +
      19268  {
      +
      19269  case value_t::array:
      +
      19270  {
      +
      19271  // delegate call to array_t::max_size()
      +
      19272  return m_value.array->max_size();
      +
      19273  }
      +
      19274 
      +
      19275  case value_t::object:
      +
      19276  {
      +
      19277  // delegate call to object_t::max_size()
      +
      19278  return m_value.object->max_size();
      +
      19279  }
      +
      19280 
      +
      19281  default:
      +
      19282  {
      +
      19283  // all other types have max_size() == size()
      +
      19284  return size();
      +
      19285  }
      +
      19286  }
      +
      19287  }
      +
      19288 
      +
      19290 
      +
      19291 
      +
      19293  // modifiers //
      +
      19295 
      +
      19298 
      +
      19335  void clear() noexcept
      +
      19336  {
      +
      19337  switch (m_type)
      +
      19338  {
      + +
      19340  {
      +
      19341  m_value.number_integer = 0;
      +
      19342  break;
      +
      19343  }
      +
      19344 
      + +
      19346  {
      +
      19347  m_value.number_unsigned = 0;
      +
      19348  break;
      +
      19349  }
      +
      19350 
      +
      19351  case value_t::number_float:
      +
      19352  {
      +
      19353  m_value.number_float = 0.0;
      +
      19354  break;
      +
      19355  }
      +
      19356 
      +
      19357  case value_t::boolean:
      +
      19358  {
      +
      19359  m_value.boolean = false;
      +
      19360  break;
      +
      19361  }
      +
      19362 
      +
      19363  case value_t::string:
      +
      19364  {
      +
      19365  m_value.string->clear();
      +
      19366  break;
      +
      19367  }
      +
      19368 
      +
      19369  case value_t::array:
      +
      19370  {
      +
      19371  m_value.array->clear();
      +
      19372  break;
      +
      19373  }
      +
      19374 
      +
      19375  case value_t::object:
      +
      19376  {
      +
      19377  m_value.object->clear();
      +
      19378  break;
      +
      19379  }
      +
      19380 
      +
      19381  default:
      +
      19382  break;
      +
      19383  }
      +
      19384  }
      +
      19385 
      +
      19406  void push_back(basic_json&& val)
      +
      19407  {
      +
      19408  // push_back only works for null objects or arrays
      +
      19409  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
      +
      19410  {
      +
      19411  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      19412  }
      +
      19413 
      +
      19414  // transform null object into an array
      +
      19415  if (is_null())
      +
      19416  {
      +
      19417  m_type = value_t::array;
      +
      19418  m_value = value_t::array;
      +
      19419  assert_invariant();
      +
      19420  }
      +
      19421 
      +
      19422  // add element to array (move semantics)
      +
      19423  m_value.array->push_back(std::move(val));
      +
      19424  // invalidate object: mark it null so we do not call the destructor
      +
      19425  // cppcheck-suppress accessMoved
      +
      19426  val.m_type = value_t::null;
      +
      19427  }
      +
      19428 
      + +
      19434  {
      +
      19435  push_back(std::move(val));
      +
      19436  return *this;
      +
      19437  }
      +
      19438 
      +
      19443  void push_back(const basic_json& val)
      +
      19444  {
      +
      19445  // push_back only works for null objects or arrays
      +
      19446  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
      +
      19447  {
      +
      19448  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      19449  }
      +
      19450 
      +
      19451  // transform null object into an array
      +
      19452  if (is_null())
      +
      19453  {
      +
      19454  m_type = value_t::array;
      +
      19455  m_value = value_t::array;
      +
      19456  assert_invariant();
      +
      19457  }
      +
      19458 
      +
      19459  // add element to array
      +
      19460  m_value.array->push_back(val);
      +
      19461  }
      +
      19462 
      + +
      19468  {
      +
      19469  push_back(val);
      +
      19470  return *this;
      +
      19471  }
      +
      19472 
      +
      19493  void push_back(const typename object_t::value_type& val)
      +
      19494  {
      +
      19495  // push_back only works for null objects or objects
      +
      19496  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object())))
      +
      19497  {
      +
      19498  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      19499  }
      +
      19500 
      +
      19501  // transform null object into an object
      +
      19502  if (is_null())
      +
      19503  {
      +
      19504  m_type = value_t::object;
      +
      19505  m_value = value_t::object;
      +
      19506  assert_invariant();
      +
      19507  }
      +
      19508 
      +
      19509  // add element to array
      +
      19510  m_value.object->insert(val);
      +
      19511  }
      +
      19512 
      +
      19517  reference operator+=(const typename object_t::value_type& val)
      +
      19518  {
      +
      19519  push_back(val);
      +
      19520  return *this;
      +
      19521  }
      +
      19522 
      + +
      19549  {
      +
      19550  if (is_object() and init.size() == 2 and (*init.begin())->is_string())
      +
      19551  {
      +
      19552  basic_json&& key = init.begin()->moved_or_copied();
      +
      19553  push_back(typename object_t::value_type(
      +
      19554  std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
      +
      19555  }
      +
      19556  else
      +
      19557  {
      +
      19558  push_back(basic_json(init));
      +
      19559  }
      +
      19560  }
      +
      19561 
      + +
      19567  {
      +
      19568  push_back(init);
      +
      19569  return *this;
      +
      19570  }
      +
      19571 
      +
      19595  template<class... Args>
      +
      19596  reference emplace_back(Args&& ... args)
      +
      19597  {
      +
      19598  // emplace_back only works for null objects or arrays
      +
      19599  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array())))
      +
      19600  {
      +
      19601  JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name())));
      +
      19602  }
      +
      19603 
      +
      19604  // transform null object into an array
      +
      19605  if (is_null())
      +
      19606  {
      +
      19607  m_type = value_t::array;
      +
      19608  m_value = value_t::array;
      +
      19609  assert_invariant();
      +
      19610  }
      +
      19611 
      +
      19612  // add element to array (perfect forwarding)
      +
      19613 #ifdef JSON_HAS_CPP_17
      +
      19614  return m_value.array->emplace_back(std::forward<Args>(args)...);
      +
      19615 #else
      +
      19616  m_value.array->emplace_back(std::forward<Args>(args)...);
      +
      19617  return m_value.array->back();
      +
      19618 #endif
      +
      19619  }
      +
      19620 
      +
      19648  template<class... Args>
      +
      19649  std::pair<iterator, bool> emplace(Args&& ... args)
      +
      19650  {
      +
      19651  // emplace only works for null objects or arrays
      +
      19652  if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object())))
      +
      19653  {
      +
      19654  JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name())));
      +
      19655  }
      +
      19656 
      +
      19657  // transform null object into an object
      +
      19658  if (is_null())
      +
      19659  {
      +
      19660  m_type = value_t::object;
      +
      19661  m_value = value_t::object;
      +
      19662  assert_invariant();
      +
      19663  }
      +
      19664 
      +
      19665  // add element to array (perfect forwarding)
      +
      19666  auto res = m_value.object->emplace(std::forward<Args>(args)...);
      +
      19667  // create result iterator and set iterator to the result of emplace
      +
      19668  auto it = begin();
      +
      19669  it.m_it.object_iterator = res.first;
      +
      19670 
      +
      19671  // return pair of iterator and boolean
      +
      19672  return {it, res.second};
      +
      19673  }
      +
      19674 
      +
      19678  template<typename... Args>
      + +
      19680  {
      +
      19681  iterator result(this);
      +
      19682  assert(m_value.array != nullptr);
      +
      19683 
      +
      19684  auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
      +
      19685  m_value.array->insert(pos.m_it.array_iterator, std::forward<Args>(args)...);
      +
      19686  result.m_it.array_iterator = m_value.array->begin() + insert_pos;
      +
      19687 
      +
      19688  // This could have been written as:
      +
      19689  // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
      +
      19690  // but the return value of insert is missing in GCC 4.8, so it is written this way instead.
      +
      19691 
      +
      19692  return result;
      +
      19693  }
      +
      19694 
      + +
      19718  {
      +
      19719  // insert only works for arrays
      + +
      19721  {
      +
      19722  // check if iterator pos fits to this JSON value
      +
      19723  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      19724  {
      +
      19725  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      19726  }
      +
      19727 
      +
      19728  // insert to array and return iterator
      +
      19729  return insert_iterator(pos, val);
      +
      19730  }
      +
      19731 
      +
      19732  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      19733  }
      +
      19734 
      + +
      19740  {
      +
      19741  return insert(pos, val);
      +
      19742  }
      +
      19743 
      + +
      19769  {
      +
      19770  // insert only works for arrays
      + +
      19772  {
      +
      19773  // check if iterator pos fits to this JSON value
      +
      19774  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      19775  {
      +
      19776  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      19777  }
      +
      19778 
      +
      19779  // insert to array and return iterator
      +
      19780  return insert_iterator(pos, cnt, val);
      +
      19781  }
      +
      19782 
      +
      19783  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      19784  }
      +
      19785 
      + +
      19817  {
      +
      19818  // insert only works for arrays
      +
      19819  if (JSON_HEDLEY_UNLIKELY(not is_array()))
      +
      19820  {
      +
      19821  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      19822  }
      +
      19823 
      +
      19824  // check if iterator pos fits to this JSON value
      +
      19825  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      19826  {
      +
      19827  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      19828  }
      +
      19829 
      +
      19830  // check if range iterators belong to the same JSON object
      +
      19831  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      19832  {
      +
      19833  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      19834  }
      +
      19835 
      +
      19836  if (JSON_HEDLEY_UNLIKELY(first.m_object == this))
      +
      19837  {
      +
      19838  JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container"));
      +
      19839  }
      +
      19840 
      +
      19841  // insert to array and return iterator
      +
      19842  return insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator);
      +
      19843  }
      +
      19844 
      + +
      19870  {
      +
      19871  // insert only works for arrays
      +
      19872  if (JSON_HEDLEY_UNLIKELY(not is_array()))
      +
      19873  {
      +
      19874  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      19875  }
      +
      19876 
      +
      19877  // check if iterator pos fits to this JSON value
      +
      19878  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      19879  {
      +
      19880  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      19881  }
      +
      19882 
      +
      19883  // insert to array and return iterator
      +
      19884  return insert_iterator(pos, ilist.begin(), ilist.end());
      +
      19885  }
      +
      19886 
      + +
      19911  {
      +
      19912  // insert only works for objects
      +
      19913  if (JSON_HEDLEY_UNLIKELY(not is_object()))
      +
      19914  {
      +
      19915  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      19916  }
      +
      19917 
      +
      19918  // check if range iterators belong to the same JSON object
      +
      19919  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      19920  {
      +
      19921  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      19922  }
      +
      19923 
      +
      19924  // passed iterators must belong to objects
      +
      19925  if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object()))
      +
      19926  {
      +
      19927  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
      +
      19928  }
      +
      19929 
      +
      19930  m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
      +
      19931  }
      +
      19932 
      + +
      19953  {
      +
      19954  // implicitly convert null value to an empty object
      +
      19955  if (is_null())
      +
      19956  {
      +
      19957  m_type = value_t::object;
      +
      19958  m_value.object = create<object_t>();
      +
      19959  assert_invariant();
      +
      19960  }
      +
      19961 
      +
      19962  if (JSON_HEDLEY_UNLIKELY(not is_object()))
      +
      19963  {
      +
      19964  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
      +
      19965  }
      +
      19966  if (JSON_HEDLEY_UNLIKELY(not j.is_object()))
      +
      19967  {
      +
      19968  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name())));
      +
      19969  }
      +
      19970 
      +
      19971  for (auto it = j.cbegin(); it != j.cend(); ++it)
      +
      19972  {
      +
      19973  m_value.object->operator[](it.key()) = it.value();
      +
      19974  }
      +
      19975  }
      +
      19976 
      + +
      20004  {
      +
      20005  // implicitly convert null value to an empty object
      +
      20006  if (is_null())
      +
      20007  {
      +
      20008  m_type = value_t::object;
      +
      20009  m_value.object = create<object_t>();
      +
      20010  assert_invariant();
      +
      20011  }
      +
      20012 
      +
      20013  if (JSON_HEDLEY_UNLIKELY(not is_object()))
      +
      20014  {
      +
      20015  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
      +
      20016  }
      +
      20017 
      +
      20018  // check if range iterators belong to the same JSON object
      +
      20019  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      20020  {
      +
      20021  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      20022  }
      +
      20023 
      +
      20024  // passed iterators must belong to objects
      +
      20025  if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object()
      +
      20026  or not last.m_object->is_object()))
      +
      20027  {
      +
      20028  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
      +
      20029  }
      +
      20030 
      +
      20031  for (auto it = first; it != last; ++it)
      +
      20032  {
      +
      20033  m_value.object->operator[](it.key()) = it.value();
      +
      20034  }
      +
      20035  }
      +
      20036 
      +
      20054  void swap(reference other) noexcept (
      +
      20055  std::is_nothrow_move_constructible<value_t>::value and
      +
      20056  std::is_nothrow_move_assignable<value_t>::value and
      +
      20057  std::is_nothrow_move_constructible<json_value>::value and
      +
      20058  std::is_nothrow_move_assignable<json_value>::value
      +
      20059  )
      +
      20060  {
      +
      20061  std::swap(m_type, other.m_type);
      +
      20062  std::swap(m_value, other.m_value);
      +
      20063  assert_invariant();
      +
      20064  }
      +
      20065 
      +
      20086  void swap(array_t& other)
      +
      20087  {
      +
      20088  // swap only works for arrays
      + +
      20090  {
      +
      20091  std::swap(*(m_value.array), other);
      +
      20092  }
      +
      20093  else
      +
      20094  {
      +
      20095  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      20096  }
      +
      20097  }
      +
      20098 
      +
      20119  void swap(object_t& other)
      +
      20120  {
      +
      20121  // swap only works for objects
      + +
      20123  {
      +
      20124  std::swap(*(m_value.object), other);
      +
      20125  }
      +
      20126  else
      +
      20127  {
      +
      20128  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      20129  }
      +
      20130  }
      +
      20131 
      +
      20152  void swap(string_t& other)
      +
      20153  {
      +
      20154  // swap only works for strings
      + +
      20156  {
      +
      20157  std::swap(*(m_value.string), other);
      +
      20158  }
      +
      20159  else
      +
      20160  {
      +
      20161  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      20162  }
      +
      20163  }
      +
      20164 
      +
      20166 
      +
      20167  public:
      +
      20169  // lexicographical comparison operators //
      +
      20171 
      +
      20174 
      +
      20214  friend bool operator==(const_reference lhs, const_reference rhs) noexcept
      +
      20215  {
      +
      20216  const auto lhs_type = lhs.type();
      +
      20217  const auto rhs_type = rhs.type();
      +
      20218 
      +
      20219  if (lhs_type == rhs_type)
      +
      20220  {
      +
      20221  switch (lhs_type)
      +
      20222  {
      +
      20223  case value_t::array:
      +
      20224  return *lhs.m_value.array == *rhs.m_value.array;
      +
      20225 
      +
      20226  case value_t::object:
      +
      20227  return *lhs.m_value.object == *rhs.m_value.object;
      +
      20228 
      +
      20229  case value_t::null:
      +
      20230  return true;
      +
      20231 
      +
      20232  case value_t::string:
      +
      20233  return *lhs.m_value.string == *rhs.m_value.string;
      +
      20234 
      +
      20235  case value_t::boolean:
      +
      20236  return lhs.m_value.boolean == rhs.m_value.boolean;
      +
      20237 
      + +
      20239  return lhs.m_value.number_integer == rhs.m_value.number_integer;
      +
      20240 
      + +
      20242  return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;
      +
      20243 
      +
      20244  case value_t::number_float:
      +
      20245  return lhs.m_value.number_float == rhs.m_value.number_float;
      +
      20246 
      +
      20247  default:
      +
      20248  return false;
      +
      20249  }
      +
      20250  }
      +
      20251  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
      +
      20252  {
      +
      20253  return static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float;
      +
      20254  }
      +
      20255  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
      +
      20256  {
      +
      20257  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer);
      +
      20258  }
      +
      20259  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
      +
      20260  {
      +
      20261  return static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;
      +
      20262  }
      +
      20263  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
      +
      20264  {
      +
      20265  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned);
      +
      20266  }
      +
      20267  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
      +
      20268  {
      +
      20269  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;
      +
      20270  }
      +
      20271  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
      +
      20272  {
      +
      20273  return lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned);
      +
      20274  }
      +
      20275 
      +
      20276  return false;
      +
      20277  }
      +
      20278 
      +
      20283  template<typename ScalarType, typename std::enable_if<
      +
      20284  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20285  friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
      +
      20286  {
      +
      20287  return lhs == basic_json(rhs);
      +
      20288  }
      +
      20289 
      +
      20294  template<typename ScalarType, typename std::enable_if<
      +
      20295  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20296  friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
      +
      20297  {
      +
      20298  return basic_json(lhs) == rhs;
      +
      20299  }
      +
      20300 
      +
      20319  friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
      +
      20320  {
      +
      20321  return not (lhs == rhs);
      +
      20322  }
      +
      20323 
      +
      20328  template<typename ScalarType, typename std::enable_if<
      +
      20329  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20330  friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
      +
      20331  {
      +
      20332  return lhs != basic_json(rhs);
      +
      20333  }
      +
      20334 
      +
      20339  template<typename ScalarType, typename std::enable_if<
      +
      20340  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20341  friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
      +
      20342  {
      +
      20343  return basic_json(lhs) != rhs;
      +
      20344  }
      +
      20345 
      +
      20372  friend bool operator<(const_reference lhs, const_reference rhs) noexcept
      +
      20373  {
      +
      20374  const auto lhs_type = lhs.type();
      +
      20375  const auto rhs_type = rhs.type();
      +
      20376 
      +
      20377  if (lhs_type == rhs_type)
      +
      20378  {
      +
      20379  switch (lhs_type)
      +
      20380  {
      +
      20381  case value_t::array:
      +
      20382  // note parentheses are necessary, see
      +
      20383  // https://github.com/nlohmann/json/issues/1530
      +
      20384  return (*lhs.m_value.array) < (*rhs.m_value.array);
      +
      20385 
      +
      20386  case value_t::object:
      +
      20387  return (*lhs.m_value.object) < (*rhs.m_value.object);
      +
      20388 
      +
      20389  case value_t::null:
      +
      20390  return false;
      +
      20391 
      +
      20392  case value_t::string:
      +
      20393  return (*lhs.m_value.string) < (*rhs.m_value.string);
      +
      20394 
      +
      20395  case value_t::boolean:
      +
      20396  return (lhs.m_value.boolean) < (rhs.m_value.boolean);
      +
      20397 
      + +
      20399  return (lhs.m_value.number_integer) < (rhs.m_value.number_integer);
      +
      20400 
      + +
      20402  return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned);
      +
      20403 
      +
      20404  case value_t::number_float:
      +
      20405  return (lhs.m_value.number_float) < (rhs.m_value.number_float);
      +
      20406 
      +
      20407  default:
      +
      20408  return false;
      +
      20409  }
      +
      20410  }
      +
      20411  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)
      +
      20412  {
      +
      20413  return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
      +
      20414  }
      +
      20415  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)
      +
      20416  {
      +
      20417  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
      +
      20418  }
      +
      20419  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)
      +
      20420  {
      +
      20421  return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
      +
      20422  }
      +
      20423  else if (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)
      +
      20424  {
      +
      20425  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
      +
      20426  }
      +
      20427  else if (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)
      +
      20428  {
      +
      20429  return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
      +
      20430  }
      +
      20431  else if (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)
      +
      20432  {
      +
      20433  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
      +
      20434  }
      +
      20435 
      +
      20436  // We only reach this line if we cannot compare values. In that case,
      +
      20437  // we compare types. Note we have to call the operator explicitly,
      +
      20438  // because MSVC has problems otherwise.
      +
      20439  return operator<(lhs_type, rhs_type);
      +
      20440  }
      +
      20441 
      +
      20446  template<typename ScalarType, typename std::enable_if<
      +
      20447  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20448  friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
      +
      20449  {
      +
      20450  return lhs < basic_json(rhs);
      +
      20451  }
      +
      20452 
      +
      20457  template<typename ScalarType, typename std::enable_if<
      +
      20458  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20459  friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
      +
      20460  {
      +
      20461  return basic_json(lhs) < rhs;
      +
      20462  }
      +
      20463 
      +
      20483  friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
      +
      20484  {
      +
      20485  return not (rhs < lhs);
      +
      20486  }
      +
      20487 
      +
      20492  template<typename ScalarType, typename std::enable_if<
      +
      20493  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20494  friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
      +
      20495  {
      +
      20496  return lhs <= basic_json(rhs);
      +
      20497  }
      +
      20498 
      +
      20503  template<typename ScalarType, typename std::enable_if<
      +
      20504  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20505  friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
      +
      20506  {
      +
      20507  return basic_json(lhs) <= rhs;
      +
      20508  }
      +
      20509 
      +
      20529  friend bool operator>(const_reference lhs, const_reference rhs) noexcept
      +
      20530  {
      +
      20531  return not (lhs <= rhs);
      +
      20532  }
      +
      20533 
      +
      20538  template<typename ScalarType, typename std::enable_if<
      +
      20539  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20540  friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
      +
      20541  {
      +
      20542  return lhs > basic_json(rhs);
      +
      20543  }
      +
      20544 
      +
      20549  template<typename ScalarType, typename std::enable_if<
      +
      20550  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20551  friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
      +
      20552  {
      +
      20553  return basic_json(lhs) > rhs;
      +
      20554  }
      +
      20555 
      +
      20575  friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
      +
      20576  {
      +
      20577  return not (lhs < rhs);
      +
      20578  }
      +
      20579 
      +
      20584  template<typename ScalarType, typename std::enable_if<
      +
      20585  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20586  friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
      +
      20587  {
      +
      20588  return lhs >= basic_json(rhs);
      +
      20589  }
      +
      20590 
      +
      20595  template<typename ScalarType, typename std::enable_if<
      +
      20596  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      20597  friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
      +
      20598  {
      +
      20599  return basic_json(lhs) >= rhs;
      +
      20600  }
      +
      20601 
      +
      20603 
      +
      20605  // serialization //
      +
      20607 
      +
      20610 
      +
      20642  friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
      +
      20643  {
      +
      20644  // read width member and use it as indentation parameter if nonzero
      +
      20645  const bool pretty_print = o.width() > 0;
      +
      20646  const auto indentation = pretty_print ? o.width() : 0;
      +
      20647 
      +
      20648  // reset width to 0 for subsequent calls to this stream
      +
      20649  o.width(0);
      +
      20650 
      +
      20651  // do the actual serialization
      +
      20652  serializer s(detail::output_adapter<char>(o), o.fill());
      +
      20653  s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
      +
      20654  return o;
      +
      20655  }
      +
      20656 
      +
      20665  JSON_HEDLEY_DEPRECATED(3.0.0)
      +
      20666  friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
      +
      20667  {
      +
      20668  return o << j;
      +
      20669  }
      +
      20670 
      +
      20672 
      +
      20673 
      +
      20675  // deserialization //
      +
      20677 
      +
      20680 
      + + +
      20746  const parser_callback_t cb = nullptr,
      +
      20747  const bool allow_exceptions = true)
      +
      20748  {
      +
      20749  basic_json result;
      +
      20750  parser(i, cb, allow_exceptions).parse(true, result);
      +
      20751  return result;
      +
      20752  }
      +
      20753 
      + +
      20755  {
      +
      20756  return parser(i).accept(true);
      +
      20757  }
      +
      20758 
      +
      20812  template <typename SAX>
      + +
      20814  static bool sax_parse(detail::input_adapter&& i, SAX* sax,
      + +
      20816  const bool strict = true)
      +
      20817  {
      +
      20818  assert(sax);
      +
      20819  return format == input_format_t::json
      +
      20820  ? parser(std::move(i)).sax_parse(sax, strict)
      +
      20821  : detail::binary_reader<basic_json, SAX>(std::move(i)).sax_parse(format, sax, strict);
      +
      20822  }
      +
      20823 
      +
      20873  template<class IteratorType, typename std::enable_if<
      +
      20874  std::is_base_of<
      +
      20875  std::random_access_iterator_tag,
      +
      20876  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
      +
      20877  static basic_json parse(IteratorType first, IteratorType last,
      +
      20878  const parser_callback_t cb = nullptr,
      +
      20879  const bool allow_exceptions = true)
      +
      20880  {
      +
      20881  basic_json result;
      +
      20882  parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result);
      +
      20883  return result;
      +
      20884  }
      +
      20885 
      +
      20886  template<class IteratorType, typename std::enable_if<
      +
      20887  std::is_base_of<
      +
      20888  std::random_access_iterator_tag,
      +
      20889  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
      +
      20890  static bool accept(IteratorType first, IteratorType last)
      +
      20891  {
      +
      20892  return parser(detail::input_adapter(first, last)).accept(true);
      +
      20893  }
      +
      20894 
      +
      20895  template<class IteratorType, class SAX, typename std::enable_if<
      +
      20896  std::is_base_of<
      +
      20897  std::random_access_iterator_tag,
      +
      20898  typename std::iterator_traits<IteratorType>::iterator_category>::value, int>::type = 0>
      + +
      20900  static bool sax_parse(IteratorType first, IteratorType last, SAX* sax)
      +
      20901  {
      +
      20902  return parser(detail::input_adapter(first, last)).sax_parse(sax);
      +
      20903  }
      +
      20904 
      +
      20913  JSON_HEDLEY_DEPRECATED(3.0.0)
      +
      20914  friend std::istream& operator<<(basic_json& j, std::istream& i)
      +
      20915  {
      +
      20916  return operator>>(i, j);
      +
      20917  }
      +
      20918 
      +
      20944  friend std::istream& operator>>(std::istream& i, basic_json& j)
      +
      20945  {
      +
      20946  parser(detail::input_adapter(i)).parse(false, j);
      +
      20947  return i;
      +
      20948  }
      +
      20949 
      +
      20951 
      +
      20953  // convenience functions //
      +
      20955 
      + +
      20987  const char* type_name() const noexcept
      +
      20988  {
      +
      20989  {
      +
      20990  switch (m_type)
      +
      20991  {
      +
      20992  case value_t::null:
      +
      20993  return "null";
      +
      20994  case value_t::object:
      +
      20995  return "object";
      +
      20996  case value_t::array:
      +
      20997  return "array";
      +
      20998  case value_t::string:
      +
      20999  return "string";
      +
      21000  case value_t::boolean:
      +
      21001  return "boolean";
      +
      21002  case value_t::discarded:
      +
      21003  return "discarded";
      +
      21004  default:
      +
      21005  return "number";
      +
      21006  }
      +
      21007  }
      +
      21008  }
      +
      21009 
      +
      21010 
      +
      21011  private:
      +
      21013  // member variables //
      +
      21015 
      +
      21017  value_t m_type = value_t::null;
      +
      21018 
      +
      21020  json_value m_value = {};
      +
      21021 
      +
      21023  // binary serialization/deserialization //
      +
      21025 
      +
      21028 
      +
      21029  public:
      +
      21118  static std::vector<uint8_t> to_cbor(const basic_json& j)
      +
      21119  {
      +
      21120  std::vector<uint8_t> result;
      +
      21121  to_cbor(j, result);
      +
      21122  return result;
      +
      21123  }
      +
      21124 
      + +
      21126  {
      + +
      21128  }
      +
      21129 
      + +
      21131  {
      + +
      21133  }
      +
      21134 
      +
      21214  static std::vector<uint8_t> to_msgpack(const basic_json& j)
      +
      21215  {
      +
      21216  std::vector<uint8_t> result;
      +
      21217  to_msgpack(j, result);
      +
      21218  return result;
      +
      21219  }
      +
      21220 
      + +
      21222  {
      + +
      21224  }
      +
      21225 
      + +
      21227  {
      + +
      21229  }
      +
      21230 
      +
      21311  static std::vector<uint8_t> to_ubjson(const basic_json& j,
      +
      21312  const bool use_size = false,
      +
      21313  const bool use_type = false)
      +
      21314  {
      +
      21315  std::vector<uint8_t> result;
      +
      21316  to_ubjson(j, result, use_size, use_type);
      +
      21317  return result;
      +
      21318  }
      +
      21319 
      + +
      21321  const bool use_size = false, const bool use_type = false)
      +
      21322  {
      +
      21323  binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
      +
      21324  }
      +
      21325 
      + +
      21327  const bool use_size = false, const bool use_type = false)
      +
      21328  {
      +
      21329  binary_writer<char>(o).write_ubjson(j, use_size, use_type);
      +
      21330  }
      +
      21331 
      +
      21332 
      +
      21388  static std::vector<uint8_t> to_bson(const basic_json& j)
      +
      21389  {
      +
      21390  std::vector<uint8_t> result;
      +
      21391  to_bson(j, result);
      +
      21392  return result;
      +
      21393  }
      +
      21394 
      + +
      21404  {
      + +
      21406  }
      +
      21407 
      + +
      21412  {
      + +
      21414  }
      +
      21415 
      +
      21416 
      + + +
      21518  const bool strict = true,
      +
      21519  const bool allow_exceptions = true)
      +
      21520  {
      +
      21521  basic_json result;
      +
      21522  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21523  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::cbor, &sdp, strict);
      +
      21524  return res ? result : basic_json(value_t::discarded);
      +
      21525  }
      +
      21526 
      +
      21530  template<typename A1, typename A2,
      + + +
      21533  static basic_json from_cbor(A1 && a1, A2 && a2,
      +
      21534  const bool strict = true,
      +
      21535  const bool allow_exceptions = true)
      +
      21536  {
      +
      21537  basic_json result;
      +
      21538  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21539  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::cbor, &sdp, strict);
      +
      21540  return res ? result : basic_json(value_t::discarded);
      +
      21541  }
      +
      21542 
      + + +
      21627  const bool strict = true,
      +
      21628  const bool allow_exceptions = true)
      +
      21629  {
      +
      21630  basic_json result;
      +
      21631  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21632  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::msgpack, &sdp, strict);
      +
      21633  return res ? result : basic_json(value_t::discarded);
      +
      21634  }
      +
      21635 
      +
      21639  template<typename A1, typename A2,
      + + +
      21642  static basic_json from_msgpack(A1 && a1, A2 && a2,
      +
      21643  const bool strict = true,
      +
      21644  const bool allow_exceptions = true)
      +
      21645  {
      +
      21646  basic_json result;
      +
      21647  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21648  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::msgpack, &sdp, strict);
      +
      21649  return res ? result : basic_json(value_t::discarded);
      +
      21650  }
      +
      21651 
      + + +
      21715  const bool strict = true,
      +
      21716  const bool allow_exceptions = true)
      +
      21717  {
      +
      21718  basic_json result;
      +
      21719  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21720  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::ubjson, &sdp, strict);
      +
      21721  return res ? result : basic_json(value_t::discarded);
      +
      21722  }
      +
      21723 
      +
      21727  template<typename A1, typename A2,
      + + +
      21730  static basic_json from_ubjson(A1 && a1, A2 && a2,
      +
      21731  const bool strict = true,
      +
      21732  const bool allow_exceptions = true)
      +
      21733  {
      +
      21734  basic_json result;
      +
      21735  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21736  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::ubjson, &sdp, strict);
      +
      21737  return res ? result : basic_json(value_t::discarded);
      +
      21738  }
      +
      21739 
      + + +
      21802  const bool strict = true,
      +
      21803  const bool allow_exceptions = true)
      +
      21804  {
      +
      21805  basic_json result;
      +
      21806  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21807  const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::bson, &sdp, strict);
      +
      21808  return res ? result : basic_json(value_t::discarded);
      +
      21809  }
      +
      21810 
      +
      21814  template<typename A1, typename A2,
      + + +
      21817  static basic_json from_bson(A1 && a1, A2 && a2,
      +
      21818  const bool strict = true,
      +
      21819  const bool allow_exceptions = true)
      +
      21820  {
      +
      21821  basic_json result;
      +
      21822  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      21823  const bool res = binary_reader(detail::input_adapter(std::forward<A1>(a1), std::forward<A2>(a2))).sax_parse(input_format_t::bson, &sdp, strict);
      +
      21824  return res ? result : basic_json(value_t::discarded);
      +
      21825  }
      +
      21826 
      +
      21827 
      +
      21828 
      +
      21830 
      +
      21832  // JSON Pointer support //
      +
      21834 
      +
      21837 
      + +
      21872  {
      +
      21873  return ptr.get_unchecked(this);
      +
      21874  }
      +
      21875 
      + +
      21900  {
      +
      21901  return ptr.get_unchecked(this);
      +
      21902  }
      +
      21903 
      + +
      21943  {
      +
      21944  return ptr.get_checked(this);
      +
      21945  }
      +
      21946 
      +
      21985  const_reference at(const json_pointer& ptr) const
      +
      21986  {
      +
      21987  return ptr.get_checked(this);
      +
      21988  }
      +
      21989 
      + +
      22013  {
      +
      22014  basic_json result(value_t::object);
      +
      22015  json_pointer::flatten("", *this, result);
      +
      22016  return result;
      +
      22017  }
      +
      22018 
      + +
      22050  {
      +
      22051  return json_pointer::unflatten(*this);
      +
      22052  }
      +
      22053 
      +
      22055 
      +
      22057  // JSON Patch functions //
      +
      22059 
      +
      22062 
      +
      22110  basic_json patch(const basic_json& json_patch) const
      +
      22111  {
      +
      22112  // make a working copy to apply the patch to
      +
      22113  basic_json result = *this;
      +
      22114 
      +
      22115  // the valid JSON Patch operations
      +
      22116  enum class patch_operations {add, remove, replace, move, copy, test, invalid};
      +
      22117 
      +
      22118  const auto get_op = [](const std::string & op)
      +
      22119  {
      +
      22120  if (op == "add")
      +
      22121  {
      +
      22122  return patch_operations::add;
      +
      22123  }
      +
      22124  if (op == "remove")
      +
      22125  {
      +
      22126  return patch_operations::remove;
      +
      22127  }
      +
      22128  if (op == "replace")
      +
      22129  {
      +
      22130  return patch_operations::replace;
      +
      22131  }
      +
      22132  if (op == "move")
      +
      22133  {
      +
      22134  return patch_operations::move;
      +
      22135  }
      +
      22136  if (op == "copy")
      +
      22137  {
      +
      22138  return patch_operations::copy;
      +
      22139  }
      +
      22140  if (op == "test")
      +
      22141  {
      +
      22142  return patch_operations::test;
      +
      22143  }
      +
      22144 
      +
      22145  return patch_operations::invalid;
      +
      22146  };
      +
      22147 
      +
      22148  // wrapper for "add" operation; add value at ptr
      +
      22149  const auto operation_add = [&result](json_pointer & ptr, basic_json val)
      +
      22150  {
      +
      22151  // adding to the root of the target document means replacing it
      +
      22152  if (ptr.empty())
      +
      22153  {
      +
      22154  result = val;
      +
      22155  return;
      +
      22156  }
      +
      22157 
      +
      22158  // make sure the top element of the pointer exists
      +
      22159  json_pointer top_pointer = ptr.top();
      +
      22160  if (top_pointer != ptr)
      +
      22161  {
      +
      22162  result.at(top_pointer);
      +
      22163  }
      +
      22164 
      +
      22165  // get reference to parent of JSON pointer ptr
      +
      22166  const auto last_path = ptr.back();
      +
      22167  ptr.pop_back();
      +
      22168  basic_json& parent = result[ptr];
      +
      22169 
      +
      22170  switch (parent.m_type)
      +
      22171  {
      +
      22172  case value_t::null:
      +
      22173  case value_t::object:
      +
      22174  {
      +
      22175  // use operator[] to add value
      +
      22176  parent[last_path] = val;
      +
      22177  break;
      +
      22178  }
      +
      22179 
      +
      22180  case value_t::array:
      +
      22181  {
      +
      22182  if (last_path == "-")
      +
      22183  {
      +
      22184  // special case: append to back
      +
      22185  parent.push_back(val);
      +
      22186  }
      +
      22187  else
      +
      22188  {
      +
      22189  const auto idx = json_pointer::array_index(last_path);
      +
      22190  if (JSON_HEDLEY_UNLIKELY(static_cast<size_type>(idx) > parent.size()))
      +
      22191  {
      +
      22192  // avoid undefined behavior
      +
      22193  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      22194  }
      +
      22195 
      +
      22196  // default case: insert add offset
      +
      22197  parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
      +
      22198  }
      +
      22199  break;
      +
      22200  }
      +
      22201 
      +
      22202  // if there exists a parent it cannot be primitive
      +
      22203  default: // LCOV_EXCL_LINE
      +
      22204  assert(false); // LCOV_EXCL_LINE
      +
      22205  }
      +
      22206  };
      +
      22207 
      +
      22208  // wrapper for "remove" operation; remove value at ptr
      +
      22209  const auto operation_remove = [&result](json_pointer & ptr)
      +
      22210  {
      +
      22211  // get reference to parent of JSON pointer ptr
      +
      22212  const auto last_path = ptr.back();
      +
      22213  ptr.pop_back();
      +
      22214  basic_json& parent = result.at(ptr);
      +
      22215 
      +
      22216  // remove child
      +
      22217  if (parent.is_object())
      +
      22218  {
      +
      22219  // perform range check
      +
      22220  auto it = parent.find(last_path);
      +
      22221  if (JSON_HEDLEY_LIKELY(it != parent.end()))
      +
      22222  {
      +
      22223  parent.erase(it);
      +
      22224  }
      +
      22225  else
      +
      22226  {
      +
      22227  JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found"));
      +
      22228  }
      +
      22229  }
      +
      22230  else if (parent.is_array())
      +
      22231  {
      +
      22232  // note erase performs range check
      +
      22233  parent.erase(static_cast<size_type>(json_pointer::array_index(last_path)));
      +
      22234  }
      +
      22235  };
      +
      22236 
      +
      22237  // type check: top level value must be an array
      +
      22238  if (JSON_HEDLEY_UNLIKELY(not json_patch.is_array()))
      +
      22239  {
      +
      22240  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
      +
      22241  }
      +
      22242 
      +
      22243  // iterate and apply the operations
      +
      22244  for (const auto& val : json_patch)
      +
      22245  {
      +
      22246  // wrapper to get a value for an operation
      +
      22247  const auto get_value = [&val](const std::string & op,
      +
      22248  const std::string & member,
      +
      22249  bool string_type) -> basic_json &
      +
      22250  {
      +
      22251  // find value
      +
      22252  auto it = val.m_value.object->find(member);
      +
      22253 
      +
      22254  // context-sensitive error message
      +
      22255  const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
      +
      22256 
      +
      22257  // check if desired value is present
      +
      22258  if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end()))
      +
      22259  {
      +
      22260  JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'"));
      +
      22261  }
      +
      22262 
      +
      22263  // check if result is of type string
      +
      22264  if (JSON_HEDLEY_UNLIKELY(string_type and not it->second.is_string()))
      +
      22265  {
      +
      22266  JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'"));
      +
      22267  }
      +
      22268 
      +
      22269  // no error: return value
      +
      22270  return it->second;
      +
      22271  };
      +
      22272 
      +
      22273  // type check: every element of the array must be an object
      +
      22274  if (JSON_HEDLEY_UNLIKELY(not val.is_object()))
      +
      22275  {
      +
      22276  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
      +
      22277  }
      +
      22278 
      +
      22279  // collect mandatory members
      +
      22280  const std::string op = get_value("op", "op", true);
      +
      22281  const std::string path = get_value(op, "path", true);
      +
      22282  json_pointer ptr(path);
      +
      22283 
      +
      22284  switch (get_op(op))
      +
      22285  {
      +
      22286  case patch_operations::add:
      +
      22287  {
      +
      22288  operation_add(ptr, get_value("add", "value", false));
      +
      22289  break;
      +
      22290  }
      +
      22291 
      +
      22292  case patch_operations::remove:
      +
      22293  {
      +
      22294  operation_remove(ptr);
      +
      22295  break;
      +
      22296  }
      +
      22297 
      +
      22298  case patch_operations::replace:
      +
      22299  {
      +
      22300  // the "path" location must exist - use at()
      +
      22301  result.at(ptr) = get_value("replace", "value", false);
      +
      22302  break;
      +
      22303  }
      +
      22304 
      +
      22305  case patch_operations::move:
      +
      22306  {
      +
      22307  const std::string from_path = get_value("move", "from", true);
      +
      22308  json_pointer from_ptr(from_path);
      +
      22309 
      +
      22310  // the "from" location must exist - use at()
      +
      22311  basic_json v = result.at(from_ptr);
      +
      22312 
      +
      22313  // The move operation is functionally identical to a
      +
      22314  // "remove" operation on the "from" location, followed
      +
      22315  // immediately by an "add" operation at the target
      +
      22316  // location with the value that was just removed.
      +
      22317  operation_remove(from_ptr);
      +
      22318  operation_add(ptr, v);
      +
      22319  break;
      +
      22320  }
      +
      22321 
      +
      22322  case patch_operations::copy:
      +
      22323  {
      +
      22324  const std::string from_path = get_value("copy", "from", true);
      +
      22325  const json_pointer from_ptr(from_path);
      +
      22326 
      +
      22327  // the "from" location must exist - use at()
      +
      22328  basic_json v = result.at(from_ptr);
      +
      22329 
      +
      22330  // The copy is functionally identical to an "add"
      +
      22331  // operation at the target location using the value
      +
      22332  // specified in the "from" member.
      +
      22333  operation_add(ptr, v);
      +
      22334  break;
      +
      22335  }
      +
      22336 
      +
      22337  case patch_operations::test:
      +
      22338  {
      +
      22339  bool success = false;
      +
      22340  JSON_TRY
      +
      22341  {
      +
      22342  // check if "value" matches the one at "path"
      +
      22343  // the "path" location must exist - use at()
      +
      22344  success = (result.at(ptr) == get_value("test", "value", false));
      +
      22345  }
      + +
      22347  {
      +
      22348  // ignore out of range errors: success remains false
      +
      22349  }
      +
      22350 
      +
      22351  // throw an exception if test fails
      +
      22352  if (JSON_HEDLEY_UNLIKELY(not success))
      +
      22353  {
      +
      22354  JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump()));
      +
      22355  }
      +
      22356 
      +
      22357  break;
      +
      22358  }
      +
      22359 
      +
      22360  default:
      +
      22361  {
      +
      22362  // op must be "add", "remove", "replace", "move", "copy", or
      +
      22363  // "test"
      +
      22364  JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid"));
      +
      22365  }
      +
      22366  }
      +
      22367  }
      +
      22368 
      +
      22369  return result;
      +
      22370  }
      +
      22371 
      + +
      22406  static basic_json diff(const basic_json& source, const basic_json& target,
      +
      22407  const std::string& path = "")
      +
      22408  {
      +
      22409  // the patch
      +
      22410  basic_json result(value_t::array);
      +
      22411 
      +
      22412  // if the values are the same, return empty patch
      +
      22413  if (source == target)
      +
      22414  {
      +
      22415  return result;
      +
      22416  }
      +
      22417 
      +
      22418  if (source.type() != target.type())
      +
      22419  {
      +
      22420  // different types: replace value
      +
      22421  result.push_back(
      +
      22422  {
      +
      22423  {"op", "replace"}, {"path", path}, {"value", target}
      +
      22424  });
      +
      22425  return result;
      +
      22426  }
      +
      22427 
      +
      22428  switch (source.type())
      +
      22429  {
      +
      22430  case value_t::array:
      +
      22431  {
      +
      22432  // first pass: traverse common elements
      +
      22433  std::size_t i = 0;
      +
      22434  while (i < source.size() and i < target.size())
      +
      22435  {
      +
      22436  // recursive call to compare array values at index i
      +
      22437  auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
      +
      22438  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
      +
      22439  ++i;
      +
      22440  }
      +
      22441 
      +
      22442  // i now reached the end of at least one array
      +
      22443  // in a second pass, traverse the remaining elements
      +
      22444 
      +
      22445  // remove my remaining elements
      +
      22446  const auto end_index = static_cast<difference_type>(result.size());
      +
      22447  while (i < source.size())
      +
      22448  {
      +
      22449  // add operations in reverse order to avoid invalid
      +
      22450  // indices
      +
      22451  result.insert(result.begin() + end_index, object(
      +
      22452  {
      +
      22453  {"op", "remove"},
      +
      22454  {"path", path + "/" + std::to_string(i)}
      +
      22455  }));
      +
      22456  ++i;
      +
      22457  }
      +
      22458 
      +
      22459  // add other remaining elements
      +
      22460  while (i < target.size())
      +
      22461  {
      +
      22462  result.push_back(
      +
      22463  {
      +
      22464  {"op", "add"},
      +
      22465  {"path", path + "/" + std::to_string(i)},
      +
      22466  {"value", target[i]}
      +
      22467  });
      +
      22468  ++i;
      +
      22469  }
      +
      22470 
      +
      22471  break;
      +
      22472  }
      +
      22473 
      +
      22474  case value_t::object:
      +
      22475  {
      +
      22476  // first pass: traverse this object's elements
      +
      22477  for (auto it = source.cbegin(); it != source.cend(); ++it)
      +
      22478  {
      +
      22479  // escape the key name to be used in a JSON patch
      +
      22480  const auto key = json_pointer::escape(it.key());
      +
      22481 
      +
      22482  if (target.find(it.key()) != target.end())
      +
      22483  {
      +
      22484  // recursive call to compare object values at key it
      +
      22485  auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
      +
      22486  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
      +
      22487  }
      +
      22488  else
      +
      22489  {
      +
      22490  // found a key that is not in o -> remove it
      +
      22491  result.push_back(object(
      +
      22492  {
      +
      22493  {"op", "remove"}, {"path", path + "/" + key}
      +
      22494  }));
      +
      22495  }
      +
      22496  }
      +
      22497 
      +
      22498  // second pass: traverse other object's elements
      +
      22499  for (auto it = target.cbegin(); it != target.cend(); ++it)
      +
      22500  {
      +
      22501  if (source.find(it.key()) == source.end())
      +
      22502  {
      +
      22503  // found a key that is not in this -> add it
      +
      22504  const auto key = json_pointer::escape(it.key());
      +
      22505  result.push_back(
      +
      22506  {
      +
      22507  {"op", "add"}, {"path", path + "/" + key},
      +
      22508  {"value", it.value()}
      +
      22509  });
      +
      22510  }
      +
      22511  }
      +
      22512 
      +
      22513  break;
      +
      22514  }
      +
      22515 
      +
      22516  default:
      +
      22517  {
      +
      22518  // both primitive type: replace value
      +
      22519  result.push_back(
      +
      22520  {
      +
      22521  {"op", "replace"}, {"path", path}, {"value", target}
      +
      22522  });
      +
      22523  break;
      +
      22524  }
      +
      22525  }
      +
      22526 
      +
      22527  return result;
      +
      22528  }
      +
      22529 
      +
      22531 
      +
      22533  // JSON Merge Patch functions //
      +
      22535 
      +
      22538 
      +
      22581  void merge_patch(const basic_json& apply_patch)
      +
      22582  {
      +
      22583  if (apply_patch.is_object())
      +
      22584  {
      +
      22585  if (not is_object())
      +
      22586  {
      +
      22587  *this = object();
      +
      22588  }
      +
      22589  for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it)
      +
      22590  {
      +
      22591  if (it.value().is_null())
      +
      22592  {
      +
      22593  erase(it.key());
      +
      22594  }
      +
      22595  else
      +
      22596  {
      +
      22597  operator[](it.key()).merge_patch(it.value());
      +
      22598  }
      +
      22599  }
      +
      22600  }
      +
      22601  else
      +
      22602  {
      +
      22603  *this = apply_patch;
      +
      22604  }
      +
      22605  }
      +
      22606 
      +
      22608 };
      +
      22609 
      + +
      22620 std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
      +
      22621 {
      +
      22622  return j.dump();
      +
      22623 }
      +
      22624 } // namespace nlohmann
      +
      22625 
      +
      22627 // nonmember support //
      +
      22629 
      +
      22630 // specialization of std::swap, and std::hash
      +
      22631 namespace std
      +
      22632 {
      +
      22633 
      +
      22635 template<>
      +
      22636 struct hash<nlohmann::json>
      +
      22637 {
      +
      22643  std::size_t operator()(const nlohmann::json& j) const
      +
      22644  {
      +
      22645  // a naive hashing via the string representation
      +
      22646  const auto& h = hash<nlohmann::json::string_t>();
      +
      22647  return h(j.dump());
      +
      22648  }
      +
      22649 };
      +
      22650 
      +
      22654 template<>
      + +
      22656 {
      + +
      22662  nlohmann::detail::value_t rhs) const noexcept
      +
      22663  {
      +
      22664  return nlohmann::detail::operator<(lhs, rhs);
      +
      22665  }
      +
      22666 };
      +
      22667 
      +
      22673 template<>
      +
      22674 inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
      +
      22675  is_nothrow_move_constructible<nlohmann::json>::value and
      +
      22676  is_nothrow_move_assignable<nlohmann::json>::value
      +
      22677 )
      +
      22678 {
      +
      22679  j1.swap(j2);
      +
      22680 }
      +
      22681 
      +
      22682 } // namespace std
      +
      22683 
      + +
      22698 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
      +
      22699 {
      +
      22700  return nlohmann::json::parse(s, s + n);
      +
      22701 }
      +
      22702 
      + +
      22717 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
      +
      22718 {
      +
      22719  return nlohmann::json::json_pointer(std::string(s, n));
      +
      22720 }
      +
      22721 
      +
      22722 // #include <nlohmann/detail/macro_unscope.hpp>
      +
      22723 
      +
      22724 
      +
      22725 // restore GCC/clang diagnostic settings
      +
      22726 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
      +
      22727  #pragma GCC diagnostic pop
      +
      22728 #endif
      +
      22729 #if defined(__clang__)
      +
      22730  #pragma GCC diagnostic pop
      +
      22731 #endif
      +
      22732 
      +
      22733 // clean up
      +
      22734 #undef JSON_INTERNAL_CATCH
      +
      22735 #undef JSON_CATCH
      +
      22736 #undef JSON_THROW
      +
      22737 #undef JSON_TRY
      +
      22738 #undef JSON_HAS_CPP_14
      +
      22739 #undef JSON_HAS_CPP_17
      +
      22740 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
      +
      22741 #undef NLOHMANN_BASIC_JSON_TPL
      +
      22742 
      +
      22743 // #include <nlohmann/thirdparty/hedley/hedley_undef.hpp>
      +
      22744 #undef JSON_HEDLEY_ALWAYS_INLINE
      +
      22745 #undef JSON_HEDLEY_ARM_VERSION
      +
      22746 #undef JSON_HEDLEY_ARM_VERSION_CHECK
      +
      22747 #undef JSON_HEDLEY_ARRAY_PARAM
      +
      22748 #undef JSON_HEDLEY_ASSUME
      +
      22749 #undef JSON_HEDLEY_BEGIN_C_DECLS
      +
      22750 #undef JSON_HEDLEY_C_DECL
      +
      22751 #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
      +
      22752 #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
      +
      22753 #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
      +
      22754 #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
      +
      22755 #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
      +
      22756 #undef JSON_HEDLEY_CLANG_HAS_FEATURE
      +
      22757 #undef JSON_HEDLEY_CLANG_HAS_WARNING
      +
      22758 #undef JSON_HEDLEY_COMPCERT_VERSION
      +
      22759 #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
      +
      22760 #undef JSON_HEDLEY_CONCAT
      +
      22761 #undef JSON_HEDLEY_CONCAT_EX
      +
      22762 #undef JSON_HEDLEY_CONST
      +
      22763 #undef JSON_HEDLEY_CONST_CAST
      +
      22764 #undef JSON_HEDLEY_CONSTEXPR
      +
      22765 #undef JSON_HEDLEY_CPP_CAST
      +
      22766 #undef JSON_HEDLEY_CRAY_VERSION
      +
      22767 #undef JSON_HEDLEY_CRAY_VERSION_CHECK
      +
      22768 #undef JSON_HEDLEY_DEPRECATED
      +
      22769 #undef JSON_HEDLEY_DEPRECATED_FOR
      +
      22770 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      22771 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
      +
      22772 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      22773 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      22774 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      22775 #undef JSON_HEDLEY_DIAGNOSTIC_POP
      +
      22776 #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      22777 #undef JSON_HEDLEY_DMC_VERSION
      +
      22778 #undef JSON_HEDLEY_DMC_VERSION_CHECK
      +
      22779 #undef JSON_HEDLEY_EMPTY_BASES
      +
      22780 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
      +
      22781 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
      +
      22782 #undef JSON_HEDLEY_END_C_DECLS
      +
      22783 #undef JSON_HEDLEY_FALL_THROUGH
      +
      22784 #undef JSON_HEDLEY_FLAGS
      +
      22785 #undef JSON_HEDLEY_FLAGS_CAST
      +
      22786 #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
      +
      22787 #undef JSON_HEDLEY_GCC_HAS_BUILTIN
      +
      22788 #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
      +
      22789 #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
      +
      22790 #undef JSON_HEDLEY_GCC_HAS_EXTENSION
      +
      22791 #undef JSON_HEDLEY_GCC_HAS_FEATURE
      +
      22792 #undef JSON_HEDLEY_GCC_HAS_WARNING
      +
      22793 #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
      +
      22794 #undef JSON_HEDLEY_GCC_VERSION
      +
      22795 #undef JSON_HEDLEY_GCC_VERSION_CHECK
      +
      22796 #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
      +
      22797 #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
      +
      22798 #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
      +
      22799 #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
      +
      22800 #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
      +
      22801 #undef JSON_HEDLEY_GNUC_HAS_FEATURE
      +
      22802 #undef JSON_HEDLEY_GNUC_HAS_WARNING
      +
      22803 #undef JSON_HEDLEY_GNUC_VERSION
      +
      22804 #undef JSON_HEDLEY_GNUC_VERSION_CHECK
      +
      22805 #undef JSON_HEDLEY_HAS_ATTRIBUTE
      +
      22806 #undef JSON_HEDLEY_HAS_BUILTIN
      +
      22807 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
      +
      22808 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
      +
      22809 #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
      +
      22810 #undef JSON_HEDLEY_HAS_EXTENSION
      +
      22811 #undef JSON_HEDLEY_HAS_FEATURE
      +
      22812 #undef JSON_HEDLEY_HAS_WARNING
      +
      22813 #undef JSON_HEDLEY_IAR_VERSION
      +
      22814 #undef JSON_HEDLEY_IAR_VERSION_CHECK
      +
      22815 #undef JSON_HEDLEY_IBM_VERSION
      +
      22816 #undef JSON_HEDLEY_IBM_VERSION_CHECK
      +
      22817 #undef JSON_HEDLEY_IMPORT
      +
      22818 #undef JSON_HEDLEY_INLINE
      +
      22819 #undef JSON_HEDLEY_INTEL_VERSION
      +
      22820 #undef JSON_HEDLEY_INTEL_VERSION_CHECK
      +
      22821 #undef JSON_HEDLEY_IS_CONSTANT
      +
      22822 #undef JSON_HEDLEY_IS_CONSTEXPR_
      +
      22823 #undef JSON_HEDLEY_LIKELY
      +
      22824 #undef JSON_HEDLEY_MALLOC
      +
      22825 #undef JSON_HEDLEY_MESSAGE
      +
      22826 #undef JSON_HEDLEY_MSVC_VERSION
      +
      22827 #undef JSON_HEDLEY_MSVC_VERSION_CHECK
      +
      22828 #undef JSON_HEDLEY_NEVER_INLINE
      +
      22829 #undef JSON_HEDLEY_NO_ESCAPE
      +
      22830 #undef JSON_HEDLEY_NON_NULL
      +
      22831 #undef JSON_HEDLEY_NO_RETURN
      +
      22832 #undef JSON_HEDLEY_NO_THROW
      +
      22833 #undef JSON_HEDLEY_NULL
      +
      22834 #undef JSON_HEDLEY_PELLES_VERSION
      +
      22835 #undef JSON_HEDLEY_PELLES_VERSION_CHECK
      +
      22836 #undef JSON_HEDLEY_PGI_VERSION
      +
      22837 #undef JSON_HEDLEY_PGI_VERSION_CHECK
      +
      22838 #undef JSON_HEDLEY_PREDICT
      +
      22839 #undef JSON_HEDLEY_PRINTF_FORMAT
      +
      22840 #undef JSON_HEDLEY_PRIVATE
      +
      22841 #undef JSON_HEDLEY_PUBLIC
      +
      22842 #undef JSON_HEDLEY_PURE
      +
      22843 #undef JSON_HEDLEY_REINTERPRET_CAST
      +
      22844 #undef JSON_HEDLEY_REQUIRE
      +
      22845 #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
      +
      22846 #undef JSON_HEDLEY_REQUIRE_MSG
      +
      22847 #undef JSON_HEDLEY_RESTRICT
      +
      22848 #undef JSON_HEDLEY_RETURNS_NON_NULL
      +
      22849 #undef JSON_HEDLEY_SENTINEL
      +
      22850 #undef JSON_HEDLEY_STATIC_ASSERT
      +
      22851 #undef JSON_HEDLEY_STATIC_CAST
      +
      22852 #undef JSON_HEDLEY_STRINGIFY
      +
      22853 #undef JSON_HEDLEY_STRINGIFY_EX
      +
      22854 #undef JSON_HEDLEY_SUNPRO_VERSION
      +
      22855 #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
      +
      22856 #undef JSON_HEDLEY_TINYC_VERSION
      +
      22857 #undef JSON_HEDLEY_TINYC_VERSION_CHECK
      +
      22858 #undef JSON_HEDLEY_TI_VERSION
      +
      22859 #undef JSON_HEDLEY_TI_VERSION_CHECK
      +
      22860 #undef JSON_HEDLEY_UNAVAILABLE
      +
      22861 #undef JSON_HEDLEY_UNLIKELY
      +
      22862 #undef JSON_HEDLEY_UNPREDICTABLE
      +
      22863 #undef JSON_HEDLEY_UNREACHABLE
      +
      22864 #undef JSON_HEDLEY_UNREACHABLE_RETURN
      +
      22865 #undef JSON_HEDLEY_VERSION
      +
      22866 #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
      +
      22867 #undef JSON_HEDLEY_VERSION_DECODE_MINOR
      +
      22868 #undef JSON_HEDLEY_VERSION_DECODE_REVISION
      +
      22869 #undef JSON_HEDLEY_VERSION_ENCODE
      +
      22870 #undef JSON_HEDLEY_WARNING
      +
      22871 #undef JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      22872 
      +
      22873 
      +
      22874 
      +
      22875 #endif // INCLUDE_NLOHMANN_JSON_HPP_
      +
      +
      a template for a reverse iterator class
      Definition: json.hpp:9982
      +
      difference_type operator-(const iter_impl &other) const
      return difference
      Definition: json.hpp:9864
      +
      void int_to_string(string_type &target, std::size_t value)
      Definition: json.hpp:3293
      +
      iteration_proxy_value< IteratorType > begin() noexcept
      return iterator begin (needed for range-based for)
      Definition: json.hpp:3397
      +
      primitive_iterator_t & operator+=(difference_type n) noexcept
      Definition: json.hpp:9261
      +
      static auto to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
      convert any value type to a JSON value
      Definition: json.hpp:3827
      +
      void insert(const_iterator first, const_iterator last)
      inserts elements
      Definition: json.hpp:19910
      +
      typename BasicJsonType::parse_event_t parse_event_t
      Definition: json.hpp:4644
      +
      IteratorType erase(IteratorType pos)
      remove element given an iterator
      Definition: json.hpp:18240
      +
      Array get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))
      Definition: json.hpp:17283
      +
      NumberFloatType number_float_t
      a type for a number (floating-point)
      Definition: json.hpp:15362
      +
      std::char_traits< char >::int_type get_character() noexcept override
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:4008
      +
      exception indicating executing a member function with a wrong type
      Definition: json.hpp:2075
      +
      const_reference operator[](const json_pointer &ptr) const
      access specified element via JSON Pointer
      Definition: json.hpp:21899
      +
      primitive_iterator_t & operator++() noexcept
      Definition: json.hpp:9235
      +
      typename T::difference_type difference_type_t
      Definition: json.hpp:2495
      +
      static constexpr int kPrecision
      Definition: json.hpp:12701
      +
      std::ptrdiff_t difference_type
      Definition: json.hpp:3300
      +
      std::char_traits< char >::int_type get_character() override
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:3976
      +
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
      Definition: json.hpp:1814
      +
      void write_cbor(const BasicJsonType &j)
      Definition: json.hpp:11357
      +
      json_ref(value_type &&value)
      Definition: json.hpp:11106
      + +
      static bool accept(IteratorType first, IteratorType last)
      Definition: json.hpp:20890
      +
      #define JSON_HEDLEY_DIAGNOSTIC_POP
      Definition: json.hpp:736
      +
      static auto from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
      convert a JSON value to any value type
      Definition: json.hpp:3810
      +
      boundaries compute_boundaries(FloatType value)
      Definition: json.hpp:12831
      +
      pointer operator->() const
      dereference the iterator
      Definition: json.hpp:9583
      +
      decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) start_array_function_t
      Definition: json.hpp:5066
      +
      bool string(string_t &val)
      Definition: json.hpp:4691
      +
      static constexpr CharType to_char_type(InputCharType x) noexcept
      Definition: json.hpp:12614
      +
      json_ref & operator=(const json_ref &)=delete
      +
      IteratorType::reference value() const
      return value of the iterator
      Definition: json.hpp:3378
      +
      @ begin_object
      the character for object begin {
      +
      iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
      inserts elements
      Definition: json.hpp:19768
      +
      void get_arithmetic_value(const BasicJsonType &j, ArithmeticType &val)
      Definition: json.hpp:2912
      +
      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
      user-defined to_string function for JSON values
      Definition: json.hpp:22620
      +
      bool string(string_t &val)
      Definition: json.hpp:4508
      +
      value_type moved_or_copied() const
      Definition: json.hpp:11132
      +
      general exception of the basic_json class
      Definition: json.hpp:1864
      + +
      bool empty() const noexcept
      return whether pointer points to the root document
      Definition: json.hpp:10391
      +
      Definition: json.hpp:2520
      +
      value_t
      the JSON type enumeration
      Definition: json.hpp:2854
      +
      @ value
      the parser finished reading a JSON value
      +
      const_reference at(size_type idx) const
      access specified array element with bounds checking
      Definition: json.hpp:17566
      +
      constexpr bool is_number_integer() const noexcept
      return whether value is an integer number
      Definition: json.hpp:16772
      +
      iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
      converting constructor
      Definition: json.hpp:9456
      +
      iter_impl & operator--()
      pre-decrement (–it)
      Definition: json.hpp:9671
      +
      decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >())) type
      Definition: json.hpp:3448
      +
      decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) start_object_function_t
      Definition: json.hpp:5055
      +
      reference front()
      access the first element
      Definition: json.hpp:18129
      +
      const iter_impl operator++(int)
      post-increment (it++)
      Definition: json.hpp:9617
      +
      iter_impl & operator=(const iter_impl< const BasicJsonType > &other) noexcept
      converting assignment
      Definition: json.hpp:9444
      + +
      static void to_bson(const basic_json &j, detail::output_adapter< char > o)
      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
      Definition: json.hpp:21411
      +
      @ ignore
      ignore invalid UTF-8 sequences
      +
      decltype(std::declval< T & >().boolean(std::declval< bool >())) boolean_function_t
      Definition: json.hpp:5035
      +
      static void construct(BasicJsonType &j, const CompatibleArrayType &arr)
      Definition: json.hpp:3572
      +
      void grisu2_round(char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
      Definition: json.hpp:13190
      +
      ArrayType< basic_json, AllocatorType< basic_json > > array_t
      a type for an array
      Definition: json.hpp:15072
      +
      bool key(string_t &val)
      Definition: json.hpp:4715
      +
      basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
      create a container (array or object) from an initializer list
      Definition: json.hpp:15999
      +
      void write_character(CharType c) override
      Definition: json.hpp:11266
      + +
      friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: not equal
      Definition: json.hpp:20341
      +
      ~input_stream_adapter() override
      Definition: json.hpp:3956
      +
      bool end_object()
      Definition: json.hpp:4988
      +
      JSON_HEDLEY_RETURNS_NON_NULL char * to_chars(char *first, const char *last, FloatType value)
      generates a decimal representation of the floating-point number value in [first, last).
      Definition: json.hpp:13709
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      type for unsigned integers
      Definition: json.hpp:4338
      +
      bool start_array(std::size_t len)
      Definition: json.hpp:4761
      +
      friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
      comparison: less than
      Definition: json.hpp:20448
      +
      Definition: json.hpp:2799
      +
      @ replace
      replace invalid UTF-8 sequences with U+FFFD
      + +
      bool operator==(const iter_impl &other) const
      comparison: equal
      Definition: json.hpp:9703
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2526
      +
      typename T::mapped_type mapped_type_t
      Definition: json.hpp:2486
      +
      void type
      Definition: json.hpp:2265
      +
      #define JSON_HEDLEY_PURE
      Definition: json.hpp:1170
      +
      bool start_object(std::size_t=std::size_t(-1))
      Definition: json.hpp:4978
      +
      value_type const & operator*() const
      Definition: json.hpp:11141
      +
      virtual bool parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0
      a parse error occurred
      +
      #define JSON_HEDLEY_UNLIKELY(expr)
      Definition: json.hpp:1124
      + +
      static void construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)
      Definition: json.hpp:3621
      +
      virtual bool number_unsigned(number_unsigned_t val)=0
      an unsigned integer number was read
      +
      JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer(char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
      prettify v = buf * 10^decimal_exponent
      Definition: json.hpp:13624
      +
      void grisu2_digit_gen(char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
      Definition: json.hpp:13231
      +
      Definition: json.hpp:12699
      +
      std::char_traits< char >::int_type get_character() noexcept override
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:4158
      +
      json_reverse_iterator operator+(difference_type i) const
      add to iterator
      Definition: json.hpp:10029
      +
      @ parse_error
      indicating a parse error
      +
      @ object
      object (unordered set of name/value pairs)
      +
      json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)
      Definition: json.hpp:4467
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4459
      + +
      std::string get_token_string() const
      Definition: json.hpp:8488
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object(initializer_list_t init={})
      explicitly create an object from an initializer list
      Definition: json.hpp:16133
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4460
      +
      ~file_input_adapter() override=default
      + +
      struct to capture the start position of the current token
      Definition: json.hpp:89
      +
      void dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
      internal implementation of the serialization function
      Definition: json.hpp:13837
      +
      diyfp w
      Definition: json.hpp:12819
      +
      Definition: json.hpp:2589
      +
      static constexpr CharType to_char_type(std::uint8_t x) noexcept
      Definition: json.hpp:12585
      +
      Definition: json.hpp:2228
      +
      static std::vector< uint8_t > to_msgpack(const basic_json &j)
      create a MessagePack serialization of a given JSON value
      Definition: json.hpp:21214
      +
      reference operator[](const json_pointer &ptr)
      access specified element via JSON Pointer
      Definition: json.hpp:21871
      +
      const_iterator find(KeyT &&key) const
      find an element in a JSON object
      Definition: json.hpp:18537
      +
      static other_error create(int id_, const std::string &what_arg)
      Definition: json.hpp:2163
      +
      json_pointer(const std::string &s="")
      create JSON pointer
      Definition: json.hpp:10120
      +
      basic_json(basic_json &&other) noexcept
      move constructor
      Definition: json.hpp:16432
      +
      input_buffer_adapter & operator=(input_buffer_adapter &)=delete
      +
      size_type count(KeyT &&key) const
      returns the number of occurrences of a key in a JSON object
      Definition: json.hpp:18571
      +
      const_iterator cend() const noexcept
      returns a const iterator to one past the last element
      Definition: json.hpp:18785
      +
      reference operator+=(initializer_list_t init)
      add an object to an object
      Definition: json.hpp:19566
      +
      const_iterator begin() const noexcept
      returns a const iterator to the first element
      Definition: json.hpp:18684
      +
      constexpr bool is_null() const noexcept
      return whether value is null
      Definition: json.hpp:16691
      +
      constexpr position_t get_position() const noexcept
      return position of last read token
      Definition: json.hpp:8480
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4943
      +
      exception indicating access out of the defined range
      Definition: json.hpp:2122
      +
      typename detected_or< Default, Op, Args... >::type detected_or_t
      Definition: json.hpp:2373
      +
      #define JSON_CATCH(exception)
      Definition: json.hpp:1756
      +
      const_reference at(const json_pointer &ptr) const
      access specified element via JSON Pointer
      Definition: json.hpp:21985
      +
      std::false_type value_t
      Definition: json.hpp:2352
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)
      Definition: json.hpp:3562
      +
      bool parse_error(std::size_t, const std::string &, const detail::exception &ex)
      Definition: json.hpp:4559
      +
      exception indicating errors with iterators
      Definition: json.hpp:2021
      +
      #define JSON_INTERNAL_CATCH(exception)
      Definition: json.hpp:1757
      +
      void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
      exchanges the values
      Definition: json.hpp:20054
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4642
      +
      json_reverse_iterator< typename basic_json::iterator > reverse_iterator
      a reverse iterator for a basic_json container
      Definition: json.hpp:14824
      + + +
      size_type erase(const typename object_t::key_type &key)
      remove element from a JSON object given a key
      Definition: json.hpp:18432
      +
      static std::string name(const std::string &ename, int id_)
      Definition: json.hpp:1881
      +
      static out_of_range create(int id_, const std::string &what_arg)
      Definition: json.hpp:2125
      + + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in UBJSON format
      Definition: json.hpp:21714
      +
      std::size_t chars_read_current_line
      the number of characters read in the current line
      Definition: json.hpp:94
      +
      input_buffer_adapter(const char *b, const std::size_t l) noexcept
      Definition: json.hpp:3997
      +
      std::char_traits< char >::int_type get_character() noexcept override
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:3933
      + +
      static void to_cbor(const basic_json &j, detail::output_adapter< char > o)
      Definition: json.hpp:21130
      +
      friend json_pointer operator/(const json_pointer &lhs, const json_pointer &rhs)
      create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer
      Definition: json.hpp:10236
      +
      json_sax_dom_parser & operator=(const json_sax_dom_parser &)=delete
      +
      ValueType & get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))
      get a value (explicit)
      Definition: json.hpp:17271
      +
      Definition: json.hpp:2229
      +
      BasicJsonType::object_t::iterator object_iterator
      iterator for JSON objects
      Definition: json.hpp:9290
      +
      Definition: json.hpp:2263
      +
      reference operator[](size_type idx)
      access specified array element
      Definition: json.hpp:17714
      +
      typename std::enable_if< B, T >::type enable_if_t
      Definition: json.hpp:2191
      +
      void write_msgpack(const BasicJsonType &j)
      Definition: json.hpp:11601
      +
      void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
      Definition: json.hpp:2898
      +
      std::size_t size_type
      a type to represent container sizes
      Definition: json.hpp:14809
      + +
      void write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
      Definition: json.hpp:11843
      +
      Definition: json.hpp:3775
      +
      ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))
      get a value (explicit)
      Definition: json.hpp:17174
      +
      bool start_object(std::size_t len)
      Definition: json.hpp:4514
      +
      json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser &)=delete
      +
      auto key() const -> decltype(std::declval< Base >().key())
      return the key of an object iterator
      Definition: json.hpp:10053
      +
      basic_json(InputIT first, InputIT last)
      construct a JSON container given an iterator range
      Definition: json.hpp:16225
      +
      wide_string_input_adapter(const WideStringType &w) noexcept
      Definition: json.hpp:4154
      +
      namespace for Niels Lohmann
      Definition: json.hpp:84
      +
      serialization to CBOR and MessagePack values
      Definition: json.hpp:11318
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array(initializer_list_t init={})
      explicitly create an array from an initializer list
      Definition: json.hpp:16089
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4457
      +
      ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))
      get a value (explicit); special case
      Definition: json.hpp:17225
      +
      void set_end() noexcept
      set iterator to a defined past the end
      Definition: json.hpp:9196
      +
      static diyfp normalize_to(const diyfp &x, const int target_exponent) noexcept
      normalize x such that the result has the exponent E
      Definition: json.hpp:12806
      + +
      void swap(object_t &other)
      exchanges the values
      Definition: json.hpp:20119
      +
      basic_json & operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
      copy assignment
      Definition: json.hpp:16469
      +
      json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
      create reverse iterator from iterator
      Definition: json.hpp:9992
      +
      bool number_float(number_float_t val, const string_t &)
      Definition: json.hpp:4685
      +
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      Definition: json.hpp:735
      +
      constexpr bool is_primitive() const noexcept
      return whether type is primitive
      Definition: json.hpp:16642
      +
      constexpr difference_type get_value() const noexcept
      Definition: json.hpp:9184
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
      Definition: json.hpp:3542
      +
      constexpr bool is_end() const noexcept
      return whether the iterator is at end
      Definition: json.hpp:9208
      +
      @ value_unsigned
      an unsigned integer – use get_number_unsigned() for actual value
      +
      void merge_patch(const basic_json &apply_patch)
      applies a JSON Merge Patch
      Definition: json.hpp:22581
      +
      SAX implementation to create a JSON value from SAX events.
      Definition: json.hpp:4454
      + +
      @ number_float
      number value (floating-point)
      +
      iterator find(KeyT &&key)
      find an element in a JSON object
      Definition: json.hpp:18520
      +
      primitive_iterator_t & operator--() noexcept
      Definition: json.hpp:9248
      +
      static constexpr std::size_t size() noexcept
      Definition: json.hpp:2203
      +
      JSON Pointer.
      Definition: json.hpp:2435
      +
      json_pointer parent_pointer() const
      returns the parent of this JSON pointer
      Definition: json.hpp:10295
      +
      token_type
      token types for the parser
      Definition: json.hpp:7170
      +
      bool number_integer(number_integer_t val)
      Definition: json.hpp:4490
      +
      exception indicating other library errors
      Definition: json.hpp:2160
      +
      bool sax_parse(SAX *sax, const bool strict=true)
      Definition: json.hpp:8802
      +
      input adapter for buffer input
      Definition: json.hpp:3994
      +
      iteration_proxy_value & operator*()
      dereference operator (needed for range-based for)
      Definition: json.hpp:3323
      +
      json_reverse_iterator & operator+=(difference_type i)
      add to iterator
      Definition: json.hpp:10023
      +
      input_adapter(T(&array)[N])
      input adapter for array
      Definition: json.hpp:4284
      +
      @ object_end
      the parser read } and finished processing a JSON object
      +
      Definition: json.hpp:2279
      +
      bool key(string_t &)
      Definition: json.hpp:4983
      +
      void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
      Definition: json.hpp:3224
      +
      BooleanType boolean_t
      a type for a boolean
      Definition: json.hpp:15151
      +
      cached_power get_cached_power_for_binary_exponent(int e)
      Definition: json.hpp:12970
      +
      virtual bool string(string_t &val)=0
      a string was read
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in MessagePack format
      Definition: json.hpp:21642
      +
      @ number_integer
      number value (signed integer)
      +
      void update(const_reference j)
      updates a JSON object from another object, overwriting existing keys
      Definition: json.hpp:19952
      +
      Definition: json.hpp:2350
      +
      typename BasicJsonType::parser_callback_t parser_callback_t
      Definition: json.hpp:4643
      +
      input_adapter(const std::wstring &ws)
      Definition: json.hpp:4212
      + +
      json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
      Definition: json.hpp:4646
      +
      output_vector_adapter(std::vector< CharType > &vec) noexcept
      Definition: json.hpp:11214
      +
      iter_impl operator-(difference_type i) const
      subtract from iterator
      Definition: json.hpp:9853
      +
      std::input_iterator_tag iterator_category
      Definition: json.hpp:3304
      +
      friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:20483
      +
      void update(const_iterator first, const_iterator last)
      updates a JSON object from another object, overwriting existing keys
      Definition: json.hpp:20003
      +
      constexpr bool is_boolean() const noexcept
      return whether value is a boolean
      Definition: json.hpp:16713
      +
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
      Definition: json.hpp:893
      +
      std::string to_string() const
      return a string representation of the JSON pointer
      Definition: json.hpp:10138
      +
      bool string(string_t &)
      Definition: json.hpp:4973
      +
      std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)> parser_callback_t
      Definition: json.hpp:8711
      +
      iteration_proxy< const_iterator > items() const noexcept
      helper to access iterator member functions in range-based for
      Definition: json.hpp:19067
      +
      iterator begin() noexcept
      returns an iterator to the first element
      Definition: json.hpp:18674
      +
      typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type string_type
      Definition: json.hpp:3305
      +
      bool end_array()
      Definition: json.hpp:4553
      +
      void push_back(const basic_json &val)
      add an object to an array
      Definition: json.hpp:19443
      +
      static void fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
      Definition: json.hpp:4089
      +
      output_string_adapter(StringType &s) noexcept
      Definition: json.hpp:11262
      + +
      static void to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)
      Definition: json.hpp:21125
      + + +
      const primitive_iterator_t operator++(int) noexcept
      Definition: json.hpp:9241
      +
      @ key
      the parser read a key of a value in an object
      +
      std::ptrdiff_t difference_type
      a type to represent differences between iterators
      Definition: json.hpp:14807
      +
      std::bidirectional_iterator_tag iterator_category
      Definition: json.hpp:9367
      +
      bool end_array()
      Definition: json.hpp:4778
      +
      decltype(std::declval< T & >().null()) null_function_t
      Definition: json.hpp:5031
      +
      const_reverse_iterator rend() const noexcept
      returns a const reverse iterator to one before the first
      Definition: json.hpp:18860
      +
      bool empty() const noexcept
      checks whether the container is empty.
      Definition: json.hpp:19123
      +
      friend json_pointer operator/(const json_pointer &ptr, std::string token)
      create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
      Definition: json.hpp:10257
      +
      lexical analysis
      Definition: json.hpp:7161
      +
      json_ref(std::initializer_list< json_ref > init)
      Definition: json.hpp:11114
      +
      std::random_access_iterator_tag iterator_category
      Definition: json.hpp:2310
      +
      void to_json_tuple_impl(BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
      Definition: json.hpp:3764
      +
      bool key(string_t &val)
      Definition: json.hpp:4527
      +
      virtual bool boolean(bool val)=0
      a boolean value was read
      +
      static void construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)
      Definition: json.hpp:3554
      +
      reference value() const
      return the value of an iterator
      Definition: json.hpp:10060
      +
      primitive_iterator_t operator+(difference_type n) noexcept
      Definition: json.hpp:9223
      +
      bool boolean(bool val)
      Definition: json.hpp:4484
      +
      #define NLOHMANN_BASIC_JSON_TPL
      Definition: json.hpp:1822
      +
      const std::size_t byte
      byte index of the parse error
      Definition: json.hpp:1971
      +
      @ value_integer
      a signed integer – use get_number_integer() for actual value
      +
      BasicJsonType get() const
      get special-case overload
      Definition: json.hpp:17124
      +
      bool number_unsigned(number_unsigned_t val)
      Definition: json.hpp:4496
      + +
      output_stream_adapter(std::basic_ostream< CharType > &s) noexcept
      Definition: json.hpp:11238
      +
      bool operator!=(const iter_impl &other) const
      comparison: not equal
      Definition: json.hpp:9730
      + +
      void set_begin() noexcept
      set iterator to a defined beginning
      Definition: json.hpp:9190
      +
      #define NLOHMANN_JSON_VERSION_PATCH
      Definition: json.hpp:35
      +
      static diyfp sub(const diyfp &x, const diyfp &y) noexcept
      returns x - y
      Definition: json.hpp:12712
      +
      json_ref(Args &&... args)
      Definition: json.hpp:11121
      +
      ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >> object_t
      a type for an object
      Definition: json.hpp:15026
      +
      output_adapter(std::basic_ostream< CharType > &s)
      Definition: json.hpp:11288
      +
      const std::string & back() const
      return last reference token
      Definition: json.hpp:10344
      +
      token_type scan()
      Definition: json.hpp:8540
      +
      Definition: json.hpp:11101
      +
      bool start_array(std::size_t=std::size_t(-1))
      Definition: json.hpp:4993
      +
      decltype(std::declval< T >().template get< U >()) get_template_function
      Definition: json.hpp:2516
      +
      basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))
      create a JSON value
      Definition: json.hpp:15843
      + +
      constexpr bool is_errored() const
      Definition: json.hpp:4587
      +
      input_stream_adapter(std::istream &i)
      Definition: json.hpp:3963
      +
      exception indicating a parse error
      Definition: json.hpp:1935
      + +
      constexpr bool is_begin() const noexcept
      return whether the iterator can be dereferenced
      Definition: json.hpp:9202
      +
      decltype(std::declval< T & >().end_array()) end_array_function_t
      Definition: json.hpp:5069
      +
      friend bool operator==(const_reference lhs, const_reference rhs) noexcept
      comparison: equal
      Definition: json.hpp:20214
      +
      std::shared_ptr< input_adapter_protocol > input_adapter_t
      a type to simplify interfaces
      Definition: json.hpp:3912
      +
      friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
      comparison: greater than
      Definition: json.hpp:20551
      +
      output adapter for byte vectors
      Definition: json.hpp:11211
      + +
      a template for a bidirectional iterator for the basic_json class This class implements a both iterato...
      Definition: json.hpp:9346
      +
      BasicJsonType::array_t::iterator array_iterator
      iterator for JSON arrays
      Definition: json.hpp:9292
      +
      static void construct(BasicJsonType &j, const CompatibleStringType &str)
      Definition: json.hpp:3506
      + +
      typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type reference
      defines a reference to the type iterated over (value_type)
      Definition: json.hpp:9381
      +
      bool accept(const bool strict=true)
      public accept interface
      Definition: json.hpp:8794
      +
      static bool sax_parse(detail::input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true)
      generate SAX events
      Definition: json.hpp:20814
      +
      constexpr bool is_string() const noexcept
      return whether value is a string
      Definition: json.hpp:16894
      +
      static parse_error create(int id_, std::size_t byte_, const std::string &what_arg)
      Definition: json.hpp:1954
      +
      static diyfp mul(const diyfp &x, const diyfp &y) noexcept
      returns x * y
      Definition: json.hpp:12724
      +
      reference operator[](difference_type n) const
      access to successor
      Definition: json.hpp:10047
      +
      default JSONSerializer template argument
      Definition: json.hpp:2409
      + +
      typename make_void< Ts... >::type void_t
      Definition: json.hpp:2267
      +
      static void to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)
      Definition: json.hpp:21221
      +
      Definition: json.hpp:2210
      +
      typename BasicJsonType::number_integer_t number_integer_t
      type for (signed) integers
      Definition: json.hpp:4336
      +
      error_handler_t
      how to treat decoding errors
      Definition: json.hpp:13779
      +
      basic_json get() const
      get special-case overload
      Definition: json.hpp:17101
      +
      std::uint64_t f
      Definition: json.hpp:12958
      +
      constexpr bool is_discarded() const noexcept
      return whether value is discarded
      Definition: json.hpp:16921
      +
      #define JSON_HEDLEY_CONST
      Definition: json.hpp:1191
      +
      typename T::iterator iterator_t
      Definition: json.hpp:2507
      +
      static void fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
      Definition: json.hpp:4030
      +
      Target reinterpret_bits(const Source source)
      Definition: json.hpp:12690
      +
      basic_json(const basic_json &other)
      copy constructor
      Definition: json.hpp:16349
      +
      constexpr bool is_number_float() const noexcept
      return whether value is a floating-point number
      Definition: json.hpp:16828
      +
      friend json_pointer operator/(const json_pointer &ptr, std::size_t array_index)
      create a new JSON pointer by appending the array-index-token at the end of the JSON pointer
      Definition: json.hpp:10277
      +
      typename T::value_type value_type_t
      Definition: json.hpp:2492
      +
      friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:20505
      +
      constexpr bool is_structured() const noexcept
      return whether type is structured
      Definition: json.hpp:16669
      +
      friend bool operator>(const_reference lhs, const_reference rhs) noexcept
      comparison: greater than
      Definition: json.hpp:20529
      + +
      const_reverse_iterator crend() const noexcept
      returns a const reverse iterator to one before the first
      Definition: json.hpp:18918
      +
      friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
      comparison: greater than
      Definition: json.hpp:20540
      +
      void clear() noexcept
      clears the contents
      Definition: json.hpp:19335
      +
      typename BasicJsonType::string_t string_t
      type for strings
      Definition: json.hpp:4342
      +
      static allocator_type get_allocator()
      returns the allocator associated with the container
      Definition: json.hpp:14834
      + +
      static CharType to_char_type(std::uint8_t x) noexcept
      Definition: json.hpp:12592
      +
      void grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
      Definition: json.hpp:13472
      +
      friend std::istream & operator>>(std::istream &i, basic_json &j)
      deserialize from stream
      Definition: json.hpp:20944
      +
      auto operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())
      Definition: json.hpp:3244
      +
      const_reverse_iterator rbegin() const noexcept
      returns a const reverse iterator to the last element
      Definition: json.hpp:18823
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
      Definition: json.hpp:3530
      +
      std::ptrdiff_t difference_type
      Definition: json.hpp:9985
      +
      static constexpr bool little_endianess(int num=1) noexcept
      determine system byte order
      Definition: json.hpp:5268
      + +
      basic_json(const BasicJsonType &val)
      create a JSON value from an existing one
      Definition: json.hpp:15880
      +
      #define JSON_THROW(exception)
      Definition: json.hpp:1754
      +
      @ end_of_input
      indicating the end of the input buffer
      +
      output_adapter(StringType &s)
      Definition: json.hpp:11291
      +
      bool number_integer(number_integer_t val)
      Definition: json.hpp:4673
      +
      Definition: json.hpp:2199
      + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in UBJSON format
      Definition: json.hpp:21730
      +
      static diyfp normalize(diyfp x) noexcept
      normalize x such that the significand is >= 2^(q-1)
      Definition: json.hpp:12789
      +
      iter_impl & operator++()
      pre-increment (++it)
      Definition: json.hpp:9628
      +
      syntax analysis
      Definition: json.hpp:8684
      +
      const_reference operator[](size_type idx) const
      access specified array element
      Definition: json.hpp:17760
      +
      void push_back(initializer_list_t init)
      add an object to an object
      Definition: json.hpp:19548
      +
      ~basic_json() noexcept
      destructor
      Definition: json.hpp:16502
      + +
      reference emplace_back(Args &&... args)
      add an object to an array
      Definition: json.hpp:19596
      +
      const string_type & key() const
      return key of the iterator
      Definition: json.hpp:3350
      +
      basic_json flatten() const
      return flattened JSON value
      Definition: json.hpp:22012
      +
      int e
      Definition: json.hpp:12959
      +
      file_input_adapter & operator=(const file_input_adapter &)=delete
      +
      string_t & get_string()
      return current string value (implicitly resets the token; useful only once)
      Definition: json.hpp:8470
      +
      iterator end() noexcept
      returns an iterator to one past the last element
      Definition: json.hpp:18745
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4458
      +
      #define JSON_HEDLEY_RETURNS_NON_NULL
      Definition: json.hpp:1362
      +
      reference operator+=(const typename object_t::value_type &val)
      add an object to an object
      Definition: json.hpp:19517
      +
      #define JSON_HEDLEY_NON_NULL(...)
      Definition: json.hpp:1032
      +
      typename Base::reference reference
      the reference type for the pointed-to element
      Definition: json.hpp:9989
      + +
      @ array_end
      the parser read ] and finished processing a JSON array
      +
      static void to_msgpack(const basic_json &j, detail::output_adapter< char > o)
      Definition: json.hpp:21226
      +
      iteration_proxy_value< IteratorType > end() noexcept
      return iterator end (needed for range-based for)
      Definition: json.hpp:3403
      +
      bool number_integer(number_integer_t)
      Definition: json.hpp:4958
      +
      bool operator>=(const iter_impl &other) const
      comparison: greater than or equal
      Definition: json.hpp:9784
      +
      json_reverse_iterator operator-(difference_type i) const
      subtract from iterator
      Definition: json.hpp:10035
      +
      serializer & operator=(const serializer &)=delete
      +
      static bool accept(detail::input_adapter &&i)
      Definition: json.hpp:20754
      +
      detail::value_t value_t
      Definition: json.hpp:14751
      +
      NumberUnsignedType number_unsigned_t
      a type for a number (unsigned)
      Definition: json.hpp:15294
      +
      static basic_json parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
      deserialize from an iterator range with contiguous storage
      Definition: json.hpp:20877
      +
      std::shared_ptr< output_adapter_protocol< CharType > > output_adapter_t
      a type to simplify interfaces
      Definition: json.hpp:11207
      +
      bool operator<(const value_t lhs, const value_t rhs) noexcept
      comparison operator for JSON types
      Definition: json.hpp:2877
      +
      friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
      comparison: equal
      Definition: json.hpp:20296
      +
      iter_impl(const iter_impl< const BasicJsonType > &other) noexcept
      const copy constructor
      Definition: json.hpp:9434
      +
      constexpr bool is_number_unsigned() const noexcept
      return whether value is an unsigned integer number
      Definition: json.hpp:16800
      +
      parser(detail::input_adapter_t &&adapter, const parser_callback_t cb=nullptr, const bool allow_exceptions_=true)
      a parser reading from an input adapter
      Definition: json.hpp:8714
      + +
      reference back()
      access the last element
      Definition: json.hpp:18173
      +
      const primitive_iterator_t operator--(int) noexcept
      Definition: json.hpp:9254
      +
      input_format_t
      the supported input formats
      Definition: json.hpp:3887
      +
      reference at(size_type idx)
      access specified array element with bounds checking
      Definition: json.hpp:17519
      +
      bool operator<=(const iter_impl &other) const
      comparison: less than or equal
      Definition: json.hpp:9766
      +
      constexpr bool is_object() const noexcept
      return whether value is an object
      Definition: json.hpp:16850
      +
      basic_json(const value_t v)
      create an empty value with a given type
      Definition: json.hpp:15752
      + +
      @ strict
      throw a type_error exception in case of invalid UTF-8
      +
      constexpr int kGamma
      Definition: json.hpp:12954
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta()
      returns version information on the library
      Definition: json.hpp:14866
      +
      void pop_back()
      remove last reference token
      Definition: json.hpp:10320
      +
      decltype(std::declval< T & >().number_integer(std::declval< Integer >())) number_integer_function_t
      Definition: json.hpp:5039
      +
      std::uint64_t f
      Definition: json.hpp:12703
      +
      static std::vector< uint8_t > to_cbor(const basic_json &j)
      create a CBOR serialization of a given JSON value
      Definition: json.hpp:21118
      +
      basic_json unflatten() const
      unflatten a previously flattened JSON value
      Definition: json.hpp:22049
      +
      Definition: json.hpp:2297
      +
      #define JSON_HEDLEY_DEPRECATED(since)
      Definition: json.hpp:860
      +
      bool number_unsigned(number_unsigned_t)
      Definition: json.hpp:4963
      +
      string_t value(const typename object_t::key_type &key, const char *default_value) const
      overload for a default value of type const char*
      Definition: json.hpp:18025
      +
      bool number_unsigned(number_unsigned_t val)
      Definition: json.hpp:4679
      +
      virtual bool number_float(number_float_t val, const string_t &s)=0
      an floating-point number was read
      +
      j template void())
      Definition: json.hpp:3108
      +
      bool start_array(std::size_t len)
      Definition: json.hpp:4540
      +
      bool parse_error(std::size_t, const std::string &, const detail::exception &ex)
      Definition: json.hpp:4806
      +
      iterator insert(const_iterator pos, basic_json &&val)
      inserts element
      Definition: json.hpp:19739
      +
      void erase(const size_type idx)
      remove element from a JSON array given an index
      Definition: json.hpp:18467
      +
      diyfp minus
      Definition: json.hpp:12820
      +
      json_reverse_iterator< typename basic_json::const_iterator > const_reverse_iterator
      a const reverse iterator for a basic_json container
      Definition: json.hpp:14826
      +
      #define JSON_TRY
      Definition: json.hpp:1755
      +
      abstract input adapter interface
      Definition: json.hpp:3904
      +
      reference operator*() const
      return a reference to the value pointed to by the iterator
      Definition: json.hpp:9546
      +
      StringType string_t
      a type for a string
      Definition: json.hpp:15125
      +
      bool contains(const json_pointer &ptr) const
      check the existence of an element in a JSON object given a JSON pointer
      Definition: json.hpp:18635
      + +
      decltype(std::declval< T & >().key(std::declval< String & >())) key_function_t
      Definition: json.hpp:5059
      +
      const int id
      the id of the exception
      Definition: json.hpp:1875
      + +
      virtual bool end_object()=0
      the end of an object was read
      +
      serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
      Definition: json.hpp:13802
      +
      input_adapter(std::FILE *file)
      Definition: json.hpp:4202
      +
      bool operator<(const iter_impl &other) const
      comparison: smaller
      Definition: json.hpp:9739
      +
      friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:20586
      +
      @ uninitialized
      indicating the scanner is uninitialized
      +
      basic_json(size_type cnt, const basic_json &val)
      construct an array with count copies of given value
      Definition: json.hpp:16160
      + + +
      reverse_iterator rend() noexcept
      returns an iterator to the reverse-end
      Definition: json.hpp:18852
      +
      ReferenceType get_ref()
      get a reference value (implicit)
      Definition: json.hpp:17414
      +
      constexpr bool is_number() const noexcept
      return whether value is a number
      Definition: json.hpp:16743
      +
      static std::vector< uint8_t > to_bson(const basic_json &j)
      Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-rep...
      Definition: json.hpp:21388
      +
      const_reverse_iterator crbegin() const noexcept
      returns a const reverse iterator to the last element
      Definition: json.hpp:18889
      +
      constexpr number_unsigned_t get_number_unsigned() const noexcept
      return unsigned integer value
      Definition: json.hpp:8458
      +
      primitive_iterator_t primitive_iterator
      generic iterator for all other types
      Definition: json.hpp:9294
      +
      std::size_t lines_read
      the number of lines read
      Definition: json.hpp:96
      +
      @ number_unsigned
      number value (unsigned integer)
      +
      std::initializer_list< detail::json_ref< basic_json > > initializer_list_t
      helper type for initializer lists of basic_json values
      Definition: json.hpp:14759
      +
      bool sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true)
      Definition: json.hpp:5210
      +
      Definition: json.hpp:2795
      +
      deserialization of CBOR, MessagePack, and UBJSON values
      Definition: json.hpp:5175
      + +
      @ array
      array (ordered collection of values)
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)
      Definition: json.hpp:3496
      +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent(char *buf, int e)
      appends a decimal representation of e to buf
      Definition: json.hpp:13572
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4639
      +
      static void to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
      Definition: json.hpp:21326
      +
      reference at(const typename object_t::key_type &key)
      access specified object element with bounds checking
      Definition: json.hpp:17617
      +
      void push_back(std::string &&token)
      append an unescaped token at the end of the reference pointer
      Definition: json.hpp:10372
      +
      binary_reader & operator=(const binary_reader &)=delete
      +
      input_adapter(const std::u16string &ws)
      Definition: json.hpp:4215
      +
      value_type const * operator->() const
      Definition: json.hpp:11146
      +
      diyfp plus
      Definition: json.hpp:12821
      +
      void push_back(basic_json &&val)
      add an object to an array
      Definition: json.hpp:19406
      +
      static type_error create(int id_, const std::string &what_arg)
      Definition: json.hpp:2078
      + +
      static void to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)
      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
      Definition: json.hpp:21403
      +
      constexpr diyfp(std::uint64_t f_, int e_) noexcept
      Definition: json.hpp:12706
      +
      typename detector< nonesuch, void, Op, Args... >::type detected_t
      Definition: json.hpp:2367
      +
      size_type size() const noexcept
      returns the number of elements
      Definition: json.hpp:19195
      +
      decltype(std::declval< T & >().end_object()) end_object_function_t
      Definition: json.hpp:5062
      +
      static std::vector< uint8_t > to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)
      create a UBJSON serialization of a given JSON value
      Definition: json.hpp:21311
      +
      friend bool operator!=(json_pointer const &lhs, json_pointer const &rhs) noexcept
      compares two JSON pointers for inequality
      Definition: json.hpp:11076
      + +
      std::is_convertible< detected_t< Op, Args... >, To > is_detected_convertible
      Definition: json.hpp:2380
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4945
      +
      iteration_proxy_value & operator++()
      increment operator (needed for range-based for)
      Definition: json.hpp:3329
      +
      abstract output adapter interface
      Definition: json.hpp:11198
      +
      iteration_proxy_value(IteratorType it) noexcept
      Definition: json.hpp:3320
      +
      const_reference at(const typename object_t::key_type &key) const
      access specified object element with bounds checking
      Definition: json.hpp:17668
      +
      @ discarded
      discarded by the the parser callback function
      +
      parse_event_t
      Definition: json.hpp:8694
      +
      Default type
      Definition: json.hpp:2353
      +
      bool end_object()
      Definition: json.hpp:4534
      + +
      static void construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)
      Definition: json.hpp:3488
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in CBOR format
      Definition: json.hpp:21533
      +
      Definition: json.hpp:2569
      + +
      bool operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
      compare two value_t enum values
      Definition: json.hpp:22661
      +
      typename detector< nonesuch, void, Op, Args... >::value_t is_detected
      Definition: json.hpp:2364
      +
      constexpr auto get_ptr() const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
      get a pointer value (implicit)
      Definition: json.hpp:17333
      + +
      iter_impl(pointer object) noexcept
      constructor for a given JSON instance
      Definition: json.hpp:9392
      +
      virtual bool start_object(std::size_t elements)=0
      the beginning of an object was read
      +
      lexer(detail::input_adapter_t &&adapter)
      Definition: json.hpp:7237
      +
      std::pair< iterator, bool > emplace(Args &&... args)
      add an object to an object if key does not exist
      Definition: json.hpp:19649
      +
      input_adapter(IteratorType first, IteratorType last)
      input adapter for iterator range with contiguous storage
      Definition: json.hpp:4249
      +
      json_pointer & operator/=(std::string token)
      append an unescaped reference token at the end of this JSON pointer
      Definition: json.hpp:10194
      +
      friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:20575
      +
      std::less< StringType > object_comparator_t
      Definition: json.hpp:14936
      + +
      json_pointer & operator/=(std::size_t array_index)
      append an array index at the end of this JSON pointer
      Definition: json.hpp:10216
      +
      static void construct(BasicJsonType &j, const CompatibleObjectType &obj)
      Definition: json.hpp:3630
      +
      constexpr auto get() const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())
      get a pointer value (explicit)
      Definition: json.hpp:17380
      +
      iterator insert(const_iterator pos, initializer_list_t ilist)
      inserts elements
      Definition: json.hpp:19869
      +
      lexer & operator=(lexer &)=delete
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      Create a JSON value from an input in BSON format.
      Definition: json.hpp:21801
      +
      iter_impl()=default
      default constructor
      Definition: json.hpp:9349
      +
      virtual bool number_integer(number_integer_t val)=0
      an integer number was read
      +
      Definition: json.hpp:13787
      +
      bool operator>(const iter_impl &other) const
      comparison: greater than
      Definition: json.hpp:9775
      +
      IteratorType erase(IteratorType first, IteratorType last)
      remove elements given an iterator range
      Definition: json.hpp:18345
      +
      AllocatorType< basic_json > allocator_type
      the allocator type
      Definition: json.hpp:14812
      +
      friend bool operator<(const_reference lhs, const_reference rhs) noexcept
      comparison: less than
      Definition: json.hpp:20372
      +
      @ end_array
      the character for array end ]
      +
      output adapter for output streams
      Definition: json.hpp:11235
      +
      Definition: json.hpp:2476
      +
      json_pointer & operator/=(const json_pointer &ptr)
      append another JSON pointer at the end of this JSON pointer
      Definition: json.hpp:10170
      +
      a class to store JSON values
      Definition: json.hpp:2421
      +
      @ value_separator
      the value separator ,
      +
      static invalid_iterator create(int id_, const std::string &what_arg)
      Definition: json.hpp:2024
      +
      const json_reverse_iterator operator++(int)
      post-increment (it++)
      Definition: json.hpp:9999
      +
      Definition: json.hpp:2800
      +
      #define JSON_HEDLEY_LIKELY(expr)
      Definition: json.hpp:1123
      + +
      friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
      comparison: equal
      Definition: json.hpp:20285
      + +
      virtual bool end_array()=0
      the end of an array was read
      +
      JSONSerializer< T, SFINAE > json_serializer
      Definition: json.hpp:14755
      +
      Definition: json.hpp:4940
      +
      Definition: json.hpp:12817
      +
      input_adapter(CharT b, std::size_t l)
      input adapter for buffer
      Definition: json.hpp:4228
      +
      static parse_error create(int id_, const position_t &pos, const std::string &what_arg)
      create a parse error exception
      Definition: json.hpp:1947
      +
      static constexpr T value
      Definition: json.hpp:2235
      +
      Definition: json.hpp:2551
      + +
      Definition: json.hpp:5077
      +
      friend iter_impl operator+(difference_type i, const iter_impl &it)
      addition of distance and iterator
      Definition: json.hpp:9842
      +
      constexpr number_integer_t get_number_integer() const noexcept
      return integer value
      Definition: json.hpp:8452
      +
      Definition: json.hpp:3431
      + +
      iterator insert_iterator(const_iterator pos, Args &&... args)
      Definition: json.hpp:19679
      +
      json_reverse_iterator & operator++()
      pre-increment (++it)
      Definition: json.hpp:10005
      +
      @ name_separator
      the name separator :
      +
      basic_json<> json
      default JSON class
      Definition: json.hpp:2445
      +
      constexpr friend difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:9230
      +
      Definition: json.hpp:4197
      +
      friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
      comparison: not equal
      Definition: json.hpp:20319
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2541
      +
      const_reference operator[](const typename object_t::key_type &key) const
      read-only access specified object element
      Definition: json.hpp:17847
      +
      iter_impl & operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
      converting assignment
      Definition: json.hpp:9466
      + +
      void push_back(const std::string &token)
      append an unescaped token at the end of the reference pointer
      Definition: json.hpp:10366
      +
      Definition: json.hpp:3241
      +
      void from_json_tuple_impl(const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
      Definition: json.hpp:3190
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
      Definition: json.hpp:3518
      +
      void write_character(CharType c) override
      Definition: json.hpp:11218
      +
      bool number_float(number_float_t, const string_t &)
      Definition: json.hpp:4968
      +
      void swap(array_t &other)
      exchanges the values
      Definition: json.hpp:20086
      +
      decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) parse_error_function_t
      Definition: json.hpp:5074
      +
      ::nlohmann::json_pointer< basic_json > json_pointer
      JSON Pointer, see nlohmann::json_pointer.
      Definition: json.hpp:14753
      +
      typename parser::parse_event_t parse_event_t
      parser event types
      Definition: json.hpp:15661
      +
      const_reference front() const
      access the first element
      Definition: json.hpp:18137
      +
      size_type max_size() const noexcept
      returns the maximum possible number of elements
      Definition: json.hpp:19265
      +
      reference operator[](const typename object_t::key_type &key)
      access specified object element
      Definition: json.hpp:17798
      +
      auto get(const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
      Definition: json.hpp:3412
      +
      static void construct(BasicJsonType &j, const std::vector< bool > &arr)
      Definition: json.hpp:3582
      +
      constexpr friend bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:9218
      +
      input_adapter(std::istream &i)
      input adapter for input stream
      Definition: json.hpp:4205
      +
      void parse(const bool strict, BasicJsonType &result)
      public parser interface
      Definition: json.hpp:8733
      +
      const JSON_HEDLEY_RETURNS_NON_NULL char * type_name() const noexcept
      return the type as string
      Definition: json.hpp:20987
      +
      iter_impl & operator-=(difference_type i)
      subtract from iterator
      Definition: json.hpp:9822
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4944
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in MessagePack format
      Definition: json.hpp:21626
      +
      input_adapter(const std::u32string &ws)
      Definition: json.hpp:4218
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4640
      +
      decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) number_float_function_t
      Definition: json.hpp:5047
      + +
      an iterator value
      Definition: json.hpp:9287
      +
      #define NLOHMANN_JSON_VERSION_MAJOR
      Definition: json.hpp:33
      +
      reference operator+=(const basic_json &val)
      add an object to an array
      Definition: json.hpp:19467
      +
      bool boolean(bool)
      Definition: json.hpp:4953
      +
      const_reference back() const
      access the last element
      Definition: json.hpp:18183
      + +
      json_ref(const value_type &value)
      Definition: json.hpp:11110
      +
      input_adapter(const ContiguousContainer &c)
      input adapter for contiguous container
      Definition: json.hpp:4292
      +
      reference at(const json_pointer &ptr)
      access specified element via JSON Pointer
      Definition: json.hpp:21942
      +
      typename BasicJsonType::value_type value_type
      the type of the values when the iterator is dereferenced
      Definition: json.hpp:9370
      +
      string_t dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
      serialization
      Definition: json.hpp:16560
      +
      ValueType value(const typename object_t::key_type &key, const ValueType &default_value) const
      access specified object element with default value
      Definition: json.hpp:18003
      +
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char * get_error_message() const noexcept
      return syntax error message
      Definition: json.hpp:8513
      +
      std::size_t chars_read_total
      the total number of characters read
      Definition: json.hpp:92
      + + +
      #define NLOHMANN_JSON_VERSION_MINOR
      Definition: json.hpp:34
      +
      void operator=(nonesuch const &)=delete
      +
      output adapter for basic_string
      Definition: json.hpp:11259
      +
      void push_back(const typename object_t::value_type &val)
      add an object to an object
      Definition: json.hpp:19493
      +
      iter_impl operator+(difference_type i) const
      add to iterator
      Definition: json.hpp:9831
      +
      binary_reader(input_adapter_t adapter)
      create a binary reader
      Definition: json.hpp:5189
      +
      static void construct(BasicJsonType &j, const std::valarray< T > &arr)
      Definition: json.hpp:3596
      +
      decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) number_unsigned_function_t
      Definition: json.hpp:5043
      +
      reference operator[](difference_type n) const
      access to successor
      Definition: json.hpp:9885
      +
      Definition: json.hpp:2217
      +
      typename BasicJsonType::number_float_t number_float_t
      type for floating-point numbers
      Definition: json.hpp:4340
      +
      @ array_start
      the parser read [ and started to process a JSON array
      +
      const json_reverse_iterator operator--(int)
      post-decrement (it–)
      Definition: json.hpp:10011
      +
      constexpr bool is_array() const noexcept
      return whether value is an array
      Definition: json.hpp:16872
      +
      const_iterator end() const noexcept
      returns a const iterator to one past the last element
      Definition: json.hpp:18755
      +
      decltype(T::to_json(std::declval< Args >()...)) to_json_function
      Definition: json.hpp:2510
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4641
      +
      bool start_object(std::size_t len)
      Definition: json.hpp:4697
      +
      primitive_iterator_t & operator-=(difference_type n) noexcept
      Definition: json.hpp:9267
      +
      iteration_proxy(typename IteratorType::reference cont) noexcept
      construct iteration proxy from a container
      Definition: json.hpp:3393
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(A1 &&a1, A2 &&a2, const bool strict=true, const bool allow_exceptions=true)
      Create a JSON value from an input in BSON format.
      Definition: json.hpp:21817
      +
      const JSON_HEDLEY_RETURNS_NON_NULL char * what() const noexcept override
      returns the explanatory string
      Definition: json.hpp:1869
      +
      friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
      serialize to stream
      Definition: json.hpp:20642
      +
      friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
      serialize to stream
      Definition: json.hpp:20666
      +
      Definition: json.hpp:2336
      +
      auto get() noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())
      get a pointer value (explicit)
      Definition: json.hpp:17368
      +
      typename T::reference reference_t
      Definition: json.hpp:2501
      +
      bool operator!=(const iteration_proxy_value &o) const
      inequality operator (needed for range-based for)
      Definition: json.hpp:3344
      +
      virtual std::char_traits< char >::int_type get_character()=0
      get a character [0,255] or std::char_traits<char>::eof().
      +
      const_iterator cbegin() const noexcept
      returns a const iterator to the first element
      Definition: json.hpp:18714
      +
      constexpr int kAlpha
      Definition: json.hpp:12953
      +
      constexpr number_float_t get_number_float() const noexcept
      return floating-point value
      Definition: json.hpp:8464
      + +
      static constexpr bool value
      Definition: json.hpp:5090
      +
      Definition: json.hpp:3918
      +
      reverse_iterator rbegin() noexcept
      returns an iterator to the reverse-beginning
      Definition: json.hpp:18815
      +
      typename std::allocator_traits< allocator_type >::const_pointer const_pointer
      the type of an element const pointer
      Definition: json.hpp:14817
      +
      bool skip_bom()
      skip the UTF-8 byte order mark
      Definition: json.hpp:8526
      +
      bool end_object()
      Definition: json.hpp:4732
      + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(detail::input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
      deserialize from a compatible input
      Definition: json.hpp:20745
      + +
      decltype(std::declval< T & >().string(std::declval< String & >())) string_function_t
      Definition: json.hpp:5051
      +
      input_stream_adapter & operator=(input_stream_adapter &)=delete
      +
      bool operator==(const iteration_proxy_value &o) const
      equality operator (needed for InputIterator)
      Definition: json.hpp:3338
      +
      virtual bool start_array(std::size_t elements)=0
      the beginning of an array was read
      +
      typename T::key_type key_type_t
      Definition: json.hpp:2489
      +
      typename std::allocator_traits< allocator_type >::pointer pointer
      the type of an element pointer
      Definition: json.hpp:14815
      +
      typename BasicJsonType::difference_type difference_type
      a type to represent differences between iterators
      Definition: json.hpp:9372
      +
      NumberIntegerType number_integer_t
      a type for a number (integer)
      Definition: json.hpp:15223
      +
      void from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
      Definition: json.hpp:3042
      +
      SAX interface.
      Definition: json.hpp:4333
      +
      friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:20597
      +
      file_input_adapter(std::FILE *f) noexcept
      Definition: json.hpp:3922
      +
      int k
      Definition: json.hpp:12960
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in CBOR format
      Definition: json.hpp:21517
      +
      proxy class for the items() function
      Definition: json.hpp:3385
      +
      const object_t::key_type & key() const
      return the key of an object iterator
      Definition: json.hpp:9916
      +
      static void construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)
      Definition: json.hpp:3613
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2556
      +
      void to_json(BasicJsonType &j, const T &b)
      Definition: json.hpp:3758
      + +
      difference_type operator-(const json_reverse_iterator &other) const
      return difference
      Definition: json.hpp:10041
      +
      bool parse_error(std::size_t, const std::string &, const detail::exception &)
      Definition: json.hpp:5003
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
      creates a diff as a JSON patch
      Definition: json.hpp:22406
      + +
      input_adapter(CharT b)
      input adapter for string literal
      Definition: json.hpp:4240
      +
      typename T::pointer pointer_t
      Definition: json.hpp:2498
      +
      @ object_start
      the parser read { and started to process a JSON object
      +
      @ literal_or_value
      a literal or the begin of a value (only for diagnostics)
      +
      friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: not equal
      Definition: json.hpp:20330
      +
      void swap(string_t &other)
      exchanges the values
      Definition: json.hpp:20152
      +
      int e
      Definition: json.hpp:12704
      +
      basic_json patch(const basic_json &json_patch) const
      applies a JSON patch
      Definition: json.hpp:22110
      +
      typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type pointer
      defines a pointer to the type iterated over (value_type)
      Definition: json.hpp:9376
      +
      const iter_impl operator--(int)
      post-decrement (it–)
      Definition: json.hpp:9660
      +
      virtual bool key(string_t &val)=0
      an object key was read
      + +
      typename parser::parser_callback_t parser_callback_t
      per-element parser callback type
      Definition: json.hpp:15712
      +
      static void to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
      Definition: json.hpp:21320
      +
      @ value_float
      an floating point number – use get_number_float() for actual value
      +
      @ begin_array
      the character for array begin [
      +
      constexpr value_t type() const noexcept
      return the type of the JSON value (explicit)
      Definition: json.hpp:16612
      +
      binary_writer(output_adapter_t< CharType > adapter)
      create a binary writer
      Definition: json.hpp:11328
      +
      Definition: json.hpp:2233
      +
      @ value_string
      a string – use get_string() for actual value
      +
      reference operator+=(basic_json &&val)
      add an object to an array
      Definition: json.hpp:19433
      +
      virtual ~json_sax()=default
      +
      void write_character(CharType c) override
      Definition: json.hpp:11242
      + +
      output_adapter(std::vector< CharType > &vec)
      Definition: json.hpp:11285
      +
      constexpr friend bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:9213
      +
      input_adapter(std::istream &&i)
      input adapter for input stream
      Definition: json.hpp:4209
      +
      friend bool operator==(json_pointer const &lhs, json_pointer const &rhs) noexcept
      compares two JSON pointers for equality
      Definition: json.hpp:11059
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4946
      +
      bool number_float(number_float_t val, const string_t &)
      Definition: json.hpp:4502
      +
      friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:20494
      +
      bool end_array()
      Definition: json.hpp:4998
      +
      int find_largest_pow10(const std::uint32_t n, std::uint32_t &pow10)
      Definition: json.hpp:13134
      +
      std::reverse_iterator< Base > base_iterator
      shortcut to the reverse iterator adapter
      Definition: json.hpp:9987
      +
      json_reverse_iterator & operator--()
      pre-decrement (–it)
      Definition: json.hpp:10017
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
      Definition: json.hpp:3476
      +
      iterator insert(const_iterator pos, const basic_json &val)
      inserts element
      Definition: json.hpp:19717
      +
      reference value() const
      return the value of an iterator
      Definition: json.hpp:9932
      +
      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name(const token_type t) noexcept
      return name of values of type token_type (only used for errors)
      Definition: json.hpp:7194
      +
      static iteration_proxy< iterator > iterator_wrapper(reference ref) noexcept
      wrapper to access iterator member functions in range-based for
      Definition: json.hpp:18982
      +
      json_reverse_iterator(const base_iterator &it) noexcept
      create reverse iterator from base class
      Definition: json.hpp:9996
      +
      iteration_proxy< iterator > items() noexcept
      helper to access iterator member functions in range-based for
      Definition: json.hpp:19059
      +
      void to_json(BasicJsonType &j, T b) noexcept
      Definition: json.hpp:3647
      +
      @ end_object
      the character for object end }
      + +
      constexpr bool is_errored() const
      Definition: json.hpp:4834
      +
      void write_bson(const BasicJsonType &j)
      Definition: json.hpp:11337
      +
      iter_impl & operator+=(difference_type i)
      add to iterator
      Definition: json.hpp:9793
      +
      Definition: json.hpp:11282
      +
      typename T::iterator_category iterator_category_t
      Definition: json.hpp:2504
      +
      ValueType value(const json_pointer &ptr, const ValueType &default_value) const
      access specified object element via JSON Pointer with default value
      Definition: json.hpp:18075
      +
      bool boolean(bool val)
      Definition: json.hpp:4667
      +
      iterator insert(const_iterator pos, const_iterator first, const_iterator last)
      inserts elements
      Definition: json.hpp:19816
      +
      BasicJsonType value_type
      Definition: json.hpp:11104
      +
      basic_json(std::nullptr_t=nullptr) noexcept
      create a null object
      Definition: json.hpp:15776
      +
      auto operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
      Definition: json.hpp:3778
      +
      auto get_ptr() noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
      get a pointer value (implicit)
      Definition: json.hpp:17320
      +
      bool contains(KeyT &&key) const
      check the existence of an element in a JSON object
      Definition: json.hpp:18604
      +
      ReferenceType get_ref() const
      get a reference value (implicit)
      Definition: json.hpp:17427
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      +
      friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
      comparison: less than
      Definition: json.hpp:20459
      +
      std::size_t operator()(const nlohmann::json &j) const
      return a hash value for a JSON object
      Definition: json.hpp:22643
      +
      typename std::remove_cv< typename std::remove_reference< T >::type >::type uncvref_t
      Definition: json.hpp:2194
      + + + + diff --git a/help/html/json__fwd_8hpp.html b/help/html/json__fwd_8hpp.html new file mode 100644 index 0000000..aa8e57a --- /dev/null +++ b/help/html/json__fwd_8hpp.html @@ -0,0 +1,122 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json_fwd.hpp File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      json_fwd.hpp File Reference
      +
      +
      +
      #include <cstdint>
      +#include <map>
      +#include <memory>
      +#include <string>
      +#include <vector>
      +
      +Include dependency graph for json_fwd.hpp:
      +
      +
      + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + + + + + + + +

      +Classes

      struct  nlohmann::adl_serializer< typename, typename >
       default JSONSerializer template argument More...
       
      class  nlohmann::basic_json
       a class to store JSON values More...
       
      class  nlohmann::json_pointer< BasicJsonType >
       JSON Pointer. More...
       
      + + + + +

      +Namespaces

       nlohmann
       namespace for Niels Lohmann
       
      +
      + + + + diff --git a/help/html/json__fwd_8hpp__incl.map b/help/html/json__fwd_8hpp__incl.map new file mode 100644 index 0000000..96acbc6 --- /dev/null +++ b/help/html/json__fwd_8hpp__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/json__fwd_8hpp__incl.md5 b/help/html/json__fwd_8hpp__incl.md5 new file mode 100644 index 0000000..5cc3f53 --- /dev/null +++ b/help/html/json__fwd_8hpp__incl.md5 @@ -0,0 +1 @@ +309e9ad1f820ad8d6fa6b527dcd27675 \ No newline at end of file diff --git a/help/html/json__fwd_8hpp__incl.png b/help/html/json__fwd_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..89db4e54bf3f1922d64a0c336daa34d4d2d6d2a7 GIT binary patch literal 10900 zcmZvC1yGhzl=dfzlr%^;(xph3bV+xYba#U^DBX<+NO$wmNJ&d~cXz{HcXs#R+4*4x z7zXZp?!D(c&w0=DgvrZ_BO~G?LLd-iNeK}}2;@aR_&EX|27FB)BBux6UK>h_i$I?L zeg0_4kApx+A(A43%5Le0i|(JoZ=WG2BZE#P6ym+g%AJbyQtw2wB_f5K{)~C!2$`1} zPjj~>&g>|L*02S=(-4nU{Ymp}luSAaf44O)Wtn8;$;8z1mx)E{HlDYx?HoJTtO*~yf6v?GOP1cDAx1tvZ@2Ngo12AZcgK|zX1&(r(FE0qIIGt><+!Z64te116S=#>_ebT;{OHRek8_NQjQyWEevz7zV3 z!JD*H7JzU{OJ#(Gjow_L2%h-xG2ET33V-_44s|__kB^6efoXlb(t>=Ah!{FrggQGr zzkpyNc27-R^+XUTDk}2x^B1d@;x~*>jE>qJ%vApTNv@$WTWdM}!8blG&PZSXYuBp! z)v!(H@bK`=%*?^T!PS)uBV(!cd|m&*z)Q%&!or(3Z@zu|b_eTqxi<-(*wfR4$7*tO ze=nEC-=cRs7*kEySXj7wu{(ZydkcYhdwUBA2$-9j=l0&7Z?}0|7UkxC=?p~Bs<)XO zA1C0XV3-&A>3zAUVs5@WoWXUs_z;_|#OL+o_?Rp5FWSm8)K+(JNo?J=Eh< zQ}@=^Vq;?s4Gl2}2^S_NK8B0=Jl&e2qsIgW1`3CuEVg>5-R7jH6AB9p+feg*-Pk!h zU-rjQ$Hm3ve@>}#J=PVo@9}$~rlKM$CU!JiP0hwOIWRy^L17fVG#kb~v9Q4Id zgoTAIdz}xRZ;x5+}vDLT)f=oJHn(7<3|d9 zLqCmr)5>KYp678Yx#H+Oe;>FMb!EBe^j*tE2?NJ!rWect>if6d$3O^y-v z`+*}!XtfR&F^HUsii(0F;Gwvnpznr;nORO+T3SfRzZk*N(((mlYHDhb!uRgNd~c$V z;U!g!gy;29#J6u2Ha4niYIPY@ zYw^4WRZ^zgLPtmUr|jB~VxYfYp>X2v&Vy1?MNN%jwetJI;J**66ZROae$MQ|A3r|j zj9FM%M8_jWpr63wd{e}Xg?{d7< z0zM94e69{OtgNiST6%gU5n}thyV+xA2Og$eAHqcLj-bb~nY^>3qw;!szTm*!&$q~U zJks@NP1@`?Ha6ZMBS#VQ-K}JkOr=p|WMp67Oug+g3`Dopihi*S<$v>%cr}vo^z^ikB#YnM!Om{yx)78# zz{=av`++3pfPerTM$O#3JT{L-K{RQW{Rjm_M8uSo6kc;WcJ{=1NpPS~59e~37bt=Y z{^AXK)HVYtCq+N8s2?M9y>-BmgjmgM(}Hy8ZC(U0zO37XU&)T<)<9l$09)?KlZ#b#;9< z|0ED_*oXvIBbi6b->RM?c49S@hln1~305+ce>~8X>?)w?CY*_`%?wtc-UIpK7X`$8_YV#(E-w=j6IE4Jr^d!W zRvFolMD+sd@Lp_k23d>$<@U{obX&G^(h@)MhGbTWcLjc%34n!z)#%M}vGeX=*;#P6 zBpXUGC(C8f(a{wY6ne6oLPOz=(&12vAD-@y6A}`1baWt)T$}S1vPwdJ54Li3COdc@ zfF9``^n#aNlBJZ1?}~yI6uuR=gLS&IK|#EPLwUFum*eK<263vDX&dl&ZvNSsZ1!hC zAzn2ch)(!%x0_`l$VbV2oMJJmd@pP7qPOtJG-!8Wo=D_fnjK6HHh14yWBcFEDJ6_ zIvNc?cF#$4bTqBfFHjSuI#6~72CLh%&CbrwF8DXJM;m*4d%L?_=6`d+9}njniwg>N zjE|qU`@N)BD+><|Rd29cJ()A$;F+7718m>X(UF*#2vB{Ht=x^D8BJ3^kG2)R>hFY^ zvi};w;A?i?ovCL3gkPhu*OwKri&F9d?N<6-FD-Q=j6q)3u~@t}KsI?vK&*al!4Poo zf#wRx0)>RX*L(j#7vi-O!-%6IQX6%{cK z)k)1b0rLFLI6FJjs5a?{heKcjZP-yweLbsg#A`u+c;Zzd?N56d5Qxn}L#6$C&+d4B z@9*EFYOg^*fI~v^e1F^)Cy~oxyL7P7$jZi+@QJjd_~0)pl#b!`>(_uq`*^5d!oWmt zkIW#4kjl1u^MxXXppxi9T}t!vK+gUuF5U-65BPI`fByvpbR~cO{E=Y%_3+>Y&>F@M zGNb0Q8=|urJ29b*gOddC0~0e2?579Q`5;($G#Ye^!E&0K9w3Rq{}K@qk??!XR2Xzs zn~p&KttP=G;F6&8+EA_W3+RZz!DC=xprD|Dl9`>I4L}X~LDo?M7ZF-kX5-`Y1R4WC z{o6xnYVz`c?Hsm5Punh>F6psJIADSD@aU4U0ofl(A=yoBZCb2k)Q8+ zduA*)^%C;GxPff}Ad$mlD>!2-D+Y(stCQ8P@RtTI|3a_WLexXnaD+A7+S)P!nPOtn zvuY>!!m{iK61Z%%k9F-7+Mz+9>bW>MF9^(RY+609ZIsviNQptiWGE;oNXE*Fc}VjK zEUeZ=7K#Zt7qsgC(^miA9v*fnZ%~bsFcP&TG?YeKa>&}ENjS$jyn>cjS6RwJ*U}Ot zW2rZ82L6?~fk9AN*@w)U;P&xz)?O&939{?(%C)esgeeo%4PtZM^EzujVmUqu|cV z{U;e2qW!6ivf};cElHczQ%-5=LpW5IEP>;@U8U;A+fzm@LnI`6cMQ5f?&Ql?Gie;P znVC3=OnjGi$=SR>9)W4~{%3 z2a8Kf)&}+tL#Y+wQGeY3at0!Tus>^P=zRLr`8TgEF=<*<)VkHx7WDP(!6&AB?u=?78KAS9^OuU$@AmR~^j_O-07$nWmV)XHvRC1A93<0P=; zq|W|MC~LOyKkSZQH(P7#`C2$sjnrB`efWT(RrkAdfjU%w3KNo$py%%&8xfAOxuqHy zJa^6umb0)(ohn1l88b^_zNeuHUpE*i0Q}JCHn!Mj*3{yytg4DIGCw_?<+19oWnu9( zJUlRNT!XdRh{LA&YrQZ$qT4p&FBKKG;GjI}cbjx{k=N&1Ybz{KpH?1GRh*r3B4h$9 zSjf0$#dS0L&aYA;{$|iKC=}LY@bs&dZ;6XoY1Ud?(OjP0IS<*k<>lvL52s6>ooP1P zWE`1!iKC%*l!Pd-vB|{5q@12|ot=sJKIdIsod*Vr8EX|4S=3Y_B*kOBi)*2ljmM8* zNUt!k%D`b9HHC#5~8f?Q&|}no%og_u0`C(k(v4?{SvJ=Y8eH&1?u~Z?|LnoGp8Wg zpMP=^ZaIwz66XGn32*Wk1)m+fvgc-JGt%vK%vSr#B$MuL8dtfWd!ffDFt|KE@paE} z8?K2+ewg)qaP!IK{i+BcF)+lGkTmW&q_wPxMd_oHV z)i6P+MTHOYdR~>EuD@$(kzuz^Wv1h9nwJ!X174I{YOp6yDvP z(ZyMZhKh=JE~C{`&DNTTj9Kop)Y+QppO*zDe2{iB{x$~~O!!r}jlRGX zM4cnPIXqk$96UapZojszU@9!ErLE0=#A#@^13-;^n4A)u#X{rrUh8v*Ttm#h|F2PLPEI>mW-( zwZ+Vx(dvEGyzqbv@oYJRr}@ z>yC|W-q=)dLn&`*;d%f5`eN79+IkTM<+YE`uY$n$Q|%=j-#k3-V&k%i1$>~jwF4a; z`unQYl5t{>t08{hzR?{X=4=h7I9!z=HGxB50EbXigb$WJbt6nUC@lz;9fI9(eb4*g zV`Ky^JzO}PPeO3IggXe(uvNaeQtaPoUhh4wsdM4x#Qov+aCR{3Dc;NKxLuUNx9=Zx z-(8UivKC9KI6zq0(b3eQsy;Q9LDPVAe=rQwRlwIqr`kkT|3@Pv!3moIP%Ey{qP3Y> zb!`R|RL+=BrZ1XYR;#O1I6I4cRD^R+-}(#OL9q9&t;h%hBLJfkpD+H7%8R^@UDDmF zwS=XXT_`QH(XKWbuCpHaB`eB^?pq433vcUk62L_-ilfuW*v6Ks)tpn$sGa8La7-~p z;&uyAu1-!DoIF{K3?-i>PDUqHL^*K3=pZ6Nub=pgCyQo5&zQ_EgR&UiN(EwsoJo~- zh1incq9AP>XY#t&n=6Hf^$(t$$aq0vMs-yqMeK2+-x z@wnVCLht@j?~!&{US7D1yxvQ7G(!=yk9QFS%x{@^54K$;<>c7tEw9IN>I(9k0XkVP zxS90FYM`U1y-zq}krff4;hyX7G`!jxs;swZ5#dSq)tyXC!Si}*w$#xXINQtyq|oYi zihkJeii8ONEnPxl>fJ)$PIT;F7u2YR>tk9o@r$UzK@JNGC@&u~xWKW7J z(MUrU2}VWZ%}*b=P!H9gM03WDmb_~XMQOrnhNjrb1)gndC@}QZxfUrt0Vr!zTLXNUT$d0)T&&ARdwaOtz3DNhb3=#C z2?1O*H14n~wv9_G)PD6Y*IfDG|%v z+%d((W8JTY&__fNJ<#^|a(O=%_V+KjyJN4eUe{ZNO^z#_U+Yyl6~4AzCcCWl*RVB1 zB}pXa_o}X_aM)Fh(DOz9z2Xce0z!JrZdzK8&yORofAJDKIB0_YqsiOT(9?68xvivk zu4-~RtEgOnP2l;sqQX;F)|Bld)=QW~P4&UxMq4|UePk-;@-^S*`}5Ov*Pb3$o5i`O zMc25o$k3pP2^=4vQ&8mMk?LKO8QW9k({YJ!&o7!s|NeD8+j#vZlW}rVrNyoT*6BT-*ReaC&nGd>&Sk$K5_^ zg>NkjeE|p$LPK+NGH<)PyW8#IVIe3u5D{+jgJ=v512gMjE`b4!7GNnTRga!F-$xaX z9r?M#dB1S7&dxxM>QS$iEc(sOOBa`zI4a4*B?y63#*^766_4WIU0joHao?d|LkmzV4~g}{tVQ&ZsL zLVh+v-{$G?_Pp%jjd>s)ecQ~eC?djY{}d{i)_jG^$gnKudUsQ)oJ@ljOFgo=_k zF&5+ULYucoZ<5_*WWU8*Yag`m;BJ;%ile^Gd4W#5B##%;4iX3hgZOyXG39g}izEvZ zE56Db+W0A#7xJ~HW+wJs>Ond6T1ko14gP4TOeXK@TrI@Fpfi=t!1wtv<-ON(>wdoM zB9AXWLHEpzf^s~UT{|5!P&lCO+1aj_m#Bn*S@QCb4jV>Kv5)pIuN0SCONlnhn*RQk z%a=3NZb^LxoH$>{*mdwI1J3R{4oUXdjvMcAfB#LpU+w8>l&}!f@j|25{gttqcyCY| z2NECentGYp&!0lw-Ei+HU)i?hG&UNo_ppLK7X!1!WJrdciO<%;IIO5hay(d-EG`^yRc3*~@F@KY#XQ zGn%e@NnpqG2W*!k7rjDGE?eRguYT4iAwt^M?a#O6d@l;DMu?F<^O1Ik9Ubw@4Dk^W z@jV73A)u?4Pw{(uP|ztvXnT6rSD!Z~F&7^kUXG;q3$ee0@vHELYUuyqnj1rY;jW@( zbs$Wa&}94_9jaEF!D-JyvF@xG%c03UNr0@UGLB8o(FNeDKkRtl7ZR)-d@$Yjd0vl#p$uT{ z&}rJRvEW9^NOsGvuI}wztLLz_cyV)`78{M`es>}M)aGi9``TAUOG~Rha`@@$iiwCQ zA(zq?ORuz7OK;M>CCf)jM$%m@?=JxO=cj9GhcrbM6(f21s+h6tg@tdU^7rB4I_&I@ z?=#OJ5Nf%l?$xLB!%?#f@ZRM6bjz(t77++=`fEH~sEC4*QHdTCiMGksd~ED9NVQLL za(W^nRGMV=qEb>5)2{vF`2w%u%0EkczW04%_Pl;lP@4|-!pBKkoSYQS5BT|$PHSF* zVY#3$q1;sOc%`EzH1s}vwqxBM)VzkyBFN*MA1uQowqXHXyn^mx`9(!zqbE3Y3Ee|^ zoP;M=?A=eu^pEm|9~nzqzzget)-N)_8x)c{vG+yjfBw+T*3bq^<)JJDi-^ECHhRMD zvqfcO@F5_`k&_>Be5{$B-SzZLE75fRSy+g9tE`S&p2rsS`RWew>IVKl^}W}`oFEC+ z)$e@O__YN)LW+u*$;jSjXQRx`DOI%j_MV)N6xuFLjGC4BMrZPSqe5(+ygo0BETR%e z6&IQ_F_oDNVnv7n`KGk$%+2W~L0x+KSp>ldh&U07%t_c*zVmBQ07d;DOW=@EC?|7hAhnhr!%%hCB_xu6h!}<}CTjp&yK~fzaE&}>v zxB2*c1#>;1pv;Cc?))_|Dhwnr2*Hil=5mjVUe)YWpaQ+BDz%GOsjBKPXxp-JN8kaB zNK<}WwfnkRZmvhd#?PPM)D-jV7ZF`h5M5n;8UP3F?iRg!JOb#Ch$LV$i!nbr`CZkG zmrP>!Yu@>G_4OgN=ZrH$77n0;rw7Yj11C?utnr(L=)geuS1>-87KbGziwX*9W8R*t zCp&vZAC7jh-%`QbU8baEeeSwY)n>h=^2Z7A=P)oGZ}I-ZPfpfSQt=xsQDb0qeh)*i zovm8g9Vd~?mg7LD-gXTWyT2|5 zn;<6_a(fVPq@)y)SIw-jTjhBBb{Wh*vft8hfMEi&u9rxj;;9=@@-ChpEi(n4&3hv^ z8Ei?gMXF6=qPD-P~9Pc*sev*%k*+&)@-mTym zP~D2!T7wx5-#;&aT;^v=4DlHwAb7)Tt*9Crt~NT#F>6<-C=;5WXp>=t#ZgDqFfnZJ z3)?bZK0Uhj_luGUursRvsPb)_g@+Q?8I)5yaksR#))p02HZ@iLTvIYPSFyI<&zEDw zl7c%oVn5$5K3IglTE}^F?|uJVSU)*ADVi<+#kle;Q#esmvk4KgNJo1sR^l&Z?8h*X z_~;!yE-(ekD=kgH@va3uUN~=~-Ot9x;+l)|r$>|EVBzI20bVi`sNq7{Xkj7>3QvoE z#ui0SH>Ys?`MkQ1PWG+*@JN`0L#D}TBQ!Jxtsa*u8nfHG*8`mHaB}@tF0dtG9%S>#nX*d~~ zA(^zq%ZrP!&>!++aUuH%Xn}+6f7@+I#_#it{>&6!(u~&cBBRpLq8h^ew}Ii`q*Z>v z1IRO=5zi9vCH7E;_a|NI_}!Z6=O+lpvvUfc&@5J{+U0W6z|t2$Jqac}1Ok+ejSa6k zqJM??33hUvjDGk^S7KzCH?T#Jw&KZ7S(=;AHaQokrq11*uJiHn&Ck!j0Bwi?&{%=C z5A+yVSXcTEv>DnAjJp+a?n4G=3`&8XL)I93()kzESo&$ zW{6{Xp~W-FSScBd1c`8Q%|L)a9?Q;-NlWv5xUmO{7LXU*-P}gao_U204GjFcR!`iT zK^V+!51npwVp>}FKy2V(XQ#pl16mN!ql9c#)mQ9}z*N7^X0ZskC4f=Dz~FSX3$Bc+ zyu5t5!XNy zCO-bRPKgs0P=tXPd68YB+cMYJSJ2SVP+9pN%%Xu{4i*MF5fB|RGBTn_1eO{dsXzQG zD?0+d3p`99)|TtFwU(8YfvLWn94h2fwme||X7_VorHHmS0bv{ei3j!$pc(7=+=|M| zMvCPiTUpqZ>$Z4Y?qP>eL^WpsMXR`|h~M+7q_%bvs27@=bBl{D+1c4OHOgRU&&8GE zzR}v+>hJGwKK|<+B_#_LiGYuniHV7$<9Q5)c&LaWNc0sx@QbO*No3E~28)oc#_Fmn z%}PU{MXoHbv7e$q)ha0~12vTs7S{hKfgZ1go`&Y1z68#`wl+b6 z5~vFlB!@uH03uoXAeF#097;Xx*6mNnIs^vwiuR=?5YE#g^q+7QK4gm4tSQIY|3^Mr`$;`sy+ryB}B5tze&dax0)bu?oe#j3~4Z|K1nM^>TBvw~YAfu(# zP*$F>{j!Azybo{?mev5^aHt&c0OGp%lh~PuiV8N-xd!vck65=nK)eX)0*VaTGf1MN zr54W>%C^TVVEiC5IsL6q#LeRTrY&UKDDGa+rY3wm**wKC5%Ma2yAQWO zW{qxn`Q-)((k~!DFzVar^LgJnJ?*;Q69G`JxY%;-cNoZ?)i3O~jr?|1jH7Ua)6r?4 zfK=?5I?&hGuKBOm1WuM0FJ3rtXNct#78GbVIfV`TEb6C7?mX+rrH0FKf$b#3V2ayY5Q-I(0!$(z`i1ZgoY9_-{fow4#nuK5KQ=E-3cq}RGIIvO1t zOHN7o#XPL>Is|N&GQ&0Rw*z z$41@Pl|7w7DJdx+Nrq#(FWB%uR9ek`0Ny9SJPi$;o}QkR#?@LJGsYNOu-&)cI z`r~Pp7#J9|wY8U;-NzRe2!U=1a3?eK>G66wDJkjt>PoS20*uc$7}&x@fZIig-4>Xk zV3FS5+}$i}ieV;dZTtM>r+_ol1Hd>r^x9v>e=>Tgfrh@+N)J5F7FX0lif%!H!- z4yKS3Q(ir|3fk8i+M#c={AzUCjRl(nR*i{5rStQ1na`i!GHOy%P*fXse>+|8&Em8t z=i<@;YCHrD3(IMLiqYQQe#7BS%4Zu(OC>e6`ihE~W_MP#j4Mm2m4c!oVm^iR?#2Qm=kjasRuv60bB2pT&2 zs_{CEjK4DI~f>*Kl{6K8t2i}5Hvf@p4T+{&m{ zw1Wlr!a?TuYx}<^n8>8cCEfkVR$rpe{UZ6SAuBu|JzFW zU;6A@HC9~I2!yhuBOBe8^;#(Oo?e|aU}f8KcnoG5E)#7OkL2dCy3Yg9(Uux-PN-TG z2gq?RBBVf~5*2RTcXr;mTpbywKFj=(PtUcCWWY)ZRLg%}&Hs-8d@FESzi&HJ + + + + + + +CocoaTweet: build/_deps/json-src/include/nlohmann/json_fwd.hpp Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      json_fwd.hpp
      +
      +
      +Go to the documentation of this file.
      1 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      3 
      +
      4 #include <cstdint> // int64_t, uint64_t
      +
      5 #include <map> // map
      +
      6 #include <memory> // allocator
      +
      7 #include <string> // string
      +
      8 #include <vector> // vector
      +
      9 
      +
      15 namespace nlohmann
      +
      16 {
      +
      24 template<typename T = void, typename SFINAE = void>
      +
      25 struct adl_serializer;
      +
      26 
      +
      27 template<template<typename U, typename V, typename... Args> class ObjectType =
      +
      28  std::map,
      +
      29  template<typename U, typename... Args> class ArrayType = std::vector,
      +
      30  class StringType = std::string, class BooleanType = bool,
      +
      31  class NumberIntegerType = std::int64_t,
      +
      32  class NumberUnsignedType = std::uint64_t,
      +
      33  class NumberFloatType = double,
      +
      34  template<typename U> class AllocatorType = std::allocator,
      +
      35  template<typename T, typename SFINAE = void> class JSONSerializer =
      +
      36  adl_serializer>
      +
      37 class basic_json;
      +
      38 
      +
      50 template<typename BasicJsonType>
      +
      51 class json_pointer;
      +
      52 
      +
      61 using json = basic_json<>;
      +
      62 } // namespace nlohmann
      +
      63 
      +
      64 #endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      +
      namespace for Niels Lohmann
      Definition: json.hpp:84
      +
      basic_json<> json
      default JSON class
      Definition: json.hpp:2445
      + + + + diff --git a/help/html/key_8cc.html b/help/html/key_8cc.html new file mode 100644 index 0000000..1af7953 --- /dev/null +++ b/help/html/key_8cc.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth/key.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      key.cc File Reference
      +
      +
      +
      #include "cocoatweet/oauth/key.h"
      +#include "nlohmann/json.hpp"
      +#include <fstream>
      +#include <string>
      +
      +Include dependency graph for key.cc:
      +
      +
      + + + + + + + + +
      +
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::OAuth
       
      +
      + + + + diff --git a/help/html/key_8cc__incl.map b/help/html/key_8cc__incl.map new file mode 100644 index 0000000..566a7a4 --- /dev/null +++ b/help/html/key_8cc__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/key_8cc__incl.md5 b/help/html/key_8cc__incl.md5 new file mode 100644 index 0000000..53116f2 --- /dev/null +++ b/help/html/key_8cc__incl.md5 @@ -0,0 +1 @@ +7d13fcb3a3f67e886155a4ddd3560c8f \ No newline at end of file diff --git a/help/html/key_8cc__incl.png b/help/html/key_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..dad2ea24d3935ebfc2ae261b466f55ce285caa4f GIT binary patch literal 13667 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 UW7N=G59cA|WmKdKq>NtwFFkbFy8r+H literal 0 HcmV?d00001 diff --git a/help/html/key_8h.html b/help/html/key_8h.html new file mode 100644 index 0000000..f73f920 --- /dev/null +++ b/help/html/key_8h.html @@ -0,0 +1,156 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth/key.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      key.h File Reference
      +
      +
      +
      #include <string>
      +#include <map>
      +
      +Include dependency graph for key.h:
      +
      +
      + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::OAuth::Key
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::OAuth
       
      +
      + + + + diff --git a/help/html/key_8h__dep__incl.map b/help/html/key_8h__dep__incl.map new file mode 100644 index 0000000..d3e2514 --- /dev/null +++ b/help/html/key_8h__dep__incl.map @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/key_8h__dep__incl.md5 b/help/html/key_8h__dep__incl.md5 new file mode 100644 index 0000000..536928d --- /dev/null +++ b/help/html/key_8h__dep__incl.md5 @@ -0,0 +1 @@ +9e76a63e51a33c0e4b3ea690e33ba670 \ No newline at end of file diff --git a/help/html/key_8h__dep__incl.png b/help/html/key_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..210756ed8305d4a54c0a5f78cac9e70cb863a263 GIT binary patch literal 209172 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

      hG=?2hoF2 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

      -)z9+*& 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 + + + + diff --git a/help/html/key_8h__incl.md5 b/help/html/key_8h__incl.md5 new file mode 100644 index 0000000..45c3216 --- /dev/null +++ b/help/html/key_8h__incl.md5 @@ -0,0 +1 @@ +3ce4d027a7609509a75fc7ba6e39b0d3 \ No newline at end of file diff --git a/help/html/key_8h__incl.png b/help/html/key_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bacec9c898ec70c92334406ab8a6ba957bc40c6d GIT binary patch literal 5857 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 gj9(sF+ + + + + + + +CocoaTweet: src/cocoatweet/oauth/key.h Source File + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      key.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_OAUTH_KEY_H_
      +
      2 #define COCOATWEET_OAUTH_KEY_H_
      +
      3 
      +
      4 #include <string>
      +
      5 #include <map>
      +
      6 
      +
      7 namespace CocoaTweet::OAuth {
      +
      8 class Key {
      +
      9  const std::string consumerKey_;
      +
      10  const std::string consumerSecret_;
      +
      11  const std::string accessToken_;
      +
      12  const std::string accessTokenSecret_;
      +
      13 
      +
      14 public:
      +
      15  Key() : consumerKey_(""), consumerSecret_(""), accessToken_(""), accessTokenSecret_("") {}
      +
      16  Key(const std::string& _consumerKey, const std::string& _consumerSecret,
      +
      17  const std::string& _accessToken, const std::string& _accessTokenSecret)
      +
      18  : consumerKey_(_consumerKey),
      +
      19  consumerSecret_(_consumerSecret),
      +
      20  accessToken_(_accessToken),
      +
      21  accessTokenSecret_(_accessTokenSecret) {}
      +
      22  const std::string& consumerKey() const {
      +
      23  return consumerKey_;
      +
      24  }
      +
      25  const std::string& consumerSecret() const {
      +
      26  return consumerSecret_;
      +
      27  }
      +
      28  const std::string& accessToken() const {
      +
      29  return accessToken_;
      +
      30  }
      +
      31  const std::string& accessTokenSecret() const {
      +
      32  return accessTokenSecret_;
      +
      33  }
      +
      34  std::map<std::string, std::string> noSecret() const {
      +
      35  return std::map<std::string, std::string>{{"oauth_consumer_key", consumerKey_},
      +
      36  {"oauth_token", accessToken_}};
      +
      37  }
      +
      38  const std::map<std::string, std::string> secret() const {
      +
      39  return std::map<std::string, std::string>{{"oauth_consumer_key", consumerSecret_},
      +
      40  {"oauth_token", accessTokenSecret_}};
      +
      41  }
      +
      42 
      +
      43  static Key fromJsonFile(const std::string _jsonFile);
      +
      44 };
      +
      45 } // namespace CocoaTweet::OAuth
      +
      46 
      +
      47 #endif
      +
      +
      const std::map< std::string, std::string > secret() const
      Definition: key.h:38
      +
      static Key fromJsonFile(const std::string _jsonFile)
      Definition: key.cc:7
      +
      const std::string & consumerKey() const
      Definition: key.h:22
      +
      Key(const std::string &_consumerKey, const std::string &_consumerSecret, const std::string &_accessToken, const std::string &_accessTokenSecret)
      Definition: key.h:16
      +
      Definition: key.h:8
      +
      std::map< std::string, std::string > noSecret() const
      Definition: key.h:34
      +
      const std::string & accessToken() const
      Definition: key.h:28
      +
      const std::string & consumerSecret() const
      Definition: key.h:25
      +
      const std::string & accessTokenSecret() const
      Definition: key.h:31
      +
      Key()
      Definition: key.h:15
      +
      Definition: key.cc:6
      + + + + diff --git a/help/html/main_8cc.html b/help/html/main_8cc.html new file mode 100644 index 0000000..7ddd47d --- /dev/null +++ b/help/html/main_8cc.html @@ -0,0 +1,141 @@ + + + + + + + +CocoaTweet: src/main.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      main.cc File Reference
      +
      +
      +
      #include "cocoatweet/oauth/key.h"
      +#include "cocoatweet/api/api.h"
      +#include <cocoatweet/api/directMessage/new.h>
      +#include <iostream>
      +
      +Include dependency graph for main.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + +

      +Functions

      auto main () -> int
       
      +

      Function Documentation

      + +

      ◆ main()

      + +
      +
      + + + + + + + +
      auto main () -> int
      +
      + +
      +
      +
      + + + + diff --git a/help/html/main_8cc__incl.map b/help/html/main_8cc__incl.map new file mode 100644 index 0000000..e363b76 --- /dev/null +++ b/help/html/main_8cc__incl.map @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/main_8cc__incl.md5 b/help/html/main_8cc__incl.md5 new file mode 100644 index 0000000..341591b --- /dev/null +++ b/help/html/main_8cc__incl.md5 @@ -0,0 +1 @@ +55ebad1d5e88bc9f9c561ccdc0130cc3 \ No newline at end of file diff --git a/help/html/main_8cc__incl.png b/help/html/main_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea7b0de84ebd6717944cb796dc421d9c815fab4 GIT binary patch literal 174935 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%0A1Zg(uFDF5}Z|k6}w&{ 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 literal 0 HcmV?d00001 diff --git a/help/html/md_README.html b/help/html/md_README.html new file mode 100644 index 0000000..d3079ad --- /dev/null +++ b/help/html/md_README.html @@ -0,0 +1,219 @@ + + + + + + + +CocoaTweet: README + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/md_build__deps_json-src_README.html b/help/html/md_build__deps_json-src_README.html new file mode 100644 index 0000000..67778ec --- /dev/null +++ b/help/html/md_build__deps_json-src_README.html @@ -0,0 +1,102 @@ + + + + + + + +CocoaTweet: Release-tracking repository for nlohmann/json + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      Release-tracking repository for nlohmann/json
      +
      +
      +

      This repository is based on: astoeckel/json The goal is to provide a lightweight repository tracking every releases of nlohmann/json. This repository is compatible with cmake FetchContent.

      +

      You can depends on nlohmann/json using:

      +

      Example:

      include(FetchContent)
      +
      +
      FetchContent_Declare(json
      +
      GIT_REPOSITORY https://github.com/ArthurSonzogni/nlohman_json
      +
      GIT_TAG v3.7.3)
      +
      +
      FetchContent_GetProperties(json)
      +
      if(NOT json_POPULATED)
      +
      FetchContent_Populate(json)
      +
      add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL)
      +
      endif()
      +
      +
      target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json)
      +

      You can replace always replace the URL by the official repository: https://github.com/nlohmann/json The only difference is the download size. It will several orders of magnitude larger.

      +

      This repository is fully autonomous. It updates itself every week using github actions.

      +

      See:

      +
      +
      + + + + diff --git a/help/html/mediaStore_8cc.html b/help/html/mediaStore_8cc.html new file mode 100644 index 0000000..a2c327a --- /dev/null +++ b/help/html/mediaStore_8cc.html @@ -0,0 +1,108 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model/mediaStore.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      mediaStore.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/model/mediaStore.h>
      +#include <cocoatweet/exception/exception.h>
      +#include "nlohmann/json.hpp"
      +
      +Include dependency graph for mediaStore.cc:
      +
      +
      + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Model
       
      +
      + + + + diff --git a/help/html/mediaStore_8cc__incl.map b/help/html/mediaStore_8cc__incl.map new file mode 100644 index 0000000..06b28f0 --- /dev/null +++ b/help/html/mediaStore_8cc__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/mediaStore_8cc__incl.md5 b/help/html/mediaStore_8cc__incl.md5 new file mode 100644 index 0000000..8872c9e --- /dev/null +++ b/help/html/mediaStore_8cc__incl.md5 @@ -0,0 +1 @@ +78dc739a5f08f069c7f668e39cac3fe7 \ No newline at end of file diff --git a/help/html/mediaStore_8cc__incl.png b/help/html/mediaStore_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..1b476e6f8bd8dcc4dbe9e64362816831c92fcb69 GIT binary patch literal 13645 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 Op&*NrDMlK+`M&^k`pQiJ literal 0 HcmV?d00001 diff --git a/help/html/mediaStore_8h.html b/help/html/mediaStore_8h.html new file mode 100644 index 0000000..2d0b4c3 --- /dev/null +++ b/help/html/mediaStore_8h.html @@ -0,0 +1,127 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model/mediaStore.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      mediaStore.h File Reference
      +
      +
      +
      #include <string>
      +
      +Include dependency graph for mediaStore.h:
      +
      +
      + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Model::MediaStore
       data class for tweet object More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Model
       
      +
      + + + + diff --git a/help/html/mediaStore_8h__dep__incl.map b/help/html/mediaStore_8h__dep__incl.map new file mode 100644 index 0000000..564e780 --- /dev/null +++ b/help/html/mediaStore_8h__dep__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/help/html/mediaStore_8h__dep__incl.md5 b/help/html/mediaStore_8h__dep__incl.md5 new file mode 100644 index 0000000..2ea6a7b --- /dev/null +++ b/help/html/mediaStore_8h__dep__incl.md5 @@ -0,0 +1 @@ +6a927a3da3b572659961134227385f0c \ No newline at end of file diff --git a/help/html/mediaStore_8h__dep__incl.png b/help/html/mediaStore_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2c332bb12bec6cac771bc8879e43566baed7d51e GIT binary patch literal 27904 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�rZ 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 + + + diff --git a/help/html/mediaStore_8h__incl.md5 b/help/html/mediaStore_8h__incl.md5 new file mode 100644 index 0000000..9b64320 --- /dev/null +++ b/help/html/mediaStore_8h__incl.md5 @@ -0,0 +1 @@ +d7717dd7bebb043b568c405a9f99e835 \ No newline at end of file diff --git a/help/html/mediaStore_8h__incl.png b/help/html/mediaStore_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0ea51e7e34716a619f3872835bb1167570b761 GIT binary patch literal 4521 zcmchbcTkgCx5lGKIY<>z1R@9sgeFKY(nOF>C=rwnp@$xNM`v?|beWk6XOi9K_27y2*RaF#q!DkV8 z1(TA1_vFe&Ch$RGsjjRDx%l(UX)a8HKxj-=6(1pdGB@Y^wUezcx^|D;NkUbgYbDCs zIbXA6$AtX2q^H`B*w7hW7Uw9+^U>fC(bZ8L9jktj!iSc&)Ohy;TdnhmY2pdu20Zp< zPAC}_Oy}GAnZ?Fm?$4~=&Sf0>opJczE!z$}wkVeg@YYdDWM?H6va#8?eB}|8M)%QA zMU|^lw5+$Rh8BCEcs%|Y&OKkyf#%AK7cbHz(KfL&4&frayszgPy+<3pU0&YeB!w_A zFnG?J@?xIS@jV+ht|3*(BKBqaXz+ArlNPb~vteFryhd?E89f^d;C>Tk9YYVRdzNSao|h z4Yw^~VAg>>27^h+%+v@9lI2N>=GH41F4BWR*zVoCMnUoYOE|f4OTfG5RW>yA^xfhM z0goLVc$Acs4%S8^dy-&CB=RqLFcKOX%5{@WO-+qBSC^9$BG7tzqsEX@{%C9NRdn>1 zwzf<1g-E2OrG)PuJ6ZT;0|NsRO2+m{EK-N-W_w46+wq=t>V2cmO6$JWS)6d*lUU28 z&REB(%Bvxo8Dd!LKDt_`nTW>5hrwrux2tRhEQhjX(lRpi3=P$Eb#HXV-z}`Kr#CY* zD}cX`D=y}he>tFZ zO2T}TZ<6QwIM#u{gW$PkP;UC8ZXswi?56obOCVU>2o7!A-`}4m?!p`%9?oadkSyjj z?Rv1PbAGxH2YC$XqGh6?xg;MD5YT+W|EvN6g+db(6F+|ZXugKeZ|~}=@>tW&iq}+8 zf#g(HCZZ5ad8EKCqE}=W`uoq%r)i7!See1*;!a}+5%nX8ai<3 zl{DEvDW~b`wvLW)aB^IUW87Qw&BdcwQO@rE7_BTR!GK?`TA30$+tLye5;?j>+Qo$A zSPRjYfBa^{Q$-hFt))p4-hBP%v$1y$Z+?c9z^Y-o<9E^KK3roz(8dwOvDE0IY z{4`{OEVt-RVEuJ`Y+-BLwK|fg!;^AHF37m=qQPP<08ZT6(sFd+k4e^WC<>{8o)|2jFz(=T@O@Bo>OWR~%(aGsM=Q&-3N z?6Qp(!vFp@UTOr1p%=^@mvmle(bUn=c{%gYV^w?Q7h#3UZcMbkv2o(Jq<}zq+q#HI zvot3q6&0t11ifmaM8K~HdWBjX92{3sC=_G>$pR4<7w6&S?djWF*RRX3kC(c6dD(#Sl#r6bw*>kRcyiw)3p(9ZzQe?X%7TfD*R^dP z#+re%gr?kSHA^GP9f8CQ3dSm}{5bD_C(O>l@g^%v)7MurB_%~V;8#L#Z?Dvmx0@R) z7gyAf>`4q%+*#Y$xPQLcUsYW_FE{rE2o5UsJmROPw|60^ffCbZ!>Xoolg3mKL%YyjV zYh&`mF^<^a_j98MpRbPd-RHEnwl;3?cr`is3`~ph^fy_Olk|?ok@%dZ9n9j;;OJGL zSG4x__I%C`Co&i#Z9bq?&Q4D&>gr%pQt3N8u8B!W@8p7IYinx{nT1{ErJI_X(u8fP z@|5G3_kQ#>{U#P?$^|p$>pn*^l)0G63lG-2Eu}rMxI8#G*xug08c>pv0j1^CFdxZP zqF@w>YHwHcJ0w0`Vtf+MJW!-pNH5{alEkTb`7<7W0|-`0Ny*OM-endRmJlErjI7~Z z<;>Nni8x90@&j;a#!H?*wzK0(O-+rRKL7p;K4^k0yTl?bor%G)KZ&7l`{!$xk@TK!t_F4co^ssx?l<>H1ULl+X?S^gfs9kidZ|w&<6g(aSb?t&wij9%cu`GP z$?0+sJgB*)K4Qmdb+yQVJBKurUiQOgX*c}aPq)8>7uxosVZ{k#5h=;ZRvR}MmGt}0 zM(e$|nSmnwI6pgyoi?Lll7Snc)oB7#LLRoagF2)@~S-8MhG#DXXh?gYV_w?(RaMZo-C{!RSF1;qUsB{@-^bey$Y2VNg3JG z;0f(=xrq=>8k=Y-bTVCc$fqD9^CRN=dwVUH``=mF*x(yHQ3aYA`o$ypMF+LBg#`uU zK3QA9!W5O1-Xtcz03r&Ui47>lAIl0l^8@;Myc91daw71oA|yAL4J7zkYmkhuuP;yz zRBcyB2hiRQAQ#UotyD{`@3XRoZfrQ}mzxfhnKar>lre#bi5v{1HjI}zX*h|>af2U# z?7IHiu~=MOlyLnPvfS(i)-Nq1GX-n_U<0VbicahwO94I(LKAmKGIvdYAXdIppYlfz zthVQyL6Ai3`Kj+neEzk&q^hcF@$GXcSdV!9#ptlQ%DMv$R5n0@Cxy(&$cTi3Uf$lG zI|&Bw1O^U=!y7!;J5zWKAl0>lKfZrY$j%;&VGwq8cmMMB>&xAxE>x$38Y-hq6b02Y z8lWsHuF?9ST>(rrGb;;h@tTE&1qhYf#w6BnXmm2QomiTz=|p=+(DDkP1)=fr@ust% zGdFME9CPq@c(R%271M#d0_^EQGaz!i>UIzbZ380kA1~5OtiM9 zEIKQT>2V~L^+cJ8alPxMKa+0yPcPT>CY2_`AHE&X1mf63hbPqzd+3pgYg0Hvi0S7<|(H+O#T zNkTcAVJ)vBJ7Y$q^;$gE5^el7G$??B%Al9~S>@#J3J3^v#xUgBJN<7Z5I@z8-=d?- z)h${j6u(^-HMX_2ji6xo@^f*4!ye8A)T>R;``BgMM^!b%nsz#D>a+bSjg=oQ9JNt3?dk8WbK4XXWd4oA@GwMz z%V)Ejn~q!l4GrBz1G=be}rLMC~;I<83Lk*0RI6q#P)9 zJVU_Q;f0`;%4Qk+2m5y9zYzOBbN<&w{{IHr#bwr6g!YU87e0xdAtS$Qjzqr7&&Mr` zsjHI*{kA77D;r{HP)y2s+vYjPFXq)%`CrEl%0sNyMNsR*&L@r)b; z-1hl%oMq9(8`7eZo%L?b#K7WeN#iD;5pyKNOCOC-wh>gTRq|noAw~Jae;u4dz6TEy zfV(2!TIedOK)Hc2Z?~Litp~y2+3Z3>mB-|M5mEnXzYGV`MNz=KbDtLLH|=&pK?&1^ z=;S^5pkM5Jadre6n=2$Fm%pv7bT#?zuZ|W{Q&CX??aLc?-(Fc!2B6By$_n6X53erZ zw)5@Lz)v9lpeYK=%eyx}KVM?fNC&DKr~rlkt~=+ukHP21%2Mv%Rq~F8`umgl?%&T} z>WWv-&(GI2G)xykjq?rsA)>Vzm)26Ze%|sXHXIJ83e(C==qo}e{H<4YHI8{|B;xNX=EiP`*;I)}P*6iZ4({xX`21OZK*r{AZf-6q6_vB=d;8IXk>-=7cu{z| z$Sb()aad;N9RSIaZi`od|4BT2n1|p2 zol7f&S)+c&V7b*>ON)!S$93SiLBNi!Y;BP)F7Z`WRW|;SR7~mG&GxjcrJMkZ&Q6Zd zzYpvc6cm7%-3CbTc_|(?k^f<67ByPyWE348?I3;L1iU$E$o7+>%7y3ZFzfPQRv)3* z!1rL4=GLuS$*HNj&yVY8=I7?J4h}p(@D9b6UkkLTXlq~BE6`vS5Qtx&D5s^R&8yqb zAfv$tA8yS-feFw1t>4cMKKIoxHS7TP4S4czbI{yu%+ygE8O=PA(RV5VxzyFxmhXyV zx<*dEl;u5t>2t4IzyT(@C#cvI^dG>$Nn8k{g!0z&UVs%i?`_k(_#y`a?HNX)Y7&Qr zfrgEO{z1r}>oYM8eALN{F-a|n`Z3= + + + + + + +CocoaTweet: src/cocoatweet/api/model/mediaStore.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      mediaStore.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_MODEL_MEDIASTORE_H_
      +
      2 #define COCOATWEET_API_MODEL_MEDIASTORE_H_
      +
      3 
      +
      4 #include <string>
      +
      5 
      +
      6 namespace CocoaTweet::API::Model {
      +
      7 
      +
      9 class MediaStore final {
      +
      10 public:
      +
      12  MediaStore() = default;
      +
      13 
      +
      15  MediaStore(const MediaStore&) = default;
      +
      16 
      +
      19  MediaStore(const std::string& _json) : MediaStore(MediaStore::parse(_json)) {}
      +
      20 
      +
      24  static MediaStore parse(const std::string& _json);
      +
      25 
      +
      29  void id(const std::string _id);
      +
      30 
      +
      34  void size(const unsigned int _size);
      +
      35 
      +
      39  void expires(const unsigned int _ex);
      +
      40 
      +
      44  void state(const std::string _state);
      +
      45 
      +
      49  void remain(const unsigned int _remain);
      +
      50 
      +
      54  const std::string id() const;
      +
      55 
      +
      59  const unsigned int size() const;
      +
      60 
      +
      64  const unsigned int expire() const;
      +
      65 
      +
      69  const std::string state() const;
      +
      70 
      +
      74  const unsigned int remain() const;
      +
      75 
      +
      76 private:
      +
      77  std::string id_;
      +
      78  unsigned long long size_;
      +
      79  unsigned long long expires_;
      +
      80  std::string state_;
      +
      81  unsigned long long remain_;
      +
      82 };
      +
      83 } // namespace CocoaTweet::API::Model
      +
      84 
      +
      85 #endif
      +
      +
      data class for tweet object
      Definition: mediaStore.h:9
      +
      void expires(const unsigned int _ex)
      set remaining time to expire the media
      Definition: mediaStore.cc:40
      +
      const unsigned int expire() const
      get remaining time to expire the media
      Definition: mediaStore.cc:57
      +
      const unsigned int size() const
      get media size
      Definition: mediaStore.cc:54
      +
      const std::string id() const
      get media id
      Definition: mediaStore.cc:51
      +
      static MediaStore parse(const std::string &_json)
      response parser for MediaStore object
      Definition: mediaStore.cc:6
      +
      const unsigned int remain() const
      set how second need for upload complete
      Definition: mediaStore.cc:64
      +
      Definition: mediaStore.cc:5
      +
      MediaStore()=default
      constructor
      +
      MediaStore(const std::string &_json)
      constructor for create object from json response
      Definition: mediaStore.h:19
      +
      const std::string state() const
      get media processing status
      Definition: mediaStore.cc:60
      + + + + diff --git a/help/html/media_8cc.html b/help/html/media_8cc.html new file mode 100644 index 0000000..921ec30 --- /dev/null +++ b/help/html/media_8cc.html @@ -0,0 +1,115 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/media.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      media.cc File Reference
      +
      +
      +
      +Include dependency graph for media.cc:
      +
      +
      + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Medias
       
      +
      + + + + diff --git a/help/html/media_8cc__incl.map b/help/html/media_8cc__incl.map new file mode 100644 index 0000000..f3cee87 --- /dev/null +++ b/help/html/media_8cc__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/help/html/media_8cc__incl.md5 b/help/html/media_8cc__incl.md5 new file mode 100644 index 0000000..53804e8 --- /dev/null +++ b/help/html/media_8cc__incl.md5 @@ -0,0 +1 @@ +9225ea79323e1a756f22ebb46a9037d9 \ No newline at end of file diff --git a/help/html/media_8cc__incl.png b/help/html/media_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..730a13fc743c39dbb43c7f84b9097f0bd1d22e44 GIT binary patch literal 75576 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�keS<_|6Jdp;SNWN2}*mN_erXd55nO~iA& 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�_7t|$~Sd;jFs@VI61wD?vTlt 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 P1TS69;~E8O7PtNn7X0=8 literal 0 HcmV?d00001 diff --git a/help/html/media_8h.html b/help/html/media_8h.html new file mode 100644 index 0000000..6e612ad --- /dev/null +++ b/help/html/media_8h.html @@ -0,0 +1,139 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/media.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      media.h File Reference
      +
      +
      +
      +Include dependency graph for media.h:
      +
      +
      + + + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Medias::Media
       Entory point for statuses/*. More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Medias
       
      +
      + + + + diff --git a/help/html/media_8h__dep__incl.map b/help/html/media_8h__dep__incl.map new file mode 100644 index 0000000..369a4d8 --- /dev/null +++ b/help/html/media_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/media_8h__dep__incl.md5 b/help/html/media_8h__dep__incl.md5 new file mode 100644 index 0000000..1c76cf1 --- /dev/null +++ b/help/html/media_8h__dep__incl.md5 @@ -0,0 +1 @@ +d0ce17e871869ff302d07fc2007e0e6b \ No newline at end of file diff --git a/help/html/media_8h__dep__incl.png b/help/html/media_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3d73a3d1b759b0520d18db3c2237069a7f62fe GIT binary patch literal 13606 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 DYtF~d literal 0 HcmV?d00001 diff --git a/help/html/media_8h__incl.map b/help/html/media_8h__incl.map new file mode 100644 index 0000000..ca1065b --- /dev/null +++ b/help/html/media_8h__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/help/html/media_8h__incl.md5 b/help/html/media_8h__incl.md5 new file mode 100644 index 0000000..35e3535 --- /dev/null +++ b/help/html/media_8h__incl.md5 @@ -0,0 +1 @@ +b19b0ed83808b29acb543043c2ae39d7 \ No newline at end of file diff --git a/help/html/media_8h__incl.png b/help/html/media_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4b0fd8dd8402939ec53914a6ff4d3732d38586 GIT binary patch literal 71365 zcmZ^r1z42px9ErN?igY~kOl!kTDp}Iq(emo2`TB4E&&l#LOLWRr9(iGR0O24=tes3 zn!V4B^W6VoZy%JI`M&pi-_`54h`On(MncF)h(I7nG}M*#5eO^|1Ok%{9~XXd^DpWi ze8aWXQd34;p#OW*QkaZDupu;*uNyu|Uz_nZk9%-|w>4C3sL7xeg?b>S&T07KV^Wzd z{RfkKvHtd4GCjgCwCg^#$|n2AvJ>~2KFv{<(H`d*<`umSER~y?>mC3O&l>hm{Mp*LNa7;QfC`RnjYozIkq~IW@rRDOBJz$g%kkQSM%6~R4 zRCeI>wLr(k-TicJmz;tkDhe)Sgg-Je^6}$Gh3b0)AL4V|4`<=ZG~FIak?PbDWUS$- zsdSdDegvYTqS_f!G;vH4xQJK=QQW$^x(2sJQdrUa$_k;GnVI8M9Z9N?m8z;L?%Mjg zi1*H&`wt&tA_T2kiQ!dsPRcuX@3wf&J%3K^I8lj_ot=$9I5;?Hzr2DYB_)N}y4^dN zAx+oO(eX^3v&f*3^muPMbfGIk36*HQ{i7SUqJ8K0=PJLW$6}8rsg=TsJ6HoxgJpg9 z5r{hHxp?@?d_~*2;!LB5>*lO%Lu2EQi7LCBMn)>0o>ygLWhvT z*GKrdoHUiUJ@{HsKifn$qqHzLP-a$7&cHyRq@<+%`YOr5YYDt9pT>;bTn@G5$Vm0# zDs@!OV>&9TPL3?}d zA9{LFA|e#W$H(|2Bw>k(6pBhp3%`Cn9Ui`EVrr^rWMmX@K0R$-db=9;+gsz_a*HP6 zz;i#xnMNAQs9&K|a~@}yVRPth2)65uw}A~uKio*Jnuz@%^V&=kot59V%JR7iI|@Zf zP&h@Q_ujzBDD2fM#+sU%H|6E=_Xb|sbUr0e*-n_qwY zc*h=TmKGgN$SC0yi-CnZ|0Q2*)1TGd-QD`$y>NIg5T}Jt$=rwgQ_imIli~=4`}Z%K z);p0P)HO8~6%-J#rm#kjRYff=A}TIz1xH7I7Fi#|wfzI0)7g|gmgD_(A}uYg`wt%2 zEDdK5fBmXtZEY>m<^clzyCabk#p~siMEc;?~|p~ z)z25qtgK`-G&FE3n;DBl1O&lhVK}fKTU!fV2OF=`((qx|>FMb|T8WB@VQ)3!e;OD# z`(;O@nsI)-DulKQa1sc%tnhs~5Ij{_y}O5pjgu286BCo;Y%|06@89u>h`K=65C~US zS42=S7GA4I{Ndq~J9qB*x%lR)#?5-4b#5YqC})&FEar}{@$f8%9)PvT(>CFxNW45* z@0_r|KBYvCeRyUsNawZeY6xVeSK$CJXXLSKnHIz`(|n##^;xpqb4Ryel0F4aV4`$NYGt* zxt4LVy1JTc(d21TWs8$3;~fI3eRz1t1~yo~n3|oPeW%!qb+X=Rrt$tr4$fHVZH_F< z`hYW^iHV7ig~R?URoAXv14})#rO&FmvQpvJ zE!x5KYaCgog)V$y%6HaLp6aV zZu@6%E^Km|wAY3`tAn+55d6UIQ_`iSuZ3h+A5A_5vrqFrB3miqM_&rx()Vg^E}d7{ z2=qhq^Yeq^l2TDoArxL;ee^6P#VAi5)6#3mVfYQky`juFu%?WwV`WMemMu5)HB%@b z1@0a@w|ZTAkB4ya^b9X71wCUEa$;YCkEO-| zSFTUUp&F}TVv=_GpY<{$k@Clqcl))$^MZ?2CjfQj;NZX-cqL9Htr^8*cMr^jPh1>R zr22vd7&&l;;I`;R?-7@lmbzS=`^!ApLU^oSJ5qXE6x<~WK08(K+&flg=6bYq*Sx{ydTU!# zleDd!UDdq-MrKJD1PP;9JJ`eDF{y%<&GaiPD-%s#LIEf166sPNE1}-gGcyaDn`9sn z{P1$&jjSH94bSCvU+ZSc#kv0MSpd6;7D4cOeK=N8kwyB}pa_Hlva-m9g#{H=VO(N* z1VkBV%OdNurvQ$d>qaIq5{aZ|VCd-UBP3&yK_ECUU1EpDL#%@K_1XFPVFXlMY*(++ zCa}nMR@)D`td0rvr(dH2hlR89?QI0yIOX!||L#UKGmb1kcq2g>6qJ;(&W`^oX=)NC zB`0gSBjH@{_AGlU=M5_=Dq7pvU#@!??v!dn%E z%88BzG3KfHFVmal*Bl&-!AVIF&wLHj!eXYrPTqH)7}QTuQ!~2x^5x6=v%mkN4d%V# zp~E0b1)*OX+G^IIaWZS5P+=Y*-Al{M9qsM&)q|p58|G`XElh9@J@8aEwzeTQUE$f9DZGdvtH3jw zx3|hVD{Z=dW&GHfYr7b9W1y$EK0Vw`d!#GZ?Fo#zrZK;tWa_1+@CoZaXdxW%cH$#7taE0BsJV16z>TNk~X| zT>8Ml_U6BrqWgLW$%2hG(YQ*K9w)5nqB$tDY z8L#r>=UGBsGfh?a1l~{I8nZ5Z$;W%LjiNF&T@jX$cv|bhVPf{Wy{CY}-Q#Wav&_gy zUN#{xhI`*bLPF*j7W8ubMMdAT36?Wv%8z5RwfFI2tgL)_M`A+w+cehQwu{J##eG4e)FSeD$G%hGqzPr+TGdV9SOLR$;rXVNeBHl2bpzIBbnU;LXtepD_s zaix@#ld!paH}+^Z!{*V9`kF}=zlaD@!dXrQ*6{SH@_eO%=W*Li4tBYA2^&a%ySz}3smJ&QY6~iqEkUFa%^l|x%PNu@YY`vr83h= z`m3c#)!6%FSfMMny(jlY?KirL4ZP-8R|z?C8ME9;RRodux&%WdN?M1y`C;~`JFnSZ_ zp1yu9k(4Yd{O~!lKxdT{iPWjeO=%3dM~;C(ffhzSV^rdc{StLNS!roeF=r=i8X8(1 zW#trd@VUn_3=G!}Pd51`-gUEXZ&wtK>SS#o`1tIqa{XWQCS>K>56vz7u#M}EISCwl z|2$ir_gO|p%=#2oWx(0(qT*ufA0GtirRzjTzok?U3q(msFIhCx2ak^OFD>2g{PGS% z%HxXNlq)KyFAU7A|Emul+}FOl5d@yPQe1gSEGT$2O}K+4JUr{_C7r}yzcohME`09T zFD`tDdYL6lS)i?=AN>3|zvJ{1(#%Y{H-&|vx2t{Z=G(8P*h;-J~zIl@q zjH2ShhqRzto#=C|zo0})iK$lK`z!ecwpRq5H72+nY=}C3|B;ZZR*|bpA`nYI!eZCs zt{*MvajDk2Lw=%ulTbI~m;!Vp%U|v;e-fdL?~4#|he7MPR=&zg;m&67!KL8^EjU!Z zm)h-TC$9K}K9O(UjE8;woci+c2T|DtjkZ;e|4Gl`3Lh3)p7fT{&h?Vpwyoq31TVzyR?$_G_%6O;ua;xn(ZGWlXC^b6}Xgw;>DNZ+d8Iy;(u&}+gB}wAE$y8Y_ z3VEhKRQ=+$rD@}UFL)3Mm020OG=h1Ca?@FEQsWd4w_L!=V1m1Q@FV8c4SD4xVSq;dGDt4 z`tv<1HVm(<49t4a=&~U9<%{KYD=WOKR|{YrN`<=jQqKKBNl~DrOEX|4D*cWKPUkLU zgEKN1{`4>B?hVk(DRWT?-}!j&Lr=l{-g4H>vRA6b8BHh}jrP^6n_wFjHUgNds)W!2 zb4I819FvU!$Xseky52jqj6Ten~NYr$X5ztc2jAfu_=-REcQChvDRAG_tJ zUCHNDP1wNJ8Q_K6T@Evgw*ndEGtPPT`Zbx|Pt(e3-U;}rjO$C1@U4EeSu zIET2`61g_^_Tlf{kTwr)Z^v*T@Cl+iCFUHTzMew(9au!@%Lk$j05}-y#X*Hqi&Y|I zMoHSWYCN!@!6hZp6C>36w{8iRTlzoMN@bbf`5n>V!N;gy9K@wVd@dmlnm73h@?(p& zB2Y=17|xu&QfrJ6kUKUR8I~5``u6^pvcsjfm*ev;zw7U3hJy@=(f~`n*l@*rxHX4P z0|#`!@?M;f=Q`ojs3;b53*V0K-}To_2!&+NXhK3cT$jIKfzZsKpFIJEeWUX_d?%;) z?&o8Esi??4GV~33+1N0hoM!QfVpQs#2If~LiD+q6ZF_mWz80*9K{S#sE6sF#EOqyB zT%SHCO=PV0hiDq^g`aLzw{G>M$66>xhgIwmIk)6>na3yPAE*hOarda8ac@aT@e6#cW;*><|Y z0_0hYnYsV-np6s$sLR>0LBo5b66iYou*$_oJ}qr23aPbB?IaNZ*ZA_~U5xvno6G%h zDUU-LDhfRwu;qrgsV%8%yxo*eceLg->o4E8+1@T*n)JXqKB({fl0Wx+xt7-<(U1)u zpNNj7yDNgg#kDH@t;6OOrrNhlvuo*e%*;{EGR4gVA65swb+l@wIVkileLzJO) zbcT~G&M$jo`1nYrT^+!f3veK!N$G3)c=vkK=F_KQ=~90=N^S{E;r-(CO~gJuIeq;f z%rsAJX{kAAY)^Mgh1x5pxpb1A?lb4-Jj@*(dXQ?Vz$I*)FK9ry37KB2^52Y#ob7=pL%nz7rgd9n`4Go+ zL*z~*2}tlx@P;B(pGFE3@W7@+IPmHBnEp$ZFDEnsw+1^q@pu1RGhVU(-KVdsE2pTK z6Rkb)b@-;zR2>&u)<{YJK;?{Fnu{V41s2$lA}{~0-S0kwiT9%91FxAnXZ)@6Z{zRV z^}qI_k07-O%bIhfXZUuxe)XL?ujP{`GBPr{T~jBxYis?L*4M4lUNc1_-zsWpYxjl` z9V{$*8PAGWxM1P?o^UY-bLI3!t57Ch;Y%}J{PQQSS%xRzw2C|6u%ldG;_j0yBD&7) z^?I`^*PkwaXSGJ}EnlnXf5O34Z66rG^V;~(K2mk*&w!g^C~obCc%uax_krENB%u|X z7T#Eqx5{EiawD$6A|L_!u>1^!8A{Lkx4bsxx~AXbQ7|6UW8v2HbcR{w-qU$hWyh08 zCv;_`Y>Lo*X_%hrDzVVPYPI^YWC&Y(?;_XqOajN%{Y&QNr6TsatfM7HAU7$hk00X- zS_QPcDXVa%r=M9=R)_U3gQUVD&hE{7L%v#=ijxJb-}Fc=_yz^mNGosa{X{9khJr& z1Eu359hFb*sO8=NXkvNldzcJI!2{#tM+Tv7m3*L;T;Cn%IqaDxiJ#TlaQx_f!%bk7 z?=8K3Lcz=&M!_*@Gng)yzM_wLBa187tUiTayo4j*{JTaCGk=n%8tlth>2`OyMX<2Q zNGJ%pq_i1`fIbyA2JC+5KL*j4ZoFJJJUSX1+@p)jeO!n*#T-q{&EX@Q%S@vib`6iov)>IhoYJBGo>Q<>F0c+Ol z%6C_KPLBpF>zp_}`8!wtRuE>|?fh+tfvAd}X<}pzTOb?$&-LyN}H$RI%fK3X^?odvh)lHSgk+ z_!C>rHNjT4mzj+eSy~WfNVPbL%vRgGL4FyDOpaW#0DsKG2ysFj(@;m(PqF@i)rEt( zh&LL^jkdk|ypVR}`W~d9!#er1QLQye{-iz=1qEzcL7C_XGOGC>wj{>mv%}+y5zZ>R zzck+YJzqXOI@$R{hVymDv}XSDH3}YLa1YVHwtp_BNqGouOh2pK@cg;Y;C0ijvufNW|8&gX;>_*OvcQ;3CMx`2|Rme&4U>cJ5{o(pC7B#c?177 ztIRU8LJBu-;6XIo(;obYEwS=$YmV=+7(+mS*8)7-n>Xs}`BzMCGvum~x$Ujo#V|1N zui~K8>+VHGscS=+hu%jh{#AOe*XNY|G@t+vf=fIRR9ec+EH7t}O{hbw@xyzcAID)V zy`$CN80^hc2nR>9yHY_cDEs>RJHm(-AQuYFnzP{Kwr}t6N3{5wz43A;lIvAgz6+6k zBK^+pU6ZDL;#(DRp>qDF*57#PmR4@jfVfXJZ1dkLmkBc{3@~g^rQ=WfK*z#DMwak( zYrho(@)3TM;Zy_Dlvr)9`N>+fEf8}mZl{HjTuyq%F@;n?okM0Sij=ExM!yBP{#@eH znG6Lpvb8&;OD|fGJdyZ(HWZIwX~d2OoQBQLFDKhxZ=x8^ZfG@ONJy|wzo)`d>wS?X zF+>1IPbp37AF{ReBTXEmc+E(enE@zxj@x3zAu}U|KPmcNpTKCETU>-E z>ghOs-$AyXCb_N38wa!!`=6ADf!3=f=o)-<3gSJ#`!^8CskCui&8r$`$_>#}xch;#&sACf_u6?0~yrE4e zu8y;735gt2b_<;q+1VY=*R;A`iQA(CJKd~v0xSQ!Y@X>}wuyOZJ3Dz3ZSvTB#+k}a z<X)Rm1O;~rY0-LwQE?5gEOHCLpop*St+ByQpL^BTgSKh zo4Jw*pm+)3Iq$A_$7pN6s=+fZR|dDp7EWA6A*~+P8KPm`G%C=f|Pcj_=+i5VyGg`e+!Ie$O~aCF!xc z?qK^X@z#l2K5{NDA4sop?Cn3JPVU_K)jsJ%p|5Y*F<35ge(J{j8s~D9am5ZfIXMO- zP?BzcNFj~s0ErzO6j+$I9@O<#HcU(X5m3UW|Jc&fcww!X781U#-Phfi#m~zue4%+u z0D^25CiqO<8yqEx){DJ}whLyl2l{kWTx;RgyQWab_;m2S`H1<;S2qNHgWnN*f%XyA z6^1qkL)=%djL>`Ru^PUx|40IYbjg}W4j~pzg4xDGWD`?D5fQx)lvTN+ktvbX2&l4a zzSQQjKH8z0s9fNOs4g0^jO?6F9Dc2@klVVro5vmPp75%8Da3Q~6t0eEbq=i4hlHTu zLE@LcB8Be{t3tN?=|E2}(fUK=zKa*@Wn2AYW~hmwom2e*3A20v6#>Bm@VCm4at_y5 zTxw#aG}29XQZsx7;gyKnA35|}_-+x0$Hdf5B=V-8`Y{~uZ7bA1d?oqB<()qD8~&u{ zQ!homwx*nWDUcbl%`yxop9p9FHw&<{o3B!*#Yx$pu^P!^KwWVr0DX zxuo9s#3WfM5F2+}n8Jt>q+L@>QIWUxB7iAVMkBm%@p6sxMLyg(@9*l_*2!k!!s=>t zPuyxGvJmQbJZ*Snl*6^FgzEY4yqr?iIZbLG3PV~Yuz1JtR-QhCq7o|vYFzQmNAk^n zFQdlFm^#0IryLx7@sGugR5tX4dZFHfhCq4J7T*e0$ij5f(>`Gq$11B_viZ9rnkN1> z^$WGSp$Na3Cnn{m2sHuw0jVIcKPd(%UWbwrUU0!rFKHcfi0v7#O^7h|^wd^9{;g5t z)IxrCTozims3H@X$quC}UM#4?9&59+>m6=1J-R9ea2PH9^tU>a7ZJ}1rpjtgn3&-m4%D!=#;tzdW=qMI^$j6sW+os@ zVAnKaOWZMQ*uoF`(RPCx8v`=Vg{}*9-Qq55tTMFzZxw0HQlbk=#Ka|C0|QLAZV_$I zcx7(wG)Bk9rc-8#va^$b$SdmV1~71O=OlEXqL!$UcUeE7TRE> zJbM;B7qHv$l)$3l1wqQ&#UWAahb0M6#Zodevp8>j^@>+aY;<~O4XZegsf+vNRYVMO~k4|#t6fJ8d&+qd7d$_!=7rn;_8kocXfk0tPy zL#5KC5jny=(fpki5>|AU4R${YS=f295V4L=meBjXy88J$`rqzN33SxdPoW4^W!HR3 zK!A>b;Cp1kkfLHI--qtIC^S5Qc`F&(smch6?MGjBqiWn%X(R0`>Q`&T}k) zP;Abe|4`xb^Rx8&NJJX{w5|^Kc>fU&U25I^uRVDmTfM#YYaZ4jge>n|*U`bbcMliJ zXi-HLO{TZ!a4A|?o2DrIOTWDxvi??LU{bT>kZ+Q!_8lqfgG}aH?>IlB8m`KHIpHct z5R;c6aetVNS?0;jHTp{hIXM{OwXbd(yu}f(WrS}e@ULf|t~^WkqYrsze5#@TU~R6A zH589baHJJfTheDwYJamW#P{F_ddE9Lr)-Dc)Cmh0#VbXW+Z^w;{feP{TU?x@i$p&0 z)=`B}^z+Wu$fdL9!@sm6Y9_TS)ZntQB(Xz<0`DW2tZaxG!UjcC4wI%ahzXQT*ixt@ zB%F(i)P?;)A&}h!v9RYTqWihcnpNow8_(f*J_HqG%gnbGI?Kel6@fTP}lkl z^|V#j-Bt!JYctNpp<7)QzY;1am1b+$xG_t zAuf5XR(XB$+na*@4W|rPYqL*E#P!gt3y0gUf2Ti-glN}4hz2*Ges*b+6^*5hBTchROON=5Txj=a%(od22klOB9ww?V6Ei)UkJ3F>vzRs%#T2G@7##Cg@zXT|St* zVF#IlwViFwyWR~?W38b$acx5@|@(WYNZ&EN&kY^nyuox8uSJ3?C3bq1i7c2(b?`q`^j zagefZAG$JMx$+qLuMyz46JMLTOU;gzExH~!arVU5K7D1{eNsL(J8QXyuZ)1hXz7NW zW31vJG@|#W->wc*)lWlSwFJvvD1L4Y$s6e9_cgKJG}*{fIzi}zkS2m@)_lkmBoAT;Jdn(@7cxj^0ncyv54Xa-M7_v1O!M#L_~lO zJ5E(lemqrYLA~&7T5rcs@&&|P*5iFSREvn4%cUpba^A} zGT)vc#U(Coly>#etKmu;rG*%wR`Q-WCT@U6@I%<}2?z)}hqIM%0PBDXs}=pV$9d1v z)6IE%0m33gU`HvV#2hDXLPsu&E%_5RH1z4{=rDp#1Fv4a+Sw6`hXW1TqwTiSofw2d zWNa)oyaSSU919Bzb|Ik~-OdCetue^{Z&vZWE-w3Z1tH3>M4sB2q2#(^Fp zkKe`FLHBGZ8@}S_7Xo3>B_>2ldr|}0^Ym7kDM4^>@Xk8=b^v(k{W{P)JQXmjqrNwo z&f~r|p$Gd!`|9c=UTi!(B1m;8iAhM%ceh!as0uOU6&Ud+2w{`)-PZ=j?Vl^cS_ql0 zI+7#sH8eCf`wgdMUr-~^PzI~NxyI4S32-|EcRd4Cz>TmSo}9!WLyOvjqa}2;_M%8x zNxMUEF05x|xQSUU&kdA#rMdwxN%i)&I+GH)!$^JSP0!@~nKkB(Q zfpMK2TxcxdSwEmP|Kxa&2hlz>LXJ=>0Yu9Le$#Ci%zlU7Xdcg+WUqL}ZG#8STlr(#Ca@j8c zak!WjSP9Mj552uzu&tz|r1)fHy#OP*08jPA*Y_s~%FbC#lQYNwuzctxZSC*(0H-H^ zc#z9^psvix{V+~7k8LphJ;!LpMJ_O9HdVQXn$UHliH!}QZf-7*M&@g~a4!G!UsL~* z%zXnJ(FvO~J4wsHz=I$MAd53_9S|i<1e!z2@>pvswP?BpY)In8G?Zp-fSOU+2ShKf z^3l{)b`Wc{NTL6JbT&CPMFe~b6-Z!CZY~Z&(b2K=)C9<-CBP8@{o(Zlxai_XH_>&V zywtU{_(o)@V>xNY0ME05&xNox%Rb!wb7WTM$n)gMlaKW$APbaH%5tXM_#wiM6T%Df z7e_auHcsH7F@sPXf&l>mtjrp`8!TFc@Qn(BE}X7J&Ya=l-ZV*930&g)aVjybv|y(= zk_plzHpu}+i*#=FK4A9G`2h+*Us6&cEH3WvU$dc!4d!74<8iF%%I$Uyz_JJ?+M?ULBI`VL+>i}9L@EO8GHJxj(m-t zkD})SSuvyX4#oM3+|T|R3p>rm_BglscO7KO-R=q}VNcPdU|={Jt2_R?${{arCD%fN zV3G5?Jhy+Xmy46r8eltFwa* z09s4Ca+eTvpPYsUZE{-={4TYqp>i-!4b@ZheUABJ>9_Gpj4Pr6Aj(`XPsDlxQZ69(3}3btrSt`4{l zG@KVsiX;T{e0umZfnL~JA<-O-hJaw|L78G=auO2(IN~q}DVP`Z19GduP zfp`=&K&4=q<_T;;NyEuxTcA8>jrGHagn*#NGGE(iS>#=o)zepS5M^<1-9Un zc8Zo|CUsZD1sx>fTiY*5mAV)qiFytK9-jO2q2sh9=Gk#Agd#7cJlAl!v?s#shYklk zG=Pi3Z(m(h2X)x{dIJcdcIURUTR-gh1q2pWR-(axq<%U|0nZAd_ld}pt@$h0E{=8= z0lcb44Vgvd%g`z6YHNQ0;eVgT&qF8_53-5E#{|&EdAebnI`I733!Ef%C_ln`u z3v%iF3D-#86bUmozNw>SEAVd$Z*Qrz-SOF5qA)Zv`W+_?j|)b`ot}y5Cj1hJ7RgpWPz zQz9mf&j%PI`^=P;u>nY}s97uwB!MOYa4TKl*M3#3L#1qge}88=zPn7~Z>xCcY<aQ_gMdmoDMJ5_z&DLW`akMy;1DC`86k!tv;&XTFLBoA-b(~DvbFCdnCw6>Hu%%)7TB(=_P!$N=F3|MY-<1}p z_-fm3!qFl4P`1gs>*;@73Cp$t$^SSo&<)!9EGY@)tf@EcW58<4 zv1Xz9&WV1jQJOvR-A{E&qbJZwuv>IF%Faege zeq`aU>Fv6z<9|P{(yMISX!@0%G7X@eC6(w7l%yo3v{!t1@O2OL?o?R*wprG9CT1MP zg&r~N4rNAty#zp?;9D?(^8{S_Q++phLsTLg+^v1pJ^(88_7mT~UpF?UyLIbUgZuIq z-ysY0n0sJQV6*{%|Mm|bu$_RGXue|$t{^=<{mt9AF~FcNKoHeEd*jIy$wugsgDv#? z`^^}NgZ+ig0((&aw-a9{cUc_FsIOaITC)D#mjYq6GR#mwSPhj9`J;WXX?8z*;?Th$ zAc|-j{l0?(76Og+p}i4=-Lo@;?d=GNC6)B`DJiL_s_chYM$0YC0$Q0QoSxs86+o## zJ)SoY-QC{37ue85ru_NE-x&FzzR?1m#Vsf_{2BZ$YNOoVTXCrduFrq_9X6yO5QbgP zlJf@wZg0>(#$jab=TEHbYe5M@MmuD$<+0ve3l=VNXYH&vyn0Xp2uk7a8cGcqtFb9JRfj z-&*EPo+Pq9&zrk`J|&>Cc6KI%ZR>w2iWeRpj*eMpCoA5l>_SqbS79kTT4BWs@myCF z6*oB@o$(zjpzdoPej_v})a|aa>qQ_E6BF_A@!KJMcmrs=fq?lLHAt z8oo=NCv@(&&~ewo46w;8v>Jvs=#-tQo(kHP0%onDuNW_UVg$tYMB$KwzkUsnp{ zBPGYED4e_|E&VyL94M5;5E%N{F0&&XYvKXFj>Ex`TffgYo%3E{fp!2A8+s}C%e4F^ zL4bBb+EQxSVmjN>|8F#;as^0t{~s9upb7;<=Me&NY|!BIm!j^`35K}C!x&`Y7w9>* zo%>)TrTn61TLd5y$|K*|-33;!7&XLk+tkz+qH}c(jSh%@gzX2@>*J^1-6awqJs%JIng({xjdfCm{0==gTl9PK(j0{i9;kZLOmO3*hpkB_4G-B-Ys`V zM#hx=Sq(J5mhZ8@W&tfCXq~YOODwvnN83UL8-}Yopo`cYuV~2Ld@Uo6_o|zlTNMX6 z#Y98!^U-R1o;0~LA-^*ZK0*4o3Yl^`kT<3R-xI^(3-`&ZG2u-7@@Xj5=EsK_7{2K! zF%pCaQVcj5!27#84&ldSG%^g({-tEsMkG&0zE%qbEiLrt?&Ul*0vkSj@elr0f1tBA zv5i$?s7E7B3bFDCH%!!Nc8^OCUz}~?0NG9rwNdnSX@%r)&8AeBMsnXnbq~JepjD^O z2tXJ_>{j$wKHvff0oS1U0bNZXXghlC!zc8LFr%WPI$-YRL;UuqJbjFk63Qw&L({6N zm%_rsKQ@CRp@hn*PY4RjAbPHtA=PNoxVQdoNkayH0{BV}v?;+9DXd8v21C7~t6SwL zQ`*qrEe0}UpZuv`US2xni&6Ic6{@2yEijUsov$n95<>GDg0C>s+LCOoR4(Y= zs{y9=Cck^ISUDvfQ1e7Zv({5=7Wn{DD=TAKbwVy~ZdQk}L)*ixeg0=f`V`n0{{wq? z!cWER3CRr$x{C+YsQ#K{zOIT2CiJBzzQ2SSCK^04%dY+PU?^Lv4!oKKLasYoDH{gg zLIF|)5Df}WZs1KKkr|Q7?Kd*=Dgj2?n!B(J0yyv=KrLdn(jP{VTKhkY7SDVDHFd(o z;uvl^c&MG;zyy>XK7LvZ4IeI_e=s%z0FeklqCvha*Dl{J*UeZ-lX=e+5*pai6W0Y( z7V(f&4ZpkV?{`v0f_=SRsEt{5b&P1_Z7N>C#Thk=j5@jWRf-gjc+NycO)cLr9)ok` zgN*^#RQev=Jv~2p@c%$6fT$9P ziwBHr8|r}#3)=&s0Dd?Eo;U^>Hf!^lHt^RUO%YdHI;ec76x$E!Ln(}5ZORJ=wq|SR zRV*ozch;~5v&H9jJ22yQ&SXL8D*4ane1K4+n{(VZk`|V|DbQ(1NeLk?Ssipe-9Pje zc8(ti>SndZ0sWE#c$EA4BsG8-OOv%cHMQa&T5(XkDlpGPxcKYS6buaEp}TcJ@PJ8U zvTXkNv}~Oc=q2RWf~qNNjY`+h9Sx07ojq~?hxQYHD}hVuh!vIh!%JZbh7iy-{grPx zMYj#i)+BS#Z{C7D`7V)!d;?1+zg+W_5=@kN*~;kz(L!h8t@| zg2t_wGh}_~03&hTn3jc3a*nqf1nFX-K!8C#Mra2~KEe%MhUmK!m1R%%mad(i-rL4% z!1Ot~LUr}3mN0-S+OI~9)+9AURg!){r5fE!hPE8KSzn~*nRc~I8tQD_@m$gQTK<)R z7c}NA$9!U9yf=bP(w{xMjONKw1!a|i+Jih>egRk^5PefrLq2oEv4BE;8 zD2zsgU>hLe2Tt$Q*>qONamtfI{NepvyWSqC2{Hh|QBx;fTR4vpw#*nJl_X*8}QDVYY8M}WE0n`gxa2Pl|Ju^$>N zp&qjJkA{6gKqJ%p>mSx90&S4NO29SHAc=GsB@eA`Jx8~2 zz^NdhUD)U6ZWHY4*9D+_=DUx*08&$QE3PdUy0;otKpxma5{%|mfbj3n+9U=w0%}VV zX3pLK=wB6hp$vA9CQ#uLE%1e_V@DlBn}V;dmc;;VF#l_Gr==T)pI&b5`kpZ-!-n3u zGc2=~1x5&|um8^4t{VMZy?}+P zp!pYSrT@&^X=RfzH&6gj0cEeBFcVLWu5qq>vj?0Dmxzd?|MjAwWAMx55bLCWi#5GJl5$Y?=#DXSdDFU6z$Q2;=p zF{i3Syh413d;=?)uh27Kx}RR@KkTag~)O=mMqv(5w>l{}xiM(zR+1T^1J8 z{QNh6jFsIttSArD&FCL)@fF=$dw^kKfnEqHdLiZ(2R}!Pry8EPI^|m?C?)3S-|d?8 zAprQJ&m&QeB8Jly9moEEZt}W8HIU@b!`bjF>#a!P*i7Ch#rOu6Lh0M&-3KNZ^9cc) zfyOXkwk7rO@E`K1e|0ep0B|U`nATni2Saqc_aNBkZ|mi*J>?X}7*5Ke-=E1u?hkW0 ze!r4rU`ajEm%=)J<&ds+R-}sl5kS2EgYPuZZ1S||L{DgadrS1D(D;4Rxj!!e z3H;_ysG$uBq+cA+z=3$(-MfDn7;j&)jVODEi}d>$Yg}FDqaL;_7@O z;de&>lRQgI4Bc$oj0EYGdqC*shYGir5@~VZ>b%8 zZ8`9$aC1KJA6jf4DtqUl4aimRTjOicUku8yz%%VtR-bu;imKf1Wi8x3n4^H~&iJ7( z?}s|)w%GNlP}h_FO?Q@4i8rX?b4X~Q#1I4QWpJF1H2>`@HL4B@>I0>>-ADrh79wNK z6$|+Sa!*fDYqS0|v$O0sZ`}$iTvTXiG*wjnvpW6}KF=X6jC=ih!q)tCLTZ}3Fo8uI zA74N(S;+wz)an)mIf|l49YrF<#YLd2YX)SQXzN8Q-l}9CA$+#7#yngvx3S~%=R^m<7U213lk(}oSF+_ah zZz|^K15ZVob)}jM@|wH9y}bb~l9;!~Sqg0P)=smOSh#8J9oeF$^#v{M_{A8!N$Op^ zJPUTiZ{mhW4a3_mh@}EeBhUVh>+oCpQPw*Ngv65$?E4e(CaqZN4&tp%xZ?O8SSlrR zl>p9%k*n&FfAHK#%zn^j`u#5Dc*TY0kQ>qm=IyjnGgWWi-~ z&NV{9!E8`dQ`=pf-vs;5aOH}Ann)L^LE(OQdOGpyecR1X$;M0L&dAf#f{wxX{hGH9 zHa6QP&4-+nRMo=X?*szQzqjg27%%SPH25A|3JGBWChp|lsX$)n17fA8_YXID`T8I! zc7)Iy^6BHpu(EaDhNgp#>Gw5<#%VaXvt4`3a`*(dgX$i6nDkP38*=(f2M2Y1uRf^s z^G3XTwUTyY43U&t1+r*r?!dgfWH_-% zS?Wo2jFy^<3%{U6ba#fdQ1%UPEIiLV-EieEdWp)6@l8!I>#KfU{Uheb z&tL0}I{QC85OsGSt@7IB9Mk)NNux2xB__s#-fcxiTyu-2uCHHVn12r=KJ0TUD-;oB z@kulB?0)_!{TW#n8*9#Q;X_z>L(Oh$eh|HqSK@EmWD{qbKPjnyw8MsntaWgm-^Ka8 znubfdhOMNu?$hL~_>`JPBhTh(cu&_i4>~{p!koZByD`^~bWg)%!(u+`Vq^D*hlOFR zO4iWZ!IRW)PZB>;9uhj39)ru=)`LFPL6mXAU@L8Mv$JaJyPqyr>-#~ z#f91j4f2SfD|SbAfG4phc1a)1k2Q*H!e_p#je5FrKMqJujQ~ zx*mQji7tc<;;SaV0-+rfkvdK=-B?R6CG`;YrzIyx-*JZVDN?%pjsHmjFe~n%we=U9 zQUx%UGXK4L{Qk5FgZ~L*2b>Xn`?lQ3qxcjb_U8Q23}dW-S%}Nu70jCZBWWJYJ2(lf zh1r1@f1&bRyfif)>A{R%%>dvRHoJe=4iBGZ8@=V)+GED%<`x~R`p6B!0JfJEX85@O z40%~2)oeLAn_(zkJ|~xIVPS+!{=#u?K8_aT8LiDhLG;rtCzOvLU#YBmaM0%D&1EP? z<*KMcS!`8Y>^uT_O@HR21hB$GQl!N_{VxNaoJx{(bnF%hI3jaU%b$04V_deZ>FXQ` zLP|c#c~|>LunH1gz)h^;J$Y-qduvkQ-ZRXF3w$ z;M^V?Q5Q!G=)p#y_41d^`9Jr%rQ$zm=%RmRfV|VJcKc{?9duFgzlN)agR~l%Q$vo%B#3Sk3K92f3eYW5<&X@YbGPgdZuv~c;_g1+`^4e zkJ#wEXvugb5SLO@4_eqwK*Nzlw8Y^B1%#{j^Jryc&nPIiiN`C1^1@DuU6>;{)SPUV zzkG$Ec8WS@)^Tfxl-8$1bkInlxqiJ$(v1uEM%FzTt!FqpPARi{S1lS6O;~1!QcQ^E z)R#w}di|!U`&tp6v$MpQtGc*cxd^>PIrpD|Tyb2FxahpVu&{2sqa6hqzqAl`C2e59 z@csRDKw^xa?5~MCJ~I9ZLphc85;h<)`30@rYu^JouI%7|Axg*!WMMNbED1301)Yl7 z+QNp;f41+zSY^G?>WjkM+(9W6drCGcYBYg_NznFSgWSBWm0aib7p6Cr(mrC800eNL zZ1q|;y4j11)On{G9{)GDXn48xFW20?wTX95X}$4!651~$Ua%KIuMWz7`=@-IY@@zq*Jkn%Z&*ivWCp7#@kUg=>v*~dlAcXtsw+R z)@%(bBZz;4z+dZ+D~pV_T}aV0Nx-j-u;Vjlp`}f5nlb&#*o%A1+#EW|lA&05om*!I zvXzeCU9z3SQRFT#rTjav@V9K|*~zE-qw2t&t`E1hiQtl~V8f93m`Kze^y!o}c~ObD zFVQkfZeigPFMR}!4qpE1zYVPlLCe!HFmqdfbXWwIvptiCyV=e2L z&fxZ&e)k@y21TRDRZsro>h*iIb^bJW%P?>GkZ_Dql-VB#+7oBMbHF9w{(afxl%2xL z#jE|#tYtML$C?$%C&hN|)MzB%in(Wca`LyLl4spr=>hpeIZL8!7Zkkb1n%x)h02V; z4!we!JhRoGy;k%FcyRd^>#WI2<3s(g)GK_KDGq&(SMYRYdHeS77STJW#l_uZY=d_R z96VCj9Jfv5qIXD%+YCF`+$P+-Qm;Qk{Z+fvUtZB0{C<|f+j}Dpjn>|dOl7`|r*qoL z`>*a{@cdm_Uv}xzNi89{%Tr&OvvMVCo0=l1B_B)&RDqid9q%48Fqa@r{q}rnW_ER=mL0Xv z*Y8a!z;~FvP4?bkXc%^~(kD5{RwGVS({4SR2m=ZK3BLbM#;PHbl`&r zG?4uw;eA8bOzbcH>K5-r&#uM3Uj);bArH zwy;{^_wdj-;PvdZnEXkf^-4Be2kZG?^j4=^*#0jGx-*mFHphwDx)kf~e74h-D|D!^ z;;svAm6pa_+(P5xoGKqR_3LksQ&?)M4*{vAcQZeqW?XwfYUfUVe}5U23m~4KaXwW{ zcKlj>%;0!N!ujb=GW~$nIpJ7r`f7Sh1RbLI*)JlafB)`-#q>clEq0}@E|>OF_fFo7 z=H?@|^>mDBQqc&AgFlLCiOA_SrTMUGX5zDR>C5HncK5yEw-yyV#zYquj;2xSsBYrE zXHyr<2;Mn$qq|9K{1M$5haEbhpL&zPg4-`9AyJchnAd$slM?ST56K*htHY%itasvE zLtsd26W879j~@kh?64$|JafNZkqZm?x(vhUI4Y~&tA9UhUkP0>)7{P|Zj6p*JtwO< zVKqbd>GPI$Z+n}2U@{{!aMzv3J%1J{0qU?KN=wq2p$5h`@1(_49>m3k zyuPJh+v>^;xB)f7JL)9O`Cm`AY~LaErm3mA+f$2S$vep& z+FOzma4cO|?l8u%Zu?Ml2ds%1`=kUo!Avr8AsU>qcft{sg;?uUE8&@+n7UtuZ zH@$ZB)G6lncHJP?=YP^QMBS&(h;6u8pu&g)aKW<#$l6{cnBC_;b08#XVDCt>Z8)iF zo>+PA_Sv#BYU1HNIM|}@=s5hiHbu`(BzR~?t#eTZ+ZYwPQ_hGbSZL@rB zr!?nQiLvdJl)nbSH3MGQABSjSqPa_E_ScsO^^4@)>v%#}tbBXh=&9tZuTmPjq4-L#7)xsMEV z_5J;OPmNY`ipFiEQ#fh9vo4gK>tyK#Iuyh%?-DP4Dw}CO=e%#H)dSjX89yS7e1AQy za2Krb4x$cT4`+!46XrO-@EWWr#GW_q?Y<%VBq z=m=oj3Y^-)-;sau+-pYLJKS?BBR5+crXBkBheSmsohA{z)6yq2h%w6aY6Z$_QT-1w ziANYybcPe<-2$;{Qq|L2dm(qEqxA4XLQ;wPnXheZbP5WJu7}T`ml)S()-*NE@ZtYB z)F_GJ6|2K%qm2OT21mY=FmDtYbl4H*6ZgT0VrkBT%GTDx%ljp9qd*f|#Z5_NzQG&% zWYP&L4-{m{q&R3gZMAPJKF7~Ux-er;*%0xECS{kHRfzGHEn6HveJZR=Q~SuXo1a|{ z1-A94XD+BG@CQgFsE&Poeaj=_c1$9EYW*E?TA)HoSj3Oj4>EUf6-(`e_AIKRf3WK+iI5ai*6GCFa zcZ@%Orq({k5r|5FF!zL_ko@}dV}x6IN_>1~d8qCfU6Gh@5kx6HFxIy1 zk{VR73+-TPbXU0eeV-eR8-e@Gcw{Ok2Dk{?N-1+5X<6-+B-U>>;4_%p~C6S^U z10o`17gh>xhBXcy*3#nC)O=@swu3J?xW}QlSiGmWGdM9(c<8S>5axy0W^aVl=JlyX zyYbk+e?=Z|@yoh>_ik;XTq`z3AUPR+ALb+qpFCT7W@%|o1trgb7nkJ!x8WQd_uh!q z3qVNX=)k}R3`$bZ>DTeN@vKb`^Wv3pb%wNPO*= zo9p~)pb?O&hzAF~yOvi&Up{+w`Av&=`l*r~IF%JpyFA~2dXc8v#NG2Zm7U#HDE-Oc zYpH3`EuHh+xI?g8#`ko~o%r~m)YOw3Hq@VKV6sB8Og&X{0!@zp?b};0`;a)TvU^GZ zL65I-uqMFx@6Q)Jy!#>^9TeM=j(Yi|rshuQS-!5g%2H?*9y&NfjagoBQj*7$d}!pE zx(#&c@+iGLim8O)rg2rZO*+7FW5m{(V-5j?guGx_}-o9TLdS`eKqTwsR9| zZ`yW2Yh#;ZaS@GqaR-7+ar~awT>snHSR>A3-@WNS{VxU|z}JM0j@}!7;q&mJ4}#B8 z^c46=&?QlQ+_d))I`!wcEQc&C*f)xH{R-G;{TrH0UaLz7E01s}d`etqmQpc2$Bkm^zSbl^cl@}y@8vu#_}=tb@tL%?#@(HciI0y2 zNyp}Q|2Xsg69t%8Ih~yyd-1-zyZ%j#1rb33c?+Kz5qvMjAru(x_5t0^%1WR6Pa`S& z))huX(ykcwL>wLzLR#iMz0=I`lE=-PwRCjEu}T$rbacO8U*AodqvB--y z4)1)PB{y{cG|!$DF)}hr1(xRbtGjofxKG5>BBeEyy1#Uv`g&(qamfyomzRGEojvO% zCjG?Bc`lYi8948d-<7@LKR-&#oR620`;bMoW5|OMFx%XD>{w$ z%kx1*Zyn5fZ-OhGkW>UOC1`rBx5znUYHG@@5-M<^M^xy#Iwv=_s|_hvG!L0%=Z;8$ z0de>4T^qBlzGt0!D7B*2LK~y3touq;(45sP#=aR;VBy|*An&s8J#=!LHl4-R8{&gd zaFq>?iP?wfM#GzQ;@NYV>Xv(M?3{58Tgw(ua;w_g+dph1vVHr~>-z*eE$ARA0KHv}tS91@68%(&erOGV-{^bX>j`mWeh>HQ@A?la=`+udhb%PDGt>b=^sbdV*hb7>b90A-!p9qcxb* z{0r_0c#^ze{}2bJ;Khsa@8x7N`RgAqz#de=umKZmdU`H9Lo2EQZ&(IcIZS!~j+ zugtIlw@@-=RpBLrV@P1GNQ7u5w#$a*=2sqgSy~DZFA5}JI^e8eA`w`WkSN1AFauZ#BTy= z`RUVU5ImrP!wcOIS`QBoLav#zrfR_9#C%27wOIyy0E6Sl10XxR20Sgpyw#VP9XlQR z7=M?p|1HJO;@V{yQHj=7Pmg)Bw*(#Ny~_Bq@)2;gnSh@mNHVxNHA8=%`7U1}VCV+~ zSZ{Gj=gh6=mOtP6_US{6!vUccAVSya(^rI*lu|rIVuZGB3&MCO)nj}IfnMkNB=%D5b<`)Gf zbD^Phe{AEv;2!7nXL$UYo8m=Sy@@3FN;~MlvQPgX4I^%?cq;W zx=&8Y*ZlnWBKn?b;9y;e(6%A|aqU1KC35r;bxq}wM7iYzM&`(K{6Rhs@qG9Du3DAe zzrXUdd<`JYQk=xjg?Z@S?kDx(A*d*Ue6g2>G!N5OfUxk8SKVMjsZN*+>xCU9); zi*x#MC2mem%`SbV&sV&(wdop%{*+c!R7|%tkoj9yp%Tp3XtG`*Dk5@$R0_!B^bpvN ze59Rw_rB0p$IrdUXXihx581>0WHCk>iiV1ILJ8 zTbv%|+;h##>jEM|oN`06!1%oeRlPkOfmKy1rUQb@M#l#(c6CXXTE04Q(b3Uue73UQ z0-Nrjc~c`5Pz*|=qobQy_#Y;S7-gehg`CX^qH82#k45PexC$<5`Te^e_q_611vh#COk?)otaIdOnRp_)q(s?8&%M@=92OH7KMd-3tsOPB-Le}F@Z-$P zL&PsEPOq=7FZYaSbi6O+UUOg1UMHJrXlRhc1m{z7ehzhXcR!t8Q(pRDyZYfI+rw_7 znIDlCzSZkv2VDCmMk)I4-8#kC`YfH^t36lJt{@_$ghlxHKYR8VBmCXO!{X$=_pPT$ z6zkH#o?_n3oBi5Gh6p|!zcb{kkLc>Q=+9921qKFA+YVg(5)r{f=M=sdmI?}mz$@86Y0LUzaZN^eU4T6fm3tKAStzkXdA`Nl%1 zO-t^oWj#ft_aC156#M+23ijK7a>USMEgjy4Zn`?O3CC3 zP~#K^hJT+B55Vlj5596wH)csmwJyUqrsY?pSr!*xZ{GcNrgD8&!^%n!A$(ylL=apy z+Y0Y_7Vo)hCIOT&Eyu=egB-WG zqU5J8j4Q#l*Sv2gqP{nVhV-SriiATiw1t1IEYgmC&=7X*#agQW@PHt%Cy5>3ho&rQs&~O{{ zRaOImY`$Bv@Z{IR<9R_YE*j{QPan^An%+!00}c48>1kCQKKIf0LiZ1P7uSkk79^fg zZu$D&8z8d{52xW#A=N-c^wg98N)0{@zIJV977;^<2fB7eQXBe6XXi@R4BSvGEHvKj z)WHH3x?m5H=R3q*MtF@6=J^W?pa1@5^8SmNV_h+A=)?^7wi9Zyu32widI~DghD6>EdTsRU^{uxw zRW}Sxk{X!7IT|G0S%;?WH-%p_4ck-JR@PR%T_GobAF|4i^YdGox9kb@hFbRGA5fGp z(9qD_kB#N%&Nbcj3+zn3M)y7tc}qbfI`M{0P_Ru$SNEP(RnB;MdHIPqPL7Ud8B#os>sM%_m)0Qs!uiB;8ukDZ;v;E9%k_jb`oxvHT}rqK|eM{RJhjhGP~I7nN7 zD)aE!?~KHL^?fP^Akh-W-RUPk5%ndq?4Imw@o&GYzMzg}I5(0kn_4)Z3eZEu4Hfg_Jv zUBf~vo}3CeV`mqNUc+>~Mco0Bp7g|A&Oc3P@`H5Vx1k}8r8)XV9@$^pO*1s@9`{EI zOfuv3L6;E4R^SZH2fUf!;*E|lB^5B(2lAe1EN>*rSd>OQ;ZAvfY8$q)0b+WO4>=g;?`!>g9jFg<5!WAw%@Z56L(tNU8P9m1B*p*o`X`5&=tK_Q{2_Q(3P+B#u3p7Wv%#Q}on zNdeht8>r^c$zw=QPsc7G5Ij2Y7CQ56+36d{JY?anfO;7mSHctqs}9b6-~j3A>QZZw zk0J-WMmvTgl$CgcxG%rIyp#ur8uc`-gM$N+Sip7^L#yBXRK;iE0upLXYb#4|@cOSO zW?wwUb33mm=bEG(5Wd2(ao~cq`P*T#VANSuq#5(S8UIzJ8%2M0HBHicGfv_1xr6=j zUE$ZbdBBNoS6ON4NZvhX=^p3gG-Ckl4q5&Y(uITsJL&T(E)SQUQ%goQ4lyw?mEv}~ zQ~LW2DUfyb_3=mG;}fTRH^)5P{_NQcwha-3iL#Ehj?T_NpShj}Yi)6s2!aFGmm|mV zX&$Gi*YYd-l=d{viW9Y9d%6bh2tV zGQTPKJ~Y8tZ4(dg{d+IWmBP$S=Nw-S^c2%P$^QaowIos%Dp5cDnjTk-CzE< z2Z<0kSgz?}tTH@4ehVeXHn)3Zg&v~%gpiZ)%ib}t=d!A-oERzL`_cmsMis!Aa`tj#t(X8*spl7GN{Jo*l z0=Hm!*OmF_A%TGx@aS9MM^bejKeF#>)mpPVU*mRB(MzOK1lH*xALSH$-$Rh#Z`)2Z z5fVPPAU3=5Iw4cv<#R#MB@Ykjb^PF^%-G zwm~0hh;(6>WrbMP1R^pz5NYWrEAG3{sI7Q;MCI-wk{f#T<{Pc8tv^T?(EFGu@9R3W zSH~m0pu7EEL+xYR!kiZ6R*}_v|I-6Ww2FYgO-_ z%Z#`o-;BrM&F5m3asMKn2d)drJAP2kFD$&0_cz%%F0)hlWS5bh(_X2+;aOgg7qoIdgtmS4%h8wJ2IxOlG0 zTdxQ#s@>7_j%3yU`BVwc<$V})32@-edyIa zb}Sf$I{s6cka7YDDD(GYbId88DscBontNpCR(jh&ycn1dIl52UBC6 zk_rk6&&Wn@S=zA%`}Yfe9pNT#*}J4_`Cx7nm&cz!KectPV#LRimmwR9tK#OwXm0V+ z5JE6eU@$$Y4Hugk3AbHn%@8_jVz=uOKap+&<@uh%?21cmk8yV36+l7sZTu}NE@3_C z8jN@D-WA3GXQkj@b0WA}vhCrse;=v%X@-8IgULOLb*>4)gE!XrAUQFta^rj-K_C6k zjN;I{245F*#*OWe?GMEkvbt>-Uy{6)4SxumM65_Ba5WftK~EHWb0LqdBHxKM6|hKqD3y!Ot|ygsc0_O z1FeB>gL-Avv(vem&XLYoL?;#CyM?9x>iV!QgA?|j%wswdfLTrT{5=6Jc}6bBS$+&UAh7L#a~2J{BUmlvP8Z{VL0i+DXb7F0oPa6ZsTr}^@cL=clrh|B zgbCAo$RvR#WQ*$xrNl#vAtlY`=}XJYY8o2UxFSF?Qp2AK+IP!(QMcH>j$3NQMYcEZ zr1C>o2}CX<;Shr6=mJhX!{hqvP4^mBy9>E?q}#1{Nxn^1A~ACDK^a?WTtWTj9|dwx znKqAL3NNG5I$0XzHn7QY83la^*ohL=?JD?=Qh(_S~ z#o;4ehIHF7Xj@xb1M!%>sh68(c2RN9-n{`RQ^EB$9VyYP><8%ynhFwoELMO?b6>hF z+j>8N8Y||!A=y%NceS5BmDVopH=6&?T$IpENfA)gyk#g7ai|&+T;mtqe`-?4#+SMe ziHC1R0#gV_KIg*j2ZH74?H%gstdd#hd#rqyWzpX+q=D{ zb{u`+Lu!m#r`x~3Y3b9_0698yP^Zgb+teJ3KUP)P=~?p!b;MvK@T_>>S^fYvRT2qF zDQ_E_OnX)g2k@u0K!f~vrxXrm@HzhM8sm#g+>U3yRW&EwxfQ0PiZ0-7ymg}@LpHQG z1*g6@NuE4aV#goErb?H635&z2xhr)|w>_U<8sY4658aR^taJ1H!1XQm_DetjSgh{a z7=xbT^P14XYwy>^g#y|BbfBP;vOKU!(v$|12?hM6z*J!!RgoR`gD4bbZ;99gh3FR+ zw(}n}0DnVu>|ICpD;b|s>g!8QtXsDH1_Fb_FIUk%)vwO*HUM-@#jTq z$2v36ss}>miP5Lh&x23+2Lcz#ZQw`UfC>i$^@AgrR`1=qm6vy*{`JGU=J2jq^L6Hu5Zk6b zW$TGw|C~*I)J1#sYDx7-)j9qUpV~KB`?+=rgahc3>OGH*fMcT~2m5hjk+3rC`+a;| z!H5ztFp4DreQ8PZ8{e0`5FkMC!*k%qBSVZ_D|6AAUjFTgq7_s>oqqD4S)fXD`dxbm z2CDj9lY&Z1Jr%t7(Kj_Mj&|q}(KskwI7ww)_nu}=k2&q!T=~&oRXh4C#Oog%)Svp5 zEDm+k+8*e-Kqot=6hsMp{lN@N5Lyk zuE83{eQx3)PVnY*VV#ICRVfj~2b(_2+hwTDe=F3B22xa)$4}fCk9ku9K0X!6!6|3= zF;$VnK0b};MZB%;z+i(*v_-F?dFA6P-D3VH7wc>)y}wwPmT=H@Iv+Ef^v$2m){9~8(v5vd9+4pxoy78w*k{RhyB@0RC&CHymE zZZhfH-=CkSrbZceJ-q>Z=gU7!avoK-=nN=wO``zHh=KP@Ej}@j&|%_M1H9PA)O!vj z5XINY>(|-8eY0%Oz9PI;Qc@7#pX`v$UXV&s~GgA>>)r% zKj(I-64A2*?$@m~lMFk-Zmz6YFH^zY}GA zTI9Z)k4I9cziEGxXNU^FMz5ijEEYwLC}2d~yPJmPPN8VEoTNY4yxQ@pDV z*#VLMSCW1uo^&|AN8gJ&$Xp&Xmc4jUx%%CcwK;a7iN4BJN)-S9*`G#EOdLQ}=ko%z z8omRYg9)6fxjA%WdWS*;&!=XIDS8iRXl$?PC=7bfeW@rdC&zEHx3LDV%O$Po|K<%h z&P0H}Ki9Ye2L?;jd(X|)bv>yeu=GF+oYWE)KIYT^M7u12whk;@@ynM-)e05DBYX~H zgm}|F_Du=EISu`AumP(97v|qs^=Je}17AAnI4}ExOMIr^z zxTs&4+SU*z(p~823zH^}eXbR66dBm5@C_%7j*8URi@^595<{qKTiGszhUsL^!mU>F z7S@uJad)N$N4QxebK@ZTDHY5z2_m-0x%V*sXC{omk>M~O0RxoY`M!Ea`)~i8G7-t zSkl&C+3^#Jb4#Ap?{GQi`xq{nVoqZD{RbDuRqlZDGJs5SvTRSZ$0p%#S=t=i00SgY z?i)qTi6h+v6iI4M&enamQeIn_#i;Mq`QDuMi63iP9tRJ}LX&*K&^i;24}>->mC^szLcBG&vm>7ROvA&4S`*{MC07j`dYZr`Cm zhVHr^Fhe2X43ka5`B=mU60DcanKTPN6c;ZsV()DXd0l}3TDP0v|3E})=-X>6kg+!u zI&}tm6e@D_CyUHI?lI9kew;dlRlhOI&_c$yd>2R<*b1b-jc?}`64GbmO=`wbGQ?3L z*4I-jS9df-{cb{(5_RkUE+j5~OR+aB6j))fxiBPyCEYT|&Yeoc^b4>Ig&Ws*uB@J` zu2;Y3QFtvTaS7Ujzu!N+^_^3Pga{L9lB;RGIL!`65=uA$uqazqARLw;N0WPa0X+e8}(d_Y25fTS1g*2kAsi@}uKdFsSPP3<-or_)uWnI&760y|mXR5RSCQ?q3gW zMoijZ7$ZVM5P%*%+QY}Ei234};nAZUZ{OB?rm(x;PEMv3h|$KD zIy>gB%>Mo=b^ZPLK4~~Pw+v(L$9|t$w*y1s_+$IS8X5uvz9pQj0-4Xq zB3*rbc?L$cT89qF;-l8Tw{m0W23Yjx&)>W4BZ!hvV7utKp?66K;uFH=m#E#LD6I9k zM<*K9C7{G~NP0+FH{&F=grp|qL18~`b81fI>NJC(@}|1JK0l95X&FzRgx^?82)ieQh<|dyJu5BT#TA(!V`-f2s>d1(X7a>?EwpvY= zD^f?A_r*SZ#Qbe1C=~>F7jhLtZ(>e?6=iJ6r?VtwgEM4o{N36i>z!h_fsu(xHL#x; zx6^UoOD?^-*B{Fdxr=8_)zuHcD`X!&YM}OuD`o1GGLBu^S#R@F1od9wSL&Kj5iDuiLi}VK$EFHGA4E8vX28=x2-o3tI$vV08 zW@e5P{Rb&v0Tq(eD*(=$9lws$?9Y!BJUmB0m1 zqxf1g5=3N-4Gbbc7pZG@qTc7mQoHcy1Rbl@2G*$S1_se~{Q6laqK-_gX&1p36?S9v z&<3cj5A${(X=TJog7k@OF!T7$p~m09<*9>iCj53_eV=B;Grx4C%4JveylD_BEva@1Xa0*|@63SoP!mpti|m1l5Kt?GKi zX8B+GeN`!M6=Oebk*S3hi~ZNZI%6UdpvzI$(5yU!;t$q;HHZWleZ6V`<_LGu29(FF z)soGC0VAhWcU|GEs8~Y-C*#^TRa;oK>h^m|MFf`sNjuHC`^3W9 z@|Vyk{d4>}d7$J4B5@zPpZZyZAcBTvRjrf#Vhk@`9#dyreEkK?7z{oR1Hy*Vt;k^C zZFRwPjm{glGKgIAkP-Fj=~v~XQzhh}%E}$%4#L}jT;<}rob#m{jZU4_4ZVQiV2*~! z<&8*;dE3Gwfq~j4G$;r702&K*5?*l>6dlk?hz1dtkpk2%8iJr{8*L7o23nFttol(0 zhXXXM{egJjL~=Y`{yhvsAv7fbQHI^eC35PSf;Yn^lmNfH!0v#SxthDX__(%B&4&WH zJ9oZcm^A0Zg}7mPpZUMB02>TqL~gPOl0mFWCK~B~FMaI}!^VwxK^@ebr1w9s2!Cr$ z=Du*Hp8^~bC>&IS9rJZ)Z&2m^g(EsTW^dm5=C(OY+T+zn4S3vhJQ(cb9x$K{Z_(#9IJlOwg*>8FNIL@CcxtN+803e^0 znKlcs6RFTuBZw1UAcOB}0}6X=H9Be=Td%+|?pTlxf)Xl-2EcO8IAk${0ivLo_+kAx z|E=(AI*)rgpNk(q|7YQkq?gx9ke}aYhwglQfx@{Ut6;*$o^RoObEk!aGqaIgq7H`< zDsttQ6PP!6E$GJdd197OkWyIS{0SNBZ*`;1Z212*1OTAtHF=R#mcnY+whg$^^in^cWD^etHI| z*vTyj;?=GBR2W^HY~02y0&3&GzBr)62;VA?{G&(Ad8oQ-dY2`@q@j_PHpx4^pCLo* zl&WTMrC=T-3KwJv+PCkR&$#BZUYfa!8o>F6K8D}=mX#$k<4bpUGc=$r8=Pqhi!AEDBVs8^P4KNz8HRJ;w)4$?|RcL*^l=+I(&E{hz zh_)xtWxy(O{L`yt2_P3ii=sRJ=x=bvfz_s5-NeLZueAdk|NPkk6fCvBABbv9iL!<@ zG22RrX6DC_rNXrH{7#^9?sF3e2-`THc1~Z7Nzk=bF;;u5Lx(jX;de~TA990eHpl8~ zHX}O=Q-!HTQZ;N7M!qVrKGQ&;>YZ>e}q4WjEfaeJQEWS;2Dx9AR zw$lwYo)S9X!;Tbb=x^M{#8fEps-iUB%2L7Z+(?F%$`H-b?Q3_XwlEw#$c&hiDyOULD1(#jrct-?#Tavtp>n9Dih`sio!2 zc-M1mueSU6)Pke010E{6`O45^B^!-=*6vkpiH)V4n_Q-lHkWlxRnJTVQ#?a0#GZ(} z9CQj5-lilyJ*PecD?rPMjL;nCPq380^dp+=e?+hy?tlNv=Bx;79SNt^)8kzEdwiYd z*!C@mYy>T$3VjU9q*?CM>dR_k^G!2d=dAC7+myMzQcl$PFx~3(Aea0Z_^uX>kctSNCf5j zZ;T1PgV6_pb02sRE@F5)*I)pKSj?QO*u7xx-VxyM|wPRyqZh{lS!nZ(i@nYefqkY7e>~3q9 z7|C{6@LX(`_R>DjUlo2YW>`wge}Vl@*_x6<1#aE$eYoX3i>xj#CU2Td&i8G_E3YiF z6xtV4T)nzq2t`6~F*TUTdq6r{@2-7-W_}o5i_yBp?fRiV)kByz9d9obpPjk4!QK7m z?mg)k8;D6tvO;LtYGOenXKulr2P3rImq$;4-|oIrN{dD<_0kAeUPjCjOk^37+<|T* z=#`MQu#Z174bVaL$4hJ#uhgOwmjKm|NrSLQQxiy_5=gJnOTUkDG`gRB(LilcKDzfP z9gH_Y^9FTpjB!{2?0cm*YV=Wwo{jJlc`$WO^Kt zDqdw>Y-#pX$il*9FYlK^ThHv1Uf>p@p)m)j18YB7O>$vsYi}?R~bNEk3jQR2h~4RQLd!Vc=Y4Gm?vY;0s{bZ?%t(Yg54VS;A%hf{~MtW!M?l?1zO z-AyqkgN$@pGbuXVr>B0*)2i$f=I3htHGTa-qo}oh!n{E%*nczR1T$~C4WH%gH|=KRP- zv^+C6@$+;@Ml4}n4uk8F>rPHSQYWXBD;I18Zw3rJmWuY+z1KOUV2=#Ui!?@BUCLNO z#Ns82jG(hl7C6|fA@!YkY>dfw>Fi;PS3flDbn5Es>&0HHb$oohW%QGwpiA%AMScdy z4QbD!3ph?}Q+mk;Y3=G7>+Q9*P$FLNMIj91GX?oF{|$GlzCvp=MlCZlt*}t!{YOba z@e0MxT_TVnfV+;pTF)|EwYKjPczH!b-qtuL?ORaSc=sZomg*+M$g<2RzO>GyGLU+a zw;1#548(zg9#IUuc6I45XSt{R4@IUA+QW5|4#$jwFaZZ6ofGnWELii=G4PP}RXhTU zi-Y@GuvtzozeSahKn>+&?$xD)3;f|noJOaP%gHG}()X-MlzaUA!r=1X+9zC`14;Mq z3zN4Ag@^tS5f^jXT4Wg(wq>*{l1HamLNeFyS}Y0g26X6_3s+d62)^mjF<(}QK0rt0 znZ4sy_FtDrQ?-~ysP{U?Zj_Z>Q1FVrX6kHvCY1^=b@5_&8B37ZR)`g`QP2E!q&aX< z{KdUJ64IOiQRbPVYtaMD-z>msLvt9keQmg39bSiw=**f3K&SKCi`ORZNwpDNiSdW z8;A=TudB1Ki=11YpHE4c_7ELMrHaqTfUzxwnLyX~x%P9*d;%99OlVyz24)pUQ zVJDhlRdpRlN%n!VFLlG_cREH!oROJbvVF%S?C4ml7(M6ZfSU&q=x!)^jc2?|&+qwj zLfwpa1TSHg{QB2eAHz+jN=$KE*?{i0tn_eeA)3uq1gm z)vavsKwg%%tSmTk^sQfTFwarFUibexW(QuHI{(xOCm*X0W#^Ugo>Tri>3s7RH@9ue z-6ovmHV+5&8pAK0dz2T>kn&IKM8B#QGAVM&y)|(jpD4$;JO)-PTX8zt7|be*ii%Eu zFoci8nTCihau2E=P0Gb|&rbl2NWd)9(yVW{btVFT6a3Ilt1MG}hqS(!R3P5X-`S!v zmWO5m%>9==nDB8LKSzL(TAfp3WMEivQ;U>5;meqsL((kqM4ZUbZC^S51V_r85F9#4k#9x2U0>>gpXQjG*PGGp!N7zRqk z?gkPG5G!>kb3f8gVG)R;g>E;W(iJA~;O_8OLH8Zy8MqJ>FnTJ*sZ>AuEH0-7WQED~%JIe`Mj2zD!IIugB> zU!nu$+t%lPA~#d zAwVf~FV5tQd#2@YHr80=(Mc|436PD=$&a}_(zg?E!0fUW8qb>+8D8=PLs^n z1eEDXP?Ao;2!wa{8PaWSk=dTLD~p_ceSM#>;ve^526_=n)uAx9@Q2DPf#Kc_%D~;2 zn3~PDZ`<2r;2Q9vVW#TUm#(h6keh!FrSoUCwW?ek9JTNWNiddpBJ-m>|090))l93> z1Vq%2N^#+nF)}fo#p%hpI9X)j>{7+(@!CKT)-G?`+Mf0=m&k^xH%m!#7pR4}Ucl|l ze0_^`uS%86=@23LD8Z^Td(W-CEx)`N9?4Ub0Qt(4@o1-x_$s%Yms!7zg3B36Fa*e* zUvrZb6SMyDqh?~XJt!TIaydV@Z;IPzEs*2nF-7xjo-nm)0xf1_4VpBe!yn6 zC!?nWM-W)NZRtV}&W^2s`|5rXP1Kp{W?{XC2l3c@?Td`Tw2S~3l| z5j<4YA3lDxYdj*tVSnaKH6Xa-eU`@;Rnww>j*S(7I&#e-;K>u|Wl%>XCqKUQbTb=X zxS}yVx0svjun*2=jyFh0x3U@YUh@6-z=8q;jl-W8hd(NJelqEqrYzGDk}e;+fl_F^ zZ&8uu3EHeginl(vo{9JyWL&3SWf={(U)^9sxLz(%@@2;*b^M9_(N_QF^kSF4X zxbBzE4owc*h{dJg0*zZN@;~`ld1i-X_3!>gaff?kULPO&Iqy5IYok(un~LpIv^5J4luz729~1&Aaj&n zUsXJC@E`>V^eJ5ajT>>p@h`|_kj!TV#>>O?X;Z@9b6>xGqxAJ%y=DcYLzB3t&gHEo zZC3oYLpMI?j*pI#Na43~tz610yB+QAPuO1Nbb8svEd(PhF>&1xZhtJ+eu5S+gBdfmu@G) zsHf)ASFi2YnOF@9@Xh`u% zNdavmgyToV^CRnEVEsELgM)(wle1+sUsHHpf}p}4pO|=J|9tO=TSSR%ewznn)(k~X z{=bt@DI@l>qvI%si$P?5N0%*jCd#5Zi(T5y%@Wl)ChT6nUzxy-f&IkOxw^%fTYyrY znOe;0RLD8x!QE+bXgvGn((K+Elvy2{vx3XZd3>$3ixT^^35XB4Y|4w@Hy-d=U;{ns z6HM8G*uvDCT3%j$0}TzhS=<<**Hv7dAHt{YAAfm3PR=bwVzm;o72}DMztZfD_jX;wF;6&)n z1IpG__NsjPwT+DMwrzv(Iv~xK(~v$@`YHk88o09JbNC&?3 zHt+p?v%<#UvbcD{Zu!Tvc6SmAw!6M*-C2*Pa^b?suxHPBvE>nj`OoV+;;j-X!4JlE z=DZwJGa1|IJnp%bLkC>T&*{SwRC;=Hq3YktJw=|7PdnADF3;CBG|<340gEY4I3}Ty zG9VrLFH{&zer^DwkLq;;oFAO0pL20>oh)(X-=UYd0g)2?AHowY?wfg`13T(
      -` zvtnLpY3b6^Qo`j478)cHP72UhCOHlyjE{T?)(4_9J?N!Cc5wrk^IYnngGKMa&h_Rv zNw`IV|ub>q2^=r-M4b;q9=O^UpnD}ULBl7E`Fr$M~al7K8ffUDtC*Zwxd?jO}#&<8=TFQ0v-2dObz` zC;?qIjy+s!Yb+PTkIL~WUZxuGxkO1%?_7#P`0lnRBXMbzFjRBvGU-TKUdgf4&ths@z>P@4R6j{Nv zXKc_Uc=jxH|G&E3Crwj>$5oU=2S&Li=xGHp?xV%KqGJ)jS9yd*bu0=$4bv`~=kYvL zZjvdt)d#qZIOSqD^?}h_#^PV-_x<~HQ{j&vD6jK2WsB-a*gKua1s|Xzk3?A!&YI*wP#87JcL{;t-CZ1A`1TomSQLRr3lTlss?? zt$N*JvOPOH0b&$t_jaNe3zCgBI7vEqP`Y)apt_bQyn`d-4|)p{k>R1P?lZfVvrb#H ziY+-a>%>&2Oiq$mzE~fJs7PCb@ZFrj!IeC z?cR)badEF*>|c(KZpgFb_h0a$IB;+oa@X4+CKdF;3p%UNt_b}h#PNZ2WM17Ke$i+y zFY#*@_1{?c^;sOgH`{;Xed^(h33=D%e_1FfDjHGggwb#K4C!v}iNvXI)ucXQZOyzrTNmbM9C2VP+9dlL5tNe{{z=Zrq$ z`04JRrWVP=I$?DDiejzzA?TEBG%Iot=5Xj3P@sQDy&Id9lxs9jU8MQ*=V#owZ)gHH zNWY4nNLFf_s$)IJ&N)j8pgjeLEviJA*6BQ|JUY@~`4Egb_{oMh&iHQj) zw(SA)Rt;3V5Egz_7}6*&jc$XVR0fPyKacHagVX*jjB<8u{>0 z7Z6Pb#2_YICot}w$XNd0>R&SwaIYH)-Y@{v0gXdVTvaHXs*%{OU0un=F1@vljkLh) z#|HI)M+W2E$DwpdnV@2eS=SX>LvwLu7{bun5%6Zp*?HIc?MmG!qtlc za?$4g^5ch6e=NIt%}sltRp@mm@_41qDfd;L-v{58Vjp5`;R5UR?WqW4#UqY0T~0 z7`KbsAes=QMBGIJ?+pL}^jfl+!>tk4;Y+-I10@Bai2^D%CM?~h>maT}sh$T+IDjPe z>fq2-vl#+GA@IqGLObIp6Aa!ssTwe0ph-5KuJB?61MHf#nH zOvbrOYIg$^^(jesUnE;5++cKa@L%x$Gyb%yxmCtv%($=8mlutdDpWT?@+Lsn*BT85 z#zj1ABL){|_~PRY^kXs1aq1tu0!*xRdwSi}-_uZ1vc$W0q+?BC-SxEc-H9EBQf^)T zhw8@eC64i>uFWQ%l+rwUl*zTfg5K2B^z%qjr#wLtXJKhTlNAF4+8(ck}I^7D(wN3NnfDrghopx?WD_nAL` z{&ZS$+eT2+&=la{buO(kGBeu&%#5F9bo}@h(%ko^+Y-y2qQNCdkKwg#ZBdJhi|+iI zoKLMrUbH4xoi)ujUcJgTJovpZ*5%8!W4}f?=>pFW*6v0v$acxY;vLqQb{t{GzlOz> zG**}I-oq(v;IXXg_-p1nCP#`}(|d3rAxu4;$JX~nrOuHfHbBK^7q1x%FKIp?;Tk;K zk!*`#JCWpe?2Wi^=f&yo{9R=;_fCf#-qdFO@TZRAr5{YEPoD-fH0tl)%i#XvNZn}Y zGB-0b+1~(I{oJ~vqoV=f^dQenyud`ErMR=Zcle~4+2O5h9i>%Z?@g?GT)s>qy?*_= z^A{#fOr+g1GBJ90OpYH{gA@cR{Ikoiu3E_LhhPB>3m+Yr2M9QCQ&g`byHl6safbTp z7tisW|HIc?KvlV}ZKD%Zx=R`fX$6#S>F$ycNdW-~0hN^Q25F>0S_DL-q!a@|x-T;CIp_cPIb-ZS#$Ic$<(%_phueis}3|z`Wn!dgeHX^y#d0O{!K$-VB|a{3eV{G;ZxXMzBMf!UO$jg2K4S#qC^1}q>M4Jso8f;v@TgaKH#qlLbd zA`s`H0x*jEXI8hrwsb}ek4AX}d@+XF?kz%u1QK4MauRUTu~8nQLMSlUjQaRdsjH{w zLucnD#I=l*Gyk|a1eD((3S17txC`Acql!F-gK4c%H2jm}M#u~anc^axVMv<^z^4Od z(Yq0MH~<}>-~g_@NK*o1Pu@o};)v@PkP9%hB%gag^Z_-aJ1`dj*$vYraiFsyiW~8{ zxuC%+D1D9S{+Beqn0Hm69KkFpdCwp{Ej`@=rUi%K8JPgAuKawasrOGwq3pf`C$Od8 z#MBh8Ob-W!G{9(Q0#z57ucbN({l_jsTY^06f3N`1QLK}90#gFytj0?pvg$)>=M@}T z@gde3d?I7BP$pobD6vI4moF|sUeZjAtcKuCT&`)j)4a!k<5jq~ZvzKI4Q<_|+d;rF_T2c=a8 zl-_}W0nqTc@Kd1Qlhx25c;~SJ>gNg|TfKvVUEEjde$szTY6-;A7mN|%5_Le#x1NNN zVia7&w6wH#$c$FKv6XJI(7;-PP6g8H5zq<;KyJ>1{{x;T7;?@-nGTNW2{zQ=yT|~w zaYzEQA}}NJjL_1VW;>{P{6~_tq_d^Jlt(G4kqK%0;D??~hZB+}Pf5VnGN|;e+#h1|rwL z04INbd%IdI-4blgP|(bPr`fw6UyWSJ7?2{;Q(3$5$kWpkNhHY}x*3&tgFc+pgNm`V z^TLUJwqM3Bd3Z>Id&!(A*`U(E0QT>L3!d|HZ}N$T%Gt=jaPVP4Joc84F8;_J#&F*(CbbL<^ruBuN@e_f3Q43YR zu3y`Q-_>0I)~o%wkE*;M3}(=3NAl4^ldW%nO^Ayd1omej7Z3}LHut^vlnC#WRaz$F znuJ6qC(m^@G71^>7{W`JvPBQbBUlbM8z;dWj}WB$F8TXoUdD_IuC4XU?oAvidnXzn ze=O`P3XbAVb8}h(P2`M)o^ZTWl$1($)1lji48Jq}AQz$7gP#sJu+}^8JPzhphkz18 zZs>OR?iJo!gOvgsS$cgg>qF*7b<6xP;yFE|BO>ER-+pg37MMU{qi05^q~r?>b;8cD zgQ7y7VE#ZI7(o7L_4S5+r&RtkFsPiPQWf>g?aL_d-VNbrQ~qT0;OdAd1Ba+6+Qs?7 z_LIZkA__6DyPsdW4QPYBo-=HF4!!EKsuw)&t}7ax%irjFJlKQTuNOJ75a;6z{;2Dq z41#*TN|sSw>j$+myd|R+QS_Z1^e4~$cBI~5$n)C1Nh_y>W$zSA*L(#EaL}t?5G9jI zCJ{))nva*(%CQTkNYr1QS>BPcjto&MQ1!t`j z?M*O>F-Fc`B-n*rLIPxvGC=P4^jI|58y?W=$X80QEpcFQXUXdgUBaVxjIiomZXa)= zfh~ZHaXL5|&JPq^9ebNVVoW?}1mpi;S+H{F6(~AV>H{SK)AxR60p@;9vCl7k{a<~i zJeGYC>@7fW{faD_r{OWp1y+BiLW@mu*=_hrJh9|G8ujsmVt~L4k!ta%c#e zv;j^SF+tx14233lB&t`cFqc90`n|We$dqcZvh-Q-#nSfGr&b2)C})#p6Vvhei7w2R7-MP2XBKQ` zo7tpYTqr@UC!}4P5LmHS@bT*@;tJ|XvFsS{+9amv16H2La>{bZx&q9|=jBY022vZ?6L0hT>eMp9QEY#JZjec1UJoqa01X?Qq(JTG>x~0 z1MHD8>K{_LG=J~f+}z)P!+SqKWckYu$P5a=huDW(-yR$pX>KS$s;=hCQGgvM_#f zXy!OJ2Rp;y(#u=9-%V+|XW);;YI%mUdjcmN%KQtMbIoHurxkV!LWJfKJ+{|JAmA3I+PeVZg zSZId;fuYVbCH?Qz@^**t{gZ_MPAwINJm&D|T9oV*u3u*Yp#()=S@({gEO3LtETwxTw^>$IwKj(f zOWR=oMHgd&5Q;`ZZ2|(wP}4M0fwWF ztW`mR245|s(CFbPM>%q`Wo7ZfC<4hmrFaf3uB8=frkk{w@)q}B#-wodLU~1jdo|SJ zW4yrOding}>0aLceI88MKd+7@EHk@4=L>aTIq#XMFWFfgzy5#78M=AyscG+yq2zntOCw>ifvmwROsNQXs{K~K zKfia2zx(rxrm?ye9D|DA`l}CcWRmd(5{31QUr|QTtS_wEg_M?tj5Tc1j#P>TNu56l zz^7qtpE#zglGSy9E;3J-EhBDd5TaVmGmpy)i&uW{{|c%!VJiTJbAQasoWf9V_sV=O z!<=hk&8OZV&NNL-D^5Z{kP0rX=TQ$xmg=6=3NbNnTP*d>5>p=&kIu8#*FV(k92-OF z7QcrzcW^0Lx4(>`1yceg?5B2^L7cfa@XB^41lPcz&bg&}wA&Bff!NVON`78RxLr(P zs>hz~EpWJrL2BUPVd{j0J0PIwwEHyV1GyT zlZzA%T$8gyi?`RECxp^v6_d zHmB-m-|ZZfgM;|~niV<&gV@`qyPX{!k@SJeLr4aBK-S+KJ|x#^u)533<7C% zjJ-zU`|GT>*ZBEyfZPB(lWb5!<1kvJYJvcCMk+)?2qh^4wx(l{R|simZt{_Try_&Mr}_t3 zM7xAbzA}br0C-8hP@LN^IWK-P{0i$!S}o?id%jS`9byz|J3HOFy~mjH`dMYC>^d9N zYk7Iv!jD%mxNnGA{wR(BwH~dyRts_*+zv|Jqa2o6qsX?4bG91?F*M5TTqp29qN$vL zh@vprAi(oZRY~3Ui%aLuVq?vd9Sd3sYNdy4!(a)t4YO^d)~PV0GP~P%5nR=!qT0=Q zn|1cP)>R~&oNP}5CYRa8i^n|JbJv>f)$dneF^!2DN@BqT6wX-fB9rIlJEWYbeOAxF zs_y2P!2buyO{J#HYhUXlEv=G>Nt41)Pe~rHTca>Bxq^eEL&6jvJzkTEP*nO+R=x)^ z0hbStLt)4(e0YSvAj%Trxu`%wKpWoSe<4O58oF;87{4qN!$JVt>IC%njN;qJoB@#xb3zSlzo({-PK` z(@0+rooq=@J=tBl48)y0SxgC_eElox)*bNO_x_rODeEO?XHykxc=R;Ro?{Tk&2Szp z+_~4+*98I;yzueRuR}VL4Oh{vWP5zQfU|RRrnsOW!sfHj?+(mMHTOFhpFDMvzW)+) z`RkredQM&OvoleKXU~kms|<$TMY>vAkw6v!_@z5cm^uTmF#ldFafUw9ZpSG2gA80C zNO^CbjH~Pa{})GPY-w-Os@wj8DwZ#@0>Gy^Z6Z))tTZNnj`SOI?cC5;$Ssx4kiH|) zE}HioUK{PdT%zF{0=$^}ouNudqeCNjs5|j6nXs|oUSTK)Cue7l!~n!xaTq6|qnm+=@`$W<>R#iJd6s5t8HEFydYq~1QSlNe zX`ztPXVtFAP1Y~MjRyWYmcAv#=5y>kpnOvN62<^wcja*Ra}cG_H+rCOXWfu7Mjwu) zC5~W;SGimMRJyiiHK3+u9I$N^t!ICQvcwKhpb`|8X`)#ryC`R1ASwFzrGk!=922(R z$)=#7^XVm?dp|*k4y~hunVggPB~vA6JL`oaU&&Y=xV*40_}*BJZE99od%pt<;TY!J z+wc{+lMJJAKNm0aAgJK)Z<%UVbdHlIGqjYH2(*{_ zE!P);-y-G58;Z9Uvh+C)9HlpZ|Ecdhm_6b65@f4NjDu@oKc29`OP2T_N(vc9-9Frq zD_Lh-smb9)47s7uGrAtRp<7y#Fp?-++c#ahBmwqIl|&NG!TiBxWyH(<2Qa930R0Xo z?EX!|y2`-F3|Nnf!mgG#Z;WXu;pQulD8gevm7cmZuS40oSduHL0C@(9{<2}ICAbXm zWk>VsDPfNXsm`4)RK_BDeyXVr=~cxcvlS?eFSI{T$2kjNA){z8>S+}E;bzFaU~GKc zZ!GWU7c{r-P#GViEJN+^*O3rfJ51FV^qn0+l|srL5b2ESIYIvvsSkT!NB-gv6qun8)u7GRCXK+{&$$yhjS-=eund-C9|*~U3B zC8eF!QXe0@IeBR9rlv-&vD*ntUig&iSmQmcfcWLWf`(L8P)hVbRWiTs5cBclwXv}@ zH#&oslz!zz^Mz0$8hOJiaiHCRq4H>F`}5^Au~AZJ=%BzUpXy_lOArw@vRIH)1PFyI z%ngv`ZqdY}ia{N|V$BN%0KvhHv{vcX#KJT_AQcTW-h&q?ENsNc=>W7?u`rK~Z`W?^ zN(wsuR_xE&cA?9dN=XifU9p45Ud_zo6HiX)iji!JEa(n*L|ojU!ZgAk8S28XzPH3E zD2Rjm*SBAST68Q6{8nRpbD$5ki zydV6HnA+JeB{fx)g8K=>%uIvPTVA}*ut%_o-vZBB-;`rX?2r)DcTVp_WUZy1c`hy2 zWlkyl9WRWqKNQ?(M=bK=^hdyC{(JWyUHD2O9a`JD2MI{fSWUmfezGkwY-GeM*8DzU2wMG5qJIG(+Ta-R zA%e6K;9hKwvy%9&t$h-`FY{|nOfb_ z)Rb;O+dKbzJ`)L#Ow3nHAGc6ZJtgEaJdXvp-?^=ss0|k^`{7dC@&-q1?Du~c}2CHU%}*D3S4L3gCZ4l9~ zdy&ugFjZ`Ho#_=C*ryXgiE5dGR6|mWLA{y?T@lp^!=Dw34xCd_qUFS z-tQ{hDp`mX6~+PtGc#vR1eF7j087hu^q-NqK}8BKT;ULJI>wBUv4+JUi(-mOPeO`5 z3I$7lAQ#W{EPcj)>&lF6V{=isl*8AFfAgkeuJQiF*{kB-CK6nUw3s7qlXq_F*;lE%@BXO|%FGmibpx1fd(T1d20`Dj zPrxGh0~6%rQn^QclmFXLV|VG_P$T6?qS~mOT~Ls!H?9{fIV4YAxI{f}fnp%Jj124@ z3WVN0w*Tx=8eE#yU0lBqQi1${fXdAZMQw@ z^iWby%{31M{T$e>n)@B$!QjL+Ob+YFAMRyB`@o{xkno6a}$iA8fn*0z;2qWYI15j6CbX7LA2MfYF;J^n%>H+Bi zLU1`Fn0PY)eZVp@J%IQHO;h*5Z0?65)wr_fa!R;vo?D@=i@$1pj$GfqHImiTjM|8& zu7pzjNAYGCw2+XBoP%!JkjP{(Kv|(?Cw_>f9#FK}a1wH^=+`D9R2) zA9#8u4E`sacD9%r$I9Inzw9`e1OR3O+~mMfhg3#UkrXyXb4i+}yiaPbW8m>t?|P@C z6p6-|$s~VjJO9IIYSz{pivQsEv=@ULokjr+5q$oR_dnVFNghj=DO=Wxtt~yIv=FYu zqMiPf+H@UiF=AqK%idVru^L7Q9kZQ1G3P)GUKHg=wL@zNbvaO~Lje{J8?oRI=&(p| zp)*GQ*weq0PL5NDnBaN-yshn0U=XZ1jB+==udB0j1LhY8N^Tqbrs1I{t3P@#11vQF zjx;S@<@)If84hk~f*clRbo9jiH5~@-dp?(8{1_M$Q|4#_BW>@$rX4WIaKCz=4l+7y z5Q0n^6Jc(Ab%;hiJTSlHacpvGWLW|W+yAR%!}@=fY*Pf?NRI+j!DQdcf&w&rd=DV; zSagNs^YS}hVrDi&#yOCb@M!J6S-cTQQlZkwKE{1Gk`*d_4Rp9K1qLdx%P&Od=idSu zq>m$<@BGbC^wmC z4GZC*fiedR_k;#8f>dZf-8&D~YTwZ;#8?)T|NUV4)Cwu3g{=rMOxMJv9@BDmW9by_Un}`7I~R8VWkrA_yEv(w-U3A)P%s6B*u%NKr!YiYsz`X_ zdvXOvs8&6AjVifOawK2U>lpmckA(b=Y>Gd$k}(G-!z@(M?ycD#LWKVBLXn&+)@rcu ze+tFnL+O)k|6I8?zhbaKsF_+^n{DF)RW5lA4egi{JG$tNr#gLxApf)hX8_8)-d zTTo042jH5xM}-f4=z&}x19qT5h0xiQWJ)0WQPTXeerg@)JVD(?Q&0_cMBKXQjmyoBN;vZlkgg2awT`WduP$z!pbTTM&(Sb%N!p**dojK zq%kZ;d|BiGZUbZ5^Xu2o%@$|Jw_z4%j^qhIzdQkm%N=+upLqxa`&aI8r-Iyc zHmHJyxb=S*bTnef5_WB#aDw@tfk6)>>BNWWk3PfDdaQO5^ucRg7a6ed&r16w8y}T0 z!Hdw=CPX4wEJN-kHn#33lSj4%t6)d|ntvUJ+G%25Y1}uwRBfUlRxqaAQW;lO!sUY9 zCo};&vlsVJx#p4=C8F5aJldwF7*^G#FA!9@~k*_BA><*bsDk z8$Pg*GX)O;=Z2O8LE@dK0-N#Q)NynarjGQXnUmBAAQGZaL_{@XiV7MEs>k^#9zWOu z=MD?6HSj^M(ck#nFX>+H;jO#0lmcW5#c|qFt6pcQGc3T6ffO}|?4{lxasS`*BtaOR z(U`_6v2=vs67u;xX=Cj@UDv0F(1`3n;DZ@qo&uSzrm?a8sySW=%z6Qom$K1c#t0P% z>LuJo<1uJ2##+Rvqm>y+hTrGPF#%}F{)T9U)6wqY+|D7Y&pWYDClqj$Al^j+CX^)@ zB#bKmjw#FnSLW`A)IA6SDS8H@#x1-;9s8ojc+1+$&N8D{k0b+>upRmGGr-ivff6I{LBH3( z3Dxn0z^g1+!on)r9E`St!UzrTs8?D<=nVJ9{SOv^_ttG(7YKWh&A_yl3SM4bWhEL7 zjjqq(yfiXb`&5?sq2jszfKop4yHkOW0)|uQYU#VAIa2-4jZDvYZSnC1ARxanVqOF5 zCxyq4Wm5XPEkRVU?>FGPVw2cb8tnQh7z^!JIkK6Pr(rZ^+U!7S03j4D5S|z^RC8v`V7V^JBIg zlf0uNNr1&ydL&(V&7NTh2;?}Hnk{XTAiZj?@88>ie;k;50iu4+?8~G|T+$IVZ|nRo zJi2;uIo0EM*_mFulN%qqdvQA7$8|4!i%Ys@fMWz zeZG=L?ntX|SNg-TY!REW{^6v-RY3cQz}zv0!C#y(VE(JgJH5Vhsj^EC|29Roox0&G zE2q~FaV+5%fnC#r`Nc6EY^=k+QWG-DN&b6l=vg$#-J882sPAVd8+Z&kf z)LQjksW9`#KqU#p_cbcJtPNTL>-nC2Wj>8iA`p2}1tN>pT)}gXkdlgHB`c?b+n70m zsH&`N2jR6L7+DbihfNCCG>Fox#Ajp-S8Tik0WGV|i68Y_or@{GeTzHS$SAHsUygx+ zZ}L8aXmA(#CH!m=H0J)kmqS8|o_ITdpX{>4PE0bl8pvlJd*|Vn^m%EgPxpDQuq!6q zM;#6rzU^v`wNrK`URQ*kq;aG%14W1w()H_Pu?&P22S+f$h!AoAyExyuGECrVQQ>3h zQGL%Gn0|OjE91TWr@dI6bZ5p};(J-r9p);P9qR{I2Ypy%$ht5Y@T6gu%=<$1Tg?0@%J4j2!0f|L@6g_tuDdZIvBE@jxnb}MxOku z{6e|lJ3-uxBq?$F{rx;g7xOyr9oQ}+yLD)#{BV&?aGvo8n?y@R?n04CUXm?sN$w+zzw< zF%uG{8b@K06F|fy1w}3ve&fTZ(108+;1c@mgkT2j;#B#>s*zOP^Nj?2JWM!&m~w}O z@BXe;fG~g@@SGcc&RZRs5wcUx=>6unoFy1G6R+cGI?KLA*!!; z&1>~#7{u_A38iPJhu4?CNd&ZAXjIp`>fO=R#gD#YL!%@O%_dY7KsE_}-|?{&AM!1X zCH-K$X$Vgnv{UwOaGq>7vT5;g-Z9H2gxNVT7c6tQjA7KYi$_9g&UjrOWoC9%Jk#p2LG>-i7xnTqN9=K_ z!0Fkh#iLnr2#1!gaLI9&jEfr@1o80ntUlgi>S}l|{qvgJEyh&FH(c_t19Z5=n?D ztHdu!OB0fGv|NKwXRgsThz9@Qn61%xa zT}Un6WVp&R1Eb-7+oNq!l*Z99f0mwUKoj#dgD;LKpAw0O zMMahx-icU3dJ>)5^0&eX==8kUjS+YQpiO1480A6++;-q;*k!ZGBx`pEw)0QLf|Rbd z*?-++=C9q~z7c@i)rx4eu>ik<{JY}F92R4>)c9i32ss2C5B?y>f08aHTq6Pch}{fY zCZc#UN^}5tNEpH?b0urlw5o?6s@8 z8Rd51Q!nXo1Q~JbXZ-T~PpEpI-De8_i4yR+_J4!rhdcU~0LY!`=1l_Nv0;KOQ&JKs z=&6V1NL<`~@c@Vs(3JhNDw}%i3P_1isP3)`-}p~NfY*x;C-0dZkppIx&tZuD_t7b< z88Zs#Y75|!_PY8CIvUIc;I}!%fYMSgSOErr-OaPVzar`$^cx(fbIL|PdboQ2^*UG7 zvqY=}Ou**)@)-5?D zMXHeNvr9AZo)&-$3tSm8unqumnmEuMN1<5N(!j#ebgISsD%jM?06()>Bb)Pu6*Ci4 zJ7tg(%Ln*&FrK;xHlWq00B~PJjGDmU2+ax)P+#!9+u=#=fGZgaq^MTD!@T0IjrZ1+ z2tvm&YdJlUbeiB7f4U2W^Sv(kY2U$b2GRf4DSPv6b2!Bu)`7I}64YCJ-VIT7{-10C zF8#qiqQyz-cm7Ddgq%cLuu8fH-g3Z;MYqBOvhE+rhK7F+!0Dhs=)Zn`@ziZ>Mx5XT ziWiwCUqrpm6Txt`wEHswF0K{+QEdrG3Zf7kzJ9}XR@Pf6ZV{2Yf5(AzNQwFjgbr3Z zlWb@~m$$chPA2{vK0hcKgn@4ftXErL{C)ZUJ$`ehB@-a=d_9!zUS1DC1m7Z>4=5Hr zs2aedkJpk!1XEE`)*K!liZ+hwwQ8|jgO3h350B=}Q9Db^58&}(ZEo0=lAUd4g$Lwe zM{trzu|#jbjQ)JE>#!ko%bZS1N@{#t1}X6=8XU)KS#!gP^!GsH-V<027<8nRlpn!G zN`I~H-4;jvG@(Pe7iIam-%q$Go?BC&D9g>KhrXW-Odfm@`dnTOm%k4FE3`_fBL!1e zi)=CfPac$VJG8|)EChP{EF7IK&B@7Rkks=`8lCkUii(N=PDO_xyZhe(gmH2t*$NGG z5t$LLIB2}XHVmP+V_gn3Ui<@0PI&Py^B=AVi-{q=H{cc)fvBv!bmnE2UM+ z`O)z)a4(B@J3BjVCYM}e!0#Z18XchYDShQPL*KE>Mn_hNH`85rzE;>Y)@=k%G=Ux-MybBm>qNY*)wet@)#DIkIoNlZ86|-`|N&V1N12)cvpe$xdxo^_P#zG z0J~%1;dO!ABFH0$g8h&MfR9%pfF#AFk23^_W&8pH#H6G_zzj8vtOT?)xPn#d z9l>M$A3|xx=ttlk0}lR$ubHbE;*AM-YH08;laZ4HY$}uTwk;kg+W^1T?8vf~67T`9 znl*Q zjg;q10faDpn6m!9Ne7w@wKFCP&S6+g3_dVc(73p`y1Kgov6zQ~Wi2nl;_$yXhn7Ap zA_5yi)#y*F8{FJA&eNi58T{BFRe*(q^8sYVxVk~`hzZu;81U#{bIThW8-ob{b0~it z9UW09c#Ckt%6GrFY+sBuZ@(?BIv||O#runaMlMH{kB3H1#Tg#-D%_xap|sgy+OM*5 zWTH}kqruat-k`F9DRxA=F<+Qc<1*&8k2=z%L|9yl=jU^51+?^ z`<^7^N*TJY!)an^DHs?u3M7ht;82wfwSrk(93b+wMRcx!r#<82$B$v4hSMNhmLl3! z$__mA%UVtMUe+cixet_&a%PD&V%@y?=)xd9ewhUb$G|iKLj z?D(kkVv{!uCLVsdhqC)T4P0=`$bK**k!AS{tZ25W#QjzLN>Q*hZa z?2aB$3`?yvcPcsxWQMKONf-+gwb%m_5~?OD*jT_n3Z&0+Kp}5^6Eo2k{$+~ySe-}`}=5rpEO_NGCH*~Q!tS_?9p#Q^)ty22g?wvH!=qk;X_~CGhF@& z3v0FAlU+`Jzy$-h%kr;cqA)E%`B}Lrfg%kC20c-P^K*+re97GY#sE2{cvWtnR*pj- z+~gFAL{;yv!4e14z(7wWy|i^|N(QmE0L^?GF|zy*$b08hYh=E7 zy3bAst|aXP1&zc+bI}a`v|+JyCIYW+!12Q*Fzp>RC#<}E2OT9Pr6{L3`Uq$GL&zm? z91P)U69*|#9iM&e3x#e)YRzlxhyuY6C2++qtpm054?}uj-Nio~I}}?rbXV){bS#cg z%?&B@;6EFhR)_|XOU;KIi64O6RZW@zX40+49`(GI!3QRBfBty1cLa@U-@Exd_S>XC z`Gfu~pyHbOoFCnRbxiGJd%Gmd>-fxMktm>2@h8HOUVjCn30UTIPBr;%{Aql_Z@#~E z|GCkZnG6=4qtopPk1Mcw56H&S&M5X^Q^ly=mZdbG2n(GDrnIZ2R*>N(xg? zPYDK3qNk^{V6IxIECCGdpewlNfl7LzOP|BqJh~!3_I_rGfOpI&=er4iDqiRP)59&~ zozj|>)dhSNQ2sidemeqiHl5%i{~?(JElsGJAv*eJ9i^bSIPjyAfelLkM|9@fH}p!A zOkg+F&nT0i@EEr6Z`_bv{x%(ypYP^4#v3ZgYJd*U-`H53l4=bOE;x-V5aGxl?)17J z&IL&W>ZF#AK-=|k(Kqx7HG?DP*>CMav!_90WBkFP&ldLjF$>gb+?(qAdGP?PL!uD- z3xlit*syQskB79HnnTbD&8;q642+31K_@oQSrUBY$6##CAEKK8w-O{ROMN8aC6;+? zXvipr#iif&u7j&{Y5&h{T+Wiofh(1_#C?qe{8l1 z*f@8-vBxhLU)k6Igc83J%WI5-@y2SdzguTSEB&*bm<+$*M!xNEia+*FX93R-ZK+S6 znt%;fZuHtZe#$nU=&OP<39cQB@{WoMCnPiF{nc7@@a}F8#kX?#`O)X`=7a|0nbSB) zgx{Iz{I99kcUF#$MWtCd6)i123y%LBc*)6iIZnMzh&`CSAn)#8ig5^g4|pjxZ}_xu z>cmf!KBun2Q&Wya6w95S!gA_biCyTNXjQ_usDi@7g&%LX(oQxiTFieq2RGW=(X`|0 z7C#E1MwENJ&#aa?Qr@v5DrQn3kK6g|1$uQv$pe~Svr?q+69AvcbzKFAiRk;kOHfd0 z!UO#SUWK_-Xe3?2vjUcgD=8r~cJH#^o3&;Id(GU9ijyMf72AHx%;|t_+rL%*J9z(K z7A$losKHM2(eEZ&0?e72zcI!y_BkOI(~1jYLK-NLQ@&%z5n4U>;;w ztKhTx`-!hyxvr$~&B;wXHr7Dcgh4gJZh1iA_94 zffpXG-8-`%kbyu)4*UH4v+J)hx(Xvc^p$VEfs($a$<$zhFb3{@78a6!Cd3;Aot*_? z2NMavl2`ro=mGyoHA4&-EY-kml7(j% z@M=yYs9@sE8ZmZyhK>>OqB4^O^ENNeGt{slwMo6NESpOXA#54JRnUb7@`x`b0BXOEnm zWOY?5QIDZ-0 zD#7YI-~U3x&AwXoMFX4yW>I6wjl_FP0Co30vAxE~h?~Ufq$q#ox(fcEStXL|%20ho z!uTJwWdxI7MAdp9@B8)puqNoR|P_^YKrW zPdYbDO^vNC&hNhU;JS3%_E)GJldh6fh6+0wQfK)+!e*4a0;!Sj>8@vCiBvD-9t$U@ zFP=(rmyr9P;cR%jK@h(7*qB~n;ZKV%l;%wh8!Ic}t9D0Ks?SoIoAH4R4BK&*FB$bT zIvm$k{#+*;r2qGgA%qsIpU^?CyVx)F00?Aj8^PFUkYTT=H6_BnC;^x%aGz1`%9kg;pH}R2f70~(zd!kziYgbc>w;%j zw}b*5ueZ&g54LaF&mg&5j;SbtrL@Pk2LC!q%Hmk97~t>}x178-YzZZEqtep&n;Oqv z!zJhziv}7_{Bq?_F6lvhqnY*9{QSh4r+dO7 zf51R30E(LYmoG0D7a!wntQ29Bz5^3)8K2`dG)Tu5zwdX)-Y?^NE?rpDl}03^bY|L? z6AGB3_K^`hF)xiGPEWbKjM0>LI8XzlOV_14AMD$s2|5bLNL@rLtbFqncC*guL!K%q z7zZ{8GIVq}<7{;H_M+ikf;A+^n_R;iroyO@5F2oDC4{OQ#zL4y`{f#tk+qQr>L}uO zN&poEuD`z`OrBUMsRt#MLcj@@7QO@sSuo{&6)Fsotb5S#zrG%^JD#A@QrJqIbb)RdICOralu0v5yB{@mY> z#>W>q$y3H^dJ|LX^tU9d+8AJ+8Wuh#9D!PRh>n$(zDyn#>R*OSu7Cxn`|__2&}jqD z2&`y^+3d}DrQ0&h$|}X5eryieKqxp|$<5@w{X_Bo%Y~ABr~}|M<6gf`jKivY2{X`LX{hN4>xPbt1A$s2C)UkxaK;T)u=+(L3Ed4x4*|>q>HK?8-W~)GM41 zj%{m7H2o_EGdl!(B1pXk+WgsmA4OiI>>PLn!=ChOW*qs<=ms9%W8nIM7`qbh(_I1x zl*#l#ubzq|%4L2ckqLMEHF*_US9QDb!OJC@JbD{t$8x^fi7*PUT~=!>ce*`BK*wLM z=jObH3yNXS(JoD;44Okst*NWiI(}F9qM{1)>Uy|Qu+k6h=HE#x7U>3R(`dnvB2aa6sU-hg~k z^LULBlJ>|9*ZFxYD7QmrH4|h|sm5ooLujyYKU0f6zYOU%uj!QG!Lk+&5K#fu)yxER z8L}q~#3|BnJZ&{HSj@7a9vWt8L7b5b!cmCjb-N|1ucQP3DaL6KHO3&(kXIs zge-X#;x+&&2s(Pagf{H{2Mf@nXYVakme?ne$p65X4l0bu-nd+=nfFq}47m~AQL?;N z3XiDk**Iles)mNuV7dTz9)&tSp7=hpy!b7%n49kXec%HKld&3`;9B= z2MUq6etP5`|H*oFRI{n`9H>@c?}s>&{oY^0?dmFI;^f4RqhA8C&@w=#$=la*n~pI+ zjs*l0refT;u(~?iN)d0G=K=o;tQ^YFj;(1!P~IXQn>1PY`6&)mx40TQnF^^@63LXH z57~K(0JTvE# zF)Abul`}YjZ6*u4C8cv9H7tBH8O{`o#h%-9F2dgj7xdMK_5Si-CI}1i*ic~R+PJEg zRzt_8!L2p1mxmMl!BSY%xRwrsG1v~N%P4M4#FZQBB2SImm|x53#Wkc{Pefl^voG*^ zbTvyd8&#%fuu@x~aKy>+>Ye?%ZA}b0c}noX?1AAEDF7XO_>$fXC?c$zFD~7Dfg4fy z`XkhD`q(5WBa=*a@tje6`<>q#)uep)+n;^OI>H3-K~-&t=sh;F$hk#XWOP!u35*D8>BmZ?7@vgpPLVL+u#b-xUXOW{tVDhy>}y? z<3lb$#uf3bVAtI<*Fm#$c5q=i^WG0^&zT_%_7$)wcLWAaw=WJ$%B!nJg(WbzkQ;n_ zZbA7a_k!*G^fq_Jr8|clzL{*f>RyU_)Ym~NWlix z^bxuKl5xL(8;vYzQG{B==bEFt?=7D-OJgy{XlrQ&_DhNdpj{e~HOY*-{Xnt@Kn(=y z)yxjh6G6I{f9Ose{pQ2$41go>IV8t@I5w|eH>VYG!$m;Gdu&2odwy) z+cWe&t!{qmP&ip^P5F6fSUnt$JbPW*8Rl(uynpX-{|6Q@)1YL<0q-M>S|b&hDG&{! z{;N;Aj8WAkburarXxCUZtK84L;wg% zA|I_&e51Na03<;IL^RlR2ew_f!JhYDUD4#8%U*Ap@hVBlIy}~|FuBaL`grytaG;@5 zJ|==B?9v*j z;KNbL-l4MRdJ~zYbSjC-z;4hG&?s2g6G`LEYnC|%0Y-YsGyZ&IHz;@@qmhFSlqRf^ zg^M*dL%0kj!9eBwt1Ypg?{rhrb3kZbzWm0}p$#fd;PUzDTb^)A=7vE?OQF_udLn+) z@6?s{vBy!G*g-$_;_zi2#e4QhpSGTwX%hZ)@2}16&ubJprc2rK7>Kd{R$H=5*TUK(#1|; zU+xB6Z`s6tI+R7%LoHlR59uyn@r^_JtDfkYx6eE{U_jC1X&3zQ%5`NG5|RaNCzV7! z&ZLubv7;lVXzD+>(1>nKy@=>tv|JkuidR~nX)Y6K_Tb7M-Yta3VN}QZE9M~j6|_b` zM|)1m`;rvNHBdP=bS7}+Y01G%l4v&rN_RZ!H^dBnZ*g;SoB*6t0#<@_A^PjrgYlDD zIFuptt`2=FcIeA4E0YWi6z!`#1MWXOg2)n0T!(3^mFs1Cp+iF}V{PVps=`8{(pu49 z)EGs*Y`qA>pbzDBGDB;#=3=g$PHslk@rkp;j1cmzP(Gs!4Gg;Zi0 zAhCoC=8X1GFd@)2(56F!Li`a~K9d}&y>()8dU^zi|26<+E>o}=`p7%1q)dF;V?X~g zF>Ngz%v!zj6BHT^O47xJRMpXR1{5OYF(-&U*d=RQm~-i#948}Q#!hNeo+0%6$dKXTB~iof*b z>(XuN_yp~MtSp%?xwEA3-9F6BpkrXflz-5_cdzPoMA7RaXgCjlSK*7UfaWqNcYvI) zWih?52zEkZ{%MSL-RsvxbaZChiz2iHf{v6y$eg8dmcHX)mP_!d9zXOPB+QXeO5yeA zkXvkwM8Sdu=h-vk!=FiLX@Zqk-_#52x+TPm+W%^v85=XYt|(uuUKgB_LJVz0##Cx1 z4Vc6dipX67snB^)hjX)6&5r2Sv9`s5LBsT%`&Br`-xG3R8c@?{xK)a1xWRtD6eHUT z+PdNLPPlVz1^)hC`)iB&FIUMxay&EyE^;u@*VJ^5E;z2>!lw@{(tJVOOb3iazyBy` zAyeKfs#Q*W<>sbyzFb&%4y-0%yA~%_C%q;uEJkiH2I1eXUWTy64|~IbIj5wt280i`r8?d}^(H2&A#ruJ2Z2@oD$~1>WxAI* z?lAql7A;lFQmhbz7$*uXKqY`w zhF`(dl-lofhxS`e3+B}q21adu{4?IwTu;Q0zh%Xb4m`R7f8J*>P=@rL5w2A8?GhRY*Mzoqi{6TVm~4nz9k99rq@Al@zU;#=%#>DA{3@(Oti{BEtO}*hPjZ>O@M6PH>G0EAFZ@^# z(Rld0Ji}@N$1pt}^ygTRWcF`xG0IiKNrBv{|7+YG9~k1Dp&lJ?>|4IK`gWE#kPK!) zclwb_F5k__nA7i_nL8=%uh2U|;JX*K3Gk}Y)zt+Fd?pEr7Gx9V*pw7JU16SFM@V{&&z`5@#68H4a9na zfL`3l<1`qXG(IZ}5pT1$wtfksV3YuiuP-dgbAqy99t4%&`kn{^q97I|#XuvZ)i?{p zHQOV}xwN#j0^lEKWM;l(SY=xF?qby3A1Il;@T|()AE@4jR-(OK`e^|zY_So=V6YvD zfmqqz-v092!7%8LQtv<8o@t>eH>i{Wc{2nJ1Avzx3(6viR>Qj{G=MsN4m^fEC6zvl z>!G2gQ%b4D_ef;)G@YFp1)arXoTpp6krhC>0juz{$C4U3r&!F2o3iTz4P4m@+X{*oE`Y|y4`x*^vFbm314lXV$ zZf@?hAWTBR)t!~)>m}J|E+{9@n*3!bzyW zb^1M3;?~>S7#Z{a&OdwhtTk5XB!`!m*VXQ9L&K8K6F!DRpZh<4ymzj|!K}L-a_nR^ zm#vTp;DsnLsqjghbV|LgFK*}}K)fB8p5}XI& zN?>V8&JaTU2QvZ0N3ilsb?vW0hOm9&xmks);a|BUM-0FIg%_q-QK?ni;~?^_3=rhw z<>%i5em!p5Vd`VYOG!F%2K6I8a0ejAcR;PzwcCEt44qR?Q_8SLd6|77ndN&GJ=#7M(l*H zRLzdAuGo{>ZS?UihJ7~+4PO|IKope_fde&?_RygM&#Jsn>x-_=))0x?0%2QSimerZ zXS%i3D7G-Swq6599!T`GpuDn+fx8mc3jxWh6~h^cjrH9{QvJ!yU1A*?dIG(@y^w_A zdwAHI1^xv(*zKjIvUHr%bmQYdkUrMdl0gI!k4GAQB6qOxTA#=;;(@ARBm9zgg8eUtHtaPv#YfQ6`epzT38*ivlGdwZK~l9}^Ku+T{=%n~_50ERWLDbe|}IUCdS8yz<7dh?_Q0K z+N_w`0GYb}e(sAtiw*%F#++nvAL_`{{P|zxX63p0Ob=D_JUw=N@otkdlqqg*@;1v*^OhBIQt?`ubYe2UY32u#m)C^`+Y%cl8=uMNR60- zL1U$Nf3d$X5eoAUUH*Q9HQ&Z&f+C;EWo zTXTuM_iZ8^yg{#*rZT&bCwF|*9~|@!j9x_(g8bFFu5%xOy9~dj?e-!)I%PlYU3ve82WJll2QAx8F*zq)GEv;XnYC4^G zx?!YV#%bf9&yOE-lI~7cViz~K%UueH57YqQf)6w)l&CAPdTSTbIi;QOh4t3P&Ire9 z1^=gVO6GFAssEQ0WU-^>5;cw`1fDST#g4`O ztF<7miS@rc1=oc6K1!r3eeo*qw~)*6%6_45dBF8HOaH^m2NdkocZiaHA$V%a8+P5N zP_KlmM=hA!+6FTVlxMXXTv7@Bcg-%=;KGH-%1Zg-dL2&4>Dq-Pv0M;OZ+pj7_cqNi z;6oMcd-+u?;$HK7#3a_SM8%=8j$}>_$vV?4pK1cG`VhIph*jk_3fSEWp0pv1Lk(?D ze&RywqWPX;zG`i5;k6~MIn(;nG%3F2m`Ps&)gDbarZixFVLJ^^qV)Ai4HfQX~zx^y869) z`FTNXuky?R5tg>2?8aDi(LnhkKU76{TAx*M4Ee}Fxyv|Gx4Av#IQd+=k_?z$@sc;L zIvQCpQ4@!C+o@Awy2`f?_2h7#qU4~q4#t=9r|v`j74x9ym7rz}zW`57gBlMvckwA3 zEA*+HuD>Q4)N{-8H|+YQcQ!U==X*@Pc$srb!o`MH+Wu$&>S^<<=>yDMVQRrx?!;~G z%oLTR**2e4lofc`GJD1FAfK2G@CU8wIJTWDq$&BZ9vUDubR;Xm zqVXaFbMp}J@1*DTO&D0!_Z&ixLV}L`#tnR`8Y@n3CT8Xk2p`mc{C!gF!frAWQB=$f zngyFxq(ceS;XW^OS1YmDY^SCTtpu~cL;3N;fP&KHzUhNA0(Iu=#xTHgJPhnf(~D) z4EV^F(t?^VI|4ZI!Y(hblM-|RfBsB3Ia{~ch{eP(b|kBwEOf9J`CCj6w3%5^j5di97n5KLaN(X>sBDs3J6<* zf|sFxt417LU|xW33XOa5v!$<;Fo{XBw=bXKgXyb}3Dd$Z__5#!g3@pfi)O5RMqgEA z(->6u1_P>mXua1LhcK^B3Ei3GgX8ugbU(p=k`DpaX))QOsr6HzcW-c3)|+OdO#$%Z zMB+voBbtzcGemM#1PlzY1E^7Udc_G?A^_ct7o7U6DxcVi$9>{t_*Uc3J*7AHup+)# z?vG4JU`Iau7F;Sr_lrbS1S(iyHG9nHfzB0?A?LE)VgUE_Gd3av1MNyH&=)>~wpH9T zweBU1bU{;u>~unDI4%3k^U~7YSoRO)%l54PbyE*vXx`}}9C%F{?Y%5NG{I*EE|nxf z9*G>c49GI+{stA@kHF{Z6R3^tIgb9>3fpgZFJ0C8Ss{+v)j!^t6E+ZAFw1G^e(OFK zl&7A4;>e$$Y6%KYLV<*nZYL(PqC-l7;c>lp_b;nx{029NPipQ@VSVDQ6RKhlUP~{E zA?86?Hm*E#`O0|3Hr8Tze3HA)B+wklYjiXhJwVIOP*dt`>O9tHNloV& zSNA;xIQ-)V|F$%{64yA*N6R3yO&7 z@99Vqbagd}FU&ZzCk5!DeZL9x=Vio9rRjWqBSi`>#4@FGxbwE}`anl<4xneqHtZwb7g>CZUq!`!5Q`enX4aZj!ecZkI*9409Q=MP-%|qwq8k_+OEXY9&w-l&PE-LHJ>=0N%tF{f2~Yhw z7#AYChl80^i2K-a;R1S{dMu(o>L(PHX9uV5@>iXX6B+VZcu%6+xj+uIi-~FYWwau~ zx0qO_6FJ`kG9VV##NoQ2HDcxEUOYoyZ{YhTl6yKFh*MolOJws+RuuyVEOZz{H<6i^ zTrlt~D!{oqfG#JW-$4XjcDvAh^!-*!dv3+#XS~0jzJzm`_`rZlLu0y8#10~Hx3;DLPg46~2iI)n7!@mP_Zl5Q zqtz6_u;`4&jp&vWaZ^1Sou4F@a?Uv ze)ld!Lb5XiEV!V*LX37sZ=NVAaacBO+%YXV*ilyC-E#tu3SKt4f?e`LdnQH~#<4T- z_H_U#nVKE~EtYw#apk#H`;x?==UJJ7(cgh%sr*8C4Z)cz4$0EkKmQBIV4 z*b(0%@Zp2}5*<7Hi_HSH8~5Hk5Vdf9n}vnm{8zWxeJ>f0;|spxmk2zcNVpleOr*;c zv|>Yry*4U2KIf+K0@KaUx5jDimz%resLSiO9m!@)96#vr-g~6)3I{S7s^EllWJaG0 zA{3YwXqsCpHa@F_2diUZ;#X6{Kr^Wt^Ci=pefJcVm6fes?{zZZwbs|YRQS+$drTbh zkX(e~pP<@tp^=%dVsq}hOUwKImxWEX2uPJ^+T*N0{53K&;-5D&p0e|z4Gs2cAkIh< z36OmdHuqeo`Z`qKsVyxP9tfZ>vZ#vZx7bl#E$6#3z6DLP;i-W?MF;X)-h23^rk;nm zmrhwp+m0)SZ$5U7UIKsDZoqvPbaUlSmGiPus}-uV=$->y>oBNI*u$sDsQqdMQFxc8 z+A)Ka*y!kJN)qzLU;w}0+a^P}75em3&QSARS0=u6c-o#(R8$~A{!vo2;7=TYz#3Xy zEDa2kUN*b23je7gil|&OV+l8h>JvqLam{n1$G3@z{n&CZGZ@*rn!1w8&6_kB`VIW{ z?L68grDeU4$YZ8uUkbtZX>0%KWr$-^IsD(zNsdgt+SdWoW#Zr4YzL0Jo8eK`;a_8W zU3Yw9-<;`fbuBYseyqZBZRzAgMTJaV+D<4Rfv5?Z-`RW5#Fg#rL`FxuFeGoZe;*CX zqPn1U91Yr<%zS}+$%tb?e{*AIc`}cK;OiRYd^0|O40|05n07~{K#8?=pv=0}i7B7*g{Nt0%!6L-oCMv& zvT<3;{fsC`&IH$IZ$r!Vf&Ba|Lrq7OEfzM9<$Y;GQ6E=fsI}8d1a3hvN-I zFtatddFJWK;~-stgNlYSRC1}lmiJmNO)35u{2C@Lit|E>X!g)UCOxz#=M?mEWU%c5 z9uHi&bZH-QgXqb3_sew*#w$F2`%7NyplWDHt@~WE(Y+-|h1sko)^p#!EM*lHqi)ZX zhYtdmv2vZ*$Ywe|EE z2zsC6o1IjOiKb&^cnR*y5?hZQpQ zR=f>k8zktkYN5m~`lakQd1|^MoM8A`Tj|UlF03Si;j?~4BLdh?BvK(~&|tAzon{AF zHPQ}#={*M-X6}>m!AK$e(m#NXMKuD=yH{Kke80X8R_*!m*^!=sJ0W1AJsiGgx;UaJ zNrJ-SA&<_rvG)=E3>17Ml6~LV;iql`@Yf3mJil9RNh$4Z-W`Z_cXh) zguU!h`;+!DgOxbccPkv_ahthp-ts^LxCLP!`N9cvEW&3ta{7*VdiKG8(jN>#R5l$c zLCoj}sG$-?X7xP438cFI~6*Te+So?*H_C@ z+-4(DF6GQMCE5HkU77i}vL@@jEDVNz^@pW|gqIyfwsLoOuN*@EE&Bb&ns_EM+Kr9V z!}GGyTALMBg@s#C*%_wQc*u)mN@{h<{=($j$M@oG!$!w8Mc+P+jir5b*RQBZQeM8# z9Q5zQE*N}%%txf78A$i-`dznS+>uhp!_RPKb5p!9JiNtLVRMn5SBS;Bdj*nGP*t%M zyXeb?!A)6LJKyg6mETA0<7Q{Rdih&_^i@Cih+?d1t-dK^)l&dSKOU^>Or^hm#*BZ< zxRF9rp67fDo3!**i1Z%A{n)z;57Y$(T zn(iW(?%*6`=O7wb$eqXhwiuC5l>nD(2xV4+MT7j@N@e!9OkvbYMT1rrDaMmNbo!4D zqpS)HES0IC_-QC*_(pX9{-%eLro20h71a}cJxKu2^rY^@#~TNtQ8m{2d}4UM6ouux z%Z|bt%HtX=q(3uXnHjmiVbtmq%eDa2qWebqScKfqoge8=-7BC<;*O$KR~L16|6=hz z_SoEfen>@yeZb#tOh%>j5>2W7FLNR!JqsC)UdkGcy=!;@5`#@u`=`R0bvKYjOo|Uf zdW_N9AmQ=1?q)aDV7o0L`i}-Q1mm{ZU{5Yhhu40|_a%`Kj=<688uIm`(6ctnW6luK z{MGw$Cxjx3djw$2gOiZ2q)ClURKe`_moJ~PQ-6R06Z*C*+xmupx@Ud;b9!&@sUePT z1Xd&rM39s4a=i#0;E|Fc@#JEYJ-Zn)KKyjWsfD;-^o&u0V04485u@7hs~zoe7^sM^ z{=FEIlJeR{z#a6Il?4H!W0dbaPW?56hw2!>@H0wJ^A?YM|9!-LKINe1ubwvUzCL*a zgUUw+^DF0DA9g-j($>?(OhH4F)#!((t=XIG+vAR*O@WdL=6n0oPfZ5Fk2=N0R=>C& z*O?Mb6fV!8b!!LbZ-GotyD#dHE6OD4bgxs zMq=~q!MO@LM-+IJU=dG8WV!wCv69TMW&S=9+c5Eac*-uK?1uGv%ZsI%s^B5t@N5?Y z4gMJTsGWo)FAs(xNFo;l0H=fQ>mgqyrg6iPZR!`?oexm z5Z2s@)HH=WS7&+&$5XLLNx;Q3n3l%%LrT8$Q?7A>f)`^ryZR?dsd*s=SUUuQsc-PL zZp<03al}>aJYiHMyp2Q@o5*hsZFO-INW#kG8T2YXv!=+o9nAKXxsWUHSRz?2M*zE_ zj)sUlyimdm3~6rwkio~qW*lK;aGLCeoaRB9Jm2J|5vRH7l6ts$X1#Ln?u_7!B6{b@ z{74DAGCq(I-dVuOoM#3U{!CArxU98YcKy-OhAEO9t^0y3={DtDB+yuBRaKv67hU#N zMDNih@ZP<+QSS4Hh$DL|<1?d^cZiSs7ta*IbMX zH!Wi*#pA=zC@I_qYb>C6=@ySQcGQ>ZTf!B#TR)8Ee0;Q|GhaQOpPBiE?eY|2XIpr0mi4lUk5iaK< z!7!)xU`2{|IJV%%$$yKV>F9Vi1R5-;=<0{xhWF9RkZxyXk)aiiAb`A$;IKQ%7Al=Q zRamsbA^(LoV5`>%t_oyuawLB$fM(t0FBoPyf+T@f6*SHdUTvk$?jaavV2K5FbkJjK zv*DqrTyie5L|=Rump^R-L!MyVt`R`qhs5fw3?Z}#o4u@ld~d;;ZkGu;gl|55vNF^kA00ac&&CLJQn0;cWeprY>_Qc1 zHSvJ(18r@~nxn);E*>W?k`3ABm6pN!uC%R_Vq^>kI~))wFtir|B10To@^?fIY6e$T zq=CQ|n9=?#U>J%YtOIt5J`t zwFFW}V#pUvUADe6r-;g=Ilw?9068|;na?3CO}sapm}tEPL^7=J!_}pn`*DENx(9y7 z<6V(e3KEw!ywudKKKEXAaM&Rx_D8}gsc2x;*HA|%dZ6DRJy>zi%#1t`+}mq^Dd8O; z$-wi5fsxVdOaJFeKa9vjT1J029xF-wZ#A=kv9bQyb32EBb+??_R$cq+w=T`>84x_df+${DrWR$AI|ZRQv4 zlS20-W!>kFzFC{u8(7DpA*hGQBmKIX(5<6mF(JF)wLh{b69YxkHcdHyQX$>a@IF%DGDXV@8{gc9c4PXe(BQpZjo0pGE(DCS zNa*YFXuZGBXRy?MK=x$ZF1|AFBRdguWKb?_VF>xXIr-&wVc|ry)|H|+O`t97>Hl`x z+|VDuw-d~x^|doGPoFX-T`$jgVJnKpFF*D<@wzRWj0*RO;uSCKDmM{Oi~OY(P15mC zO)(HUM$A`c8#c|)R?lPInR6KQ>lg!fL_&goI~XT=QU~wfzYkfw8^k%%)zxf4Lu6d8 z4q-q+P)aXsZWb6lYSN+x75-qk1xBzRfPwS!;;mg3uE+iAN4A(}i_BErsV7T6)gM+_ zsUm;t!nx*w=4K4R=Zs8$Wk9#ac)JmRpnZRj;S}QA6-bPFU(y6@<~kKx7fhd_tIHQ; z&`gTnlIc+x(mvtWG-m!G!53*VB`{ZvJHMPii{A@8%#HJlDdjRqG2!foU@Le8{)a03 zF+G#=*wU`kVv;_d2PoAwh=1znav+Hp!{QSY6CqGE63wYbx(~3~8Pc#^xI)4)(B9s+ zDE3=X48Q^5tD<~b_>NSM=Rp2KPb@4gHA4LW_Ufreqr$QGPAhM=gN51hAc$YAm3wJv zru5e4HbjW|;aXO_9JZf7+xcSN)r?+Kp5zD{TZ4DqZxL#Ub}>Z#)mi7Gc+{b)!o~(fQ3M#|xkcS~GzU}PoFIial!!}n{cy0E{CZttRzk)geKXA*Hh4Jp@ zqh1~!BL(e>s>;eFkX||=zj40odQe12hAZI+Pxyw{)R5rUT_{=jp zkVT-ALW*l&gq0yP8ykgyfWTCL$!x?=SExWNkA@$B6A=%jcX8q{$oj0_>|O^if_mFF zzx;ej@T~wpUd6@8-`Y4Y9;FGYDjH-K@0bpF|C=Y_U0iNx@b>%kNlMmhiIq6kfBfk9 zYf6M!ej?10V|t4NxTG3*L;wE$W7@s@ZU`d}26nh%ecJ@3aM+gAW{*X2$x#Jg;@uGr z)R%9nuZZ^6`l4}>bctQBKNwehqN22b{Z%wHs6n1fp9)Dg0$pQnzKO>YR+LQC6lV*r zp6dQx?l`1KkRHGhk>d!?l1_5~;C?pWf|7=YhF}})>Icv8Jdz zEj#syU6ib>tdKsW#=nPpnit!qx$YzRvhw0aH2OMn&1lp9Xc9}(7|rP}<=@}iRAJl* zmPP0`R$&-zae!QLyR7U8JQ<@P&hua93jZglj6i8rJaYFDz3Dd)1A$;Kbz@`W*-Cdw zNN_m87V(OLU{PvX8l}CxJsv+Sx7dAseQ_^srtMD-SusFWhJib8NlF2d7-%Lj{#jg< zgu^ev*@P~ShNfn1oTxG4{8bQ!>cCYIHO{?1QIGTs^O{L0m#AJB7QS39$;}nVZ(cGt z*O@McnP+w)REr4p7OX)3`VsSue=F~ro3ne;0|M$fm8yN|vOYk(2+yBgapfDUyO)<` z^Zk9LxEa&-f`S6CNl7CkBg4&}j~~fN_a8jqmy_d!#M8CT(dw9l&ld@)t-wqrWPiFz z5KJOOj3BQq1o{jO@(jWplt0EmPJI9VoW6D#K|}e&@M@-wHP!&8Dg-SoEjzIkA#|9M zno2>c8SnWw-#AiP^~u#9PYi=;=k3>Zp^fvrA4ixbePnr40B*(<~Kisu=S(UL~Vr<||$@d4dtbf}- zC;ZSc%%BbOPyd+ZS@kUTeJWLe-_fTZLMB(&-w59eyIz*CBRr^Qanvq(93*q)IMeAuq1w3Vn#`k;va;RtfD^Tnt+cUv$s;@0{cOHJ{mb zRiMfFX4QpipQ!zdTSzr}+)DkV+gtJJ8iFbK$g%m%dG~)m_d1hEbGIxixJdFz7xG$u z%a8x|DC)QGwvlSPdgx<5iKHBQR&xto|Los%fnhLlPqd78-K4|su;<58kno4>uqN?8 zCgpqo-(PEnspP9Z{!DEdw>a9!Q#Lf4E)dul?CJeB-II)DF7Q}TzQ|76_NdBUi~NV% zhb-!4yhHxGOrryDX4leHiI1!~Fyf4I1%I|&!(11p!fyZne;wXFGqTdantyzX_^Iac L(`vaY=KlW=>Befh literal 0 HcmV?d00001 diff --git a/help/html/media_8h_source.html b/help/html/media_8h_source.html new file mode 100644 index 0000000..4c41ffe --- /dev/null +++ b/help/html/media_8h_source.html @@ -0,0 +1,114 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/media.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      media.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_MEDIA_MEDIA_H_
      +
      2 #define COCOATWEET_API_MEDIA_MEDIA_H_
      +
      3 
      + + + + +
      8 #include <vector>
      +
      9 
      +
      10 namespace CocoaTweet::API::Medias {
      +
      11 
      +
      13 class Media : public groupInterface {
      +
      14 public:
      +
      16  Media() = default;
      +
      17 
      +
      20  Media(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      21 
      +
      22  CocoaTweet::API::Model::MediaStore Upload(const std::string& _file) const;
      +
      23 
      +
      24 private:
      +
      25 };
      +
      26 } // namespace CocoaTweet::API::Medias
      +
      27 
      +
      28 #endif
      +
      +
      CocoaTweet::API::Model::MediaStore Upload(const std::string &_file) const
      Definition: media.cc:8
      + +
      data class for tweet object
      Definition: mediaStore.h:9
      +
      Media()=default
      primary constructor to allow for create NON-INITIALIZED object
      +
      Definition: groupInterface.h:8
      +
      Definition: media.cc:3
      + + + +
      Entory point for statuses/*.
      Definition: media.h:13
      + + + + diff --git a/help/html/menu.js b/help/html/menu.js new file mode 100644 index 0000000..433c15b --- /dev/null +++ b/help/html/menu.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
    3. '); + } else { + $('#main-menu').append('
    4. '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/help/html/menudata.js b/help/html/menudata.js new file mode 100644 index 0000000..098c85f --- /dev/null +++ b/help/html/menudata.js @@ -0,0 +1,84 @@ +/* +@licstart The following is the entire license notice for the +JavaScript code in this file. + +Copyright (C) 1997-2019 by Dimitri van Heesch + +This program is free software; you can redistribute it and/or modify +it under the terms of version 2 of the GNU General Public License as published by +the Free Software Foundation + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +@licend The above is the entire license notice +for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}, +{text:"Namespace Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html"}, +{text:"Functions",url:"namespacemembers_func.html"}]}]}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"inherits.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"e",url:"functions.html#index_e"}, +{text:"f",url:"functions.html#index_f"}, +{text:"h",url:"functions.html#index_h"}, +{text:"i",url:"functions.html#index_i"}, +{text:"k",url:"functions.html#index_k"}, +{text:"m",url:"functions.html#index_m"}, +{text:"n",url:"functions.html#index_n"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"t",url:"functions.html#index_t"}, +{text:"u",url:"functions.html#index_u"}, +{text:"v",url:"functions.html#index_v"}, +{text:"w",url:"functions.html#index_w"}, +{text:"~",url:"functions.html#index__7E"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func.html#index_b"}, +{text:"c",url:"functions_func.html#index_c"}, +{text:"d",url:"functions_func.html#index_d"}, +{text:"e",url:"functions_func.html#index_e"}, +{text:"f",url:"functions_func.html#index_f"}, +{text:"h",url:"functions_func.html#index_h"}, +{text:"i",url:"functions_func.html#index_i"}, +{text:"k",url:"functions_func.html#index_k"}, +{text:"m",url:"functions_func.html#index_m"}, +{text:"n",url:"functions_func.html#index_n"}, +{text:"o",url:"functions_func.html#index_o"}, +{text:"p",url:"functions_func.html#index_p"}, +{text:"r",url:"functions_func.html#index_r"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"t",url:"functions_func.html#index_t"}, +{text:"u",url:"functions_func.html#index_u"}, +{text:"v",url:"functions_func.html#index_v"}, +{text:"w",url:"functions_func.html#index_w"}, +{text:"~",url:"functions_func.html#index__7E"}]}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}, +{text:"Variables",url:"globals_vars.html"}]}]}]} diff --git a/help/html/namespaceCocoaTweet.html b/help/html/namespaceCocoaTweet.html new file mode 100644 index 0000000..a2289aa --- /dev/null +++ b/help/html/namespaceCocoaTweet.html @@ -0,0 +1,90 @@ + + + + + + + +CocoaTweet: CocoaTweet Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + +
      +
      CocoaTweet Namespace Reference
      +
      +
      + + + + + + + + + + +

      +Namespaces

       API
       
       Exception
       
       OAuth
       
       Util
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API.html b/help/html/namespaceCocoaTweet_1_1API.html new file mode 100644 index 0000000..efb960b --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: CocoaTweet::API Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API Namespace Reference
      +
      +
      + + + + + + + + + + + + + + +

      +Namespaces

       DirectMessages
       
       Favorites
       
       Interface
       
       Medias
       
       Model
       
       Statuses
       
      + + + + + + +

      +Classes

      class  API
       Twitter API Entry Point. More...
       
      class  groupInterface
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1DirectMessages.html b/help/html/namespaceCocoaTweet_1_1API_1_1DirectMessages.html new file mode 100644 index 0000000..a0644c5 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1DirectMessages.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::DirectMessages Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::DirectMessages Namespace Reference
      +
      +
      + + + + + + + + +

      +Classes

      class  DirectMessage
       Entory point for statuses/*. More...
       
      class  New
       class for using statuses/update endpoint More...
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1Favorites.html b/help/html/namespaceCocoaTweet_1_1API_1_1Favorites.html new file mode 100644 index 0000000..58e72b2 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1Favorites.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Favorites Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Favorites Namespace Reference
      +
      +
      + + + + + + + + +

      +Classes

      class  Create
       
      class  Destroy
       
      class  Favorite
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1Interface.html b/help/html/namespaceCocoaTweet_1_1API_1_1Interface.html new file mode 100644 index 0000000..a4a51ec --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1Interface.html @@ -0,0 +1,94 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Interface Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Interface Namespace Reference
      +
      +
      + + + + + + + + + + +

      +Classes

      class  HttpBase
       
      class  HttpGet
       class for Send request with POST method More...
       
      class  HttpPost
       class for Send request with POST method More...
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1Medias.html b/help/html/namespaceCocoaTweet_1_1API_1_1Medias.html new file mode 100644 index 0000000..25583de --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1Medias.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Medias Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Medias Namespace Reference
      +
      +
      + + + + + + + + +

      +Classes

      class  Media
       Entory point for statuses/*. More...
       
      class  Upload
       entry point for using media/upload endpoint More...
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1Model.html b/help/html/namespaceCocoaTweet_1_1API_1_1Model.html new file mode 100644 index 0000000..921412a --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1Model.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Model Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Model Namespace Reference
      +
      +
      + + + + + + + + +

      +Classes

      class  MediaStore
       data class for tweet object More...
       
      class  Tweet
       data class for tweet object More...
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1API_1_1Statuses.html b/help/html/namespaceCocoaTweet_1_1API_1_1Statuses.html new file mode 100644 index 0000000..d0ad580 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1API_1_1Statuses.html @@ -0,0 +1,102 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Statuses Namespace Reference
      +
      +
      + + + + + + + + + + + + + + + + + + +

      +Classes

      class  Destroy
       class for using status/destroy:id endpoint More...
       
      class  Retweet
       
      class  Status
       Entory point for statuses/*. More...
       
      class  Unretweet
       
      class  Update
       class for using statuses/update endpoint More...
       
      class  UserTimeline
       class for using statuses/user_timeline endpoint More...
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1Exception.html b/help/html/namespaceCocoaTweet_1_1Exception.html new file mode 100644 index 0000000..6777843 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1Exception.html @@ -0,0 +1,100 @@ + + + + + + + +CocoaTweet: CocoaTweet::Exception Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::Exception Namespace Reference
      +
      +
      + + + + + + + + + + + + + + + + +

      +Classes

      class  AuthenticateException
       
      class  Exception
       
      class  RateLimitException
       
      class  TweetDuplicateException
       
      class  TweetNotFoundException
       
      class  TweetTooLongException
       
      class  UnsupportedMediaTypeException
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1OAuth.html b/help/html/namespaceCocoaTweet_1_1OAuth.html new file mode 100644 index 0000000..d391b13 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1OAuth.html @@ -0,0 +1,90 @@ + + + + + + + +CocoaTweet: CocoaTweet::OAuth Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::OAuth Namespace Reference
      +
      +
      + + + + + + +

      +Classes

      class  Key
       
      class  OAuth1
       
      +
      + + + + diff --git a/help/html/namespaceCocoaTweet_1_1Util.html b/help/html/namespaceCocoaTweet_1_1Util.html new file mode 100644 index 0000000..ba2c528 --- /dev/null +++ b/help/html/namespaceCocoaTweet_1_1Util.html @@ -0,0 +1,137 @@ + + + + + + + +CocoaTweet: CocoaTweet::Util Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::Util Namespace Reference
      +
      +
      + + + + + + +

      +Functions

      std::string urlEncode (const std::string &_str)
       
      std::string join (const std::vector< std::string > _vec, const std::string &_delim)
       
      +

      Function Documentation

      + +

      ◆ join()

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      std::string CocoaTweet::Util::join (const std::vector< std::string > _vec,
      const std::string & _delim 
      )
      +
      + +
      +
      + +

      ◆ urlEncode()

      + +
      +
      + + + + + + + + +
      std::string CocoaTweet::Util::urlEncode (const std::string & _str)
      +
      + +
      +
      +
      + + + + diff --git a/help/html/namespacemembers.html b/help/html/namespacemembers.html new file mode 100644 index 0000000..c2c4462 --- /dev/null +++ b/help/html/namespacemembers.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: Namespace Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      Here is a list of all namespace members with links to the namespace documentation for each member:
      +
      + + + + diff --git a/help/html/namespacemembers_enum.html b/help/html/namespacemembers_enum.html new file mode 100644 index 0000000..bbd41cd --- /dev/null +++ b/help/html/namespacemembers_enum.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Namespace Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/namespacemembers_func.html b/help/html/namespacemembers_func.html new file mode 100644 index 0000000..801ca5c --- /dev/null +++ b/help/html/namespacemembers_func.html @@ -0,0 +1,80 @@ + + + + + + + +CocoaTweet: Namespace Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/namespacemembers_type.html b/help/html/namespacemembers_type.html new file mode 100644 index 0000000..66883a1 --- /dev/null +++ b/help/html/namespacemembers_type.html @@ -0,0 +1,264 @@ + + + + + + + +CocoaTweet: Namespace Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +  + +

      - b -

      + + +

      - c -

      + + +

      - d -

      + + +

      - e -

      + + +

      - f -

      + + +

      - g -

      + + +

      - i -

      + + +

      - j -

      + + +

      - k -

      + + +

      - m -

      + + +

      - n -

      + + +

      - o -

      + + +

      - p -

      + + +

      - r -

      + + +

      - s -

      + + +

      - t -

      + + +

      - u -

      + + +

      - v -

      +
      + + + + diff --git a/help/html/namespacemembers_vars.html b/help/html/namespacemembers_vars.html new file mode 100644 index 0000000..62308d0 --- /dev/null +++ b/help/html/namespacemembers_vars.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: Namespace Members + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      + + + + diff --git a/help/html/namespacenlohmann.html b/help/html/namespacenlohmann.html new file mode 100644 index 0000000..8b8af05 --- /dev/null +++ b/help/html/namespacenlohmann.html @@ -0,0 +1,197 @@ + + + + + + + +CocoaTweet: nlohmann Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + +
      +
      nlohmann Namespace Reference
      +
      +
      + +

      namespace for Niels Lohmann +More...

      + + + + + +

      +Namespaces

       detail
       detail namespace with internal helper functions
       
      + + + + + + + + + + + + + + + + + + +

      +Classes

      struct  adl_serializer
       default JSONSerializer template argument More...
       
      class  basic_json
       a class to store JSON values More...
       
      class  byte_container_with_subtype
       an internal type for a backed binary type More...
       
      class  json_pointer
       JSON Pointer. More...
       
      struct  json_sax
       SAX interface. More...
       
      struct  ordered_map
       
      + + + + + + + +

      +Typedefs

      using json = basic_json<>
       default JSON class More...
       
      using ordered_json = basic_json< nlohmann::ordered_map >
       ordered JSON class More...
       
      + + + + +

      +Functions

      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string (const NLOHMANN_BASIC_JSON_TPL &j)
       user-defined to_string function for JSON values More...
       
      +

      Detailed Description

      +

      namespace for Niels Lohmann

      +

      namespace to hold default to_json function

      +
      See also
      https://github.com/nlohmann
      +
      Since
      version 1.0.0
      +

      Typedef Documentation

      + +

      ◆ json

      + +
      +
      + + + + +
      typedef basic_json<> nlohmann::json
      +
      + +

      default JSON class

      +

      This type is the default specialization of the basic_json class which uses the standard template types.

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ ordered_json

      + +
      +
      + +

      ordered JSON class

      +

      This type preserves the insertion order of object keys.

      +
      Since
      version 3.9.0
      + +
      +
      +

      Function Documentation

      + +

      ◆ to_string()

      + +
      +
      + + + + + + + + +
      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPLj)
      +
      + +

      user-defined to_string function for JSON values

      +

      This function implements a user-defined to_string for JSON objects.

      +
      Parameters
      + + +
      [in]ja JSON object
      +
      +
      +
      Returns
      a std::string object
      + +
      +
      +
      + + + + diff --git a/help/html/namespacenlohmann_1_1detail.html b/help/html/namespacenlohmann_1_1detail.html new file mode 100644 index 0000000..4b252fb --- /dev/null +++ b/help/html/namespacenlohmann_1_1detail.html @@ -0,0 +1,3557 @@ + + + + + + + +CocoaTweet: nlohmann::detail Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail Namespace Reference
      +
      +
      + +

      detail namespace with internal helper functions +More...

      + + + + + +

      +Namespaces

       dtoa_impl
       implements the Grisu2 algorithm for binary to decimal floating-point conversion.
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Classes

      class  binary_reader
       deserialization of CBOR, MessagePack, and UBJSON values More...
       
      class  binary_writer
       serialization to CBOR and MessagePack values More...
       
      struct  conjunction
       
      struct  conjunction< B1 >
       
      struct  conjunction< B1, Bn... >
       
      struct  detector
       
      struct  detector< Default, void_t< Op< Args... > >, Op, Args... >
       
      class  exception
       general exception of the basic_json class More...
       
      struct  external_constructor
       
      struct  external_constructor< value_t::array >
       
      struct  external_constructor< value_t::binary >
       
      struct  external_constructor< value_t::boolean >
       
      struct  external_constructor< value_t::number_float >
       
      struct  external_constructor< value_t::number_integer >
       
      struct  external_constructor< value_t::number_unsigned >
       
      struct  external_constructor< value_t::object >
       
      struct  external_constructor< value_t::string >
       
      class  file_input_adapter
       
      struct  from_json_fn
       
      struct  has_from_json
       
      struct  has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  has_non_default_from_json
       
      struct  has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  has_to_json
       
      struct  has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >
       
      struct  index_sequence
       
      class  input_adapter
       
      struct  input_adapter_protocol
       abstract input adapter interface More...
       
      class  input_buffer_adapter
       input adapter for buffer input More...
       
      class  input_stream_adapter
       
      struct  internal_iterator
       an iterator value More...
       
      class  invalid_iterator
       exception indicating errors with iterators More...
       
      struct  is_basic_json
       
      struct  is_basic_json< NLOHMANN_BASIC_JSON_TPL >
       
      struct  is_compatible_array_type
       
      struct  is_compatible_array_type_impl
       
      struct  is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
       
      struct  is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
       
      struct  is_compatible_integer_type
       
      struct  is_compatible_integer_type_impl
       
      struct  is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
       
      struct  is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >
       
      struct  is_compatible_object_type
       
      struct  is_compatible_object_type_impl
       
      struct  is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
       
      struct  is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >
       
      struct  is_compatible_string_type
       
      struct  is_compatible_string_type_impl
       
      struct  is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
       
      struct  is_compatible_type
       
      struct  is_compatible_type_impl
       
      struct  is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
       
      struct  is_complete_type
       
      struct  is_complete_type< T, decltype(void(sizeof(T)))>
       
      struct  is_constructible_array_type
       
      struct  is_constructible_array_type_impl
       
      struct  is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
       
      struct  is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
       
      struct  is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
       
      struct  is_constructible_object_type
       
      struct  is_constructible_object_type_impl
       
      struct  is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
       
      struct  is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >
       
      struct  is_constructible_string_type
       
      struct  is_constructible_string_type_impl
       
      struct  is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
       
      struct  is_constructible_tuple
       
      struct  is_constructible_tuple< T1, std::tuple< Args... > >
       
      struct  is_getable
       
      struct  is_iterator_of_multibyte
       
      struct  is_iterator_traits
       
      struct  is_iterator_traits< iterator_traits< T > >
       
      struct  is_json_ref
       
      struct  is_json_ref< json_ref< T > >
       
      struct  is_sax
       
      struct  is_sax_static_asserts
       
      class  iter_impl
       a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
       
      class  iteration_proxy
       proxy class for the items() function More...
       
      class  iteration_proxy_value
       
      class  iterator_input_adapter
       
      struct  iterator_input_adapter_factory
       
      struct  iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
       
      struct  iterator_traits
       
      struct  iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
       
      struct  iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
       
      struct  iterator_types
       
      struct  iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
       
      class  json_ref
       
      class  json_reverse_iterator
       a template for a reverse iterator class More...
       
      class  json_sax_acceptor
       
      class  json_sax_dom_callback_parser
       
      class  json_sax_dom_parser
       SAX implementation to create a JSON value from SAX events. More...
       
      class  lexer
       lexical analysis More...
       
      class  lexer_base
       
      struct  make_index_sequence
       
      struct  make_index_sequence< 0 >
       
      struct  make_index_sequence< 1 >
       
      struct  make_void
       
      struct  merge_and_renumber
       
      struct  merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
       
      struct  nonesuch
       
      class  other_error
       exception indicating other library errors More...
       
      class  out_of_range
       exception indicating access out of the defined range More...
       
      class  output_adapter
       
      struct  output_adapter_protocol
       abstract output adapter interface More...
       
      class  output_stream_adapter
       output adapter for output streams More...
       
      class  output_string_adapter
       output adapter for basic_string More...
       
      class  output_vector_adapter
       output adapter for byte vectors More...
       
      class  parse_error
       exception indicating a parse error More...
       
      class  parser
       syntax analysis More...
       
      struct  position_t
       struct to capture the start position of the current token More...
       
      class  primitive_iterator_t
       
      struct  priority_tag
       
      struct  priority_tag< 0 >
       
      class  serializer
       
      class  span_input_adapter
       
      struct  static_const
       
      struct  to_json_fn
       
      class  type_error
       exception indicating executing a member function with a wrong type More...
       
      class  wide_string_input_adapter
       
      struct  wide_string_input_helper
       
      struct  wide_string_input_helper< BaseInputAdapter, 2 >
       
      struct  wide_string_input_helper< BaseInputAdapter, 4 >
       
      struct  wide_string_input_helper< WideStringType, 2 >
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Typedefs

      template<bool B, typename T = void>
      using enable_if_t = typename std::enable_if< B, T >::type
       
      template<typename T >
      using uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
       
      template<typename... Ts>
      using index_sequence_for = make_index_sequence< sizeof...(Ts)>
       
      template<typename ... Ts>
      using void_t = typename make_void< Ts... >::type
       
      template<template< class... > class Op, class... Args>
      using is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
       
      template<template< class... > class Op, class... Args>
      using detected_t = typename detector< nonesuch, void, Op, Args... >::type
       
      template<class Default , template< class... > class Op, class... Args>
      using detected_or = detector< Default, void, Op, Args... >
       
      template<class Default , template< class... > class Op, class... Args>
      using detected_or_t = typename detected_or< Default, Op, Args... >::type
       
      template<class Expected , template< class... > class Op, class... Args>
      using is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
       
      template<class To , template< class... > class Op, class... Args>
      using is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
       
      template<typename T >
      using mapped_type_t = typename T::mapped_type
       
      template<typename T >
      using key_type_t = typename T::key_type
       
      template<typename T >
      using value_type_t = typename T::value_type
       
      template<typename T >
      using difference_type_t = typename T::difference_type
       
      template<typename T >
      using pointer_t = typename T::pointer
       
      template<typename T >
      using reference_t = typename T::reference
       
      template<typename T >
      using iterator_category_t = typename T::iterator_category
       
      template<typename T >
      using iterator_t = typename T::iterator
       
      template<typename T , typename... Args>
      using to_json_function = decltype(T::to_json(std::declval< Args >()...))
       
      template<typename T , typename... Args>
      using from_json_function = decltype(T::from_json(std::declval< Args >()...))
       
      template<typename T , typename U >
      using get_template_function = decltype(std::declval< T >().template get< U >())
       
      using input_adapter_t = std::shared_ptr< input_adapter_protocol >
       a type to simplify interfaces More...
       
      template<typename T >
      using null_function_t = decltype(std::declval< T & >().null())
       
      template<typename T >
      using boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
       
      template<typename T , typename Integer >
      using number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
       
      template<typename T , typename Unsigned >
      using number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
       
      template<typename T , typename Float , typename String >
      using number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
       
      template<typename T , typename String >
      using string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
       
      template<typename T >
      using start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
       
      template<typename T , typename String >
      using key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
       
      template<typename T >
      using end_object_function_t = decltype(std::declval< T & >().end_object())
       
      template<typename T >
      using start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
       
      template<typename T >
      using end_array_function_t = decltype(std::declval< T & >().end_array())
       
      template<typename T , typename Exception >
      using parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
       
      template<typename CharType >
      using output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
       a type to simplify interfaces More...
       
      using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
       
      template<typename T , typename Binary >
      using binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
       
      template<typename BasicJsonType >
      using parser_callback_t = std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)>
       
      + + + + + + + + + + + + + + + + + + + + + + + + +

      +Enumerations

      enum  value_t : std::uint8_t {
      +  value_t::null, +value_t::object, +value_t::array, +value_t::string, +
      +  value_t::boolean, +value_t::number_integer, +value_t::number_unsigned, +value_t::number_float, +
      +  value_t::discarded, +value_t::null, +value_t::object, +value_t::array, +
      +  value_t::string, +value_t::boolean, +value_t::number_integer, +value_t::number_unsigned, +
      +  value_t::number_float, +value_t::binary, +value_t::discarded +
      + }
       the JSON type enumeration More...
       
      enum  input_format_t {
      +  input_format_t::json, +input_format_t::cbor, +input_format_t::msgpack, +input_format_t::ubjson, +
      +  input_format_t::bson, +input_format_t::json, +input_format_t::cbor, +input_format_t::msgpack, +
      +  input_format_t::ubjson, +input_format_t::bson +
      + }
       the supported input formats More...
       
      enum  error_handler_t {
      +  error_handler_t::strict, +error_handler_t::replace, +error_handler_t::ignore, +error_handler_t::strict, +
      +  error_handler_t::replace, +error_handler_t::ignore +
      + }
       how to treat decoding errors More...
       
      enum  value_t : std::uint8_t {
      +  value_t::null, +value_t::object, +value_t::array, +value_t::string, +
      +  value_t::boolean, +value_t::number_integer, +value_t::number_unsigned, +value_t::number_float, +
      +  value_t::discarded, +value_t::null, +value_t::object, +value_t::array, +
      +  value_t::string, +value_t::boolean, +value_t::number_integer, +value_t::number_unsigned, +
      +  value_t::number_float, +value_t::binary, +value_t::discarded +
      + }
       the JSON type enumeration More...
       
      enum  input_format_t {
      +  input_format_t::json, +input_format_t::cbor, +input_format_t::msgpack, +input_format_t::ubjson, +
      +  input_format_t::bson, +input_format_t::json, +input_format_t::cbor, +input_format_t::msgpack, +
      +  input_format_t::ubjson, +input_format_t::bson +
      + }
       the supported input formats More...
       
      enum  cbor_tag_handler_t { cbor_tag_handler_t::error, +cbor_tag_handler_t::ignore + }
       how to treat CBOR tags More...
       
      enum  parse_event_t : uint8_t {
      +  parse_event_t::object_start, +parse_event_t::object_end, +parse_event_t::array_start, +parse_event_t::array_end, +
      +  parse_event_t::key, +parse_event_t::value +
      + }
       
      enum  error_handler_t {
      +  error_handler_t::strict, +error_handler_t::replace, +error_handler_t::ignore, +error_handler_t::strict, +
      +  error_handler_t::replace, +error_handler_t::ignore +
      + }
       how to treat decoding errors More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Functions

      bool operator< (const value_t lhs, const value_t rhs) noexcept
       comparison operator for JSON types More...
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename std::nullptr_t &n)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
       
      template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value and not std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
      void from_json (const BasicJsonType &j, ConstructibleStringType &s)
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void from_json (const BasicJsonType &j, EnumType &e)
       
      template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void from_json (const BasicJsonType &j, std::valarray< T > &l)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType >
      void from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      auto from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      void from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
       
      template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value and not is_basic_json< ConstructibleArrayType >::value, int > = 0>
      auto from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
       
      j template get< typename ConstructibleArrayType::value_type > ()
       
      j template void ())
       
      template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
      void from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void from_json (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType , typename A1 , typename A2 >
      void from_json (const BasicJsonType &j, std::pair< A1, A2 > &p)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
       
      template<typename BasicJsonType , typename... Args>
      void from_json (const BasicJsonType &j, std::tuple< Args... > &t)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
       
      template<typename string_type >
      void int_to_string (string_type &target, std::size_t value)
       
      template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
      auto get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
      void to_json (BasicJsonType &j, T b) noexcept
       
      template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
      void to_json (BasicJsonType &j, const CompatibleString &s)
       
      template<typename BasicJsonType >
      void to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
       
      template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
      void to_json (BasicJsonType &j, FloatType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
      void to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
      void to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void to_json (BasicJsonType &j, EnumType e) noexcept
       
      template<typename BasicJsonType >
      void to_json (BasicJsonType &j, const std::vector< bool > &e)
       
      template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value and not is_basic_json< CompatibleArrayType >::value, int > = 0>
      void to_json (BasicJsonType &j, const CompatibleArrayType &arr)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      void to_json (BasicJsonType &j, const std::valarray< T > &arr)
       
      template<typename BasicJsonType >
      void to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
       
      template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value and not is_basic_json< CompatibleObjectType >::value, int > = 0>
      void to_json (BasicJsonType &j, const CompatibleObjectType &obj)
       
      template<typename BasicJsonType >
      void to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
       
      template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
      void to_json (BasicJsonType &j, const T(&arr)[N])
       
      template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
      void to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
      void to_json (BasicJsonType &j, const T &b)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
       
      template<typename FloatType >
      JSON_HEDLEY_RETURNS_NON_NULL char * to_chars (char *first, const char *last, FloatType value)
       generates a decimal representation of the floating-point number value in [first, last). More...
       
      template<typename BasicJsonType >
      void from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
       
      template<typename BasicJsonType >
      void to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
       
      std::size_t combine (std::size_t seed, std::size_t h) noexcept
       
      template<typename BasicJsonType >
      std::size_t hash (const BasicJsonType &j)
       hash a JSON value More...
       
      template<typename IteratorType >
      iterator_input_adapter_factory< IteratorType >::adapter_type input_adapter (IteratorType first, IteratorType last)
       
      template<typename ContainerType >
      auto input_adapter (const ContainerType &container) -> decltype(input_adapter(begin(container), end(container)))
       
      file_input_adapter input_adapter (std::FILE *file)
       
      input_stream_adapter input_adapter (std::istream &stream)
       
      input_stream_adapter input_adapter (std::istream &&stream)
       
      template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      contiguous_bytes_input_adapter input_adapter (CharT b)
       
      template<typename T , std::size_t N>
      auto input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
       
      +

      Detailed Description

      +

      detail namespace with internal helper functions

      +

      This namespace collects functions that should not be exposed, implementations of some basic_json methods, and meta-programming helpers.

      +
      Since
      version 2.1.0
      +

      Typedef Documentation

      + +

      ◆ binary_function_t

      + +
      +
      +
      +template<typename T , typename Binary >
      + + + + +
      using nlohmann::detail::binary_function_t = typedef decltype(std::declval<T&>().binary(std::declval<Binary&>()))
      +
      + +
      +
      + +

      ◆ boolean_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::boolean_function_t = typedef decltype(std::declval<T&>().boolean(std::declval<bool>()))
      +
      + +
      +
      + +

      ◆ contiguous_bytes_input_adapter

      + +
      +
      + + + + +
      using nlohmann::detail::contiguous_bytes_input_adapter = typedef decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>()))
      +
      + +
      +
      + +

      ◆ detected_or

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detected_or = typedef detector<Default, void, Op, Args...>
      +
      + +
      +
      + +

      ◆ detected_or_t

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detected_or_t = typedef typename detected_or<Default, Op, Args...>::type
      +
      + +
      +
      + +

      ◆ detected_t

      + +
      +
      +
      +template<template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detected_t = typedef typename detector<nonesuch, void, Op, Args...>::type
      +
      + +
      +
      + +

      ◆ difference_type_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::difference_type_t = typedef typename T::difference_type
      +
      + +
      +
      + +

      ◆ enable_if_t

      + +
      +
      +
      +template<bool B, typename T = void>
      + + + + +
      using nlohmann::detail::enable_if_t = typedef typename std::enable_if<B, T>::type
      +
      + +
      +
      + +

      ◆ end_array_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::end_array_function_t = typedef decltype(std::declval<T&>().end_array())
      +
      + +
      +
      + +

      ◆ end_object_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::end_object_function_t = typedef decltype(std::declval<T&>().end_object())
      +
      + +
      +
      + +

      ◆ from_json_function

      + +
      +
      +
      +template<typename T , typename... Args>
      + + + + +
      using nlohmann::detail::from_json_function = typedef decltype(T::from_json(std::declval<Args>()...))
      +
      + +
      +
      + +

      ◆ get_template_function

      + +
      +
      +
      +template<typename T , typename U >
      + + + + +
      using nlohmann::detail::get_template_function = typedef decltype(std::declval<T>().template get<U>())
      +
      + +
      +
      + +

      ◆ index_sequence_for

      + +
      +
      +
      +template<typename... Ts>
      + + + + +
      using nlohmann::detail::index_sequence_for = typedef make_index_sequence<sizeof...(Ts)>
      +
      + +
      +
      + +

      ◆ input_adapter_t

      + +
      +
      + + + + +
      using nlohmann::detail::input_adapter_t = typedef std::shared_ptr<input_adapter_protocol>
      +
      + +

      a type to simplify interfaces

      + +
      +
      + +

      ◆ is_detected

      + +
      +
      +
      +template<template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::is_detected = typedef typename detector<nonesuch, void, Op, Args...>::value_t
      +
      + +
      +
      + +

      ◆ is_detected_convertible

      + +
      +
      +
      +template<class To , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::is_detected_convertible = typedef std::is_convertible<detected_t<Op, Args...>, To>
      +
      + +
      +
      + +

      ◆ is_detected_exact

      + +
      +
      +
      +template<class Expected , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::is_detected_exact = typedef std::is_same<Expected, detected_t<Op, Args...> >
      +
      + +
      +
      + +

      ◆ iterator_category_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_category_t = typedef typename T::iterator_category
      +
      + +
      +
      + +

      ◆ iterator_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_t = typedef typename T::iterator
      +
      + +
      +
      + +

      ◆ key_function_t

      + +
      +
      +
      +template<typename T , typename String >
      + + + + +
      using nlohmann::detail::key_function_t = typedef decltype(std::declval<T&>().key(std::declval<String&>()))
      +
      + +
      +
      + +

      ◆ key_type_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::key_type_t = typedef typename T::key_type
      +
      + +
      +
      + +

      ◆ mapped_type_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::mapped_type_t = typedef typename T::mapped_type
      +
      + +
      +
      + +

      ◆ null_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::null_function_t = typedef decltype(std::declval<T&>().null())
      +
      + +
      +
      + +

      ◆ number_float_function_t

      + +
      +
      +
      +template<typename T , typename Float , typename String >
      + + + + +
      using nlohmann::detail::number_float_function_t = typedef decltype(std::declval<T&>().number_float( std::declval<Float>(), std::declval<const String&>()))
      +
      + +
      +
      + +

      ◆ number_integer_function_t

      + +
      +
      +
      +template<typename T , typename Integer >
      + + + + +
      using nlohmann::detail::number_integer_function_t = typedef decltype(std::declval<T&>().number_integer(std::declval<Integer>()))
      +
      + +
      +
      + +

      ◆ number_unsigned_function_t

      + +
      +
      +
      +template<typename T , typename Unsigned >
      + + + + +
      using nlohmann::detail::number_unsigned_function_t = typedef decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()))
      +
      + +
      +
      + +

      ◆ output_adapter_t

      + +
      +
      +
      +template<typename CharType >
      + + + + +
      using nlohmann::detail::output_adapter_t = typedef std::shared_ptr<output_adapter_protocol<CharType> >
      +
      + +

      a type to simplify interfaces

      + +
      +
      + +

      ◆ parse_error_function_t

      + +
      +
      +
      +template<typename T , typename Exception >
      + + + + +
      using nlohmann::detail::parse_error_function_t = typedef decltype(std::declval<T&>().parse_error( std::declval<std::size_t>(), std::declval<const std::string&>(), std::declval<const Exception&>()))
      +
      + +
      +
      + +

      ◆ parser_callback_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::detail::parser_callback_t = typedef std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>
      +
      + +
      +
      + +

      ◆ pointer_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::pointer_t = typedef typename T::pointer
      +
      + +
      +
      + +

      ◆ reference_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::reference_t = typedef typename T::reference
      +
      + +
      +
      + +

      ◆ start_array_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::start_array_function_t = typedef decltype(std::declval<T&>().start_array(std::declval<std::size_t>()))
      +
      + +
      +
      + +

      ◆ start_object_function_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::start_object_function_t = typedef decltype(std::declval<T&>().start_object(std::declval<std::size_t>()))
      +
      + +
      +
      + +

      ◆ string_function_t

      + +
      +
      +
      +template<typename T , typename String >
      + + + + +
      using nlohmann::detail::string_function_t = typedef decltype(std::declval<T&>().string(std::declval<String&>()))
      +
      + +
      +
      + +

      ◆ to_json_function

      + +
      +
      +
      +template<typename T , typename... Args>
      + + + + +
      using nlohmann::detail::to_json_function = typedef decltype(T::to_json(std::declval<Args>()...))
      +
      + +
      +
      + +

      ◆ uncvref_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::uncvref_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type
      +
      + +
      +
      + +

      ◆ value_type_t

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::value_type_t = typedef typename T::value_type
      +
      + +
      +
      + +

      ◆ void_t

      + +
      +
      +
      +template<typename ... Ts>
      + + + + +
      using nlohmann::detail::void_t = typedef typename make_void<Ts...>::type
      +
      + +
      +
      +

      Enumeration Type Documentation

      + +

      ◆ cbor_tag_handler_t

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::cbor_tag_handler_t
      +
      +strong
      +
      + +

      how to treat CBOR tags

      + + + +
      Enumerator
      error 

      throw a parse_error exception in case of a tag

      +
      ignore 

      ignore tags

      +
      + +
      +
      + +

      ◆ error_handler_t [1/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::error_handler_t
      +
      +strong
      +
      + +

      how to treat decoding errors

      + + + + + + + +
      Enumerator
      strict 

      throw a type_error exception in case of invalid UTF-8

      +
      replace 

      replace invalid UTF-8 sequences with U+FFFD

      +
      ignore 

      ignore invalid UTF-8 sequences

      +
      strict 

      throw a type_error exception in case of invalid UTF-8

      +
      replace 

      replace invalid UTF-8 sequences with U+FFFD

      +
      ignore 

      ignore invalid UTF-8 sequences

      +
      + +
      +
      + +

      ◆ error_handler_t [2/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::error_handler_t
      +
      +strong
      +
      + +

      how to treat decoding errors

      + + + + + + + +
      Enumerator
      strict 

      throw a type_error exception in case of invalid UTF-8

      +
      replace 

      replace invalid UTF-8 sequences with U+FFFD

      +
      ignore 

      ignore invalid UTF-8 sequences

      +
      strict 

      throw a type_error exception in case of invalid UTF-8

      +
      replace 

      replace invalid UTF-8 sequences with U+FFFD

      +
      ignore 

      ignore invalid UTF-8 sequences

      +
      + +
      +
      + +

      ◆ input_format_t [1/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::input_format_t
      +
      +strong
      +
      + +

      the supported input formats

      + + + + + + + + + + + +
      Enumerator
      json 
      cbor 
      msgpack 
      ubjson 
      bson 
      json 
      cbor 
      msgpack 
      ubjson 
      bson 
      + +
      +
      + +

      ◆ input_format_t [2/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::input_format_t
      +
      +strong
      +
      + +

      the supported input formats

      + + + + + + + + + + + +
      Enumerator
      json 
      cbor 
      msgpack 
      ubjson 
      bson 
      json 
      cbor 
      msgpack 
      ubjson 
      bson 
      + +
      +
      + +

      ◆ parse_event_t

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::parse_event_t : uint8_t
      +
      +strong
      +
      + + + + + + + +
      Enumerator
      object_start 

      the parser read { and started to process a JSON object

      +
      object_end 

      the parser read } and finished processing a JSON object

      +
      array_start 

      the parser read [ and started to process a JSON array

      +
      array_end 

      the parser read ] and finished processing a JSON array

      +
      key 

      the parser read a key of a value in an object

      +
      value 

      the parser finished reading a JSON value

      +
      + +
      +
      + +

      ◆ value_t [1/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::value_t : std::uint8_t
      +
      +strong
      +
      + +

      the JSON type enumeration

      +

      This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.

      +
      Note
      There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: basic_json::number_unsigned_t is used for unsigned integers, basic_json::number_integer_t is used for signed integers, and basic_json::number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.
      +
      See also
      basic_json::basic_json(const value_t value_type) – create a JSON value with the default value for a given type
      +
      Since
      version 1.0.0
      + + + + + + + + + + + + + + + + + + + + +
      Enumerator
      null 

      null value

      +
      object 

      object (unordered set of name/value pairs)

      +
      array 

      array (ordered collection of values)

      +
      string 

      string value

      +
      boolean 

      boolean value

      +
      number_integer 

      number value (signed integer)

      +
      number_unsigned 

      number value (unsigned integer)

      +
      number_float 

      number value (floating-point)

      +
      discarded 

      discarded by the the parser callback function

      +
      null 

      null value

      +
      object 

      object (unordered set of name/value pairs)

      +
      array 

      array (ordered collection of values)

      +
      string 

      string value

      +
      boolean 

      boolean value

      +
      number_integer 

      number value (signed integer)

      +
      number_unsigned 

      number value (unsigned integer)

      +
      number_float 

      number value (floating-point)

      +
      binary 

      binary array (ordered collection of bytes)

      +
      discarded 

      discarded by the parser callback function

      +
      + +
      +
      + +

      ◆ value_t [2/2]

      + +
      +
      + + + + + +
      + + + + +
      enum nlohmann::detail::value_t : std::uint8_t
      +
      +strong
      +
      + +

      the JSON type enumeration

      +

      This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.

      +
      Note
      There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: basic_json::number_unsigned_t is used for unsigned integers, basic_json::number_integer_t is used for signed integers, and basic_json::number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.
      +
      See also
      basic_json::basic_json(const value_t value_type) – create a JSON value with the default value for a given type
      +
      Since
      version 1.0.0
      + + + + + + + + + + + + + + + + + + + + +
      Enumerator
      null 

      null value

      +
      object 

      object (unordered set of name/value pairs)

      +
      array 

      array (ordered collection of values)

      +
      string 

      string value

      +
      boolean 

      boolean value

      +
      number_integer 

      number value (signed integer)

      +
      number_unsigned 

      number value (unsigned integer)

      +
      number_float 

      number value (floating-point)

      +
      discarded 

      discarded by the the parser callback function

      +
      null 

      null value

      +
      object 

      object (unordered set of name/value pairs)

      +
      array 

      array (ordered collection of values)

      +
      string 

      string value

      +
      boolean 

      boolean value

      +
      number_integer 

      number value (signed integer)

      +
      number_unsigned 

      number value (unsigned integer)

      +
      number_float 

      number value (floating-point)

      +
      binary 

      binary array (ordered collection of bytes)

      +
      discarded 

      discarded by the parser callback function

      +
      + +
      +
      +

      Function Documentation

      + +

      ◆ combine()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::size_t nlohmann::detail::combine (std::size_t seed,
      std::size_t h 
      )
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ from_json() [1/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      ArithmeticType & val 
      )
      +
      + +
      +
      + +

      ◆ from_json() [2/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value and not is_basic_json< ConstructibleArrayType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json (const BasicJsonType & j,
      ConstructibleArrayType & arr 
      ) -> decltype(from_json_array_impl(j, arr, priority_tag<3>
      +
      + +
      +
      + +

      ◆ from_json() [3/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      ConstructibleObjectType & obj 
      )
      +
      + +
      +
      + +

      ◆ from_json() [4/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value and not std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      ConstructibleStringType & s 
      )
      +
      + +
      +
      + +

      ◆ from_json() [5/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      EnumType & e 
      )
      +
      + +
      +
      + +

      ◆ from_json() [6/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::forward_list< T, Allocator > & l 
      )
      +
      + +
      +
      + +

      ◆ from_json() [7/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::map< Key, Value, Compare, Allocator > & m 
      )
      +
      + +
      +
      + +

      ◆ from_json() [8/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename A1 , typename A2 >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::pair< A1, A2 > & p 
      )
      +
      + +
      +
      + +

      ◆ from_json() [9/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename... Args>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::tuple< Args... > & t 
      )
      +
      + +
      +
      + +

      ◆ from_json() [10/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > & m 
      )
      +
      + +
      +
      + +

      ◆ from_json() [11/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      std::valarray< T > & l 
      )
      +
      + +
      +
      + +

      ◆ from_json() [12/19]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , std::size_t N>
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json (const BasicJsonType & j,
      T(&) arr[N] 
      ) -> decltype(j.template get<T>(), void()) +
      +
      + +
      +
      + +

      ◆ from_json() [13/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::binary_t & bin 
      )
      +
      + +
      +
      + +

      ◆ from_json() [14/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::boolean_t & b 
      )
      +
      + +
      +
      + +

      ◆ from_json() [15/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::number_float_t & val 
      )
      +
      + +
      +
      + +

      ◆ from_json() [16/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::number_integer_t & val 
      )
      +
      + +
      +
      + +

      ◆ from_json() [17/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::number_unsigned_t & val 
      )
      +
      + +
      +
      + +

      ◆ from_json() [18/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename BasicJsonType::string_t & s 
      )
      +
      + +
      +
      + +

      ◆ from_json() [19/19]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json (const BasicJsonType & j,
      typename std::nullptr_t & n 
      )
      +
      + +
      +
      + +

      ◆ from_json_array_impl() [1/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleArrayType >
      + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
      ConstructibleArrayType & arr,
      priority_tag< 0 >  
      )
      +
      + +
      +
      + +

      ◆ from_json_array_impl() [2/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleArrayType >
      + + + + + + + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
      ConstructibleArrayType & arr,
      priority_tag< 1 >  
      ) -> decltype( + arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()), + j.template get<typename ConstructibleArrayType::value_type>(), + void()) +
      +
      + +
      +
      + +

      ◆ from_json_array_impl() [3/4]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , std::size_t N>
      + + + + + + + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
      std::array< T, N > & arr,
      priority_tag< 2 >  
      ) -> decltype(j.template get<T>(), void()) +
      +
      + +
      +
      + +

      ◆ from_json_array_impl() [4/4]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
      typename BasicJsonType::array_t & arr,
      priority_tag< 3 >  
      )
      +
      + +
      +
      + +

      ◆ from_json_tuple_impl()

      + +
      +
      +
      +template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::from_json_tuple_impl (const BasicJsonType & j,
      Tuple & t,
      index_sequence< Idx... >  
      )
      +
      + +
      +
      + +

      ◆ get()

      + +
      +
      +
      +template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
      + + + + + + + + +
      auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > & i) -> decltype(i.key()) +
      +
      + +
      +
      + +

      ◆ get< typename ConstructibleArrayType::value_type >()

      + +
      +
      + + + + + + + +
      j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
      +
      + +
      +
      + +

      ◆ get_arithmetic_value()

      + +
      +
      +
      +template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::get_arithmetic_value (const BasicJsonType & j,
      ArithmeticType & val 
      )
      +
      + +
      +
      + +

      ◆ hash()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + +
      std::size_t nlohmann::detail::hash (const BasicJsonType & j)
      +
      + +

      hash a JSON value

      +

      The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc.

      +
      Template Parameters
      + + +
      BasicJsonTypebasic_json specialization
      +
      +
      +
      Parameters
      + + +
      jJSON value to hash
      +
      +
      +
      Returns
      hash value of j
      + +
      +
      + +

      ◆ input_adapter() [1/7]

      + +
      +
      +
      +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      + + + + + + + + +
      contiguous_bytes_input_adapter nlohmann::detail::input_adapter (CharT b)
      +
      + +
      +
      + +

      ◆ input_adapter() [2/7]

      + +
      +
      +
      +template<typename ContainerType >
      + + + + + + + + +
      auto nlohmann::detail::input_adapter (const ContainerType & container) -> decltype(input_adapter(begin(container), end(container))) +
      +
      + +
      +
      + +

      ◆ input_adapter() [3/7]

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + + + + + + + + + + + + + + +
      iterator_input_adapter_factory<IteratorType>::adapter_type nlohmann::detail::input_adapter (IteratorType first,
      IteratorType last 
      )
      +
      + +
      +
      + +

      ◆ input_adapter() [4/7]

      + +
      +
      + + + + + +
      + + + + + + + + +
      file_input_adapter nlohmann::detail::input_adapter (std::FILE * file)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [5/7]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter nlohmann::detail::input_adapter (std::istream && stream)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [6/7]

      + +
      +
      + + + + + +
      + + + + + + + + +
      input_stream_adapter nlohmann::detail::input_adapter (std::istream & stream)
      +
      +inline
      +
      + +
      +
      + +

      ◆ input_adapter() [7/7]

      + +
      +
      +
      +template<typename T , std::size_t N>
      + + + + + + + + +
      auto nlohmann::detail::input_adapter (T(&) array[N]) -> decltype(input_adapter(array, array + N)) +
      +
      + +
      +
      + +

      ◆ int_to_string()

      + +
      +
      +
      +template<typename string_type >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::int_to_string (string_type & target,
      std::size_t value 
      )
      +
      + +
      +
      + +

      ◆ operator<()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool nlohmann::detail::operator< (const value_t lhs,
      const value_t rhs 
      )
      +
      +inlinenoexcept
      +
      + +

      comparison operator for JSON types

      +

      Returns an ordering that is similar to Python:

        +
      • order: null < boolean < number < object < array < string
      • +
      • furthermore, each type is not smaller than itself
      • +
      • discarded values are not comparable
      • +
      +
      Since
      version 1.0.0
      +

      Returns an ordering that is similar to Python:

        +
      • order: null < boolean < number < object < array < string < binary
      • +
      • furthermore, each type is not smaller than itself
      • +
      • discarded values are not comparable
      • +
      • binary is represented as a b"" string in python and directly comparable to a string; however, making a binary array directly comparable with a string would be surprising behavior in a JSON file.
      • +
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ to_chars()

      + +
      +
      +
      +template<typename FloatType >
      + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars (char * first,
      const char * last,
      FloatType value 
      )
      +
      + +

      generates a decimal representation of the floating-point number value in [first, last).

      +

      The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.

      +
      Note
      The input number must be finite, i.e. NaN's and Inf's are not supported.
      +
      +The buffer must be large enough.
      +
      +The result is NOT null-terminated.
      + +
      +
      + +

      ◆ to_json() [1/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      CompatibleNumberIntegerType val 
      )
      +
      +noexcept
      +
      + +
      +
      + +

      ◆ to_json() [2/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      CompatibleNumberUnsignedType val 
      )
      +
      +noexcept
      +
      + +
      +
      + +

      ◆ to_json() [3/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value and not is_basic_json< CompatibleArrayType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const CompatibleArrayType & arr 
      )
      +
      + +
      +
      + +

      ◆ to_json() [4/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value and not is_basic_json< CompatibleObjectType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const CompatibleObjectType & obj 
      )
      +
      + +
      +
      + +

      ◆ to_json() [5/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const CompatibleString & s 
      )
      +
      + +
      +
      + +

      ◆ to_json() [6/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const std::pair< T1, T2 > & p 
      )
      +
      + +
      +
      + +

      ◆ to_json() [7/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const std::valarray< T > & arr 
      )
      +
      + +
      +
      + +

      ◆ to_json() [8/17]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const std::vector< bool > & e 
      )
      +
      + +
      +
      + +

      ◆ to_json() [9/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const T & b 
      )
      +
      + +
      +
      + +

      ◆ to_json() [10/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const T(&) arr[N] 
      )
      +
      + +
      +
      + +

      ◆ to_json() [11/17]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      const typename BasicJsonType::binary_t & bin 
      )
      +
      + +
      +
      + +

      ◆ to_json() [12/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      EnumType e 
      )
      +
      +noexcept
      +
      + +
      +
      + +

      ◆ to_json() [13/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      FloatType val 
      )
      +
      +noexcept
      +
      + +
      +
      + +

      ◆ to_json() [14/17]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      b 
      )
      +
      +noexcept
      +
      + +
      +
      + +

      ◆ to_json() [15/17]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      typename BasicJsonType::array_t && arr 
      )
      +
      + +
      +
      + +

      ◆ to_json() [16/17]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      typename BasicJsonType::object_t && obj 
      )
      +
      + +
      +
      + +

      ◆ to_json() [17/17]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json (BasicJsonType & j,
      typename BasicJsonType::string_t && s 
      )
      +
      + +
      +
      + +

      ◆ to_json_tuple_impl()

      + +
      +
      +
      +template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::to_json_tuple_impl (BasicJsonType & j,
      const Tuple & t,
      index_sequence< Idx... >  
      )
      +
      + +
      +
      + +

      ◆ void()

      + +
      +
      + + + + + + + +
      j template nlohmann::detail::void ()
      +
      + +
      +
      +
      + + + + diff --git a/help/html/namespacenlohmann_1_1detail_1_1dtoa__impl.html b/help/html/namespacenlohmann_1_1detail_1_1dtoa__impl.html new file mode 100644 index 0000000..4ce66c5 --- /dev/null +++ b/help/html/namespacenlohmann_1_1detail_1_1dtoa__impl.html @@ -0,0 +1,616 @@ + + + + + + + +CocoaTweet: nlohmann::detail::dtoa_impl Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::dtoa_impl Namespace Reference
      +
      +
      + +

      implements the Grisu2 algorithm for binary to decimal floating-point conversion. +More...

      + + + + + + + + +

      +Classes

      struct  boundaries
       
      struct  cached_power
       
      struct  diyfp
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Functions

      template<typename Target , typename Source >
      Target reinterpret_bits (const Source source)
       
      template<typename FloatType >
      boundaries compute_boundaries (FloatType value)
       
      cached_power get_cached_power_for_binary_exponent (int e)
       
      int find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
       
      void grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
       
      void grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
       
      void grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
       
      template<typename FloatType >
      void grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
       
      JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent (char *buf, int e)
       appends a decimal representation of e to buf More...
       
      JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
       prettify v = buf * 10^decimal_exponent More...
       
      + + + + + +

      +Variables

      constexpr int kAlpha = -60
       
      constexpr int kGamma = -32
       
      +

      Detailed Description

      +

      implements the Grisu2 algorithm for binary to decimal floating-point conversion.

      +

      This implementation is a slightly modified version of the reference implementation which may be obtained from http://florian.loitsch.com/publications (bench.tar.gz).

      +

      The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch.

      +

      For a detailed description of the algorithm see:

      +

      [1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with + Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010 [2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, PLDI 1996

      +

      Function Documentation

      + +

      ◆ append_exponent()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::append_exponent (char * buf,
      int e 
      )
      +
      +inline
      +
      + +

      appends a decimal representation of e to buf

      +
      Returns
      a pointer to the element following the exponent.
      +
      Precondition
      -1000 < e < 1000
      + +
      +
      + +

      ◆ compute_boundaries()

      + +
      +
      +
      +template<typename FloatType >
      + + + + + + + + +
      boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
      +
      +

      Compute the (normalized) diyfp representing the input number 'value' and its boundaries.

      +
      Precondition
      value must be finite and positive
      + +
      +
      + +

      ◆ find_largest_pow10()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n,
      std::uint32_t & pow10 
      )
      +
      +inline
      +
      +

      For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. For n == 0, returns 1 and sets pow10 := 1.

      + +
      +
      + +

      ◆ format_buffer()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::format_buffer (char * buf,
      int len,
      int decimal_exponent,
      int min_exp,
      int max_exp 
      )
      +
      +inline
      +
      + +

      prettify v = buf * 10^decimal_exponent

      +

      If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point notation. Otherwise it will be printed in exponential notation.

      +
      Precondition
      min_exp < 0
      +
      +max_exp > 0
      + +
      +
      + +

      ◆ get_cached_power_for_binary_exponent()

      + +
      +
      + + + + + +
      + + + + + + + + +
      cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
      +
      +inline
      +
      +

      For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c satisfies (Definition 3.2 from [1])

       alpha <= e_c + e + q <= gamma.
      +
      +
      +
      + +

      ◆ grisu2() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::dtoa_impl::grisu2 (char * buf,
      int & len,
      int & decimal_exponent,
      diyfp m_minus,
      diyfp v,
      diyfp m_plus 
      )
      +
      +inline
      +
      +

      v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10.

      + +
      +
      + +

      ◆ grisu2() [2/2]

      + +
      +
      +
      +template<typename FloatType >
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::dtoa_impl::grisu2 (char * buf,
      int & len,
      int & decimal_exponent,
      FloatType value 
      )
      +
      +

      v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10.

      + +
      +
      + +

      ◆ grisu2_digit_gen()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char * buffer,
      int & length,
      int & decimal_exponent,
      diyfp M_minus,
      diyfp w,
      diyfp M_plus 
      )
      +
      +inline
      +
      +

      Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. M- and M+ must be normalized and share the same exponent -60 <= e <= -32.

      + +
      +
      + +

      ◆ grisu2_round()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      void nlohmann::detail::dtoa_impl::grisu2_round (char * buf,
      int len,
      std::uint64_t dist,
      std::uint64_t delta,
      std::uint64_t rest,
      std::uint64_t ten_k 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ reinterpret_bits()

      + +
      +
      +
      +template<typename Target , typename Source >
      + + + + + + + + +
      Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
      +
      + +
      +
      +

      Variable Documentation

      + +

      ◆ kAlpha

      + +
      +
      + + + + + +
      + + + + +
      constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
      +
      +constexpr
      +
      + +
      +
      + +

      ◆ kGamma

      + +
      +
      + + + + + +
      + + + + +
      constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
      +
      +constexpr
      +
      + +
      +
      +
      + + + + diff --git a/help/html/namespaces.html b/help/html/namespaces.html new file mode 100644 index 0000000..f8557bc --- /dev/null +++ b/help/html/namespaces.html @@ -0,0 +1,91 @@ + + + + + + + +CocoaTweet: Namespace List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Namespace List
      +
      +
      +
      Here is a list of all namespaces with brief descriptions:
      +
      [detail level 123]
      + + + + + + + + + + + +
       NCocoaTweet
       NAPI
       NDirectMessages
       NFavorites
       NInterface
       NMedias
       NModel
       NStatuses
       NException
       NOAuth
       NUtil
      +
      +
      + + + + diff --git a/help/html/namespacestd.html b/help/html/namespacestd.html new file mode 100644 index 0000000..ebf9d43 --- /dev/null +++ b/help/html/namespacestd.html @@ -0,0 +1,141 @@ + + + + + + + +CocoaTweet: std Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + +
      +
      std Namespace Reference
      +
      +
      + + + + + + + + + + + +

      +Classes

      struct  hash< nlohmann::json >
       hash value for JSON objects More...
       
      struct  less<::nlohmann::detail::value_t >
       
      class  tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      class  tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      + + + + + +

      +Functions

      template<>
      void swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
       exchanges the values of two JSON objects More...
       
      +

      Function Documentation

      + +

      ◆ swap< nlohmann::json >()

      + +
      +
      +
      +template<>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      void std::swap< nlohmann::json > (nlohmann::jsonj1,
      nlohmann::jsonj2 
      )
      +
      +inlinenoexcept
      +
      + +

      exchanges the values of two JSON objects

      +
      Since
      version 1.0.0
      + +
      +
      +
      + + + + diff --git a/help/html/namespaceupdate.html b/help/html/namespaceupdate.html new file mode 100644 index 0000000..d01b084 --- /dev/null +++ b/help/html/namespaceupdate.html @@ -0,0 +1,259 @@ + + + + + + + +CocoaTweet: update Namespace Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + +
      +
      update Namespace Reference
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +

      +Variables

       releases = json.loads(str(urllib.request.urlopen('https://api.github.com/repos/nlohmann/json/releases').read(), 'utf-8'))
       
      list release_url_map = []
       
       process = subprocess.Popen(['git', 'tag'], stdout=subprocess.PIPE)
       
       tags = set(filter(None, str(tags, 'utf-8').split("\n")))
       
      bool did_update = False
       
       mode
       
       o777
       
       exist_ok
       
       data = urllib.request.urlopen(url).read();
       
      bool has_json_fwd = False
       
      string json_fwd_url = 'https://github.com/nlohmann/json/raw/{}/include/nlohmann/json_fwd.hpp'.format(tag);
       
      +

      Variable Documentation

      + +

      ◆ data

      + +
      +
      + + + + +
      update.data = urllib.request.urlopen(url).read();
      +
      + +
      +
      + +

      ◆ did_update

      + +
      +
      + + + + +
      bool update.did_update = False
      +
      + +
      +
      + +

      ◆ exist_ok

      + +
      +
      + + + + +
      update.exist_ok
      +
      + +
      +
      + +

      ◆ has_json_fwd

      + +
      +
      + + + + +
      bool update.has_json_fwd = False
      +
      + +
      +
      + +

      ◆ json_fwd_url

      + +
      +
      + + + + +
      string update.json_fwd_url = 'https://github.com/nlohmann/json/raw/{}/include/nlohmann/json_fwd.hpp'.format(tag);
      +
      + +
      +
      + +

      ◆ mode

      + +
      +
      + + + + +
      update.mode
      +
      + +
      +
      + +

      ◆ o777

      + +
      +
      + + + + +
      update.o777
      +
      + +
      +
      + +

      ◆ process

      + +
      +
      + + + + +
      update.process = subprocess.Popen(['git', 'tag'], stdout=subprocess.PIPE)
      +
      + +
      +
      + +

      ◆ release_url_map

      + +
      +
      + + + + +
      list update.release_url_map = []
      +
      + +
      +
      + +

      ◆ releases

      + +
      +
      + + + + +
      update.releases = json.loads(str(urllib.request.urlopen('https://api.github.com/repos/nlohmann/json/releases').read(), 'utf-8'))
      +
      + +
      +
      + +

      ◆ tags

      + +
      +
      + + + + +
      update.tags = set(filter(None, str(tags, 'utf-8').split("\n")))
      +
      + +
      +
      +
      + + + + diff --git a/help/html/nav_f.png b/help/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/help/html/nav_g.png b/help/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/new.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      new.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/directMessage/new.h>
      +#include <cocoatweet/util/util.h>
      +#include <string>
      +
      +Include dependency graph for new.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::DirectMessages
       
      +
      + + + + diff --git a/help/html/new_8cc__incl.map b/help/html/new_8cc__incl.map new file mode 100644 index 0000000..49dfb99 --- /dev/null +++ b/help/html/new_8cc__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/help/html/new_8cc__incl.md5 b/help/html/new_8cc__incl.md5 new file mode 100644 index 0000000..9bd7fd3 --- /dev/null +++ b/help/html/new_8cc__incl.md5 @@ -0,0 +1 @@ +17981e10a07816f8b075ab34b8910b1b \ No newline at end of file diff --git a/help/html/new_8cc__incl.png b/help/html/new_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..13b7504aadc2c851379def1db677c0ccfb69ec5a GIT binary patch literal 69214 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 _pew+{MNBUPIuhIy&kC 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 + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/new.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      new.h File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpPost.h>
      +#include <cocoatweet/api/model/tweet.h>
      +#include <vector>
      +#include <utility>
      +#include <memory>
      +#include "nlohmann/json.hpp"
      +
      +Include dependency graph for new.h:
      +
      +
      + + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::DirectMessages::New
       class for using statuses/update endpoint More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::DirectMessages
       
      +
      + + + + diff --git a/help/html/new_8h__dep__incl.map b/help/html/new_8h__dep__incl.map new file mode 100644 index 0000000..5528e29 --- /dev/null +++ b/help/html/new_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/new_8h__dep__incl.md5 b/help/html/new_8h__dep__incl.md5 new file mode 100644 index 0000000..d827a43 --- /dev/null +++ b/help/html/new_8h__dep__incl.md5 @@ -0,0 +1 @@ +2fe42811f61f02178ba0b2194bd8edc6 \ No newline at end of file diff --git a/help/html/new_8h__dep__incl.png b/help/html/new_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..36d03861ae1913ada52b9a5b8d3252fd78201732 GIT binary patch literal 10574 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 literal 0 HcmV?d00001 diff --git a/help/html/new_8h__incl.map b/help/html/new_8h__incl.map new file mode 100644 index 0000000..32344bd --- /dev/null +++ b/help/html/new_8h__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/help/html/new_8h__incl.md5 b/help/html/new_8h__incl.md5 new file mode 100644 index 0000000..3cd76ec --- /dev/null +++ b/help/html/new_8h__incl.md5 @@ -0,0 +1 @@ +7e3b5faf61f73db4c0c260bba089d32a \ No newline at end of file diff --git a/help/html/new_8h__incl.png b/help/html/new_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e66eb293cc75c7123091b48ddf8f8b7a8e43d0 GIT binary patch literal 50387 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 + + + + + + +CocoaTweet: src/cocoatweet/api/directMessage/new.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      new.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_DIRECTMESSAGE_NEW_H_
      +
      2 #define COCOATWEET_API_DIRECTMESSAGE_NEW_H_
      +
      3 
      + + +
      6 #include <vector>
      +
      7 #include <utility>
      +
      8 #include <memory>
      +
      9 #include "nlohmann/json.hpp"
      +
      10 
      + + +
      14 public:
      +
      15  New();
      +
      16  void recipient(const std::string& _id);
      +
      17  void message(const std::string& _message);
      +
      18 
      +
      22  void process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      23 
      +
      24 private:
      +
      25  std::string status_;
      +
      26  nlohmann::json json_;
      +
      27 };
      +
      28 } // namespace CocoaTweet::API::DirectMessages
      +
      29 
      +
      30 #endif
      +
      +
      void recipient(const std::string &_id)
      Definition: new.cc:18
      +
      void message(const std::string &_message)
      Definition: new.cc:22
      +
      Definition: directMessage.cc:4
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      void process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      process request for endpoint
      Definition: new.cc:26
      + + + +
      class for using statuses/update endpoint
      Definition: new.h:13
      + + + + diff --git a/help/html/oauth_8cc.html b/help/html/oauth_8cc.html new file mode 100644 index 0000000..50c9c62 --- /dev/null +++ b/help/html/oauth_8cc.html @@ -0,0 +1,126 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth/oauth.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      oauth.cc File Reference
      +
      +
      +
      #include "oauth.h"
      +#include "cocoatweet/util/util.h"
      +#include <random>
      +#include <ctime>
      +#include <bitset>
      +#include <sstream>
      +#include <string>
      +#include <cstring>
      +#include <iterator>
      +#include <openssl/hmac.h>
      +#include <openssl/sha.h>
      +#include <openssl/buffer.h>
      +
      +Include dependency graph for oauth.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::OAuth
       
      +
      + + + + diff --git a/help/html/oauth_8cc__incl.map b/help/html/oauth_8cc__incl.map new file mode 100644 index 0000000..7431761 --- /dev/null +++ b/help/html/oauth_8cc__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/help/html/oauth_8cc__incl.md5 b/help/html/oauth_8cc__incl.md5 new file mode 100644 index 0000000..b7d8853 --- /dev/null +++ b/help/html/oauth_8cc__incl.md5 @@ -0,0 +1 @@ +c887f37e867128895120186b177c6dd9 \ No newline at end of file diff --git a/help/html/oauth_8cc__incl.png b/help/html/oauth_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..15a029dd5966dc532de8b2430c886e38b7755b1e GIT binary patch literal 44232 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%0DK;WaosKWr*kdMueRXh4UG(D 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 + + + + + + +CocoaTweet: src/cocoatweet/oauth/oauth.h File Reference + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      oauth.h File Reference
      +
      +
      +
      #include <string>
      +#include <map>
      +#include <memory>
      +#include "key.h"
      +
      +Include dependency graph for oauth.h:
      +
      +
      + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::OAuth::OAuth1
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::OAuth
       
      +
      + + + + diff --git a/help/html/oauth_8h__dep__incl.map b/help/html/oauth_8h__dep__incl.map new file mode 100644 index 0000000..bd3e46d --- /dev/null +++ b/help/html/oauth_8h__dep__incl.map @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/oauth_8h__dep__incl.md5 b/help/html/oauth_8h__dep__incl.md5 new file mode 100644 index 0000000..98325ea --- /dev/null +++ b/help/html/oauth_8h__dep__incl.md5 @@ -0,0 +1 @@ +92cb1d270d99fc6d6b86010a47f92798 \ No newline at end of file diff --git a/help/html/oauth_8h__dep__incl.png b/help/html/oauth_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d57938d88ad716d2c1c9e820c12f3f219254debb GIT binary patch literal 186079 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 + + + + + + diff --git a/help/html/oauth_8h__incl.md5 b/help/html/oauth_8h__incl.md5 new file mode 100644 index 0000000..c9df47b --- /dev/null +++ b/help/html/oauth_8h__incl.md5 @@ -0,0 +1 @@ +fade3cc2fbdf67f456ad61b3c848a264 \ No newline at end of file diff --git a/help/html/oauth_8h__incl.png b/help/html/oauth_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c834e085b3c564bddee40526f89b61c799678c GIT binary patch literal 12819 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

      *{6&z9 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 Ls>;+$nT7oyK2w^M literal 0 HcmV?d00001 diff --git a/help/html/oauth_8h_source.html b/help/html/oauth_8h_source.html new file mode 100644 index 0000000..50d4e91 --- /dev/null +++ b/help/html/oauth_8h_source.html @@ -0,0 +1,127 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth/oauth.h Source File + + + + + + + + + +

      +
      +
      +
      oauth.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_OAUTH_OAUTH_H_
      +
      2 #define COCOATWEET_OAUTH_OAUTH_H_
      +
      3 
      +
      4 #include <string>
      +
      5 #include <map>
      +
      6 #include <memory>
      +
      7 #include "key.h"
      +
      8 
      +
      9 namespace CocoaTweet::OAuth {
      +
      10 class OAuth1 {
      +
      11 public:
      +
      12  OAuth1();
      +
      13  OAuth1(const Key _key);
      +
      14  std::map<std::string, std::string> signature(const std::map<std::string, std::string>& _param,
      +
      15  const std::string& _method,
      +
      16  const std::string& _url);
      +
      17  const std::string nonce() const;
      +
      18  const std::string timestamp() const;
      +
      19  const std::string method() const;
      +
      20  const std::string version() const;
      +
      21  const Key key() const;
      +
      22  std::map<std::string, std::string> oauthParam() const;
      +
      23  std::string hmacSha1(std::string _key, std::string _data);
      +
      24  const std::string base64(const std::string& _raw);
      +
      25 
      +
      26 private:
      +
      27  Key key_;
      +
      28  const std::string SIGNATURE_METHOD_ = "HMAC-SHA1";
      +
      29  const std::string OAUTH_VERSION_ = "1.0";
      +
      30 };
      +
      31 } // namespace CocoaTweet::OAuth
      +
      32 
      +
      33 #endif
      +
      +
      std::map< std::string, std::string > oauthParam() const
      Definition: oauth.cc:70
      +
      Definition: oauth.h:10
      +
      const std::string timestamp() const
      Definition: oauth.cc:54
      +
      std::map< std::string, std::string > signature(const std::map< std::string, std::string > &_param, const std::string &_method, const std::string &_url)
      Definition: oauth.cc:22
      +
      const std::string nonce() const
      Definition: oauth.cc:41
      +
      const Key key() const
      Definition: oauth.cc:66
      +
      Definition: key.h:8
      +
      const std::string version() const
      Definition: oauth.cc:62
      +
      std::string hmacSha1(std::string _key, std::string _data)
      Definition: oauth.cc:110
      + +
      OAuth1()
      Definition: oauth.cc:18
      +
      const std::string base64(const std::string &_raw)
      Definition: oauth.cc:80
      +
      const std::string method() const
      Definition: oauth.cc:58
      +
      Definition: key.cc:6
      + + + + diff --git a/help/html/open.png b/help/html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +CocoaTweet: Related Pages + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Related Pages
      +
      +
      +
      Here is a list of all related documentation pages:
      + + +
       README
      +
      +
      + + + + diff --git a/help/html/rateLimitException_8h.html b/help/html/rateLimitException_8h.html new file mode 100644 index 0000000..b4f8087 --- /dev/null +++ b/help/html/rateLimitException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/rateLimitException.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      rateLimitException.h File Reference
      +
      +
      +
      +Include dependency graph for rateLimitException.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::RateLimitException
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/rateLimitException_8h__dep__incl.map b/help/html/rateLimitException_8h__dep__incl.map new file mode 100644 index 0000000..05cc011 --- /dev/null +++ b/help/html/rateLimitException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/rateLimitException_8h__dep__incl.md5 b/help/html/rateLimitException_8h__dep__incl.md5 new file mode 100644 index 0000000..e6a7722 --- /dev/null +++ b/help/html/rateLimitException_8h__dep__incl.md5 @@ -0,0 +1 @@ +6edd7d42b24f4222f62508d810c0be82 \ No newline at end of file diff --git a/help/html/rateLimitException_8h__dep__incl.png b/help/html/rateLimitException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e09b5a9bc879593d055fc4b104dc246e104bd297 GIT binary patch literal 6599 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 + + + + + diff --git a/help/html/rateLimitException_8h__incl.md5 b/help/html/rateLimitException_8h__incl.md5 new file mode 100644 index 0000000..609bf9a --- /dev/null +++ b/help/html/rateLimitException_8h__incl.md5 @@ -0,0 +1 @@ +c244970da28c065e1ef52c2fc43caf54 \ No newline at end of file diff --git a/help/html/rateLimitException_8h__incl.png b/help/html/rateLimitException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb8a9ea5c3ae622c0e7ceb04d44d072b104b52f GIT binary patch literal 10036 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 F{{?tvbW#8S literal 0 HcmV?d00001 diff --git a/help/html/rateLimitException_8h_source.html b/help/html/rateLimitException_8h_source.html new file mode 100644 index 0000000..d1fd67f --- /dev/null +++ b/help/html/rateLimitException_8h_source.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/rateLimitException.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      rateLimitException.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_RATELIMITEXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_RATELIMITEXCEPTION_H_
      +
      3 
      + +
      5 
      +
      6 namespace CocoaTweet::Exception {
      + + +
      9 };
      +
      10 } // namespace CocoaTweet::Exception
      +
      11 
      +
      12 #endif
      +
      +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: rateLimitException.h:7
      +
      Definition: authenticateException.h:6
      +
      Definition: exception.h:8
      + + + + + diff --git a/help/html/retweet_8cc.html b/help/html/retweet_8cc.html new file mode 100644 index 0000000..119a933 --- /dev/null +++ b/help/html/retweet_8cc.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/retweet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      retweet.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/status/retweet.h>
      +#include <iostream>
      +
      +Include dependency graph for retweet.cc:
      +
      +
      + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/retweet_8cc__incl.map b/help/html/retweet_8cc__incl.map new file mode 100644 index 0000000..cefc374 --- /dev/null +++ b/help/html/retweet_8cc__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/retweet_8cc__incl.md5 b/help/html/retweet_8cc__incl.md5 new file mode 100644 index 0000000..3a15896 --- /dev/null +++ b/help/html/retweet_8cc__incl.md5 @@ -0,0 +1 @@ +a4e483e464f5a6bcdda5906943caeb30 \ No newline at end of file diff --git a/help/html/retweet_8cc__incl.png b/help/html/retweet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..88a50c49523b88d32f869944a09fb055157ee621 GIT binary patch literal 39308 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 + + + + + + +CocoaTweet: src/cocoatweet/api/status/retweet.h File Reference + + + + + + + + + + +
      + +
      +
      retweet.h File Reference
      +
      +
      +
      +Include dependency graph for retweet.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::Retweet
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/retweet_8h__dep__incl.map b/help/html/retweet_8h__dep__incl.map new file mode 100644 index 0000000..8fff304 --- /dev/null +++ b/help/html/retweet_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/retweet_8h__dep__incl.md5 b/help/html/retweet_8h__dep__incl.md5 new file mode 100644 index 0000000..bbba78e --- /dev/null +++ b/help/html/retweet_8h__dep__incl.md5 @@ -0,0 +1 @@ +7ec7b2c5d919c1807054dce8ab09d5aa \ No newline at end of file diff --git a/help/html/retweet_8h__dep__incl.png b/help/html/retweet_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf88aafe17f9dde416507973851a609497f3e28 GIT binary patch literal 7865 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

      j;gp(n^5 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 + + + + + + + + + + + diff --git a/help/html/retweet_8h__incl.md5 b/help/html/retweet_8h__incl.md5 new file mode 100644 index 0000000..daeb9b8 --- /dev/null +++ b/help/html/retweet_8h__incl.md5 @@ -0,0 +1 @@ +2f638f735a083c342adef43ae1875462 \ No newline at end of file diff --git a/help/html/retweet_8h__incl.png b/help/html/retweet_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2a2a2c730f69e1015964d9a4ba26ea5caadc75 GIT binary patch literal 38007 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

      >oYI zAc51ZmXU35?X$Uk=h+{Beec&j$VV!FZRnV9-bCKv`}Yh_9xNcMr1} z_NoCx0O;#cfp&a}VXKN-fn}R$>{ApJ!zzylw4G6CyHV*M0N0wR-lt69iGK7S_+jTa zlrhDzz4L-}u$DFE44`l%-AfiUl%?p*ClPf*^50u=c9UmUfye_QiwIPVs|6a_+}Bp&gL&h}Law&_ ztGydQ5ncrav~FGVRIt@8<&uCG>>h2e-P!8zzePYY8tqD*egifKdXd)I`k0TxBdF5B zLjR(eE0YB9=huf=b!!AkZ=l?YWr&WZD|0^^V1p=rGRa zR7nQF$WiVpM}_>?6U%h5+%<3NG-tA%i;}kAH2}2Xy=x|8Xjqthwo*7Wewq`%e=XC< zXPKCpEfh6!GqAGW(AJi^dDBU*(VJ`CqXI2eJY(U$T|;2p-D_DD6$$p@OcfseJFTt8 zEJjAN^Gzr|@xXO}>pBZssN6a~lHCKLOn2gV^MFKU^GeT)AvpAJ%5zYulPxZH`MAr! z&{i|KHvwkHYc)1Uaqqjhc11qYvK%2L4`p;d0X!E;$&8Jy)-jPnH`ixB-z4#~D+UZ8 zHX`C+x07zh;b@B)`EIBf!Kto068}ydh+z96Vfn$`T`?e=;mXmQx`~343`oI~zx~NV zPTMuO9UX5cYF$5cu_};jf7)?eITF~!xVLml6n3dTf{~89dzpdHeTSt zBLm=(+I2$ILqnm^vH3p7b(jAzo~0N)ls9fEXl)UkEGnPwX!^^JOts9+6!4A!?%Rp6 z>IHuo85s$P?^H2D^qc&V6!IcF-M#ZUHtc)wf7pVHD~|`G1y_@pQSX>3tnxN|&YP{Btpsgp}na$dd>VWp}R$R&z zmT`x5K-n8FT#7+|FsHT(+xm!w)(2^Jb7Y#8wwO*%qj>^maGIbS2zd9-qb?&S9?;QZ zvp)L3V7$(ip6H?Pzph~crn4ngX^eS>-=6*s7#)q)togy?CI5bT6Kun%B~Xt-w1No? z8YNBT@)bus$7Y7}=GjDTBKK_$DPZ3g4mLvVT`Sw$LTh>5cHaVb)-9@@l);!M31KT> zrq<4&EA}Dpy_NB)IMzxadOq@-;@?0O&AWW&06`MeKo4gd$F~$eg&7&B-~m?O0*+hd zBS8pAdlTTO?w#x};1JsY1xLC{lONYmi80fx!@JnYx>KS%&n6@PEr~9T>-#Ly$S>&X zeTH-t2r*?pDt%1*M@|6o-HwbmYj-Hb+{7;~D;dQviFY(j{pCD|5ky$hUmsc#&|TvZ z68hz+NP5}6V#qQF8UsnMeH6^axwsVFje23`eQGN3s^MuzgI9*T{17Ix`wPSpHMG#A z1<+Y$FrqciI8cYvK{mNB(mndvdQ0aiFdz*LHuKAB$Q&Uv+we^K z`pOC!ZQxGSw$aadxR8!xKTl_39u6ky1_*TPLaQ<8u!gdF_+{i9=V@{^VP&B_&nCDy z*^OFmYJk5Gb@h|Ajvw4iJ2H^17wn=I?Zzh|W$ zoV{iVg}{E4nu(gpueSeNXJO8^EP;X|Y7aEfeVaYWc=qpe_IfdZ@Gb%>zaCpc^grBD z#_N$k>oe!d(+xD8qR(SgVqT&`HIGa-Bj22Z%FBhJ!wlurr}gtXw>A3p9i_P9{t}Hm zi<_HZXNj@vJu`&IOO?Ve_wU=$;$ehL?(S(v{`{#q8w1KN^>$#Dng@7DfGPWRf`azg z7U`7$;`6;RbNy4Nb`y+28psidvUM5ni!7|dp*o`%5*n49Yp^1?eH!7)Tn)={82Pr{ zI#s!$SsK_7C3!_mN{a7uU9djVi6R|5NT)ArXq_K&--dFS#h4`%*kCAqKy<}@cC4RG z#N?zJ^U|<0YNq{YTcg-Ok_Xr?Ht@!piUP@&piJ%pIV;tu<%euKYz=4@Hm z$;4#*5BMIXT+H3m2$z|fW@wWGL2=O5R<}x%`$)~?WmA*irv0Ji)56Z#I)zqn25TA8`psgcKx)PZY$+*SBb{fBi7V0G~TzRcX zcszIginC4d@w0|Zqj$60A$yQ(rsoi0&ho3e6JKO~lD+nXQ=25}3pEynF~tL0(Srjg zUSm1eS;9~vt-2Em+u4ZrPxk^0EHtBBspI3nd8+T@m?fJ2rae(ijEl4)&Xy4Z=6{Xn9{Q|r zz94ql``sQMT>|V!Z}MhnMZa;8=b?JCdtvxHO5;1Oo$4rujYk2^->W=c4}H= zy!=Y{*+j#oxzk1|iMMy!M3n>{pSmF~ zuE(jn-Yy#TgkO*|1b9CwW}-)oF(fCt?4{kE{e@&?Tzf5leq|RsZ<@|JI6~%aE7bD{ zi-^d#qcz{!_w(KuCjMb3L6@yOLSX;NdMMpqw~;mgn$^}O--jVw+;_9jPPQModS2b3 zCVl>L33w`~2aW%X)}O3>U8`Gq45n$6tt>CCqw`_s09FYRBqVwOUCeE_6gQ60)M24T z`X-vJ0i={O>IxDhm7KkHOc1(v%^ay@5~(I7}GF7|rNvR=o?%c_Uch`LlZ+0p}j z<^1R4{9u~?P^x4(|5LdSNSOlkM|f3Lg6+O2T<)E!R5)Y@!R5~PEM9kAp(etq@uaEv zl5(6aK>ZK(%S$$IKz!oWj21&Y8%?-Kuz}^^wRlggl=9_~@vvpioX;Gx+~spEyt~6{ zDXXD@1CsH8h6e7y7P~pd_<66-B&m+3Uiq)Y5y%E-4k>d7- z;l3GNZ_2i$m*l-s@H_%Cms|U*?$6C>(29$5-ZftB#W>(%Kl(b(-blvvXC6uikaYUI z*^yS1RaZzByM5VrTn}huOqck&oJqAs!S-%kKdwWy;bc7w4ls2$nUz_%d%(R&#J?+t7;yw?n<<_380 z-JAdNe)oq#Ga;1Wh8?*0v#O)B(1)$hOrbCi`PjvG?+VkgeNka;8qS(^J6I=GFA(YC z!Kl0!=c(6tHK*Y!!^i;4YkMg1(!$cx(_|MxUC3WhOrVTp*N&Jj^7GrJ+|4iOODiZq zd-TY>ls(hMhWIABOGhkAXH}%|Gg);kqv6fc zUp9$GA)||w#kxHOWkN=oCh0O@XU{&V$vC7z+ADWNf`$gi%xra_JJIf^ zIL;+1z)o@J6V*NvF~4#Mo1~<9NRM|pDm?9;-NM1?u_IDVU0&wgn)r8fcGlU@VgkZZ zR;km*^I5_w1?B6&)BR|W4XVqYDg6Mb%KP$A1MSWTCpmW=lJW%bs6{kPZhwz`ayJc` zE9aY)K8hX#U;a8QjFf|w^>^hSS1ITPxyuNaB>+>Rc&Hl!lVSkl2zXlh`Vw48($h-I%J?h>=_x2E zQb8(&q@1H^U2?R4VQ!9p<%m0kAmX4_JgVX3#E3`N5Q#;s+i=?`F6V1Yl?sR<#d8l+8pe4lCPt+#YGCiDc zM)f?|MZv?vW3Tp1cN-ewvA;MGhXyu1O)&oB9cmySy1;N(D!gTR1v#U?dRs<-CVHS#K1Zdz~Ff!ZblJ?(Mzn87t}%^8s2xi@`@C*T9fMJR=|`Mnxc@OrVb6 z$Hk!{9xE!ge&jP&DKmRUK}FRHTnh;Hhfi@naa&#LQ;WF~z*L2w3M;2Q6{2ZujO@j? zr;;$uft11nC$R*y-ta~#H-lHbCy=xe5D$?gE$F8k&i{%cX9NJnm4hJ`LzreDWRiQt zcv_?=Yj`fs$46*uYs)Jr*oGWS5cfD**7h+xk0h~$^ldRwOex~TI%TWq#L2N!^2N2L zpn&V!v(Lex251HZ{1&Ak^j@7fy}A?LNFX0rilJ}MsK8bp0Tl7WcRhEOO$*xz^Tz>Z+>Zj~^)#zI^EgY6SFheIGSB{}Xci zENpG{y6ntyjo+UDwi3L*6coE&b^VGRq zmO5@FeEQT4cisZC7ZbqM{040LH)w^mkhCtSoU``HE9Q{c1x!eE0pr{bBCFo5?d{u$ zqq9S+>Z9=d-aU|xkG?Y`H8!5(RqS!F9!Q~L(N=OeBB$x;_Tc>gheIZD(3I6GEp^mP z79pNU;0mL$ENPPk1~&o40GO;Zvq>200kZgDFM4|Z%>cn zSy?`L66oS}8ok98m6XhY;IqCwI~;zH4ntVQsj2k9sRLh&i-4x>?VB~F zw2^(CYtUVMOi7_tR8WYqq5`&hV!12sjd~T}ie+OD&(nYj!00%Ds>QxxE z%8UlpM)b2!f}wosC*D36Cw!<)aDXhy-oW#|j)^yKREgo5_`p`16wu0)s<=BadQ`6=3G|w9wI(|ym-)WS?#!j9HGG`WnX^F z2`uZQg>!KriIC$Oxw*McXXA~Hi+{=Y!2VuOlq^wtdiew-yN6MOCVADqE}fk`J@(9kkKYv0h2^9`PB-uF@!WU zk>KU|I+b{^XepR+fJlG~5)9@$cNn?3@vg3}>>V8Zl9IGSS7B}@P=?VjCWg?-$;lpq zon6h3k4Z@j;N#V=)1o8HLK}oHOask>LImd3+S6sj3FzqX@uTf9s`_g$ z7Fn$u$8%p`01@4iqnfb`v7@c64N1f~?mUQXglh8YY?JZq$XVue&r~A#9!<|5XU?@g zUF}XY!zt}SE6LxpbWru7An8y^`SWk5s06=xM+tA7zq|kdXg8>q+nUxW-wM zzL62*=14Yv-t#PM0X{xMklrND(!UsXC+F7v30bfk_Wu#;DJmEed;_yXN{#jlH>@U# z8AgVOyMaHAqIokz57dJpy06V_o$$B|FowmzJ*(Hc*r=yTp{>r(Hvyf;b9_*@DdBY{ zXf<8sQ0Poj@t>e%I8z}X<{F>s>wo<{IavzRHVWB3m%@?xD^n1e2M1L)2B3~H1FQde z_{Fd_xCGQwkA1kU8#_BY1<1+C%?u2h@(T)n0}20T=0t768x*gmqHeonWyL4)?Hvtl z@hha}K0_t>b)BX81160RD_{!ljTafa)mPGrWcS3bk6QyK|4SPYWcnWC$%cSd2SwgX zj`!P>&h=^uEaAQ-MSpA2iy^YPxw|tAv}Tgrym|8xjEG#H&s{I4bV8=~^Ya5jpiwHJ z=m|`MqCN7`nLPvnBs%&^$?K8g=UOQ>J3J}tnyZTR1oWJo`D&9wSG%oGac>V(HeL)@ zki>e0qi3*6V}L+lXoYUJ=Wf`WYi~wweQ$pT>70=$_EcjnFJNoIoD>av1}a~RvU%at zJyhFRA#VR&v5gHvksIb~XLT6_!hTa0n=DsV>xc~RxFmhnGKZ>?KV0jrAsW{(Z4Yc?I zf`66j(uS4GDNK~hrE7UT*}US1UuW!2hIi$#wcPhRteLA%OlzE+*}p4Ep^ z&t%`FTBSpY&i#MAug(zAVkt>Uk*4ECovbFOe<~XHVt+Y&XVrVX=kY&pZFF*xjK2Xx zkY^=ZTU(xG-ZNQu?%WA}3HY|zc+#R%?oiut;4pjXOf5!9Q`7KmVRi{huWHQ{Zt^-& zubWZ_iMLf;zYbfQlVfc7?HjI@+CbhBJ;0o_Eeo=`TPBgi9l$CQ_fueGfTr z)!-$HoH6zA@PKcVRNBpEMbwbT7IG^GK%OBr##j$)r{2>=c~&TOsuNXr!?^Orapjg{0ZsbN?( zX&l3NdtEaMqCqN9M1(*=3~3K$>|7qNZNfMsWE$*H8Gk4&n}7el9U2-M z)DZoC_{~BK6Z8^L%t{9p${Wx9G6k!yP@+R1rJq*fGU6Be189D{N=NphWfY z^^*ACT7cHJqF8aJ0QRW zw!yfnswx$_CCwTqHkZHCSYDR{bH6yZy!=1t0uvm9KNlRXNE}q8Xk5Fil8EywLrKr{ zOY&N}o~RW7B(6aP(#b~}ufoKyr|ur=*|3z#y}R|Y7z8vcbs2ziC1mXN*sMWLLtTqh4( zAw(+sKWc&r+=tw8hp(;Sa{&@}cWX~JvgJToIDw<^WE%uEbxZ_kleG_sR=Qs&cCD58 zqU&?t2@Dx8dhu^SqGWwKiJO%8`51-q1O(UVX=~MnI;HfH4 zb8w(sWxqfO5NNL`HUs5dkdpVOc=;~0`f!dMK96C^jDXptn_5~%Kdj6_>kh8~DiI{5 zx~n!U`}MUSJ6^DK{~Q^Ka}6{S^|@l8ye}9K8fp~ca6Snw_`Oxlv7wT{gakf*{&Y9_ z7)gZQ4CTo|?tDYB3}0-VK(YD2t*6O<(9?>oqeJY%tU(q>NJggqjX`iI_!ho_p(;wU z$jdbv*(^$L%iz_K?1{5o@>Ldwi|m|HeFY7Kg(@Si^)6qgqS`k`jC&(M)! zVQpwu?c&KrS_alQ-vay(2NX&l&Z`+1)&O@3nyvRyF<|`Na9cg*L*(m`qXl4t9X5v5 zW>p{GcH6%Lg}_LOdzo^Qe&KVC2)?aZFI1lk2SiPcHVk>xK7XKV?}{%~ZW)Z6ZUA)rUE^%t{P8AoI;GT`z4VKql{#v< z)n|jbhR4Wt!Vo>f)|O>6l5b~a=YloBd{9V#a^fRJ#X#fE8^{R=b~TkNynD8`_hIP! zMul~CuV`2YQpT}4mfXI(U}IpC*~tPLx~LjgyC@I~_-S&&$6c_37&v-?&}nE0k;7E26A^9<&1mjCIvMkW}qkEmB8}H5^B1?a6-H-lPmpZI7 zeb4rQdt(99Z~)F3i9N>MRhTGUA-bdFwDJ}WWLxr}NcRH{>*#NmV#l8?m}3Abm~5HZ zJ$HFkHYh0awVgpr*)I2{|s~J@oEHuJ=u4HM@pDN?sV(W%JC0a6Y*1qlc690_K_Y}LWW65{UNE4rba z0S*n>q)(KoFZ13yb!k3>s!|p-DEBOQ0%cl|w7HPzKs%D$2MYh^8CXez+R-Fw=aCOC9FSdr@f_<@tM|h$GMfpiEEv9}C z$w57+GzCFDK02N?4A0)ly*%lM3m$|i2hJ@K0L53feq&739AYCSCSj!UOJyGHrB9lE zm9qgJJmZiP%*gaL&A}Mw14nkBXxOlVLRZ_5*XQ$pYDl1?5^^vS`=;a^P-xpA{XH)d zX8sm7PQ^j#ff*WzKErW~jV%dSAPh0FPpvb0?&x=bnz)IJ+YO_Oa&Q2*W~%<-9vwO5 z3Ka!l*fn=;_z1b}(t%VCqt+!-1^{FvR}XF^2PEc~hcxi^-Nq3x=&@}OVR*C!)ak~=--+k>e!y-YC1pOI62?p1HLxf$?l!0%};{6Uqqbg`1p#zu(hBtZShBw z|2Jj#_lY~X1gRDafc8?yfBTBJuP18vi$5Mo;LYzOy`JN;VP~*n?IMfkWFU%h+=-N8 z*6K-^DcALIVPssW_+2VfkstH7Jnmk+i_K(q(*Aj?vc``G0_F)jo9=)2bp_t^AB!vQ zC%x%+6(&S2<&AZF7q000?HjxH50wm2?1J?4SE)YNx8Q)u61b>B6%*?Q>qV13f+D&= zR9d4F%isT}eM&GC)-ZxdAB?*Zk^6#cBkBdqbCaNVaWCvVPu_?6Tq$IVVmG5k)3T&$ z@O0JFeojb$&!>n62{#>$s3mBdgY4gwWqLUx3|ox&7PhQ|iSN>;=Hx{D6=DqPTWxA( zBCxc?2CmIDt$z8@!)>Xy2~GTDk@83OyQno81Y)}<4(T$qCGm-G7Iu7a5)ym>f<_WK zQ5o_xsRdlWfN`I@}a6tk?T9S{NNYY--gpp`5EUixvn-5%tFBtGT z`H%kAN2R8oBNzF@CQs7!3uO!=he=1&wqGpK{o4W@iz(uY=mE{XX=&@6?PC6w_Wj97q&nk7G#r`#y6R4$@2C#E^ia9l{)dPgLnic=lR{Ra=EMOv=K7v$t;?Cd}^c9$wyJ zU=V;QgK2s4mTy)XdQO{TvHATk!bM$Yjs8v(?;cP;-lQx!lnl!!ppDDX}93C86VG$9R4P}L&kp9leAus+hjqtgi(rlQ<{<}zi z`!-ty-5eEA<*1+g(nO;MPYyP4sA-O+z=)%$lNcR0`QsQlGQTAEz5nzn1X9Kbd=OMN zlpg`p+Ya`h_A9)uLx_bD{y}bz6zb7!OK=kz6`u|baTR>H{w*R7tbazR2m(l`) zl!AnWbV-MTq;$uk6eJXo79^xYq#Hq68Yz*IRzm7L>-+BioHOnncaJ^B9pX|&@KLYqU7lHM z9TrZb1`r?b-^*%12nb?i>~VqA!@SBFFoZ95WXq+$dbN+<-acOGw$5NTsTRF!XZb+6 z5F3L~l=X=ECamT+pZ4wsH#Q2(%iCam8}s<92(Qk~Q?#?zQQ+XrjbK45%E$XmSdmwq ze6jVKesa=if69zf7X#Ebm1&+vJ;i12Ym5X`B%w zBh<{&y&_yy@`F7+SdZRuf`+r-gNdIRoXCv^|xAWKTIX&LcI`;Q+s)g$3mD|@GcXC1N9~HE zl2fLlDEBtoO{tUiCTNhx&~L-Dm9VwFonP>pKr@$_kB{)|jE(t;RhH~Ep41n*G+9}y zr#)#alV#mhLLF(l`XmGWAI0+X)39)T6}-rTKf5er)6yP;m`_yPwSx|U$Tc&+0RxSG z6NSwXC~HiV*IZR_MdXBaa;lS4Qo?!iX|VU5$g$-SI!E!FH&#M6v0T7S-Q<6Ak=pX- zq!r!kB+tcjHzpL5Lrz`&-LA^r`-oDk(;qjuMMU7qDDc5mmEq0X&FY-`$}1^0x51qg z(_di)Uakf0yJ)y?WGi~{u3WP}5>|!@@N6;Qz86``vP*-0;~iSqvVs$au}Te|3V3#Q zz*=xaR8$GBMBE$yI?ur3$yz z+uxTj?JafGj$eP?ApPo*@!hXv%Id%QuH90XU$FX8SfY4A@APm2iYox?8?v}txS2Wdp%OwUj zwt@G#D4p{hj@j#Gw{^bKvU(_jZ|PT%p7#Qhrc&Z4tXUR%3%g;!5bjtdoa zw{6}JSwSecHAZ}Xc_b1+c!HkP-_;#+G*WHr*vN7~Ztz=6!Oo%Ba$|%a3#$PPrfQpD zpH@*HlGE4c)#qjZI?#$=X(8Z)}QmM-lhb#Ga^X40kqqtP@il zLnKHhG41bQ3cd-n_n~%FTwLtPhqcu9$nVlHc4S2VO|om-+6%>JH*gTS6<&KDPSY;L zEXtmplV$3!QYoA5Nw#Ci42V~@96(Vd?S04^t@f24O-=2O>pyp6MM%s*fFc+7b*4#F zp+*v1X!JuI1}&ZMLFqzMQ?B9EM?Qh|mA=5yZoC5-|507F>=(J7r^>GBsTjBhp&1-ts*r~i#FC4zj zSp9P&_pSUm7UkWxsS~lrRh6dQ1tUG~3fWbc26JKR{bTyC)$~bhY)-Ma>M4(Y;fKdP zn&M_S`eRQ*!H3h0bi|8(!#P?f3@zn7)21Xx4v&Bf8C29~EU=%#^F`T8y@H)D{14g% zwxSj=-)M)22qKDKXR4TuV$a8xmWiWa%w&i!^Sf%hB|26y+pKg2i2EL!{rrj5%aF#p zJ@FCU%Bnca;Z?uYJy;Qy;(zxf9k=+u&Fnf_&#Lrx<;1~NrJpr)o!fA4qCi!7Rh@0)y~x`-L2QImJqb%FxT^OIf2 zs3>ndl)iqhu<|`}ltsjI*n@d_uR1^xu)KYKOa8v}Xk8hG#w;7!z-T3hpPy289kH%i zYYG;-CjQC_Nrk5~T7xl;F@J@_ck2B7pDWu_B;MX=9lacQffp7LuU=7)Or{LBp#0?c z6s4u}rn|wlnTX1paCcYl?l~$44LJHlz0VGh1Y(?Szs0MuYyXlroi1kfbhRfYyXblK z^&6;-*1c}Bv;W&aN$AN_#!kD_Pm4=29d!}5g(m3si_yy3KfLw2%)!==o0GHb&{MAe zD|cJ|gUEZjU3qObZjil3Y-LNCTTwv09LHDw7$4N7A9qXRl^S``D=HQs7mTZm@%Lomi4Y*~H*rxG+~v3e}y-N39s(e%*3>q~$lxD*umUY(-izGCJ{#KXG-N*yKw z+Ncjwh_3A)Cao(Qhf)}!H=LbCrf1&X@wtY_YQCZn_$DRg`h`O0vdinVwD1Q>yyli; zRini_0(9*GAn;JjXx8Gz4Co)XECV2C{3n1t=p*quxo@%7V~* zbuo|>io8*GkM!&ZNnbndsqoB4b9)%NUwkI}pdpLM&llhnSl2nDg3113&A`ewDc)s8 z#qeEtXJlcviPSglsiT6tqw()00+o(a-yJlbYLjUie(kw93&a(F>%y$4r|>qt{(dUI z775Nj9n ziipt8{^QkQC!efYMP^oFVioWcm4@q|ZK@@}TSWdghX9uInvdG&AbS&%2^`9iLMUvH z=IIs?*x^#n-ucHVdiR1D@_`Hrt%tr2NMI2JM8R4e=a58X`t2PT6RQ;lOa*TLI<%Lp zMtXYj{Yiv5`C%s8>yMQp&=II90J?`>vnl26KIV#`>IyVWFQpS>j@Y;UjE{kl3N1aI)$oW+kOrdO|-Leab4LM@RYF4VkoX)8#D z%2zdzlG(F8Wv^@6czQhZG^pPy+r!aAT=F<1Yf-_twMBDfik&?$nOV*79XeEB(_c;` ze|@{fe86DS=)V1d5Jm&M3v;>Ec+2teBO%vZ*{=hiVJ2jn<>ynGSARCIq_P`VqVqqm z1L#Vo(Q7I)I9SpkS3Lw&TTFs3Gy&(%@HZq-d8!K4yO}sQOuJhP3JlDvCEzb^Ol#dr zNue7lOt|55A{vCi*<8M2!T9Sor6QmIbB(-x!d)bVx3c?ZKZSem@>@y)1xN415=YKy zCj!))nQfLLr5jM{dHb5Rl{}$FK@kyo>AsnZegFO=_uoYjC7FKYbPO_OsUs^{*)M_D zG7!_&lj=`;-T(D*Te{ezoboJ8y3BGv=aM278jbgMK?Bx7?b+EyeG$bDTspd{Ik}H9 zC`$gx+)V5l9K-`ZU-B~+fwHt2Z?`8erJh$J7EzKht2q? zfSizLO4^Upg`x;Tx+M2=%7jjO?5PiNl5h-tI{e-d79V|hDKxs~*ttw9!Q=rj=%Z(< z%K(7FKG|)CldK#O+Cd=v6q__DMez3Rw%vuFb}5Wl^7^o*DA|0YiG}rYb#t5*DtOxT zZxJyuxKQ|v7N}A-u3{-b!r;>0o`x5md_2dkA_tB3Twiy+QDf6T!K@J(BRPyE1VRc=z(W_I_yU z>XNJYf|tGxqGGuhC_uIY5edOH8vACtdzBS6i!J`X^R0ndlX$hn;jtmGAEi+XbzuGb z_pQ>a+=}koueG)4!8F4VyI4>j{QUJR7q029{4s^oij3^BRX1KtcULU+O(Gf^9wA&z z2-&ne*}1X`6&XJVypWK~(!HXhB1lRh z087Ec?$x8CBO%)%T1eia0i8rJaLqWlxIzIJ-d)|@7C@z%3sP+WlN)5FK?#1wrIW?L z$cPAxJ0c>$9)tiBggAF}Tm;4v596j9J1Gc=dcgb`Xz)dkR_8?WW^HRk+)Ukvsrup* z@w<0v=_D`eu|N(o&~7e>47WgO1L7gOxEOJG_yXmgoZJn_*SiVk>7tJx;lxP+FR6IC z<->W&dF+jQV2@OarMkhMG*h&WHE|*KSUckM^wdGNJ~#2e_OHKRrdHTA7oW8@J3G(E z?KV8GHVBihv;Z% zIu7OVf+pHSF?p^QS_1vBq)m8S zoE|vLmBfHBdJ9BIe`i0)Kq|<`e*t9^eWSi0%UW2! zfCPDoaE%>TcCTX{b6QuJ~K1(CL{zkIV)>8X?=PGRd0MC6aNf)R7Gb7qu)*!rDf09UUF&4H=MX;GvwJ9?Z?QNJ>hY3%2m7_F7iH%F0Rz3kx&c zD<3LQO$GBVfwi@Di*#>e(WV;@4)x1}(?%#8)VR3%I~EpjfcH{*_KbMJ)s9I(z-%*t zm4zj5Xs*uTI}R-YCU~#Q4+Ge%f63BGOH0G8u?PuOuGGO0)SZ8l4#No!iO&IDLVv8S z-M;o>d3)Q)wOPaXe~+rhrWW1iUYK|gHaA5~PL2*a&vy3qIpB6iQm!DZiGbXT8z_JN z{%yAsehta6TXWQ%h-=6>HQ2uVUdupCtmP^z0GSv0+7T0LO|TKDP%Gr9q~YcYU=2OL6Qq3 z_T<&n)J&e2IJ7o3(E`v9x;mW$!*RwL~vZUd$C`-S7>1|%FaKHkbmYd7_ zL47A76f+NwbShr7!E+6+ELBxi$oN;Jl#=@P2h%xBhVJeVAg0m_V$!=2#qM%f` zEXx}=x?>+69wz(Tx#AQTr+WDCAtdXBfI<|OCn72;{lYpU2*Z7pF1lR57!Zm;;50Qg zZDpG2{6Fu|eeS>S5I#{*Oe_)>u}06!x|QVGT9Lz}qrkH<0z5ng5Ybown~aZ-Kln}r z7sy@m``;YCT(2KP;`L1vlZA(crnk;%9nWul99X|l&V8jd(wDnq`3VjL{{Kq5!?67; zU2^ajT(^*tNzi(dy)D>P=sqdf1-0sF)ioq(i%UpEuW7P0!a{RjPmcmJ1`4Gf)+#Wu zwECHC?XFwX_rESpOZt;%5JE%=d^UNZMR+poV0Ru{v9-P7q5uJFPkU(MOXn2Eu6B4G zBlXYC8lO(6kO||^a8;4q)6$|C|L`}m^_tJ`?D0J>+7L#pXn>o-(uBK7Uc4CFKWSC; zBKw~oYHGe>Qm#gmBSKX|l%l=8JA+zP^%#6w7z7t2yvv)o=qCFFs+B+~dDI6RAgyEV`=m?47BspyF~@CX&R%z&$*S(A3;OfMoif zmPZ!GtM*rl;~!XFX9bcvdFs_BJgwAeU!w@lovz*0HZ-JD`*8Q6DygGCua+2yk6Y)J zZ2S`M8S{rT-LK1jbjt%Ew1@Bvh#Z|nG3De=;Mk!HrDy=XJmZRPROsi1iI<(BFcS_%U z+wt2wp^bS1Oj3@2NyKCMCn5i%1;F%EfLBE$oR14}$=8&y+} z-E;u(02n>fV+D1v(n^B_p%BWzsHVN{?_-AogBjFe^wNe*l0HJB&M(61>I_4V#T@mB zYHD;Utgr)r-F!BtKpaV^(KC>mwY*9?lq$+f2jimjNx5i6-EOSx^<7NwPLaCXfFzxGgx}Bf&uRp^KNZvNkvwnz9;HI85ws7NuNws=7}EvehWTL zOu(T!>pfY?;le|`wrDG><1SYhPl413Q#ms=jwDz>Akp-;dpAc%W0u#~A(ry{t=hfb z1X2KpbxV!yBh@nv_c>kvLKWOO=Sv073|OdT_M4?2$ioBOhLZ{)pO&jVs&I61?`6Vz z?Q(v6YkK;$wjW2#bpkqhkMbjOKyb`{%;w zua$0#zF~o$#j+v!S5ewj~Ius-mrX76$~099A5hXb6h;AoP{o*t)zbs2|6t~{ zA=$dd#;C@|7eWpb>VPz`@D7r;x6=y>+4t9r`ulZ^=0~G0Mr=<+W}1jKG#*2;U%QIh zg}fK-YbA&WYH!cMjE!}N>{e=c*=T&=>ka;Lt`!UU3K9~ESl9<`Gu73j0LZn}-6A20 z0n8U1lVY5lefza#jfS6JkQvrFMQo1W?EgEX#Hg531l7m>de$*Oe{>+*Q%BCrG)T@} z-VGoF{Qp&AVkiLWF1zziY3cRrzH^(KXZoKH@jj?k!pR21?|Jzr*oc>4e1SC`6oYJy zt5LjGyi`QLi)E-{0v+wXx}N zd)L5yOEfkV;0FqRJitQwnBeh^!TAXIr$|1dzFI2zKWrT9pr!@4VmZ`33>D6E-o{_* zP~iNGmc%u^@^2xL%|cV_b?-`dr@eiv3=jZFswN8I10nOu?!ClZFsOAOYrblSg$KGV zU?ebbAV)O~)Fza$m_&R&^8qyH>7@@Q02vVN^cO8gadFDb`;^7Fg?GL%I&cyIYqj@I z!PWyE5OtvnV@3|fOc?;y$RWXNN{c}d2|o=fsxB=>MFMM=|H?Yo28O|0N;Tj7g$xSX z8j2?dLHAiW-h1?HXDlZe!*#ca;17f(!HL6eb~c5`Ud;p%-UNv<6K zimd```DAUNer2{~Dofm7l0Y>zzAIBob?LVg1{c@zX`@jUE8f?yFZK_p<-FebB&DW8 z#%e1#Z|cQg9^P1RRR|$lxPi4i3Fq<;8ucALag;)qVM4H?ZpJGRwe}71ceVJ7fl$|( zllyDioG<76{6DA#8d_G=GZCEys>3da`Cs}n*stDxwC4f36?pY(B;D%n{%(ZsK@oPZ zhLn8Kw@fKC0H!Rya|@G_F&V#bi>dH%WE~uwgx(?yZ3B*2^fJabG=}BmpP0M7z(LM1 zwTx*>zy>zr$2kG=ym$XTI)F>LQiu^2c=g~Vy>s<%;0D;hdjOyVMu3Qule7E1^wdb< zupt`SeEaX2(1ZQu7v4SuA@I8k2gNlukI?jaBUIkQ7cDI%gWaPmnMa_HmAsbdQ6R{v2Q+?1n_W6M^!D|2Ho0PqA~CL#&Rbi5_P*g z=Kw_J{jT_33mY2{n>^F6Vx@)EnDm`QYB;_`BHNbJ&a4nTL?KP9dJqvlz9vsQ}#A|=FzKUGqSZa;cN z?)?%U7!6`70PbdM$MYeA_ZJ8pAnQMd&xk*#q5|*Jr(bCjZj3s*Un@s#;Yl{UDvyPACmDs1AUC%z|d#y@#3Ba<^S?ug^%#nYI# z9|trsm^r$4=AQSFywznajEVLEte8RjgFg6%$C1?pus0hJQ7jH9^KIL!V8HGDt}<@I zY6DCM&Z9@8bg6WJRZV?rmiInYgBorlzVnH+Z(T%Lnb72?xVCJ$2>IIwk%ElnXrqiV zl!P4PCB$((Ymbpc08dFAl6L&{YX|vC(nTc@?!ng85|FdQ`}?<=!n3We2*VmXaT3y2 z#=9B3jQcFGKw_M^`iQ)kO)Dz@-vtVqwzfYItUVtd#Y1rHwXzA9)#okHeuT0wmhLiW^glgG`Z$dkZ}RZw7YRd+xiXq3L3j z7VAT@aFlgxTs=^*`Ss-YtOt3u4L)c(tsY5i>`0Tnd~fm0ZYwN z7#B_BFYpOcExLgkFgMQ*-q?UdU^j4yZMpZZeiU&Wk~1(M7%wyeEx^(p5nZ8|Rp_3( zu^m(8Y_Klkz`7X6%)=92W|Y}y|1{UI{&{Qr{&I_phcp^s_r@*1@nvNxD`~Z? z_r<|nOLKUbC~5<(eyF(b6svmiw&ZZ)czQ}Pa&W|rXlk_7*V}xPVC7iXY2@SQzu`Pvl=pzN z`(gd{*}7e@C+l1#3(ooRLR+3P4{QhTO7IVGs5|cOhXLO@-*7;4^eeM#F;D|Dv^`sj zL@p^3+9ZvCP;KzqqXXu9b&O4b>elusUCbVsvk@SA=_*h?LK~xx=>}CDDN1reQot@l zPTsh}l60+!$+-n^M&d7pF#r~&w43XQ$lz!9mIrRxs6M{8*>?{f5H|U(bK>}TU+BTZ zU!kvN+#pB@6$Xix`M|(uB=x71APVLX^Y`V={$3Zx=7H>d-$GzG1phpHU0jTsk>Rtv z)NTjN5BiT5LD=P%s9`jzW&U$cL}Y0|@c26LUZ61k_!nGMSxYM`VBYr3t*N2S$$5{g zjiMi@-pD5-fYZb4SFgg+ah=d6Z3@--kZ=8+It@VB(=(&hob5ICm(WuwGKMm1Y^IoI-aVm)y;7vvlk*ow)+u9;k z5vXbpTRS=)J1quK^YdS#$>7<~H@r8mEY5mVd>@mq=6N|=o5HpIOck}0Q==s;c{Mcx zyinwgFg1mQGJpftMUyOCyO4f)wRiC0NvlsX4)SB~dgDHR z{KDl=(XFA(bbPm?<2!60reM%$>F7iNT#WwXI8Erol1uTG5D!~-2WVW-Gm5Gp%WtJW zi4~F}gC}X-nc*Hk6VTPb1mpZYO&ktF8ra^8kdFXT4O@AxzF7%_60e>?_29t%THw?F zT`R%KLG6k0thF_H+wdL+*bTs0nT+<_{FaBl-MRpeWU(Q08j9le}Nf`6& zWfB_-K9r<>Lavr(^IuK~ApfxUdkOAH%}2|fTf{YuKz4u7AVf=5T|RGUu~*TQh!kB&E`TxYjvei z2m*1pql49L83m3MEm}}b?Jf*8yu3{h0U9|F%M#bnfTotQK}Zn!ub>U}-b)G0w{Owy z77R1VrWn9Laud$$X@c#sle8d&%JJH(lg$+VAn4aX?EE%>mG2uEme`>p30An8W{0;` zV%j`wzH96VO9p{}sow`Ff`cT`Ha)%YmIaJIbfBz7OdLS+6u#G}YV7k+QMmlsp!4>| z3(94_yiF5#YbtN$+JKiGCi(b_xCY7i_~!lP`|R|x>QF?qy=GS3Uub%Hf3)O@qqh%6 zPD2Ce*1E2nVVwJ(FK}{k-Apw)B36PsNEMLnJzD=6NwV*ZS6Nd-W^6pT8IOuWB{Pr3 zJ6T`u#-G|TT`BD_BVPfrp~%%aL-smtmlIVPqP4u>;4S5O5kELsu3x!=x8RC}vbSj4 z)^0)g@Zr~DI@H6=nmf2-W4titzoiRcbLQ-S9Tq@}(}bK219RS{K7n;P6oVQSCBNV; zm1GUix99+CN5@#0G%E94PshHb5n;g+>@>52CRUFE+7NTt)*D$Kly-FqP~El>gQ<$* zw;j#R_YEzw6Fu^12UqhU0-cXf7sPJylVu|CZEtUEi$Oqwcj?(I6(*q)ocPQSt#BLj zbc8`216ojvzE_{*wJ!qiys#1jfi=EH7Q1SfPWs|&U2m*lL)aKmZ|*Jso|)MgQ;ggd z2R97+0x=plMf zKF`Nn12LiaPhwUjx&X0brPm(X^t4kbXeZS(()eEqguMg00ZP;h3Zilxf%mo$al1oE zq74XdFs$;>S8vKuN?BQ1hOKyTvQEwXspqyE+IeQOt}-YA6=2d&Opu+vdU*OOUL&jx z07A&f=m(%C%wwB*11ejO7e~JwVFhNM*v=c1;8HTtH>|@9y)oa+BQai<$gDcjF;anE z=j4jS!v7;JB#@iff^9-yza}!r0$yemFFE;3WDSu<)o&me1bdd<)8~tH(CoqTU_}!c zOg=4X0_;%|hAfCa@rJeQqlVAuO9QE>px;wS zCZLa1+MfI-WPXpMr5LA<@<^An7>X2-CdQ@;Xam7d1Out475O{axM za%j2)G#@g$oV(0UTT?Sg!tED~2nGiS2c)kZC=#05VPHK$_q_+B5(K#H#>U34GBZu= zv!H!rcycm1ELF%5_D?1}!?x$gI{-^Q(ETc}mKe+Ln$_Na$?~zL}Go8v<6*CGaYuzEnpUsm!BTS$*)D4J-KQkOpGm)s{D3 z;(_*bgs$)*d?i3`=3b|yM1Xm;ZFZIhqA$Jw{o#U)&akK`tgy()CwIXZ9qoO7%=hd^ zQ#8<5?yw(1$GK#LjsMB!#zs_A)7`rP7gXT)mIwNTT`f(MYaKeNRYLwZ@RTbTXGbb( zYF*&U=h;0uItm3q8d!w0Q-|of>}+3vQXUMDW!u}^!x>N(%H?42X3A-4RrU-gR#&?< z|5yc!r_*%B4fqXYS3|fwV@3bDl;?z!pPyk_iEK1Ff-y`D!h}Vh&6^e*)h7eXCgJD2 z4fL4~G)l~5c<$t+2EMGav12@pP|&>;HSB=RD4RmSR85Oak?lW}ACgp>AO1h268`M^ z`N+Xu7wf@W|8i#`ogyep_A9=lDOAq2;6QVz~jho4)q;Mmj)dR4w>S5p&yz2F2UH zU|v^qUTCacSp+JJ424@l;`5LM9W5;xI@)vcb`gND?*z z+PfR5*473M4X3LhB?7!T_tPiSgKLNc*M!lRn`>Dxhlq)}fx;jgfQABX;)2@Ek^gpE zGRev^U}IzB&)WW9jMq6dJT-D%^a4{&=^NjkSZYY;?F8=@kjgj^t{qD&QI#VQI*p4R z9S-{ti}E|HrXBEm-3N{qxK#4`?`zdMStqBxT%v1hYd5l2ZudN=le7zNH&^NMFo0>A zlV4mMl$~wg_w^qFsW2%m&Dd4J&n+(}WKV(&RoK>aH(Mhp#Q#4G)(Ksx*2{)yu>Sj; z?1FSH-u(LN5*QoEVRsJ|RtZVsU}$R(eovrrOVkOxbjU_AaX^5ec%1V_fAuXb;>4A1 z{s7Y+Efa~TC2DKrjZSwU(du8A1$?G8cN-T-&=+pVQBPp@rs#?^Qh{-A6jo#q8aCmymF44iYU63Hh*mydwsH0Mr)vB#^%h=D&`f9t;{9 znluqd3NZdN@yzYB(QGZPod_>FIdBNnkF*ouD`HVA7(0HfCDlR$pl_aR366r2o`@@n!zie8 z83N#{fgWn_iuT`(XB9>hxqJT&lF7dSeo~};)kus*U)eg0j*Y%xnpu}G*@sOBYN=T$9*kO zQ~_++ZdtjsF`cxl5=I50WHc!$(!PG|laG3?*)Tu>C4!F{r3){I_|7dMSOO8@Ezvw(Sc+>HnY(3Nq}vsuD@{hgJOke~*W@I@4R3Xp}c zfyjH|y^o3VMg@SXRZY1c7wj9WXEK|hS_y?t2vZF5a&i>t==kYpYB~TgMxg@~2ci&Y zjl+wGnSosPXWD(2;zF`oV%*%^mLSrWR_y^ysiJyy#}WlrW#|oRw|{JH&CAMK)X~OB z$*b2{NY2OgTHdFT`On{%UJi8{Su%pR9p`J39zLw%9E8k`USJj8Kpm!|(_K87UJ-;j3LLKSdiq<}O5xsw^z8h}GUb2s=Z0 zlY;oQB^_pN(sWA3qI|fn<9fehh8F4@MxGKBIIzcYSD={NO{3P;EkM}u%N#?y)w$QD z-dX%`G$E4ejPQUiO}j|ZZbs(it1N*Zg?UjuXD5patgKc5zPFd(G9o94#MKyn3OZq8 zP`rnNDEa+wul_`0BqX@RK*Sl6BDi}$tj&KbTz0<*5}59JI9Z>L+N zaneQOI`@~A{Ot2yy0NKc&N4`OnJPkMYc^X1n*la~a?_J#9d~j~v@` z6miBtR|q6SoL?S-0)t)Ujq9op^Ibo7NHvUwB*bN;oQ#F|&e=W_DZGxho(S1Oo9&hF zB|2*F{UEp6q|&o&iNe6kLnJaKg&RV1c`HOqI?Pcl0~l4It?ElSmAe8%M@3cCIrNO< z;_~?@U34}yM%EZ<`b+{$siNvRXeHX8x9&g>B7V=`r_Gbm+TIU968U`30t@?P6p&(Q zlb={&d3&YuD4m-b>?jnxR1rud7S8x&%Afj4!l<4CmG_4>Y-x$Q!T%gT0)Gx+JDj)) zEgJ6`8q&YN`yhAC#|i58fa?W9przZ|K59NrB=^QZ0U^0QAfL$3R8Ei?OOzu)J~(L2 zJIgFQhWqXvcSY?&JOC9*KYA_sg%2gj$gRzv{V>hmshXix%cKcHQjfAS_*+|FQJt@C z;Yiyt-$XZACZ(ZzE-xIzW`-PXC_rrzkqF-$NS(6)1vEJH86Imt7*=)l_`8J*8$noU z>5}?5h<9y<@H%9#{W_va$447$T}n~bR-eWIthciDJr(u&m;5k%0|WcudL9*68@sNB zsPGy-8!$6l5cq2y9|^ew#B!?vZKob-r(cUKwuW%w_xiM-j{ z5lI1aBCrfWfY%2W>e3rTNLDi}B?QP89ek&*$(^2gc-2Irba!J_O3`$L;FkZhl<>ce* z1*Wso@62A<=uH$fh!MdcxPum&aPyA#;}^@n{ZKNc>f5d^`D+F_ziV=HL#P%lmTYS} zDs_jRzWzgi5kgLN*M}sN-OTG^xa32ol~E%12UMjyg;PB)SsjP!*R*z*33+} z%Zph|;81C0?iysTy1cahN~U_p@k1D$RPN~yJpk0+iR%9Jl|rJAj5Lt&UNf`(zFmP*_pyUR%Piz0zhwZ?= zfdy;%d=1q5@^|ckY>^`p0gyjDD+{-y(-vx4!kZXQ5V%|TI?GJn>&^;h{j=`QK9vLk zWpz+|JbQLSMWqkvJQ*3u_G;|vp%MGU0m}ReYgJaWxidX0^3z$21z20L=!HORyEgDc zA1EjQNX+d&(}SizXfTwQH8*e7!oL4JnvoOH0StUp++`Fg$2^!_T+~vhset;4p-gBy zJJKMcJc$+nRi4|yUq>$Fpv>I`JBhK$`SR`p8xlUlrHp8s^}&7i!|##TooL8g3kCC& zzTx4O&+o18wywVhWyQT+NI>Gec6PNX>~2R1nG!hLQ_B0+*Wkp=<^&gL2;)}y15(9O zv%R2OViY-GW4pNe!T|oj<+GzAE`ST6U=gd5D&(Lg9Wrl?ax-+1@Uv9UwgnS}H6yT0H>pH#D8 zF(I*70MU66JK#A1iBJrgkxX=aJZOT2;h5v_rv*T^C74M-b9R~qO6)Uc+97ubVc|p9 z3-LX@T+n8O*41$jA9Iu<$I?5UCr*_7cyfj`2Ah#jK+vOneMNUmI@!`;tA3LNA8(>E z@LHi#7WEuZ3vL)67ISqxr~i`0R$H~TkFpCCk%Qdt*sZb|wk)6|?<4pK$tY7VuX|Nj z)yda?l38AyUTW&4+}9krQN`CtqX{p0 zVg{X_J>X1+2Yxm8UQ(X~djGJ(bs^}wLI_PbgL66O!F~yI<=3xT%9+C#&ywp?-&8Db z`Cx^I7hvJM1I5I_F1`_+t}Z%Y&9IP&y?T3AyK)R9$nP09{NUh|;suDu3q)$50JZ+4 zuf_t_#&_>l%&e%%49Jog!yen)OQ>fw5X!dNv2xgUf?pFUz5e)7W??jJ44_>hkR%Dd z#dG;g1`|K0pa9X-WJxO}id51+`NFL3<3m3`k4i+e6agdz_cPmSiL|?CMDRU`ZHES- zy);dTkEA@D>EZ$|Cp%#eLoQGEO=-E48Ocz$S3iVBE0or^Co-K_ft zRNF^1F`IpF0XRd4ixriw|@QF zMw-mKyRG<)P{5sw&8xRI^oUGRmn=A!SrituO4rryhon3J)~$j=4<)Fk#yFO0IR*em zq{Rz#4$#S%^|AT&9-QZqF2trLW-F_oPnzmb_IFK`YUez5inZ4^y+zZtwakHYU{@0) zEkVUa$*rGel2fUGl_47hXvn1(>Px`UULqN&gH>M$^CW@d$z3@gA83|$@0eTsxQY&h zK=07jw$wV_0`dkWFkA*bpR#syixINy@)V?M17X(FwxD>wVgBDhW^`o*zE@Nm#Do!} zIZ@9bC<_NPMIeWZO0Fe8hvnp`ciUfV0S&&iDG{|kv#A6doIDz2PSQF~POr9yuDO5( z8GNLIw~cV0@0o)NN5Sjv?8G0I&~D2P7z3QjAXFPT8$zkh$TdzX^}ctu8qci?%Z;G+R6DLK*&e|5%j z1KJF9MiI9l_gKoIB?*<&H-jxblBAW$n>!b@lHDob83Yc8NH7 z1`c@3k+dyiS1dGBL5fT|BYB{0i8)d`)D{#6c6<(IX8I@YcRnWkaUV@1gKm)McuH&K zA^@3zv;h>SBM<8X&mISXxIyvd%boIG5WlhgihSsSEIc<8#h@%IrnS)q2;%f~!l8a| zR<|B8On(#9c`hD1y{k1Hp|C9yX+x=vtn__PkO~$qSRRpV#lJrWG0t=RENpD`>gQ+R zr03-mV-!B5&LS0ipOW%bpfG@IYtG)%VCL)P-2{e&8}(af94IJbV`_c<4hDQ$ZG~I|Pr`ckdlh@VCK6D`fo;WwN|g(|$UlVsu3F;~gD^hX`!S)E2-y z9u@SuiW@^UeO161I2VCV5reJV`@{Rx1s!(qaFA&)R>$Dr<6CD)iDAMkG_T~QoE;nt zK~QG~Oy);3-??+Ooz`O|oc-}50_NP2h`@g;9PC`MxDTYnb*=W6KrDef82`PWPFrXLkV9XtTPS zIs zjyN&wT6Q_uYmEkW{PxO<%;-65@&4*-5=E`)s%~sNtN@1{Bz4J+!;#eA_Qgw=aP>xu$y9QpWk|nOF36E%X{?!x8fuu5 zw1~pOAm}Tox|$l~O8a0PmY275J>91}{bvdxh8Xz;2Fa480H1)_wBttrC2TpN>FI27 zn>>y`j5n{7=uz^N(~+23>s@vk8Hg`txSs=6pEoQjl3 zS2Q!gDuZ@_3(pbQRIOFAaFlymp#MxbI9#)(l~{>L;Y(+NROq*Fzni75*0Vpd0#V(K z$B$*0*$NK*6&2TjD;3Ge`~r_<5*9K@9eon#Fbv_z&>#1UBw_iFav6Uet;d$JJWpg+ z)&^3)%cv_VQXC&UJNT(R#hN<@g^wJOuB6xQfj}Xmq+{6yHX?Sg+;{fs3 z+L#uF+SOa4X%>jmrs9f`?688kn@ENpzH&~v4#C$g&53)@QaFtT;bJIdq7;VCzhnOq z5X4WMCg&HKM=1PJU2zv8{)VlTN1V!Uk|>48EUQ+fKsE`U3_#+(KbWhnsWFFCzZ}9S zJDN1B=%^_9um>qoR$gFs*>IOE(&0{1W3Q>Nhuj@K9wY;C_vlX11IO8 z&24Cns0q2Cf+kLaRFFgNs?STIk{AXpQCD^s_R`CNn=*$W>sPGUo12?OpFTy%=d^(< z%l2d?P!0^U0OtdOu37S3MMFc`(UAu^jG>KmoKh%|imfK`FWlU6G&x~gxeH%NM^EqH z<-~xwU^bXw0G3N+WrDC-^+N6V0bG7L1u})q%*AvoO$BP|WQYpB(Rqy*WuYiFE zL`Lp^ylregfTa*&mIdLfNbYdiT{3)lom3vH5)eIC$bxPa1!gI?wpQ2g-=7EYc?dSu zl&Ixp3uxpA<`GK065WP{XD~-pUuS0WpwdfA>xSc=k7Qk$Ic(sYEQ-bKnUY zot$I`50`?4MGiQCh<#6Xp?g&`DG+j$5XYDc+);KpeDcoD4rGTsnwXe4&AiReuMVcg zXlR^^fP84&2Z>>GJMUi@FN@PRC9yFZC@Lu2`=}$I$O?_HJM8YPK!k46F{CjQf%T2D zqHt4RG#wx4x~TYgFs)!Ndww|p--Ww}NBgFGZet@2@M|O6f5knvbOZ$)hot;Y1)3=a??AWyoNPcP;j>aSE+2v+Vf5}P)4uZG;U?Z60&PM_olBd&n-mLnI4dU zUh@^0a^Z;#PqKxhCGisXKP(*2sjH(;{fcy+jw7Z;mM_cqRZdX%6S*u65n z`#G9zHq|*_zRc}q$i@eomJ`|?l~^RQG0!+Jw$OR)&bI^UXHltNVbO`HJ%LL5$>#Yy_`SQv1dK+dJ4LE0?z|I)KQz8o2lsOBNm=T4zC|Moj{4< zE?5VvsU1dOdcH1&V8KW*eZmu5hC7AM-yu`mbS8K5zB?R1uy>Ha&nzTQ4GdFmLjx6k z0yr~p!O(;|d)B`gxcYI_E?b9tbZiXu%L4t#F7&?rkMRxz0|fCB?p|IH8BHgwKzkP^ zBx?zfgV3DZ5}apIF)^VF&y?@qzd7L`f&!iJ@&M@+g%;OJPbe|(`}<4F_?-s9dioT& z(dk-8N|bvaGaABJzo|iw;Gql&sO;~;>;o1U662D28w*HW + + + + + + +CocoaTweet: src/cocoatweet/api/status/retweet.h Source File + + + + + + + + + + +
      +
      +
      retweet.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_RETWEET_H_
      +
      2 #define COCOATWEET_API_STATUS_RETWEET_H_
      +
      3 
      + + +
      6 
      + + +
      9 public:
      +
      10  Retweet();
      +
      11 
      +
      12  void id(const std::string& _id);
      +
      13 
      +
      14  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      15 };
      +
      16 } // namespace CocoaTweet::API::Statuses
      +
      17 
      +
      18 #endif
      +
      +
      Definition: retweet.h:8
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      Definition: retweet.cc:12
      +
      data class for tweet object
      Definition: tweet.h:9
      + +
      void id(const std::string &_id)
      Definition: retweet.cc:7
      +
      Retweet()
      Definition: retweet.cc:5
      + +
      Definition: destroy.cc:4
      + + + + diff --git a/help/html/search/all_0.html b/help/html/search/all_0.html new file mode 100644 index 0000000..26dd244 --- /dev/null +++ b/help/html/search/all_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_0.js b/help/html/search/all_0.js new file mode 100644 index 0000000..9cbc915 --- /dev/null +++ b/help/html/search/all_0.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['accesstoken_0',['accessToken',['../classCocoaTweet_1_1OAuth_1_1Key.html#a480b1b4f1c03b3bdd7c1b59b5f8fc4d5',1,'CocoaTweet::OAuth::Key']]], + ['accesstokensecret_1',['accessTokenSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#aaf7813cff260ffd803eada11738a0b75',1,'CocoaTweet::OAuth::Key']]], + ['add_5fexecutable_2',['add_executable',['../src_2CMakeLists_8txt.html#af71960b53f14f77bfd0be71515d791f1',1,'CMakeLists.txt']]], + ['add_5fsubdirectory_3',['add_subdirectory',['../src_2CMakeLists_8txt.html#a1a50f7d628d8c645b7ab7c46a26384da',1,'CMakeLists.txt']]], + ['api_4',['API',['../classCocoaTweet_1_1API_1_1API.html',1,'CocoaTweet::API::API'],['../classCocoaTweet_1_1API_1_1API.html#a28775a63dd897efa3fc410c9d82dedfd',1,'CocoaTweet::API::API::API()']]], + ['api_2ecc_5',['api.cc',['../api_8cc.html',1,'']]], + ['api_2eh_6',['api.h',['../api_8h.html',1,'']]], + ['attachmenturl_7',['attachmentUrl',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a789c4e2479c44c8e4fc56af449abe6e1',1,'CocoaTweet::API::Statuses::Status::Options::attachmentUrl()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a62a2c887a196e86e5522a6550ad54a64',1,'CocoaTweet::API::Statuses::Update::attachmentUrl()']]], + ['authenticateexception_8',['AuthenticateException',['../classCocoaTweet_1_1Exception_1_1AuthenticateException.html',1,'CocoaTweet::Exception']]], + ['authenticateexception_2eh_9',['authenticateException.h',['../authenticateException_8h.html',1,'']]], + ['autopopulatereplymetadata_10',['autoPopulateReplyMetaData',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a83f948512ee31537afa9e3c0112a9640',1,'CocoaTweet::API::Statuses::Status::Options::autoPopulateReplyMetaData()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a77d4f41f814ce2dcfcf80b9151ac4623',1,'CocoaTweet::API::Statuses::Update::autoPopulateReplyMetaData()']]] +]; diff --git a/help/html/search/all_1.html b/help/html/search/all_1.html new file mode 100644 index 0000000..8eb215b --- /dev/null +++ b/help/html/search/all_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_1.js b/help/html/search/all_1.js new file mode 100644 index 0000000..329b54b --- /dev/null +++ b/help/html/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['base64_11',['base64',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#aa389f10a1cafa5c26413bb28cdd27d3b',1,'CocoaTweet::OAuth::OAuth1']]], + ['bodyparam_5f_12',['bodyParam_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a7c543dfa69524004df9e0fdcaa610313',1,'CocoaTweet::API::Interface::HttpBase']]] +]; diff --git a/help/html/search/all_10.html b/help/html/search/all_10.html new file mode 100644 index 0000000..6fd3a4a --- /dev/null +++ b/help/html/search/all_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_10.js b/help/html/search/all_10.js new file mode 100644 index 0000000..ebecbb4 --- /dev/null +++ b/help/html/search/all_10.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['screenname_109',['screenName',['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#a0351e221076b359bd181973bb99ec34c',1,'CocoaTweet::API::Statuses::UserTimeline']]], + ['secret_110',['secret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a48d94ebbd486ffabc10b0b5417182cdd',1,'CocoaTweet::OAuth::Key']]], + ['signature_111',['signature',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a605a5ee2fc35869292234fa2c3dea420',1,'CocoaTweet::OAuth::OAuth1']]], + ['size_112',['size',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a7f9e922b93522ae810c487b8da7d772f',1,'CocoaTweet::API::Model::MediaStore::size(const unsigned int _size)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#aab8defad4ab8eab424bdb831aa13ae9f',1,'CocoaTweet::API::Model::MediaStore::size() const']]], + ['source_113',['source',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ad55c3f4c66e34de7e159ab9769745106',1,'CocoaTweet::API::Model::Tweet::source(const std::string _source)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ade60f2ce9c6ead8b2327d64847b6d272',1,'CocoaTweet::API::Model::Tweet::source() const']]], + ['state_114',['state',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#ad2ef76ab9b8b307c2abe3f80397adc1a',1,'CocoaTweet::API::Model::MediaStore::state(const std::string _state)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#aa708ce16bce734d9f852d141c0450e33',1,'CocoaTweet::API::Model::MediaStore::state() const']]], + ['status_115',['Status',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html',1,'CocoaTweet::API::Statuses::Status'],['../classCocoaTweet_1_1API_1_1API.html#a33328fef1c2ac0f634449d6c60742449',1,'CocoaTweet::API::API::status()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a82a03eb9ed10d0235bc5f5876472359b',1,'CocoaTweet::API::Statuses::Update::status()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a4d0a2245d5b5d8fb88fd5415746491bf',1,'CocoaTweet::API::Statuses::Status::Status()=default'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a8b2e666ae6d3d6f7195f80c995f871c9',1,'CocoaTweet::API::Statuses::Status::Status(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['status_2ecc_116',['status.cc',['../status_8cc.html',1,'']]], + ['status_2eh_117',['status.h',['../status_8h.html',1,'']]] +]; diff --git a/help/html/search/all_11.html b/help/html/search/all_11.html new file mode 100644 index 0000000..f78343b --- /dev/null +++ b/help/html/search/all_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_11.js b/help/html/search/all_11.js new file mode 100644 index 0000000..6ad41d6 --- /dev/null +++ b/help/html/search/all_11.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['text_118',['text',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a596cda729c5b1565da0adbf02125acba',1,'CocoaTweet::API::Model::Tweet::text(const std::string _text)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a46bd67b016af890ad85836e5c1aa6a12',1,'CocoaTweet::API::Model::Tweet::text() const']]], + ['timestamp_119',['timestamp',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a8e52c044b277a6834ac6452d3552bff3',1,'CocoaTweet::OAuth::OAuth1']]], + ['trimuser_120',['trimUser',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a6b445d1b1122acf2057fb284bb0bcf52',1,'CocoaTweet::API::Statuses::Status::Options::trimUser()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a52ee15455ae4e5330d73ba0f93c9fa6f',1,'CocoaTweet::API::Statuses::Update::trimUser()']]], + ['tweet_121',['Tweet',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html',1,'CocoaTweet::API::Model::Tweet'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a76048fae79efd49eb2282f518e40c763',1,'CocoaTweet::API::Model::Tweet::Tweet()=default'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a5be21495e0296eb553eda9af2247a417',1,'CocoaTweet::API::Model::Tweet::Tweet(const Tweet &)=default'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a46c35c94e914a27109781529fc04b0ae',1,'CocoaTweet::API::Model::Tweet::Tweet(const std::string &_json)']]], + ['tweet_2ecc_122',['tweet.cc',['../tweet_8cc.html',1,'']]], + ['tweet_2eh_123',['tweet.h',['../tweet_8h.html',1,'']]], + ['tweetduplicateexception_124',['TweetDuplicateException',['../classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html',1,'CocoaTweet::Exception']]], + ['tweetduplicateexception_2eh_125',['tweetDuplicateException.h',['../tweetDuplicateException_8h.html',1,'']]], + ['tweetnotfoundexception_126',['TweetNotFoundException',['../classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html',1,'CocoaTweet::Exception']]], + ['tweetnotfoundexception_2eh_127',['tweetNotFoundException.h',['../tweetNotFoundException_8h.html',1,'']]], + ['tweettoolongexception_128',['TweetTooLongException',['../classCocoaTweet_1_1Exception_1_1TweetTooLongException.html',1,'CocoaTweet::Exception']]], + ['tweettoolongexception_2eh_129',['tweetTooLongException.h',['../tweetTooLongException_8h.html',1,'']]] +]; diff --git a/help/html/search/all_12.html b/help/html/search/all_12.html new file mode 100644 index 0000000..dd9ff1d --- /dev/null +++ b/help/html/search/all_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_12.js b/help/html/search/all_12.js new file mode 100644 index 0000000..a7d3e08 --- /dev/null +++ b/help/html/search/all_12.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['unretweet_130',['Unretweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html',1,'CocoaTweet::API::Statuses::Unretweet'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a0d5c362fa2a0781d6a1e2cace1c513fa',1,'CocoaTweet::API::Statuses::Status::Unretweet()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#ac6169b5cd910d0ac03216b2f6e033b20',1,'CocoaTweet::API::Statuses::Unretweet::Unretweet()']]], + ['unretweet_2ecc_131',['unretweet.cc',['../unretweet_8cc.html',1,'']]], + ['unretweet_2eh_132',['unretweet.h',['../unretweet_8h.html',1,'']]], + ['unsupportedmediatypeexception_133',['UnsupportedMediaTypeException',['../classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html',1,'CocoaTweet::Exception']]], + ['unsupportedmediatypeexception_2eh_134',['unsupportedMediaTypeException.h',['../unsupportedMediaTypeException_8h.html',1,'']]], + ['update_135',['Update',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html',1,'CocoaTweet::API::Statuses::Update'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a97269d52cbea19efce259f655a4af3ea',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#ab97c5a45baef9faf41fc7c55894cd5ee',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status, const Options _options) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#abe53df0ceaacd57ba1737674e499de70',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status, std::vector< std::string > _mediaId) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a79ba001f67640f34f9facdec885e48cd',1,'CocoaTweet::API::Statuses::Update::Update()']]], + ['update_2ecc_136',['update.cc',['../update_8cc.html',1,'']]], + ['update_2eh_137',['update.h',['../update_8h.html',1,'']]], + ['upload_138',['Upload',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html',1,'CocoaTweet::API::Medias::Upload'],['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#ad9f96d763945f074b6b30ff09793843c',1,'CocoaTweet::API::Medias::Media::Upload()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a8b641cae9515e32b9d919c96dd7ee9bb',1,'CocoaTweet::API::Medias::Upload::Upload()']]], + ['upload_2ecc_139',['upload.cc',['../upload_8cc.html',1,'']]], + ['upload_2eh_140',['upload.h',['../upload_8h.html',1,'']]], + ['url_5f_141',['url_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a6511d018265ca90a5c675b375b8feee0',1,'CocoaTweet::API::Interface::HttpBase']]], + ['urlencode_142',['urlEncode',['../namespaceCocoaTweet_1_1Util.html#ac46dcd54bb4c11d0c2ce409545f10d4c',1,'CocoaTweet::Util']]], + ['usertimeline_143',['UserTimeline',['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html',1,'CocoaTweet::API::Statuses::UserTimeline'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#ab4f901886249455642e89a94d8bcc889',1,'CocoaTweet::API::Statuses::Status::UserTimeline()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#a775cf10d0deeabc0d7676ea8deb6fc65',1,'CocoaTweet::API::Statuses::UserTimeline::UserTimeline()']]], + ['usertimeline_2ecc_144',['userTimeline.cc',['../userTimeline_8cc.html',1,'']]], + ['usertimeline_2eh_145',['userTimeline.h',['../userTimeline_8h.html',1,'']]], + ['util_2ecc_146',['util.cc',['../util_8cc.html',1,'']]], + ['util_2eh_147',['util.h',['../util_8h.html',1,'']]] +]; diff --git a/help/html/search/all_13.html b/help/html/search/all_13.html new file mode 100644 index 0000000..2611a10 --- /dev/null +++ b/help/html/search/all_13.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_13.js b/help/html/search/all_13.js new file mode 100644 index 0000000..d1e7bc7 --- /dev/null +++ b/help/html/search/all_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_148',['version',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#ab8e90f4d24bf038419020d76a329c5b8',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/all_14.html b/help/html/search/all_14.html new file mode 100644 index 0000000..72d12e9 --- /dev/null +++ b/help/html/search/all_14.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_14.js b/help/html/search/all_14.js new file mode 100644 index 0000000..eeb3a1b --- /dev/null +++ b/help/html/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['what_149',['what',['../classCocoaTweet_1_1Exception_1_1Exception.html#a251aff23f9da55802be51d4fabadf59b',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/all_15.html b/help/html/search/all_15.html new file mode 100644 index 0000000..767aec3 --- /dev/null +++ b/help/html/search/all_15.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_15.js b/help/html/search/all_15.js new file mode 100644 index 0000000..25eb72a --- /dev/null +++ b/help/html/search/all_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_150',['z',['../CMakeLists_8txt.html#a976e76516b81c3e0f6f677d39beb977c',1,'CMakeLists.txt']]] +]; diff --git a/help/html/search/all_16.html b/help/html/search/all_16.html new file mode 100644 index 0000000..7bd7afe --- /dev/null +++ b/help/html/search/all_16.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_16.js b/help/html/search/all_16.js new file mode 100644 index 0000000..2df7166 --- /dev/null +++ b/help/html/search/all_16.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7eexception_151',['~Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html#a5a71f213ee8533c03530f74f4aa0756a',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/all_17.html b/help/html/search/all_17.html new file mode 100644 index 0000000..35702ec --- /dev/null +++ b/help/html/search/all_17.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_17.js b/help/html/search/all_17.js new file mode 100644 index 0000000..7fe1508 --- /dev/null +++ b/help/html/search/all_17.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['w_850',['w',['../structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['what_851',['what',['../classnlohmann_1_1detail_1_1exception.html#a11fe48748e811531614c84883b00ccd5',1,'nlohmann::detail::exception::what()'],['../classCocoaTweet_1_1Exception_1_1Exception.html#a251aff23f9da55802be51d4fabadf59b',1,'CocoaTweet::Exception::Exception::what()'],['../classnlohmann_1_1detail_1_1exception.html#a11fe48748e811531614c84883b00ccd5',1,'nlohmann::detail::exception::what()']]], + ['wide_5fstring_5finput_5fadapter_852',['wide_string_input_adapter',['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html',1,'nlohmann::detail::wide_string_input_adapter< WideStringType >'],['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a85c8bddae20bc00d64dd7a2c87109357',1,'nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter(const WideStringType &w) noexcept'],['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aab4e74b42f6c11d5cfa82999d7ead2de',1,'nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter(BaseInputAdapter base)']]], + ['wide_5fstring_5finput_5fhelper_853',['wide_string_input_helper',['../structnlohmann_1_1detail_1_1wide__string__input__helper.html',1,'nlohmann::detail::wide_string_input_helper< WideStringType, T >'],['../classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221',1,'nlohmann::detail::iterator_input_adapter::wide_string_input_helper()']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_202_20_3e_854',['wide_string_input_helper< BaseInputAdapter, 2 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_204_20_3e_855',['wide_string_input_helper< BaseInputAdapter, 4 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20widestringtype_2c_202_20_3e_856',['wide_string_input_helper< WideStringType, 2 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html',1,'nlohmann::detail']]], + ['wl_857',['Wl',['../CMakeCache_8txt.html#a91a5fba9ebc62bef7682b670bb7da857',1,'CMakeCache.txt']]], + ['write_5fbson_858',['write_bson',['../classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer::write_bson(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer::write_bson(const BasicJsonType &j)']]], + ['write_5fcbor_859',['write_cbor',['../classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer::write_cbor(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer::write_cbor(const BasicJsonType &j)']]], + ['write_5fcharacter_860',['write_character',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()']]], + ['write_5fcharacters_861',['write_characters',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()']]], + ['write_5fmsgpack_862',['write_msgpack',['../classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer::write_msgpack(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer::write_msgpack(const BasicJsonType &j)']]], + ['write_5fubjson_863',['write_ubjson',['../classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer::write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)'],['../classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer::write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)']]] +]; diff --git a/help/html/search/all_18.html b/help/html/search/all_18.html new file mode 100644 index 0000000..540cdb6 --- /dev/null +++ b/help/html/search/all_18.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_18.js b/help/html/search/all_18.js new file mode 100644 index 0000000..539b686 --- /dev/null +++ b/help/html/search/all_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_864',['z',['../CMakeCache_8txt.html#a25ed1bcb423b0b7200f485fc5ff71c8e',1,'z(): CMakeCache.txt'],['../CMakeLists_8txt.html#a976e76516b81c3e0f6f677d39beb977c',1,'z(): CMakeLists.txt']]] +]; diff --git a/help/html/search/all_19.html b/help/html/search/all_19.html new file mode 100644 index 0000000..14e13e7 --- /dev/null +++ b/help/html/search/all_19.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_19.js b/help/html/search/all_19.js new file mode 100644 index 0000000..8a85db0 --- /dev/null +++ b/help/html/search/all_19.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['_7ebasic_5fjson_865',['~basic_json',['../classnlohmann_1_1basic__json.html#a7d35fcb7c72f755a30ae433e58083eca',1,'nlohmann::basic_json::~basic_json() noexcept'],['../classnlohmann_1_1basic__json.html#a7d35fcb7c72f755a30ae433e58083eca',1,'nlohmann::basic_json::~basic_json() noexcept']]], + ['_7ebinary_5freader_866',['~binary_reader',['../classnlohmann_1_1detail_1_1binary__reader.html#a18e0a63e22dbdad5f6964276b81b813a',1,'nlohmann::detail::binary_reader::~binary_reader()=default'],['../classnlohmann_1_1detail_1_1binary__reader.html#a18e0a63e22dbdad5f6964276b81b813a',1,'nlohmann::detail::binary_reader::~binary_reader()=default']]], + ['_7eexception_867',['~Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html#a5a71f213ee8533c03530f74f4aa0756a',1,'CocoaTweet::Exception::Exception']]], + ['_7efile_5finput_5fadapter_868',['~file_input_adapter',['../classnlohmann_1_1detail_1_1file__input__adapter.html#af96552e4560be08b201e62a36e6b6189',1,'nlohmann::detail::file_input_adapter']]], + ['_7einput_5fadapter_5fprotocol_869',['~input_adapter_protocol',['../structnlohmann_1_1detail_1_1input__adapter__protocol.html#a92dac74def4ac5adacd0684088bd4082',1,'nlohmann::detail::input_adapter_protocol']]], + ['_7einput_5fbuffer_5fadapter_870',['~input_buffer_adapter',['../classnlohmann_1_1detail_1_1input__buffer__adapter.html#ac242b822b2f6772e5fc682ddb80cb066',1,'nlohmann::detail::input_buffer_adapter']]], + ['_7einput_5fstream_5fadapter_871',['~input_stream_adapter',['../classnlohmann_1_1detail_1_1input__stream__adapter.html#a2d71eb469267abd864f765481d1e823f',1,'nlohmann::detail::input_stream_adapter::~input_stream_adapter() override'],['../classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36',1,'nlohmann::detail::input_stream_adapter::~input_stream_adapter()']]], + ['_7ejson_5fref_872',['~json_ref',['../classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref::~json_ref()=default'],['../classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref::~json_ref()=default']]], + ['_7ejson_5fsax_873',['~json_sax',['../structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax::~json_sax()=default'],['../structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax::~json_sax()=default']]], + ['_7ejson_5fsax_5fdom_5fcallback_5fparser_874',['~json_sax_dom_callback_parser',['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser::~json_sax_dom_callback_parser()=default'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser::~json_sax_dom_callback_parser()=default']]], + ['_7ejson_5fsax_5fdom_5fparser_875',['~json_sax_dom_parser',['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser::~json_sax_dom_parser()=default'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser::~json_sax_dom_parser()=default']]], + ['_7elexer_876',['~lexer',['../classnlohmann_1_1detail_1_1lexer.html#a2f2ef6f5aca9a0c48fcfb1290f7b2b0d',1,'nlohmann::detail::lexer::~lexer()=default'],['../classnlohmann_1_1detail_1_1lexer.html#a2f2ef6f5aca9a0c48fcfb1290f7b2b0d',1,'nlohmann::detail::lexer::~lexer()=default']]], + ['_7enonesuch_877',['~nonesuch',['../structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch::~nonesuch()=delete'],['../structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch::~nonesuch()=delete']]], + ['_7eoutput_5fadapter_5fprotocol_878',['~output_adapter_protocol',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol::~output_adapter_protocol()=default'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol::~output_adapter_protocol()=default']]], + ['_7eserializer_879',['~serializer',['../classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer::~serializer()=default'],['../classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer::~serializer()=default']]] +]; diff --git a/help/html/search/all_2.html b/help/html/search/all_2.html new file mode 100644 index 0000000..b26d916 --- /dev/null +++ b/help/html/search/all_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_2.js b/help/html/search/all_2.js new file mode 100644 index 0000000..4aa482a --- /dev/null +++ b/help/html/search/all_2.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['api_13',['API',['../namespaceCocoaTweet_1_1API.html',1,'CocoaTweet']]], + ['cmake_5fminimum_5frequired_14',['cmake_minimum_required',['../CMakeLists_8txt.html#a944d7c5253a40e73b032d4a2f64e7cc1',1,'CMakeLists.txt']]], + ['cmakelists_2etxt_15',['CMakeLists.txt',['../CMakeLists_8txt.html',1,'(Global Namespace)'],['../src_2CMakeLists_8txt.html',1,'(Global Namespace)'],['../src_2cocoatweet_2CMakeLists_8txt.html',1,'(Global Namespace)']]], + ['cocoatweet_16',['CocoaTweet',['../namespaceCocoaTweet.html',1,'']]], + ['common_17',['common',['../CMakeLists_8txt.html#ab073f774aac3d0d478f24fc923c505d5',1,'CMakeLists.txt']]], + ['consumerkey_18',['consumerKey',['../classCocoaTweet_1_1OAuth_1_1Key.html#a562a039b051219a2439deb13bf5026e2',1,'CocoaTweet::OAuth::Key']]], + ['consumersecret_19',['consumerSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a02c8645e7643dbd2480bea48f298b836',1,'CocoaTweet::OAuth::Key']]], + ['contenttype_5f_20',['contentType_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#aa80a8d2b339e3eed6f9e031518f8193b',1,'CocoaTweet::API::Interface::HttpBase']]], + ['coord_21',['coord',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#ab24c15ece20c3aef129d2924fb21b3d0',1,'CocoaTweet::API::Statuses::Status::Options::coord()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a75886f7953f8c82b644f3d09b9706726',1,'CocoaTweet::API::Statuses::Update::coord()']]], + ['create_22',['Create',['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html',1,'CocoaTweet::API::Favorites::Create'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#a5fc5708f4d59a41d1cd52c4bbd751312',1,'CocoaTweet::API::Favorites::Create::Create()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#a92f31e9cfaf22556f6bce5985fad6370',1,'CocoaTweet::API::Favorites::Favorite::Create()']]], + ['create_2ecc_23',['create.cc',['../create_8cc.html',1,'']]], + ['create_2eh_24',['create.h',['../create_8h.html',1,'']]], + ['createdat_25',['createdAt',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ac6f9cf58a81ae0ffe573e6ed8c720e99',1,'CocoaTweet::API::Model::Tweet::createdAt(const std::string _at)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a9dc100295f8bde796bb77ce00c10ed2e',1,'CocoaTweet::API::Model::Tweet::createdAt() const']]], + ['curlcallback_5f_26',['curlCallback_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a65e649cd380fc68d69aa8b575a20ab10',1,'CocoaTweet::API::Interface::HttpBase']]], + ['directmessages_27',['DirectMessages',['../namespaceCocoaTweet_1_1API_1_1DirectMessages.html',1,'CocoaTweet::API']]], + ['exception_28',['Exception',['../namespaceCocoaTweet_1_1Exception.html',1,'CocoaTweet']]], + ['favorites_29',['Favorites',['../namespaceCocoaTweet_1_1API_1_1Favorites.html',1,'CocoaTweet::API']]], + ['interface_30',['Interface',['../namespaceCocoaTweet_1_1API_1_1Interface.html',1,'CocoaTweet::API']]], + ['medias_31',['Medias',['../namespaceCocoaTweet_1_1API_1_1Medias.html',1,'CocoaTweet::API']]], + ['model_32',['Model',['../namespaceCocoaTweet_1_1API_1_1Model.html',1,'CocoaTweet::API']]], + ['oauth_33',['OAuth',['../namespaceCocoaTweet_1_1OAuth.html',1,'CocoaTweet']]], + ['statuses_34',['Statuses',['../namespaceCocoaTweet_1_1API_1_1Statuses.html',1,'CocoaTweet::API']]], + ['util_35',['Util',['../namespaceCocoaTweet_1_1Util.html',1,'CocoaTweet']]] +]; diff --git a/help/html/search/all_3.html b/help/html/search/all_3.html new file mode 100644 index 0000000..b61b96f --- /dev/null +++ b/help/html/search/all_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_3.js b/help/html/search/all_3.js new file mode 100644 index 0000000..6ecf6c8 --- /dev/null +++ b/help/html/search/all_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['destroy_36',['Destroy',['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html',1,'CocoaTweet::API::Favorites::Destroy'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html',1,'CocoaTweet::API::Statuses::Destroy'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#a6d9947c0e2a1e2248c0251bad9a116a2',1,'CocoaTweet::API::Favorites::Destroy::Destroy()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#a70d269972c75619fd0c14ed42d506f2d',1,'CocoaTweet::API::Favorites::Favorite::Destroy()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#a62640d2aeb5c0b3854d685131d0d9667',1,'CocoaTweet::API::Statuses::Destroy::Destroy()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a10a4341bcf15226ee31c2bf00ae56c75',1,'CocoaTweet::API::Statuses::Status::Destroy()']]], + ['destroy_2ecc_37',['destroy.cc',['../favorite_2destroy_8cc.html',1,'(Global Namespace)'],['../status_2destroy_8cc.html',1,'(Global Namespace)']]], + ['destroy_2eh_38',['destroy.h',['../favorite_2destroy_8h.html',1,'(Global Namespace)'],['../status_2destroy_8h.html',1,'(Global Namespace)']]], + ['directmessage_39',['DirectMessage',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html',1,'CocoaTweet::API::DirectMessages::DirectMessage'],['../classCocoaTweet_1_1API_1_1API.html#a6147067e5f15533f517fc712ad83d9eb',1,'CocoaTweet::API::API::directMessage()'],['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#ab7d2d08f96e880ccb55e8ae5a2c3e466',1,'CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage()=default'],['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#a562ddb40463116c85379b6d62ca5c731',1,'CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['directmessage_2ecc_40',['directMessage.cc',['../directMessage_8cc.html',1,'']]], + ['directmessage_2eh_41',['directMessage.h',['../directMessage_8h.html',1,'']]], + ['displaycoord_42',['displayCoord',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a388f9bed352d912db4ec44f8d8b794e8',1,'CocoaTweet::API::Statuses::Status::Options::displayCoord()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a5fc4d92adf390299b1c6c5c3ed2ea681',1,'CocoaTweet::API::Statuses::Update::displayCoord()']]] +]; diff --git a/help/html/search/all_4.html b/help/html/search/all_4.html new file mode 100644 index 0000000..06de155 --- /dev/null +++ b/help/html/search/all_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_4.js b/help/html/search/all_4.js new file mode 100644 index 0000000..711569a --- /dev/null +++ b/help/html/search/all_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['elseif_43',['elseif',['../CMakeLists_8txt.html#aa4e8ce989b1f8229f5479534ee1ae8ac',1,'CMakeLists.txt']]], + ['enabledmcommands_44',['enableDMCommands',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a3ca1dc7e59fd95384fdb602d262eea07',1,'CocoaTweet::API::Statuses::Status::Options::enableDMCommands()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a84b9497dd94009d7cba1a63a73f5ef10',1,'CocoaTweet::API::Statuses::Update::enableDMCommands()']]], + ['exception_45',['Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html',1,'CocoaTweet::Exception::Exception'],['../classCocoaTweet_1_1Exception_1_1Exception.html#a4e5f456b49449032d66b27bc5617f015',1,'CocoaTweet::Exception::Exception::Exception(const char *_msg)'],['../classCocoaTweet_1_1Exception_1_1Exception.html#a3f2f093321add79ec723c01c9a7d3bcc',1,'CocoaTweet::Exception::Exception::Exception(const std::string &_msg)']]], + ['exception_2eh_46',['exception.h',['../exception_8h.html',1,'']]], + ['excludereplyuserid_47',['excludeReplyUserId',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a643d2eb27a56746b7c27cdc89cbf8b35',1,'CocoaTweet::API::Statuses::Status::Options::excludeReplyUserId()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a0135aace9ec1f275548ca15be91a0d71',1,'CocoaTweet::API::Statuses::Update::excludeReplyUserId()']]], + ['expire_48',['expire',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a5465aa710a0c303b6e0a7757290336f5',1,'CocoaTweet::API::Model::MediaStore']]], + ['expires_49',['expires',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a6efeb93e3b55afc05ca73e4a6b297295',1,'CocoaTweet::API::Model::MediaStore']]] +]; diff --git a/help/html/search/all_5.html b/help/html/search/all_5.html new file mode 100644 index 0000000..2544c4e --- /dev/null +++ b/help/html/search/all_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_5.js b/help/html/search/all_5.js new file mode 100644 index 0000000..76e82bb --- /dev/null +++ b/help/html/search/all_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['faildmcommands_50',['failDMCommands',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a793d031d5b6050a4a059d6abdc55fe80',1,'CocoaTweet::API::Statuses::Status::Options::failDMCommands()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ad3f189f00bbcc3ba72d812074195abd0',1,'CocoaTweet::API::Statuses::Update::failDMCommands()']]], + ['favorite_51',['Favorite',['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html',1,'CocoaTweet::API::Favorites::Favorite'],['../classCocoaTweet_1_1API_1_1API.html#a397db8cf7af9a4a3a34bc64169c04039',1,'CocoaTweet::API::API::favorite()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#aa0ade9ca6fc634f73892e5a4f26de519',1,'CocoaTweet::API::Favorites::Favorite::Favorite()=default'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#ae80051130fa5c755464b6f6b237f4854',1,'CocoaTweet::API::Favorites::Favorite::Favorite(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['favorite_2ecc_52',['favorite.cc',['../favorite_8cc.html',1,'']]], + ['favorite_2eh_53',['favorite.h',['../favorite_8h.html',1,'']]], + ['fromjsonfile_54',['fromJsonFile',['../classCocoaTweet_1_1OAuth_1_1Key.html#a936a436c45030782697f442979e2a675',1,'CocoaTweet::OAuth::Key']]] +]; diff --git a/help/html/search/all_6.html b/help/html/search/all_6.html new file mode 100644 index 0000000..43f14ea --- /dev/null +++ b/help/html/search/all_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_6.js b/help/html/search/all_6.js new file mode 100644 index 0000000..8c069df --- /dev/null +++ b/help/html/search/all_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['groupinterface_55',['groupInterface',['../classCocoaTweet_1_1API_1_1groupInterface.html',1,'CocoaTweet::API']]], + ['groupinterface_2eh_56',['groupInterface.h',['../groupInterface_8h.html',1,'']]] +]; diff --git a/help/html/search/all_7.html b/help/html/search/all_7.html new file mode 100644 index 0000000..af52f82 --- /dev/null +++ b/help/html/search/all_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_7.js b/help/html/search/all_7.js new file mode 100644 index 0000000..994fac6 --- /dev/null +++ b/help/html/search/all_7.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['hmacsha1_57',['hmacSha1',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#ae66ae62093d386bbb2763163acbcee03',1,'CocoaTweet::OAuth::OAuth1']]], + ['httpbase_58',['HttpBase',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html',1,'CocoaTweet::API::Interface']]], + ['httpbase_2eh_59',['httpBase.h',['../httpBase_8h.html',1,'']]], + ['httpget_60',['HttpGet',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html',1,'CocoaTweet::API::Interface']]], + ['httpget_2ecc_61',['httpGet.cc',['../httpGet_8cc.html',1,'']]], + ['httpget_2eh_62',['httpGet.h',['../httpGet_8h.html',1,'']]], + ['httppost_63',['HttpPost',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html',1,'CocoaTweet::API::Interface']]], + ['httppost_2ecc_64',['httpPost.cc',['../httpPost_8cc.html',1,'']]], + ['httppost_2eh_65',['httpPost.h',['../httpPost_8h.html',1,'']]] +]; diff --git a/help/html/search/all_8.html b/help/html/search/all_8.html new file mode 100644 index 0000000..cf2b5df --- /dev/null +++ b/help/html/search/all_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_8.js b/help/html/search/all_8.js new file mode 100644 index 0000000..5a9d22d --- /dev/null +++ b/help/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['id_66',['id',['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#ae461add62e4c473035c901534a4e4464',1,'CocoaTweet::API::Favorites::Create::id()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#abf46f0833f4adb6dac06fa246284b072',1,'CocoaTweet::API::Favorites::Destroy::id()'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#af90c553ab3da134f17ce2952612d9f9d',1,'CocoaTweet::API::Model::MediaStore::id(const std::string _id)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#ae723e47d9d4c9f51668a48da9c67bdc1',1,'CocoaTweet::API::Model::MediaStore::id() const'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ac3f9762b2a6a719005998ad31349a5c5',1,'CocoaTweet::API::Model::Tweet::id(const std::string _id)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a88d500d3d20a41762dee9e401cafefc6',1,'CocoaTweet::API::Model::Tweet::id() const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#a18207d9e58563cc4338d35d4979fbf34',1,'CocoaTweet::API::Statuses::Destroy::id()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#aa152712528b5fcf39d416a6955eb5858',1,'CocoaTweet::API::Statuses::Retweet::id()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#a029fb710f5d4f1cbbec898696cce0379',1,'CocoaTweet::API::Statuses::Unretweet::id()']]] +]; diff --git a/help/html/search/all_9.html b/help/html/search/all_9.html new file mode 100644 index 0000000..690785a --- /dev/null +++ b/help/html/search/all_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_9.js b/help/html/search/all_9.js new file mode 100644 index 0000000..9241637 --- /dev/null +++ b/help/html/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join_67',['join',['../namespaceCocoaTweet_1_1Util.html#a8786654a9f36ebcdc9a605e8e50bcc4c',1,'CocoaTweet::Util']]] +]; diff --git a/help/html/search/all_a.html b/help/html/search/all_a.html new file mode 100644 index 0000000..f2f3d3a --- /dev/null +++ b/help/html/search/all_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_a.js b/help/html/search/all_a.js new file mode 100644 index 0000000..c89de85 --- /dev/null +++ b/help/html/search/all_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['key_68',['Key',['../classCocoaTweet_1_1OAuth_1_1Key.html',1,'CocoaTweet::OAuth::Key'],['../classCocoaTweet_1_1OAuth_1_1Key.html#a1b50c413556b8eb769e30694412c2f60',1,'CocoaTweet::OAuth::Key::Key()'],['../classCocoaTweet_1_1OAuth_1_1Key.html#ac172968b08edb93001714e95f8a67c6b',1,'CocoaTweet::OAuth::Key::Key(const std::string &_consumerKey, const std::string &_consumerSecret, const std::string &_accessToken, const std::string &_accessTokenSecret)'],['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a9690d88c41c5ad2bf20ed420b8c23cb1',1,'CocoaTweet::OAuth::OAuth1::key()']]], + ['key_2ecc_69',['key.cc',['../key_8cc.html',1,'']]], + ['key_2eh_70',['key.h',['../key_8h.html',1,'']]] +]; diff --git a/help/html/search/all_b.html b/help/html/search/all_b.html new file mode 100644 index 0000000..14f3403 --- /dev/null +++ b/help/html/search/all_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_b.js b/help/html/search/all_b.js new file mode 100644 index 0000000..a80e1e0 --- /dev/null +++ b/help/html/search/all_b.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['main_71',['main',['../main_8cc.html#a8216c1645620cdb2f629cde3ac02ffef',1,'main.cc']]], + ['main_2ecc_72',['main.cc',['../main_8cc.html',1,'']]], + ['media_73',['Media',['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html',1,'CocoaTweet::API::Medias::Media'],['../classCocoaTweet_1_1API_1_1API.html#a2143e93436e088200f93ff8822d845ec',1,'CocoaTweet::API::API::media()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#ac1f706f8b1b71bec16a89eed8477c396',1,'CocoaTweet::API::Medias::Upload::media()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#a8aa7c237ea39987a00d860f1fcbb1833',1,'CocoaTweet::API::Medias::Media::Media()=default'],['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#aa43e1ce4f7950d43643b0c3fb9eef7d1',1,'CocoaTweet::API::Medias::Media::Media(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['media_2ecc_74',['media.cc',['../media_8cc.html',1,'']]], + ['media_2eh_75',['media.h',['../media_8h.html',1,'']]], + ['mediaid_76',['mediaId',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a80b625aa820e75f220823d78a26b04c4',1,'CocoaTweet::API::Medias::Upload::mediaId()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ab8ef38fef366262e0f2a1bff9dee3ec6',1,'CocoaTweet::API::Statuses::Update::mediaId()']]], + ['mediastore_77',['MediaStore',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html',1,'CocoaTweet::API::Model::MediaStore'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a0e6a74f084a96486a07e044696880efc',1,'CocoaTweet::API::Model::MediaStore::MediaStore()=default'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a6cbebe79b8e48fc5b9c7efeb99d36b2f',1,'CocoaTweet::API::Model::MediaStore::MediaStore(const MediaStore &)=default'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#acf876698bff69017e0dbb872c3fd31ca',1,'CocoaTweet::API::Model::MediaStore::MediaStore(const std::string &_json)']]], + ['mediastore_2ecc_78',['mediaStore.cc',['../mediaStore_8cc.html',1,'']]], + ['mediastore_2eh_79',['mediaStore.h',['../mediaStore_8h.html',1,'']]], + ['message_80',['message',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a5a66d60dbc7a1d7750e82b78d43c93ac',1,'CocoaTweet::API::DirectMessages::New']]], + ['messagecreate_81',['messageCreate',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#ab8962dff70ff28cb55c801f4a20c1cc2',1,'CocoaTweet::API::DirectMessages::DirectMessage']]], + ['method_82',['method',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a798209f1805d15028258df55db1de681',1,'CocoaTweet::OAuth::OAuth1']]], + ['msg_5f_83',['msg_',['../classCocoaTweet_1_1Exception_1_1Exception.html#a979d1a34fc7ddc79572fea00e89cf7db',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/all_c.html b/help/html/search/all_c.html new file mode 100644 index 0000000..da60ab8 --- /dev/null +++ b/help/html/search/all_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_c.js b/help/html/search/all_c.js new file mode 100644 index 0000000..26f77de --- /dev/null +++ b/help/html/search/all_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['needed_84',['needed',['../CMakeLists_8txt.html#a00fba48fc95d7cf91486378c8d671c99',1,'CMakeLists.txt']]], + ['new_85',['New',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html',1,'CocoaTweet::API::DirectMessages::New'],['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a417374d5ddcdbeb9e7596ee321fba4aa',1,'CocoaTweet::API::DirectMessages::New::New()']]], + ['new_2ecc_86',['new.cc',['../new_8cc.html',1,'']]], + ['new_2eh_87',['new.h',['../new_8h.html',1,'']]], + ['nonce_88',['nonce',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#abecce5bd7c075b0ea85933c17f399f69',1,'CocoaTweet::OAuth::OAuth1']]], + ['nosecret_89',['noSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a0f2719582fae7ccb074e64f45083b273',1,'CocoaTweet::OAuth::Key']]] +]; diff --git a/help/html/search/all_d.html b/help/html/search/all_d.html new file mode 100644 index 0000000..bc376fe --- /dev/null +++ b/help/html/search/all_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_d.js b/help/html/search/all_d.js new file mode 100644 index 0000000..209471b --- /dev/null +++ b/help/html/search/all_d.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['o1_90',['O1',['../CMakeLists_8txt.html#a23ef90534a2fac3d2eec4950829a2abc',1,'CMakeLists.txt']]], + ['oauth_2ecc_91',['oauth.cc',['../oauth_8cc.html',1,'']]], + ['oauth_2eh_92',['oauth.h',['../oauth_8h.html',1,'']]], + ['oauth1_93',['OAuth1',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html',1,'CocoaTweet::OAuth::OAuth1'],['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a65db2966be0a556e21fe9fe6764d648d',1,'CocoaTweet::OAuth::OAuth1::OAuth1()'],['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a6398994361a2a240006c31f5f937d039',1,'CocoaTweet::OAuth::OAuth1::OAuth1(const Key _key)']]], + ['oauth_5f_94',['oauth_',['../classCocoaTweet_1_1API_1_1groupInterface.html#a71452bcc421ce246fd4f64d861ccbb97',1,'CocoaTweet::API::groupInterface::oauth_()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#ab0b8b76e12fdf34849fc1c8ee928a2ff',1,'CocoaTweet::API::Interface::HttpBase::oauth_()']]], + ['oauthparam_95',['oauthParam',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a6e5e31c125e4d9279deb1eb47cfcb84a',1,'CocoaTweet::OAuth::OAuth1']]], + ['options_96',['Options',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html',1,'CocoaTweet::API::Statuses::Status']]] +]; diff --git a/help/html/search/all_e.html b/help/html/search/all_e.html new file mode 100644 index 0000000..2e3c74d --- /dev/null +++ b/help/html/search/all_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_e.js b/help/html/search/all_e.js new file mode 100644 index 0000000..2aaacfe --- /dev/null +++ b/help/html/search/all_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['parse_97',['parse',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#abda07bde61f662a5a8664f6172daa204',1,'CocoaTweet::API::Model::MediaStore::parse()'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a71c2d26eb75289c9cfe3c5054a1baf65',1,'CocoaTweet::API::Model::Tweet::parse()']]], + ['process_98',['process',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a5a1b6b2885f2526a927746574744cb8c',1,'CocoaTweet::API::DirectMessages::New::process()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#adf39329935982455ffab03dc0bc28e3b',1,'CocoaTweet::API::Favorites::Create::process()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#a3bc14d9c674ece917e64cf94c091a296',1,'CocoaTweet::API::Favorites::Destroy::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a680ff63af97568baf2587f20b7e1a8ec',1,'CocoaTweet::API::Interface::HttpBase::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html#a3255bc6867830ff3632530e65c257ecc',1,'CocoaTweet::API::Interface::HttpGet::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html#afc4040a8d1b0853585334751717d0662',1,'CocoaTweet::API::Interface::HttpPost::process()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#ad47c77a4086bdf4f74b1aaecc86bce14',1,'CocoaTweet::API::Medias::Upload::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#af36cb7e5b76a30ba7fae9700d95fc642',1,'CocoaTweet::API::Statuses::Destroy::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#a97749a3172d989fd90858811a4ea2e70',1,'CocoaTweet::API::Statuses::Retweet::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#a28efd42659f837c15c08175a12e3222a',1,'CocoaTweet::API::Statuses::Unretweet::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ad5732026f1a38df2b49f9f3bad9bdf85',1,'CocoaTweet::API::Statuses::Update::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#af59cefac376b86d8abb843f701598090',1,'CocoaTweet::API::Statuses::UserTimeline::process()']]] +]; diff --git a/help/html/search/all_f.html b/help/html/search/all_f.html new file mode 100644 index 0000000..246f8ab --- /dev/null +++ b/help/html/search/all_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/all_f.js b/help/html/search/all_f.js new file mode 100644 index 0000000..7d74fd0 --- /dev/null +++ b/help/html/search/all_f.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['readme_99',['README',['../md_README.html',1,'']]], + ['ratelimitexception_100',['RateLimitException',['../classCocoaTweet_1_1Exception_1_1RateLimitException.html',1,'CocoaTweet::Exception']]], + ['ratelimitexception_2eh_101',['rateLimitException.h',['../rateLimitException_8h.html',1,'']]], + ['readme_2emd_102',['README.md',['../README_8md.html',1,'']]], + ['recipient_103',['recipient',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#afd95acae9607546a8ca37ea22f438139',1,'CocoaTweet::API::DirectMessages::New']]], + ['remain_104',['remain',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a2adf7192194944149c9662d66f9a6a42',1,'CocoaTweet::API::Model::MediaStore::remain(const unsigned int _remain)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a25d883e082c7a90f4bb96d84aa8b2830',1,'CocoaTweet::API::Model::MediaStore::remain() const']]], + ['replytostatusid_105',['replyToStatusId',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a34f95b6dc6a9847e517cbf7d31ca9383',1,'CocoaTweet::API::Statuses::Status::Options::replyToStatusId()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#aea57ec43f8b4eaf31414bef9221d3dbc',1,'CocoaTweet::API::Statuses::Update::replyToStatusId()']]], + ['retweet_106',['Retweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html',1,'CocoaTweet::API::Statuses::Retweet'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#adf8c15760334a81b608388f64b79745f',1,'CocoaTweet::API::Statuses::Retweet::Retweet()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a61288737138513dcbdebc61abbde00e3',1,'CocoaTweet::API::Statuses::Status::Retweet()']]], + ['retweet_2ecc_107',['retweet.cc',['../retweet_8cc.html',1,'']]], + ['retweet_2eh_108',['retweet.h',['../retweet_8h.html',1,'']]] +]; diff --git a/help/html/search/classes_0.html b/help/html/search/classes_0.html new file mode 100644 index 0000000..f7e4c14 --- /dev/null +++ b/help/html/search/classes_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_0.js b/help/html/search/classes_0.js new file mode 100644 index 0000000..115e4c4 --- /dev/null +++ b/help/html/search/classes_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['api_152',['API',['../classCocoaTweet_1_1API_1_1API.html',1,'CocoaTweet::API']]], + ['authenticateexception_153',['AuthenticateException',['../classCocoaTweet_1_1Exception_1_1AuthenticateException.html',1,'CocoaTweet::Exception']]] +]; diff --git a/help/html/search/classes_1.html b/help/html/search/classes_1.html new file mode 100644 index 0000000..c7ff4b3 --- /dev/null +++ b/help/html/search/classes_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_1.js b/help/html/search/classes_1.js new file mode 100644 index 0000000..ab8540d --- /dev/null +++ b/help/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['create_154',['Create',['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html',1,'CocoaTweet::API::Favorites']]] +]; diff --git a/help/html/search/classes_10.html b/help/html/search/classes_10.html new file mode 100644 index 0000000..abf37f5 --- /dev/null +++ b/help/html/search/classes_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_10.js b/help/html/search/classes_10.js new file mode 100644 index 0000000..1998e54 --- /dev/null +++ b/help/html/search/classes_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ratelimitexception_1032',['RateLimitException',['../classCocoaTweet_1_1Exception_1_1RateLimitException.html',1,'CocoaTweet::Exception']]] +]; diff --git a/help/html/search/classes_11.html b/help/html/search/classes_11.html new file mode 100644 index 0000000..29283b0 --- /dev/null +++ b/help/html/search/classes_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_11.js b/help/html/search/classes_11.js new file mode 100644 index 0000000..5982413 --- /dev/null +++ b/help/html/search/classes_11.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['serializer_1033',['serializer',['../classnlohmann_1_1detail_1_1serializer.html',1,'nlohmann::detail']]], + ['span_5finput_5fadapter_1034',['span_input_adapter',['../classnlohmann_1_1detail_1_1span__input__adapter.html',1,'nlohmann::detail']]], + ['static_5fconst_1035',['static_const',['../structnlohmann_1_1detail_1_1static__const.html',1,'nlohmann::detail']]], + ['status_1036',['Status',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html',1,'CocoaTweet::API::Statuses']]] +]; diff --git a/help/html/search/classes_12.html b/help/html/search/classes_12.html new file mode 100644 index 0000000..5353e46 --- /dev/null +++ b/help/html/search/classes_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_12.js b/help/html/search/classes_12.js new file mode 100644 index 0000000..b7317bb --- /dev/null +++ b/help/html/search/classes_12.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['to_5fjson_5ffn_1037',['to_json_fn',['../structnlohmann_1_1detail_1_1to__json__fn.html',1,'nlohmann::detail']]], + ['tuple_5felement_3c_20n_2c_20_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e_1038',['tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['tuple_5fsize_3c_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e_1039',['tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['tweet_1040',['Tweet',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html',1,'CocoaTweet::API::Model']]], + ['tweetduplicateexception_1041',['TweetDuplicateException',['../classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html',1,'CocoaTweet::Exception']]], + ['tweetnotfoundexception_1042',['TweetNotFoundException',['../classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html',1,'CocoaTweet::Exception']]], + ['tweettoolongexception_1043',['TweetTooLongException',['../classCocoaTweet_1_1Exception_1_1TweetTooLongException.html',1,'CocoaTweet::Exception']]], + ['type_5ferror_1044',['type_error',['../classnlohmann_1_1detail_1_1type__error.html',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/classes_13.html b/help/html/search/classes_13.html new file mode 100644 index 0000000..94ea6cb --- /dev/null +++ b/help/html/search/classes_13.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_13.js b/help/html/search/classes_13.js new file mode 100644 index 0000000..df30eb2 --- /dev/null +++ b/help/html/search/classes_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['update_1045',['Update',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html',1,'CocoaTweet::API::Statuses']]], + ['upload_1046',['Upload',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html',1,'CocoaTweet::API::Medias']]] +]; diff --git a/help/html/search/classes_14.html b/help/html/search/classes_14.html new file mode 100644 index 0000000..95e1e81 --- /dev/null +++ b/help/html/search/classes_14.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_14.js b/help/html/search/classes_14.js new file mode 100644 index 0000000..196dcb5 --- /dev/null +++ b/help/html/search/classes_14.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['wide_5fstring_5finput_5fadapter_1047',['wide_string_input_adapter',['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_1048',['wide_string_input_helper',['../structnlohmann_1_1detail_1_1wide__string__input__helper.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_202_20_3e_1049',['wide_string_input_helper< BaseInputAdapter, 2 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_204_20_3e_1050',['wide_string_input_helper< BaseInputAdapter, 4 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20widestringtype_2c_202_20_3e_1051',['wide_string_input_helper< WideStringType, 2 >',['../structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/classes_2.html b/help/html/search/classes_2.html new file mode 100644 index 0000000..0d1e8a0 --- /dev/null +++ b/help/html/search/classes_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_2.js b/help/html/search/classes_2.js new file mode 100644 index 0000000..f01d167 --- /dev/null +++ b/help/html/search/classes_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['destroy_155',['Destroy',['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html',1,'CocoaTweet::API::Favorites::Destroy'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html',1,'CocoaTweet::API::Statuses::Destroy']]], + ['directmessage_156',['DirectMessage',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html',1,'CocoaTweet::API::DirectMessages']]] +]; diff --git a/help/html/search/classes_3.html b/help/html/search/classes_3.html new file mode 100644 index 0000000..2102545 --- /dev/null +++ b/help/html/search/classes_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_3.js b/help/html/search/classes_3.js new file mode 100644 index 0000000..4ca2060 --- /dev/null +++ b/help/html/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exception_157',['Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html',1,'CocoaTweet::Exception']]] +]; diff --git a/help/html/search/classes_4.html b/help/html/search/classes_4.html new file mode 100644 index 0000000..095ab59 --- /dev/null +++ b/help/html/search/classes_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_4.js b/help/html/search/classes_4.js new file mode 100644 index 0000000..7aa9eb1 --- /dev/null +++ b/help/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['favorite_158',['Favorite',['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html',1,'CocoaTweet::API::Favorites']]] +]; diff --git a/help/html/search/classes_5.html b/help/html/search/classes_5.html new file mode 100644 index 0000000..fc9cdc9 --- /dev/null +++ b/help/html/search/classes_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_5.js b/help/html/search/classes_5.js new file mode 100644 index 0000000..316d255 --- /dev/null +++ b/help/html/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['groupinterface_159',['groupInterface',['../classCocoaTweet_1_1API_1_1groupInterface.html',1,'CocoaTweet::API']]] +]; diff --git a/help/html/search/classes_6.html b/help/html/search/classes_6.html new file mode 100644 index 0000000..1ecfddd --- /dev/null +++ b/help/html/search/classes_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_6.js b/help/html/search/classes_6.js new file mode 100644 index 0000000..c5ceb6a --- /dev/null +++ b/help/html/search/classes_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['httpbase_160',['HttpBase',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html',1,'CocoaTweet::API::Interface']]], + ['httpget_161',['HttpGet',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html',1,'CocoaTweet::API::Interface']]], + ['httppost_162',['HttpPost',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html',1,'CocoaTweet::API::Interface']]] +]; diff --git a/help/html/search/classes_7.html b/help/html/search/classes_7.html new file mode 100644 index 0000000..0fc6fc3 --- /dev/null +++ b/help/html/search/classes_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_7.js b/help/html/search/classes_7.js new file mode 100644 index 0000000..8a19edd --- /dev/null +++ b/help/html/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_163',['Key',['../classCocoaTweet_1_1OAuth_1_1Key.html',1,'CocoaTweet::OAuth']]] +]; diff --git a/help/html/search/classes_8.html b/help/html/search/classes_8.html new file mode 100644 index 0000000..ac8af7d --- /dev/null +++ b/help/html/search/classes_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_8.js b/help/html/search/classes_8.js new file mode 100644 index 0000000..078b220 --- /dev/null +++ b/help/html/search/classes_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['media_164',['Media',['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html',1,'CocoaTweet::API::Medias']]], + ['mediastore_165',['MediaStore',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html',1,'CocoaTweet::API::Model']]] +]; diff --git a/help/html/search/classes_9.html b/help/html/search/classes_9.html new file mode 100644 index 0000000..86cad04 --- /dev/null +++ b/help/html/search/classes_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_9.js b/help/html/search/classes_9.js new file mode 100644 index 0000000..dc2166b --- /dev/null +++ b/help/html/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['new_166',['New',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html',1,'CocoaTweet::API::DirectMessages']]] +]; diff --git a/help/html/search/classes_a.html b/help/html/search/classes_a.html new file mode 100644 index 0000000..4201e97 --- /dev/null +++ b/help/html/search/classes_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_a.js b/help/html/search/classes_a.js new file mode 100644 index 0000000..ad986b8 --- /dev/null +++ b/help/html/search/classes_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['oauth1_167',['OAuth1',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html',1,'CocoaTweet::OAuth']]], + ['options_168',['Options',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html',1,'CocoaTweet::API::Statuses::Status']]] +]; diff --git a/help/html/search/classes_b.html b/help/html/search/classes_b.html new file mode 100644 index 0000000..f88a578 --- /dev/null +++ b/help/html/search/classes_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_b.js b/help/html/search/classes_b.js new file mode 100644 index 0000000..307a9bf --- /dev/null +++ b/help/html/search/classes_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ratelimitexception_169',['RateLimitException',['../classCocoaTweet_1_1Exception_1_1RateLimitException.html',1,'CocoaTweet::Exception']]], + ['retweet_170',['Retweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html',1,'CocoaTweet::API::Statuses']]] +]; diff --git a/help/html/search/classes_c.html b/help/html/search/classes_c.html new file mode 100644 index 0000000..fa0cf4d --- /dev/null +++ b/help/html/search/classes_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_c.js b/help/html/search/classes_c.js new file mode 100644 index 0000000..2e911ac --- /dev/null +++ b/help/html/search/classes_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['status_171',['Status',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html',1,'CocoaTweet::API::Statuses']]] +]; diff --git a/help/html/search/classes_d.html b/help/html/search/classes_d.html new file mode 100644 index 0000000..0b6b137 --- /dev/null +++ b/help/html/search/classes_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_d.js b/help/html/search/classes_d.js new file mode 100644 index 0000000..757b937 --- /dev/null +++ b/help/html/search/classes_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['tweet_172',['Tweet',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html',1,'CocoaTweet::API::Model']]], + ['tweetduplicateexception_173',['TweetDuplicateException',['../classCocoaTweet_1_1Exception_1_1TweetDuplicateException.html',1,'CocoaTweet::Exception']]], + ['tweetnotfoundexception_174',['TweetNotFoundException',['../classCocoaTweet_1_1Exception_1_1TweetNotFoundException.html',1,'CocoaTweet::Exception']]], + ['tweettoolongexception_175',['TweetTooLongException',['../classCocoaTweet_1_1Exception_1_1TweetTooLongException.html',1,'CocoaTweet::Exception']]] +]; diff --git a/help/html/search/classes_e.html b/help/html/search/classes_e.html new file mode 100644 index 0000000..2e42779 --- /dev/null +++ b/help/html/search/classes_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_e.js b/help/html/search/classes_e.js new file mode 100644 index 0000000..a48def0 --- /dev/null +++ b/help/html/search/classes_e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['unretweet_176',['Unretweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html',1,'CocoaTweet::API::Statuses']]], + ['unsupportedmediatypeexception_177',['UnsupportedMediaTypeException',['../classCocoaTweet_1_1Exception_1_1UnsupportedMediaTypeException.html',1,'CocoaTweet::Exception']]], + ['update_178',['Update',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html',1,'CocoaTweet::API::Statuses']]], + ['upload_179',['Upload',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html',1,'CocoaTweet::API::Medias']]], + ['usertimeline_180',['UserTimeline',['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html',1,'CocoaTweet::API::Statuses']]] +]; diff --git a/help/html/search/classes_f.html b/help/html/search/classes_f.html new file mode 100644 index 0000000..e664ccd --- /dev/null +++ b/help/html/search/classes_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/classes_f.js b/help/html/search/classes_f.js new file mode 100644 index 0000000..9c6ab39 --- /dev/null +++ b/help/html/search/classes_f.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['parse_5ferror_1026',['parse_error',['../classnlohmann_1_1detail_1_1parse__error.html',1,'nlohmann::detail']]], + ['parser_1027',['parser',['../classnlohmann_1_1detail_1_1parser.html',1,'nlohmann::detail']]], + ['position_5ft_1028',['position_t',['../structnlohmann_1_1detail_1_1position__t.html',1,'nlohmann::detail']]], + ['primitive_5fiterator_5ft_1029',['primitive_iterator_t',['../classnlohmann_1_1detail_1_1primitive__iterator__t.html',1,'nlohmann::detail']]], + ['priority_5ftag_1030',['priority_tag',['../structnlohmann_1_1detail_1_1priority__tag.html',1,'nlohmann::detail']]], + ['priority_5ftag_3c_200_20_3e_1031',['priority_tag< 0 >',['../structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/close.png b/help/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/help/html/search/defines_0.html b/help/html/search/defines_0.html new file mode 100644 index 0000000..2deb369 --- /dev/null +++ b/help/html/search/defines_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_0.js b/help/html/search/defines_0.js new file mode 100644 index 0000000..bec50a8 --- /dev/null +++ b/help/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['boost_5ftest_5fdyn_5flink_231',['BOOST_TEST_DYN_LINK',['../test_2api_2model_2tweet_8cc.html#a139f00d2466d591f60b8d6a73c8273f1',1,'BOOST_TEST_DYN_LINK(): tweet.cc'],['../test_2oauth_2key_8cc.html#a139f00d2466d591f60b8d6a73c8273f1',1,'BOOST_TEST_DYN_LINK(): key.cc']]] +]; diff --git a/help/html/search/defines_1.html b/help/html/search/defines_1.html new file mode 100644 index 0000000..e0d0b6d --- /dev/null +++ b/help/html/search/defines_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_1.js b/help/html/search/defines_1.js new file mode 100644 index 0000000..06a802c --- /dev/null +++ b/help/html/search/defines_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['c_5fdialect_1630',['C_DIALECT',['../CMakeCCompilerId_8c.html#a07f8e5783674099cd7f5110e22a78cdb',1,'CMakeCCompilerId.c']]], + ['compiler_5fid_1631',['COMPILER_ID',['../CMakeCCompilerId_8c.html#a81dee0709ded976b2e0319239f72d174',1,'COMPILER_ID(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#a81dee0709ded976b2e0319239f72d174',1,'COMPILER_ID(): CMakeCXXCompilerId.cpp']]], + ['cxx_5fstd_1632',['CXX_STD',['../CMakeCXXCompilerId_8cpp.html#a34cc889e576a1ae6c84ae9e0a851ba21',1,'CMakeCXXCompilerId.cpp']]] +]; diff --git a/help/html/search/defines_2.html b/help/html/search/defines_2.html new file mode 100644 index 0000000..707f942 --- /dev/null +++ b/help/html/search/defines_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_2.js b/help/html/search/defines_2.js new file mode 100644 index 0000000..011a194 --- /dev/null +++ b/help/html/search/defines_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dec_1633',['DEC',['../CMakeCCompilerId_8c.html#ad1280362da42492bbc11aa78cbf776ad',1,'DEC(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#ad1280362da42492bbc11aa78cbf776ad',1,'DEC(): CMakeCXXCompilerId.cpp']]] +]; diff --git a/help/html/search/defines_3.html b/help/html/search/defines_3.html new file mode 100644 index 0000000..f30be10 --- /dev/null +++ b/help/html/search/defines_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_3.js b/help/html/search/defines_3.js new file mode 100644 index 0000000..100c29e --- /dev/null +++ b/help/html/search/defines_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hex_1634',['HEX',['../CMakeCCompilerId_8c.html#a46d5d95daa1bef867bd0179594310ed5',1,'HEX(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#a46d5d95daa1bef867bd0179594310ed5',1,'HEX(): CMakeCXXCompilerId.cpp']]] +]; diff --git a/help/html/search/defines_4.html b/help/html/search/defines_4.html new file mode 100644 index 0000000..046ad4a --- /dev/null +++ b/help/html/search/defines_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_4.js b/help/html/search/defines_4.js new file mode 100644 index 0000000..ba59696 --- /dev/null +++ b/help/html/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['include_5fnlohmann_5fjson_5ffwd_5fhpp_5f_1635',['INCLUDE_NLOHMANN_JSON_FWD_HPP_',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d',1,'INCLUDE_NLOHMANN_JSON_FWD_HPP_(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d',1,'INCLUDE_NLOHMANN_JSON_FWD_HPP_(): json.hpp']]] +]; diff --git a/help/html/search/defines_5.html b/help/html/search/defines_5.html new file mode 100644 index 0000000..61ce555 --- /dev/null +++ b/help/html/search/defines_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_5.js b/help/html/search/defines_5.js new file mode 100644 index 0000000..87fb393 --- /dev/null +++ b/help/html/search/defines_5.js @@ -0,0 +1,132 @@ +var searchData= +[ + ['json_5fassert_1636',['JSON_ASSERT',['../third_2nlohmann_2json_8hpp.html#a69f131cff49da1989667220173fbeae6',1,'json.hpp']]], + ['json_5fcatch_1637',['JSON_CATCH',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'JSON_CATCH(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'JSON_CATCH(): json.hpp']]], + ['json_5fexplicit_1638',['JSON_EXPLICIT',['../third_2nlohmann_2json_8hpp.html#aefed8cf27cadeea45f12c6f3db3ce774',1,'json.hpp']]], + ['json_5fhedley_5falways_5finline_1639',['JSON_HEDLEY_ALWAYS_INLINE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aa8811aa2a21030baad33c103cb04d322',1,'JSON_HEDLEY_ALWAYS_INLINE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aa8811aa2a21030baad33c103cb04d322',1,'JSON_HEDLEY_ALWAYS_INLINE(): json.hpp']]], + ['json_5fhedley_5farm_5fversion_5fcheck_1640',['JSON_HEDLEY_ARM_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf',1,'JSON_HEDLEY_ARM_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf',1,'JSON_HEDLEY_ARM_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5farray_5fparam_1641',['JSON_HEDLEY_ARRAY_PARAM',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f',1,'JSON_HEDLEY_ARRAY_PARAM(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f',1,'JSON_HEDLEY_ARRAY_PARAM(): json.hpp']]], + ['json_5fhedley_5fassume_1642',['JSON_HEDLEY_ASSUME',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5',1,'JSON_HEDLEY_ASSUME(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5',1,'JSON_HEDLEY_ASSUME(): json.hpp']]], + ['json_5fhedley_5fbegin_5fc_5fdecls_1643',['JSON_HEDLEY_BEGIN_C_DECLS',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7',1,'JSON_HEDLEY_BEGIN_C_DECLS(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7',1,'JSON_HEDLEY_BEGIN_C_DECLS(): json.hpp']]], + ['json_5fhedley_5fc_5fdecl_1644',['JSON_HEDLEY_C_DECL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a378be9b66feb11153979c282c669b12e',1,'JSON_HEDLEY_C_DECL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a378be9b66feb11153979c282c669b12e',1,'JSON_HEDLEY_C_DECL(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fattribute_1645',['JSON_HEDLEY_CLANG_HAS_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394',1,'JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394',1,'JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fbuiltin_1646',['JSON_HEDLEY_CLANG_HAS_BUILTIN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840',1,'JSON_HEDLEY_CLANG_HAS_BUILTIN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840',1,'JSON_HEDLEY_CLANG_HAS_BUILTIN(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fcpp_5fattribute_1647',['JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a3ce7b30717e453922113c4f62e645e13',1,'JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a3ce7b30717e453922113c4f62e645e13',1,'JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fdeclspec_5fattribute_1648',['JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d',1,'JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d',1,'JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fextension_1649',['JSON_HEDLEY_CLANG_HAS_EXTENSION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0',1,'JSON_HEDLEY_CLANG_HAS_EXTENSION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0',1,'JSON_HEDLEY_CLANG_HAS_EXTENSION(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5ffeature_1650',['JSON_HEDLEY_CLANG_HAS_FEATURE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60',1,'JSON_HEDLEY_CLANG_HAS_FEATURE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60',1,'JSON_HEDLEY_CLANG_HAS_FEATURE(): json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fwarning_1651',['JSON_HEDLEY_CLANG_HAS_WARNING',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56',1,'JSON_HEDLEY_CLANG_HAS_WARNING(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56',1,'JSON_HEDLEY_CLANG_HAS_WARNING(): json.hpp']]], + ['json_5fhedley_5fcompcert_5fversion_5fcheck_1652',['JSON_HEDLEY_COMPCERT_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c',1,'JSON_HEDLEY_COMPCERT_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c',1,'JSON_HEDLEY_COMPCERT_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fconcat_1653',['JSON_HEDLEY_CONCAT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313',1,'JSON_HEDLEY_CONCAT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313',1,'JSON_HEDLEY_CONCAT(): json.hpp']]], + ['json_5fhedley_5fconcat3_1654',['JSON_HEDLEY_CONCAT3',['../third_2nlohmann_2json_8hpp.html#ad10e2ad45ace3771e4d2a3807d33f64f',1,'json.hpp']]], + ['json_5fhedley_5fconcat3_5fex_1655',['JSON_HEDLEY_CONCAT3_EX',['../third_2nlohmann_2json_8hpp.html#a29b325cc7fac302f2488259237d30953',1,'json.hpp']]], + ['json_5fhedley_5fconcat_5fex_1656',['JSON_HEDLEY_CONCAT_EX',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aee52531ff30270c04958309efa66a5da',1,'JSON_HEDLEY_CONCAT_EX(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aee52531ff30270c04958309efa66a5da',1,'JSON_HEDLEY_CONCAT_EX(): json.hpp']]], + ['json_5fhedley_5fconst_1657',['JSON_HEDLEY_CONST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3',1,'JSON_HEDLEY_CONST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3',1,'JSON_HEDLEY_CONST(): json.hpp']]], + ['json_5fhedley_5fconst_5fcast_1658',['JSON_HEDLEY_CONST_CAST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381',1,'JSON_HEDLEY_CONST_CAST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381',1,'JSON_HEDLEY_CONST_CAST(): json.hpp']]], + ['json_5fhedley_5fconstexpr_1659',['JSON_HEDLEY_CONSTEXPR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ac317a48664e4099c22d33d8132bef97e',1,'JSON_HEDLEY_CONSTEXPR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ac317a48664e4099c22d33d8132bef97e',1,'JSON_HEDLEY_CONSTEXPR(): json.hpp']]], + ['json_5fhedley_5fcpp_5fcast_1660',['JSON_HEDLEY_CPP_CAST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3',1,'JSON_HEDLEY_CPP_CAST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3',1,'JSON_HEDLEY_CPP_CAST(): json.hpp']]], + ['json_5fhedley_5fcray_5fversion_5fcheck_1661',['JSON_HEDLEY_CRAY_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4',1,'JSON_HEDLEY_CRAY_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4',1,'JSON_HEDLEY_CRAY_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fdeprecated_1662',['JSON_HEDLEY_DEPRECATED',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c',1,'JSON_HEDLEY_DEPRECATED(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c',1,'JSON_HEDLEY_DEPRECATED(): json.hpp']]], + ['json_5fhedley_5fdeprecated_5ffor_1663',['JSON_HEDLEY_DEPRECATED_FOR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620',1,'JSON_HEDLEY_DEPRECATED_FOR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620',1,'JSON_HEDLEY_DEPRECATED_FOR(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcast_5fqual_1664',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcpp98_5fcompat_5fwrap_5f_1665',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fdeprecated_1666',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#afe5855242129fa5d1adf55227669a337',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#afe5855242129fa5d1adf55227669a337',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fcpp_5fattributes_1667',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fpragmas_1668',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ab67745ae0065d536d8e67969db68d564',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ab67745ae0065d536d8e67969db68d564',1,'JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpop_1669',['JSON_HEDLEY_DIAGNOSTIC_POP',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f',1,'JSON_HEDLEY_DIAGNOSTIC_POP(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f',1,'JSON_HEDLEY_DIAGNOSTIC_POP(): json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpush_1670',['JSON_HEDLEY_DIAGNOSTIC_PUSH',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b',1,'JSON_HEDLEY_DIAGNOSTIC_PUSH(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b',1,'JSON_HEDLEY_DIAGNOSTIC_PUSH(): json.hpp']]], + ['json_5fhedley_5fdmc_5fversion_5fcheck_1671',['JSON_HEDLEY_DMC_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc',1,'JSON_HEDLEY_DMC_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc',1,'JSON_HEDLEY_DMC_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fempty_5fbases_1672',['JSON_HEDLEY_EMPTY_BASES',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1',1,'JSON_HEDLEY_EMPTY_BASES(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1',1,'JSON_HEDLEY_EMPTY_BASES(): json.hpp']]], + ['json_5fhedley_5femscripten_5fversion_5fcheck_1673',['JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209',1,'JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209',1,'JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fend_5fc_5fdecls_1674',['JSON_HEDLEY_END_C_DECLS',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aca2fc4b765ac5739d680153895b673fb',1,'JSON_HEDLEY_END_C_DECLS(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aca2fc4b765ac5739d680153895b673fb',1,'JSON_HEDLEY_END_C_DECLS(): json.hpp']]], + ['json_5fhedley_5ffall_5fthrough_1675',['JSON_HEDLEY_FALL_THROUGH',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f',1,'JSON_HEDLEY_FALL_THROUGH(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f',1,'JSON_HEDLEY_FALL_THROUGH(): json.hpp']]], + ['json_5fhedley_5fflags_5fcast_1676',['JSON_HEDLEY_FLAGS_CAST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb',1,'JSON_HEDLEY_FLAGS_CAST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb',1,'JSON_HEDLEY_FLAGS_CAST(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fattribute_1677',['JSON_HEDLEY_GCC_HAS_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7',1,'JSON_HEDLEY_GCC_HAS_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7',1,'JSON_HEDLEY_GCC_HAS_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fbuiltin_1678',['JSON_HEDLEY_GCC_HAS_BUILTIN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647',1,'JSON_HEDLEY_GCC_HAS_BUILTIN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647',1,'JSON_HEDLEY_GCC_HAS_BUILTIN(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fcpp_5fattribute_1679',['JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11',1,'JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11',1,'JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fdeclspec_5fattribute_1680',['JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a164e098f308804c3bada63613ad75dab',1,'JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a164e098f308804c3bada63613ad75dab',1,'JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fextension_1681',['JSON_HEDLEY_GCC_HAS_EXTENSION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af488159969a8b7154820cffe04bb4917',1,'JSON_HEDLEY_GCC_HAS_EXTENSION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af488159969a8b7154820cffe04bb4917',1,'JSON_HEDLEY_GCC_HAS_EXTENSION(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5ffeature_1682',['JSON_HEDLEY_GCC_HAS_FEATURE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae9f353e2ea047111e419855144b06ab7',1,'JSON_HEDLEY_GCC_HAS_FEATURE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae9f353e2ea047111e419855144b06ab7',1,'JSON_HEDLEY_GCC_HAS_FEATURE(): json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fwarning_1683',['JSON_HEDLEY_GCC_HAS_WARNING',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ab45544391bc41507efde58d48331dfc2',1,'JSON_HEDLEY_GCC_HAS_WARNING(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ab45544391bc41507efde58d48331dfc2',1,'JSON_HEDLEY_GCC_HAS_WARNING(): json.hpp']]], + ['json_5fhedley_5fgcc_5fnot_5fclang_5fversion_5fcheck_1684',['JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a',1,'JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a',1,'JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fgcc_5fversion_5fcheck_1685',['JSON_HEDLEY_GCC_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aaf82a065634719d57994ef5876e208ff',1,'JSON_HEDLEY_GCC_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aaf82a065634719d57994ef5876e208ff',1,'JSON_HEDLEY_GCC_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fattribute_1686',['JSON_HEDLEY_GNUC_HAS_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd',1,'JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd',1,'JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fbuiltin_1687',['JSON_HEDLEY_GNUC_HAS_BUILTIN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a92764b738f44272e1b18c3ef1403c894',1,'JSON_HEDLEY_GNUC_HAS_BUILTIN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a92764b738f44272e1b18c3ef1403c894',1,'JSON_HEDLEY_GNUC_HAS_BUILTIN(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fcpp_5fattribute_1688',['JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a',1,'JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a',1,'JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fdeclspec_5fattribute_1689',['JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990',1,'JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990',1,'JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fextension_1690',['JSON_HEDLEY_GNUC_HAS_EXTENSION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2',1,'JSON_HEDLEY_GNUC_HAS_EXTENSION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2',1,'JSON_HEDLEY_GNUC_HAS_EXTENSION(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5ffeature_1691',['JSON_HEDLEY_GNUC_HAS_FEATURE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ad5dab327c783036962c7d921a4144676',1,'JSON_HEDLEY_GNUC_HAS_FEATURE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ad5dab327c783036962c7d921a4144676',1,'JSON_HEDLEY_GNUC_HAS_FEATURE(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fwarning_1692',['JSON_HEDLEY_GNUC_HAS_WARNING',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8afa30449fac8b5069e62f26421d4148',1,'JSON_HEDLEY_GNUC_HAS_WARNING(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8afa30449fac8b5069e62f26421d4148',1,'JSON_HEDLEY_GNUC_HAS_WARNING(): json.hpp']]], + ['json_5fhedley_5fgnuc_5fversion_5fcheck_1693',['JSON_HEDLEY_GNUC_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a074e795380699252f28c9526ca83e586',1,'JSON_HEDLEY_GNUC_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a074e795380699252f28c9526ca83e586',1,'JSON_HEDLEY_GNUC_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fhas_5fattribute_1694',['JSON_HEDLEY_HAS_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268',1,'JSON_HEDLEY_HAS_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268',1,'JSON_HEDLEY_HAS_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fhas_5fbuiltin_1695',['JSON_HEDLEY_HAS_BUILTIN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c',1,'JSON_HEDLEY_HAS_BUILTIN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c',1,'JSON_HEDLEY_HAS_BUILTIN(): json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute_1696',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b',1,'JSON_HEDLEY_HAS_CPP_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b',1,'JSON_HEDLEY_HAS_CPP_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute_5fns_1697',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998',1,'JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998',1,'JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(): json.hpp']]], + ['json_5fhedley_5fhas_5fdeclspec_5fattribute_1698',['JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ac256365345e803d24cbd9651d3cb0274',1,'JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ac256365345e803d24cbd9651d3cb0274',1,'JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(): json.hpp']]], + ['json_5fhedley_5fhas_5fextension_1699',['JSON_HEDLEY_HAS_EXTENSION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd',1,'JSON_HEDLEY_HAS_EXTENSION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd',1,'JSON_HEDLEY_HAS_EXTENSION(): json.hpp']]], + ['json_5fhedley_5fhas_5ffeature_1700',['JSON_HEDLEY_HAS_FEATURE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412',1,'JSON_HEDLEY_HAS_FEATURE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412',1,'JSON_HEDLEY_HAS_FEATURE(): json.hpp']]], + ['json_5fhedley_5fhas_5fwarning_1701',['JSON_HEDLEY_HAS_WARNING',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a472922971d1cd7308a4402042bdafe34',1,'JSON_HEDLEY_HAS_WARNING(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a472922971d1cd7308a4402042bdafe34',1,'JSON_HEDLEY_HAS_WARNING(): json.hpp']]], + ['json_5fhedley_5fiar_5fversion_5fcheck_1702',['JSON_HEDLEY_IAR_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb',1,'JSON_HEDLEY_IAR_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb',1,'JSON_HEDLEY_IAR_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fibm_5fversion_5fcheck_1703',['JSON_HEDLEY_IBM_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49',1,'JSON_HEDLEY_IBM_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49',1,'JSON_HEDLEY_IBM_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fimport_1704',['JSON_HEDLEY_IMPORT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c',1,'JSON_HEDLEY_IMPORT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c',1,'JSON_HEDLEY_IMPORT(): json.hpp']]], + ['json_5fhedley_5finline_1705',['JSON_HEDLEY_INLINE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8',1,'JSON_HEDLEY_INLINE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8',1,'JSON_HEDLEY_INLINE(): json.hpp']]], + ['json_5fhedley_5fintel_5fversion_5fcheck_1706',['JSON_HEDLEY_INTEL_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94',1,'JSON_HEDLEY_INTEL_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94',1,'JSON_HEDLEY_INTEL_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fis_5fconstant_1707',['JSON_HEDLEY_IS_CONSTANT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18',1,'JSON_HEDLEY_IS_CONSTANT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18',1,'JSON_HEDLEY_IS_CONSTANT(): json.hpp']]], + ['json_5fhedley_5flikely_1708',['JSON_HEDLEY_LIKELY',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0',1,'JSON_HEDLEY_LIKELY(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0',1,'JSON_HEDLEY_LIKELY(): json.hpp']]], + ['json_5fhedley_5fmalloc_1709',['JSON_HEDLEY_MALLOC',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a521367b4e81907450a7ea0bf28028b01',1,'JSON_HEDLEY_MALLOC(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a521367b4e81907450a7ea0bf28028b01',1,'JSON_HEDLEY_MALLOC(): json.hpp']]], + ['json_5fhedley_5fmessage_1710',['JSON_HEDLEY_MESSAGE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8419c2b65d28686932087c587eb19157',1,'JSON_HEDLEY_MESSAGE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8419c2b65d28686932087c587eb19157',1,'JSON_HEDLEY_MESSAGE(): json.hpp']]], + ['json_5fhedley_5fmsvc_5fversion_5fcheck_1711',['JSON_HEDLEY_MSVC_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f',1,'JSON_HEDLEY_MSVC_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f',1,'JSON_HEDLEY_MSVC_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fnever_5finline_1712',['JSON_HEDLEY_NEVER_INLINE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374',1,'JSON_HEDLEY_NEVER_INLINE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374',1,'JSON_HEDLEY_NEVER_INLINE(): json.hpp']]], + ['json_5fhedley_5fno_5fescape_1713',['JSON_HEDLEY_NO_ESCAPE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1',1,'JSON_HEDLEY_NO_ESCAPE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1',1,'JSON_HEDLEY_NO_ESCAPE(): json.hpp']]], + ['json_5fhedley_5fno_5freturn_1714',['JSON_HEDLEY_NO_RETURN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b',1,'JSON_HEDLEY_NO_RETURN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b',1,'JSON_HEDLEY_NO_RETURN(): json.hpp']]], + ['json_5fhedley_5fno_5fthrow_1715',['JSON_HEDLEY_NO_THROW',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434',1,'JSON_HEDLEY_NO_THROW(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434',1,'JSON_HEDLEY_NO_THROW(): json.hpp']]], + ['json_5fhedley_5fnon_5fnull_1716',['JSON_HEDLEY_NON_NULL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344',1,'JSON_HEDLEY_NON_NULL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344',1,'JSON_HEDLEY_NON_NULL(): json.hpp']]], + ['json_5fhedley_5fnull_1717',['JSON_HEDLEY_NULL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65',1,'JSON_HEDLEY_NULL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65',1,'JSON_HEDLEY_NULL(): json.hpp']]], + ['json_5fhedley_5fpelles_5fversion_5fcheck_1718',['JSON_HEDLEY_PELLES_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f',1,'JSON_HEDLEY_PELLES_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f',1,'JSON_HEDLEY_PELLES_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fpgi_5fversion_5fcheck_1719',['JSON_HEDLEY_PGI_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d',1,'JSON_HEDLEY_PGI_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d',1,'JSON_HEDLEY_PGI_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fpragma_1720',['JSON_HEDLEY_PRAGMA',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775',1,'JSON_HEDLEY_PRAGMA(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775',1,'JSON_HEDLEY_PRAGMA(): json.hpp']]], + ['json_5fhedley_5fpredict_1721',['JSON_HEDLEY_PREDICT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a34846d0797b38c1971baee08736dae69',1,'JSON_HEDLEY_PREDICT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a34846d0797b38c1971baee08736dae69',1,'JSON_HEDLEY_PREDICT(): json.hpp']]], + ['json_5fhedley_5fpredict_5ffalse_1722',['JSON_HEDLEY_PREDICT_FALSE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f',1,'JSON_HEDLEY_PREDICT_FALSE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f',1,'JSON_HEDLEY_PREDICT_FALSE(): json.hpp']]], + ['json_5fhedley_5fpredict_5ftrue_1723',['JSON_HEDLEY_PREDICT_TRUE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473',1,'JSON_HEDLEY_PREDICT_TRUE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473',1,'JSON_HEDLEY_PREDICT_TRUE(): json.hpp']]], + ['json_5fhedley_5fprintf_5fformat_1724',['JSON_HEDLEY_PRINTF_FORMAT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2',1,'JSON_HEDLEY_PRINTF_FORMAT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2',1,'JSON_HEDLEY_PRINTF_FORMAT(): json.hpp']]], + ['json_5fhedley_5fprivate_1725',['JSON_HEDLEY_PRIVATE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a034c879888858092ec101e8d02be67c2',1,'JSON_HEDLEY_PRIVATE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a034c879888858092ec101e8d02be67c2',1,'JSON_HEDLEY_PRIVATE(): json.hpp']]], + ['json_5fhedley_5fpublic_1726',['JSON_HEDLEY_PUBLIC',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f',1,'JSON_HEDLEY_PUBLIC(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f',1,'JSON_HEDLEY_PUBLIC(): json.hpp']]], + ['json_5fhedley_5fpure_1727',['JSON_HEDLEY_PURE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000',1,'JSON_HEDLEY_PURE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000',1,'JSON_HEDLEY_PURE(): json.hpp']]], + ['json_5fhedley_5freinterpret_5fcast_1728',['JSON_HEDLEY_REINTERPRET_CAST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79',1,'JSON_HEDLEY_REINTERPRET_CAST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79',1,'JSON_HEDLEY_REINTERPRET_CAST(): json.hpp']]], + ['json_5fhedley_5frequire_1729',['JSON_HEDLEY_REQUIRE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3',1,'JSON_HEDLEY_REQUIRE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3',1,'JSON_HEDLEY_REQUIRE(): json.hpp']]], + ['json_5fhedley_5frequire_5fconstexpr_1730',['JSON_HEDLEY_REQUIRE_CONSTEXPR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a1136ab0d872379bb18d0839893bede67',1,'JSON_HEDLEY_REQUIRE_CONSTEXPR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a1136ab0d872379bb18d0839893bede67',1,'JSON_HEDLEY_REQUIRE_CONSTEXPR(): json.hpp']]], + ['json_5fhedley_5frequire_5fmsg_1731',['JSON_HEDLEY_REQUIRE_MSG',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a7106fb230747163b5b16121eb6a42b23',1,'JSON_HEDLEY_REQUIRE_MSG(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a7106fb230747163b5b16121eb6a42b23',1,'JSON_HEDLEY_REQUIRE_MSG(): json.hpp']]], + ['json_5fhedley_5frestrict_1732',['JSON_HEDLEY_RESTRICT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85',1,'JSON_HEDLEY_RESTRICT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85',1,'JSON_HEDLEY_RESTRICT(): json.hpp']]], + ['json_5fhedley_5freturns_5fnon_5fnull_1733',['JSON_HEDLEY_RETURNS_NON_NULL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1',1,'JSON_HEDLEY_RETURNS_NON_NULL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1',1,'JSON_HEDLEY_RETURNS_NON_NULL(): json.hpp']]], + ['json_5fhedley_5fsentinel_1734',['JSON_HEDLEY_SENTINEL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e',1,'JSON_HEDLEY_SENTINEL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e',1,'JSON_HEDLEY_SENTINEL(): json.hpp']]], + ['json_5fhedley_5fstatic_5fassert_1735',['JSON_HEDLEY_STATIC_ASSERT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215',1,'JSON_HEDLEY_STATIC_ASSERT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215',1,'JSON_HEDLEY_STATIC_ASSERT(): json.hpp']]], + ['json_5fhedley_5fstatic_5fcast_1736',['JSON_HEDLEY_STATIC_CAST',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a',1,'JSON_HEDLEY_STATIC_CAST(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a',1,'JSON_HEDLEY_STATIC_CAST(): json.hpp']]], + ['json_5fhedley_5fstringify_1737',['JSON_HEDLEY_STRINGIFY',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca',1,'JSON_HEDLEY_STRINGIFY(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca',1,'JSON_HEDLEY_STRINGIFY(): json.hpp']]], + ['json_5fhedley_5fstringify_5fex_1738',['JSON_HEDLEY_STRINGIFY_EX',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302',1,'JSON_HEDLEY_STRINGIFY_EX(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302',1,'JSON_HEDLEY_STRINGIFY_EX(): json.hpp']]], + ['json_5fhedley_5fsunpro_5fversion_5fcheck_1739',['JSON_HEDLEY_SUNPRO_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa',1,'JSON_HEDLEY_SUNPRO_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa',1,'JSON_HEDLEY_SUNPRO_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5fti_5farmcl_5fversion_5fcheck_1740',['JSON_HEDLEY_TI_ARMCL_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#abbff24b90b5e9f8b586ee0b334baa636',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl2000_5fversion_5fcheck_1741',['JSON_HEDLEY_TI_CL2000_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#a1ff3757a45a2cb0c54f78722fd7dc47c',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl430_5fversion_5fcheck_1742',['JSON_HEDLEY_TI_CL430_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#a0c4b607b1dda665174dcd4c6cfe6ce95',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl6x_5fversion_5fcheck_1743',['JSON_HEDLEY_TI_CL6X_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#a138095ac760d2964c84f562b23332101',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl7x_5fversion_5fcheck_1744',['JSON_HEDLEY_TI_CL7X_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#a6198db3ff6fc72b1fa798229fd025229',1,'json.hpp']]], + ['json_5fhedley_5fti_5fclpru_5fversion_5fcheck_1745',['JSON_HEDLEY_TI_CLPRU_VERSION_CHECK',['../third_2nlohmann_2json_8hpp.html#aab50c0bc1673dde3c1cf4e3b131e97ad',1,'json.hpp']]], + ['json_5fhedley_5fti_5fversion_5fcheck_1746',['JSON_HEDLEY_TI_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5',1,'JSON_HEDLEY_TI_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5',1,'JSON_HEDLEY_TI_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5ftinyc_5fversion_5fcheck_1747',['JSON_HEDLEY_TINYC_VERSION_CHECK',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf',1,'JSON_HEDLEY_TINYC_VERSION_CHECK(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf',1,'JSON_HEDLEY_TINYC_VERSION_CHECK(): json.hpp']]], + ['json_5fhedley_5funavailable_1748',['JSON_HEDLEY_UNAVAILABLE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f',1,'JSON_HEDLEY_UNAVAILABLE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f',1,'JSON_HEDLEY_UNAVAILABLE(): json.hpp']]], + ['json_5fhedley_5funlikely_1749',['JSON_HEDLEY_UNLIKELY',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd',1,'JSON_HEDLEY_UNLIKELY(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd',1,'JSON_HEDLEY_UNLIKELY(): json.hpp']]], + ['json_5fhedley_5funpredictable_1750',['JSON_HEDLEY_UNPREDICTABLE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a26967eb7395562701e450cec045dda15',1,'JSON_HEDLEY_UNPREDICTABLE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a26967eb7395562701e450cec045dda15',1,'JSON_HEDLEY_UNPREDICTABLE(): json.hpp']]], + ['json_5fhedley_5funreachable_1751',['JSON_HEDLEY_UNREACHABLE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4',1,'JSON_HEDLEY_UNREACHABLE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4',1,'JSON_HEDLEY_UNREACHABLE(): json.hpp']]], + ['json_5fhedley_5funreachable_5freturn_1752',['JSON_HEDLEY_UNREACHABLE_RETURN',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a06401b258ef03263f2aec48029dc8b03',1,'JSON_HEDLEY_UNREACHABLE_RETURN(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a06401b258ef03263f2aec48029dc8b03',1,'JSON_HEDLEY_UNREACHABLE_RETURN(): json.hpp']]], + ['json_5fhedley_5fversion_1753',['JSON_HEDLEY_VERSION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a',1,'JSON_HEDLEY_VERSION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a',1,'JSON_HEDLEY_VERSION(): json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fmajor_1754',['JSON_HEDLEY_VERSION_DECODE_MAJOR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73',1,'JSON_HEDLEY_VERSION_DECODE_MAJOR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73',1,'JSON_HEDLEY_VERSION_DECODE_MAJOR(): json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fminor_1755',['JSON_HEDLEY_VERSION_DECODE_MINOR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519',1,'JSON_HEDLEY_VERSION_DECODE_MINOR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519',1,'JSON_HEDLEY_VERSION_DECODE_MINOR(): json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5frevision_1756',['JSON_HEDLEY_VERSION_DECODE_REVISION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb',1,'JSON_HEDLEY_VERSION_DECODE_REVISION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb',1,'JSON_HEDLEY_VERSION_DECODE_REVISION(): json.hpp']]], + ['json_5fhedley_5fversion_5fencode_1757',['JSON_HEDLEY_VERSION_ENCODE',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#aa1da535c59b21f70e5967b66473543f0',1,'JSON_HEDLEY_VERSION_ENCODE(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#aa1da535c59b21f70e5967b66473543f0',1,'JSON_HEDLEY_VERSION_ENCODE(): json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult_1758',['JSON_HEDLEY_WARN_UNUSED_RESULT',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03',1,'JSON_HEDLEY_WARN_UNUSED_RESULT(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03',1,'JSON_HEDLEY_WARN_UNUSED_RESULT(): json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult_5fmsg_1759',['JSON_HEDLEY_WARN_UNUSED_RESULT_MSG',['../third_2nlohmann_2json_8hpp.html#adfb98ffe9adf238a5ba1670738c0f387',1,'json.hpp']]], + ['json_5fhedley_5fwarning_1760',['JSON_HEDLEY_WARNING',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208',1,'JSON_HEDLEY_WARNING(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208',1,'JSON_HEDLEY_WARNING(): json.hpp']]], + ['json_5finternal_5fcatch_1761',['JSON_INTERNAL_CATCH',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e',1,'JSON_INTERNAL_CATCH(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e',1,'JSON_INTERNAL_CATCH(): json.hpp']]], + ['json_5fthrow_1762',['JSON_THROW',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'JSON_THROW(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'JSON_THROW(): json.hpp']]], + ['json_5ftry_1763',['JSON_TRY',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'JSON_TRY(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'JSON_TRY(): json.hpp']]], + ['json_5fuse_5fimplicit_5fconversions_1764',['JSON_USE_IMPLICIT_CONVERSIONS',['../third_2nlohmann_2json_8hpp.html#a24c96ca7fc59096c30b32339a953f97d',1,'json.hpp']]] +]; diff --git a/help/html/search/defines_6.html b/help/html/search/defines_6.html new file mode 100644 index 0000000..7496307 --- /dev/null +++ b/help/html/search/defines_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_6.js b/help/html/search/defines_6.js new file mode 100644 index 0000000..92f013d --- /dev/null +++ b/help/html/search/defines_6.js @@ -0,0 +1,79 @@ +var searchData= +[ + ['nlohmann_5fbasic_5fjson_5ftpl_1765',['NLOHMANN_BASIC_JSON_TPL',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a80b7254e63f199a1f656f07ae551f632',1,'NLOHMANN_BASIC_JSON_TPL(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a80b7254e63f199a1f656f07ae551f632',1,'NLOHMANN_BASIC_JSON_TPL(): json.hpp']]], + ['nlohmann_5fbasic_5fjson_5ftpl_5fdeclaration_1766',['NLOHMANN_BASIC_JSON_TPL_DECLARATION',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f',1,'NLOHMANN_BASIC_JSON_TPL_DECLARATION(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f',1,'NLOHMANN_BASIC_JSON_TPL_DECLARATION(): json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fintrusive_1767',['NLOHMANN_DEFINE_TYPE_INTRUSIVE',['../third_2nlohmann_2json_8hpp.html#ad22f878b4987246e5a4f4f258228e775',1,'json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fnon_5fintrusive_1768',['NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE',['../third_2nlohmann_2json_8hpp.html#a5767c8967df840d48dc01b0cf810a882',1,'json.hpp']]], + ['nlohmann_5fjson_5fexpand_1769',['NLOHMANN_JSON_EXPAND',['../third_2nlohmann_2json_8hpp.html#af62f70922a57ffa728d579d3c7963bf5',1,'json.hpp']]], + ['nlohmann_5fjson_5ffrom_1770',['NLOHMANN_JSON_FROM',['../third_2nlohmann_2json_8hpp.html#a8d18979cc7c33deda994e0caacf9e5e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fget_5fmacro_1771',['NLOHMANN_JSON_GET_MACRO',['../third_2nlohmann_2json_8hpp.html#afc0845ecb0987d16963a81f34bb0d94d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste_1772',['NLOHMANN_JSON_PASTE',['../third_2nlohmann_2json_8hpp.html#a9495fb0e6d683bfa654ed646495b408a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste10_1773',['NLOHMANN_JSON_PASTE10',['../third_2nlohmann_2json_8hpp.html#add270ee96fa3a6ffb454db30084db2e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste11_1774',['NLOHMANN_JSON_PASTE11',['../third_2nlohmann_2json_8hpp.html#a98dd3b9b615ae85290d286ae863cde54',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste12_1775',['NLOHMANN_JSON_PASTE12',['../third_2nlohmann_2json_8hpp.html#a58a04525435cdf51110639ee089ed012',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste13_1776',['NLOHMANN_JSON_PASTE13',['../third_2nlohmann_2json_8hpp.html#aa88bff73660c72539ddf13e42ebbe227',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste14_1777',['NLOHMANN_JSON_PASTE14',['../third_2nlohmann_2json_8hpp.html#a8f25d249f0af16eaac3b8444bd79e66b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste15_1778',['NLOHMANN_JSON_PASTE15',['../third_2nlohmann_2json_8hpp.html#a90005c47b51e2bc57bb86d089429bd1c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste16_1779',['NLOHMANN_JSON_PASTE16',['../third_2nlohmann_2json_8hpp.html#aed0149d0e2dae927ae5a845556cfaab6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste17_1780',['NLOHMANN_JSON_PASTE17',['../third_2nlohmann_2json_8hpp.html#a425f5b0501e323903d0452227d83b764',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste18_1781',['NLOHMANN_JSON_PASTE18',['../third_2nlohmann_2json_8hpp.html#af39a0f63c596c5b4dd001aa0b1c4a76c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste19_1782',['NLOHMANN_JSON_PASTE19',['../third_2nlohmann_2json_8hpp.html#a7f0c430594f42a2409ff2474722133c5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste2_1783',['NLOHMANN_JSON_PASTE2',['../third_2nlohmann_2json_8hpp.html#a682c9966e923aa4fa0193b278b1edd2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste20_1784',['NLOHMANN_JSON_PASTE20',['../third_2nlohmann_2json_8hpp.html#a30507458068a8b4b2fb270712915783d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste21_1785',['NLOHMANN_JSON_PASTE21',['../third_2nlohmann_2json_8hpp.html#ae63341f0ec1f867e557805655afc4103',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste22_1786',['NLOHMANN_JSON_PASTE22',['../third_2nlohmann_2json_8hpp.html#a3120ded0ea577721fd71e3591657c577',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste23_1787',['NLOHMANN_JSON_PASTE23',['../third_2nlohmann_2json_8hpp.html#ac848d6f3e9ae4bae4f0638fcb5ab996f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste24_1788',['NLOHMANN_JSON_PASTE24',['../third_2nlohmann_2json_8hpp.html#adfe12412820ef1409359615c41440345',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste25_1789',['NLOHMANN_JSON_PASTE25',['../third_2nlohmann_2json_8hpp.html#a33416940d4a62a583f03b0ff2375400e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste26_1790',['NLOHMANN_JSON_PASTE26',['../third_2nlohmann_2json_8hpp.html#a866beb938b64216218cd062e18602eb9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste27_1791',['NLOHMANN_JSON_PASTE27',['../third_2nlohmann_2json_8hpp.html#a95b9c0445b989761a5ca49cf7e5b0f21',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste28_1792',['NLOHMANN_JSON_PASTE28',['../third_2nlohmann_2json_8hpp.html#a58f402f503add069cbb5824130b63a50',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste29_1793',['NLOHMANN_JSON_PASTE29',['../third_2nlohmann_2json_8hpp.html#a3f6cfd0610cc977f34e910266945f200',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste3_1794',['NLOHMANN_JSON_PASTE3',['../third_2nlohmann_2json_8hpp.html#aaed4e77f612a9644d47c23508fb11f52',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste30_1795',['NLOHMANN_JSON_PASTE30',['../third_2nlohmann_2json_8hpp.html#a5091052b859b2a814db1ed8f6ed6a2a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste31_1796',['NLOHMANN_JSON_PASTE31',['../third_2nlohmann_2json_8hpp.html#ae4992f39bb2ab8bd14e62c11598b2ae5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste32_1797',['NLOHMANN_JSON_PASTE32',['../third_2nlohmann_2json_8hpp.html#af0f98920ec61e99028f7fdef8e920595',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste33_1798',['NLOHMANN_JSON_PASTE33',['../third_2nlohmann_2json_8hpp.html#ab4071130e08cb0863d4e3487fa79cda1',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste34_1799',['NLOHMANN_JSON_PASTE34',['../third_2nlohmann_2json_8hpp.html#a358ebb5dee01b8ed59bc28f815bc6d93',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste35_1800',['NLOHMANN_JSON_PASTE35',['../third_2nlohmann_2json_8hpp.html#aeeea2b876c2a636481b3ae5ef11a19dc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste36_1801',['NLOHMANN_JSON_PASTE36',['../third_2nlohmann_2json_8hpp.html#a33ac48776f95a68576c40217395bf48d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste37_1802',['NLOHMANN_JSON_PASTE37',['../third_2nlohmann_2json_8hpp.html#a07deda8156c4854e92eb65fcc082901b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste38_1803',['NLOHMANN_JSON_PASTE38',['../third_2nlohmann_2json_8hpp.html#a977ee5f6587abac33244336ebd969d8f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste39_1804',['NLOHMANN_JSON_PASTE39',['../third_2nlohmann_2json_8hpp.html#af227f94449238a7a4773364559b7e293',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste4_1805',['NLOHMANN_JSON_PASTE4',['../third_2nlohmann_2json_8hpp.html#a5349ab2d8aea839cdd9d127f1228bd28',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste40_1806',['NLOHMANN_JSON_PASTE40',['../third_2nlohmann_2json_8hpp.html#a93c6c888c43aec21adfc7ffdc92cf7d0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste41_1807',['NLOHMANN_JSON_PASTE41',['../third_2nlohmann_2json_8hpp.html#a18e393011cc564dc6b0f1d15b8c84e05',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste42_1808',['NLOHMANN_JSON_PASTE42',['../third_2nlohmann_2json_8hpp.html#a95e4a1508b5f7887c6158bc1c8421214',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste43_1809',['NLOHMANN_JSON_PASTE43',['../third_2nlohmann_2json_8hpp.html#a92d3147a1b6ee178d6645f087b0092a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste44_1810',['NLOHMANN_JSON_PASTE44',['../third_2nlohmann_2json_8hpp.html#a0a88431676c1c0dd23152f6398c85b47',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste45_1811',['NLOHMANN_JSON_PASTE45',['../third_2nlohmann_2json_8hpp.html#a690c86f3a6798a8f228c23e353fa1f4c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste46_1812',['NLOHMANN_JSON_PASTE46',['../third_2nlohmann_2json_8hpp.html#a2b608f54c6ad7eb116db8ac32d662e59',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste47_1813',['NLOHMANN_JSON_PASTE47',['../third_2nlohmann_2json_8hpp.html#acb41a7b4ef92bdebd48fff958a07ba73',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste48_1814',['NLOHMANN_JSON_PASTE48',['../third_2nlohmann_2json_8hpp.html#abba715e3b79d43cd3edfc327964af993',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste49_1815',['NLOHMANN_JSON_PASTE49',['../third_2nlohmann_2json_8hpp.html#ae194fe1cdd80019af57b88d7a07be858',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste5_1816',['NLOHMANN_JSON_PASTE5',['../third_2nlohmann_2json_8hpp.html#a49c543dca7e9b9844991dad31328fb06',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste50_1817',['NLOHMANN_JSON_PASTE50',['../third_2nlohmann_2json_8hpp.html#a019bc7ba256120287abe9297d8220f8d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste51_1818',['NLOHMANN_JSON_PASTE51',['../third_2nlohmann_2json_8hpp.html#a4f8f97d2fbb1d02cb9e14253db29afc5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste52_1819',['NLOHMANN_JSON_PASTE52',['../third_2nlohmann_2json_8hpp.html#a6e5309c4debd7b1ca036bd78a45da83d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste53_1820',['NLOHMANN_JSON_PASTE53',['../third_2nlohmann_2json_8hpp.html#a8305e64563937a0421af09a573184a15',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste54_1821',['NLOHMANN_JSON_PASTE54',['../third_2nlohmann_2json_8hpp.html#ac436de6daea01cb2256bd87717a820f6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste55_1822',['NLOHMANN_JSON_PASTE55',['../third_2nlohmann_2json_8hpp.html#abce6d2ddf2ea1e5ad59066d0fc5278e4',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste56_1823',['NLOHMANN_JSON_PASTE56',['../third_2nlohmann_2json_8hpp.html#a48a0da09ac90252022f6864cfa3d9448',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste57_1824',['NLOHMANN_JSON_PASTE57',['../third_2nlohmann_2json_8hpp.html#a768d6ebcd60776a1a90a20ee96cc92c9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste58_1825',['NLOHMANN_JSON_PASTE58',['../third_2nlohmann_2json_8hpp.html#a3fdc9b5e6d3c8ae21a13950f89e1380a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste59_1826',['NLOHMANN_JSON_PASTE59',['../third_2nlohmann_2json_8hpp.html#a72d13fe9cacdfa68533b8e46b06c8edc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste6_1827',['NLOHMANN_JSON_PASTE6',['../third_2nlohmann_2json_8hpp.html#a6da6cf565af6a4a786b484019dce2fd3',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste60_1828',['NLOHMANN_JSON_PASTE60',['../third_2nlohmann_2json_8hpp.html#aaa4d92bb3eee9252b5e7e3c94331e89e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste61_1829',['NLOHMANN_JSON_PASTE61',['../third_2nlohmann_2json_8hpp.html#ad40518144e6777220fd044e3823d5709',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste62_1830',['NLOHMANN_JSON_PASTE62',['../third_2nlohmann_2json_8hpp.html#a2058eaa857e2b8409234212297c30b5c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste63_1831',['NLOHMANN_JSON_PASTE63',['../third_2nlohmann_2json_8hpp.html#a20df787f375192fed2b9529178f4e003',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste64_1832',['NLOHMANN_JSON_PASTE64',['../third_2nlohmann_2json_8hpp.html#a8fee48568bba4163bcc0ffd2a556d5cf',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste7_1833',['NLOHMANN_JSON_PASTE7',['../third_2nlohmann_2json_8hpp.html#ab3cf0b823706b94a78c0611209df5044',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste8_1834',['NLOHMANN_JSON_PASTE8',['../third_2nlohmann_2json_8hpp.html#a931a0b268897bdd26521ac3152ddba5b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste9_1835',['NLOHMANN_JSON_PASTE9',['../third_2nlohmann_2json_8hpp.html#aed2ec7e247cd50f8f9941ca3fe6f2a2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fserialize_5fenum_1836',['NLOHMANN_JSON_SERIALIZE_ENUM',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084',1,'NLOHMANN_JSON_SERIALIZE_ENUM(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084',1,'NLOHMANN_JSON_SERIALIZE_ENUM(): json.hpp']]], + ['nlohmann_5fjson_5fto_1837',['NLOHMANN_JSON_TO',['../third_2nlohmann_2json_8hpp.html#a32c518e9a43fb0389fccb41e5c6f63a9',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fmajor_1838',['NLOHMANN_JSON_VERSION_MAJOR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4',1,'NLOHMANN_JSON_VERSION_MAJOR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4',1,'NLOHMANN_JSON_VERSION_MAJOR(): json.hpp']]], + ['nlohmann_5fjson_5fversion_5fminor_1839',['NLOHMANN_JSON_VERSION_MINOR',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3',1,'NLOHMANN_JSON_VERSION_MINOR(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3',1,'NLOHMANN_JSON_VERSION_MINOR(): json.hpp']]], + ['nlohmann_5fjson_5fversion_5fpatch_1840',['NLOHMANN_JSON_VERSION_PATCH',['../build_2__deps_2json-src_2include_2nlohmann_2json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb',1,'NLOHMANN_JSON_VERSION_PATCH(): json.hpp'],['../third_2nlohmann_2json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb',1,'NLOHMANN_JSON_VERSION_PATCH(): json.hpp']]] +]; diff --git a/help/html/search/defines_7.html b/help/html/search/defines_7.html new file mode 100644 index 0000000..049c0cf --- /dev/null +++ b/help/html/search/defines_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_7.js b/help/html/search/defines_7.js new file mode 100644 index 0000000..54ed3a9 --- /dev/null +++ b/help/html/search/defines_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['platform_5fid_1841',['PLATFORM_ID',['../CMakeCCompilerId_8c.html#adbc5372f40838899018fadbc89bd588b',1,'PLATFORM_ID(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#adbc5372f40838899018fadbc89bd588b',1,'PLATFORM_ID(): CMakeCXXCompilerId.cpp']]] +]; diff --git a/help/html/search/defines_8.html b/help/html/search/defines_8.html new file mode 100644 index 0000000..a952d6c --- /dev/null +++ b/help/html/search/defines_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/defines_8.js b/help/html/search/defines_8.js new file mode 100644 index 0000000..134acee --- /dev/null +++ b/help/html/search/defines_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['stringify_1842',['STRINGIFY',['../CMakeCCompilerId_8c.html#a43e1cad902b6477bec893cb6430bd6c8',1,'STRINGIFY(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#a43e1cad902b6477bec893cb6430bd6c8',1,'STRINGIFY(): CMakeCXXCompilerId.cpp']]], + ['stringify_5fhelper_1843',['STRINGIFY_HELPER',['../CMakeCCompilerId_8c.html#a2ae9b72bb13abaabfcf2ee0ba7d3fa1d',1,'STRINGIFY_HELPER(): CMakeCCompilerId.c'],['../CMakeCXXCompilerId_8cpp.html#a2ae9b72bb13abaabfcf2ee0ba7d3fa1d',1,'STRINGIFY_HELPER(): CMakeCXXCompilerId.cpp']]] +]; diff --git a/help/html/search/enums_0.html b/help/html/search/enums_0.html new file mode 100644 index 0000000..9669700 --- /dev/null +++ b/help/html/search/enums_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_0.js b/help/html/search/enums_0.js new file mode 100644 index 0000000..79bbef7 --- /dev/null +++ b/help/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['command_224',['Command',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060e',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enums_1.html b/help/html/search/enums_1.html new file mode 100644 index 0000000..dfec174 --- /dev/null +++ b/help/html/search/enums_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_1.js b/help/html/search/enums_1.js new file mode 100644 index 0000000..c95d355 --- /dev/null +++ b/help/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error_5fhandler_5ft_1558',['error_handler_t',['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df',1,'nlohmann::detail::error_handler_t()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df',1,'nlohmann::detail::error_handler_t()']]] +]; diff --git a/help/html/search/enums_2.html b/help/html/search/enums_2.html new file mode 100644 index 0000000..db70c36 --- /dev/null +++ b/help/html/search/enums_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_2.js b/help/html/search/enums_2.js new file mode 100644 index 0000000..c63e154 --- /dev/null +++ b/help/html/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['input_5fformat_5ft_1559',['input_format_t',['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40',1,'nlohmann::detail::input_format_t()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40',1,'nlohmann::detail::input_format_t()']]] +]; diff --git a/help/html/search/enums_3.html b/help/html/search/enums_3.html new file mode 100644 index 0000000..fb7ec17 --- /dev/null +++ b/help/html/search/enums_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_3.js b/help/html/search/enums_3.js new file mode 100644 index 0000000..fddaa20 --- /dev/null +++ b/help/html/search/enums_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parse_5fevent_5ft_1560',['parse_event_t',['../classnlohmann_1_1detail_1_1parser.html#a37ac88c864dda495f72cb62776b0bebe',1,'nlohmann::detail::parser::parse_event_t()'],['../namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1a',1,'nlohmann::detail::parse_event_t()']]] +]; diff --git a/help/html/search/enums_4.html b/help/html/search/enums_4.html new file mode 100644 index 0000000..b8b51ef --- /dev/null +++ b/help/html/search/enums_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_4.js b/help/html/search/enums_4.js new file mode 100644 index 0000000..3629230 --- /dev/null +++ b/help/html/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['token_5ftype_1561',['token_type',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098',1,'nlohmann::detail::lexer::token_type()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454',1,'nlohmann::detail::lexer_base::token_type()']]] +]; diff --git a/help/html/search/enums_5.html b/help/html/search/enums_5.html new file mode 100644 index 0000000..d39b033 --- /dev/null +++ b/help/html/search/enums_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enums_5.js b/help/html/search/enums_5.js new file mode 100644 index 0000000..c10e803 --- /dev/null +++ b/help/html/search/enums_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ft_1562',['value_t',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985',1,'nlohmann::detail::value_t()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985',1,'nlohmann::detail::value_t()']]] +]; diff --git a/help/html/search/enumvalues_0.html b/help/html/search/enumvalues_0.html new file mode 100644 index 0000000..9286248 --- /dev/null +++ b/help/html/search/enumvalues_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_0.js b/help/html/search/enumvalues_0.js new file mode 100644 index 0000000..6776828 --- /dev/null +++ b/help/html/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['append_225',['APPEND',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060ea9b67aef6a1046c9e94f5673283048954',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enumvalues_1.html b/help/html/search/enumvalues_1.html new file mode 100644 index 0000000..e22a79f --- /dev/null +++ b/help/html/search/enumvalues_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_1.js b/help/html/search/enumvalues_1.js new file mode 100644 index 0000000..4c02a3b --- /dev/null +++ b/help/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['finalize_226',['FINALIZE',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060eababb71c4f7b4e204fd2cff6fe84566a4',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enumvalues_10.html b/help/html/search/enumvalues_10.html new file mode 100644 index 0000000..7107c3d --- /dev/null +++ b/help/html/search/enumvalues_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_10.js b/help/html/search/enumvalues_10.js new file mode 100644 index 0000000..549a26c --- /dev/null +++ b/help/html/search/enumvalues_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ubjson_1600',['ubjson',['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail::ubjson()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail::ubjson()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail::ubjson()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail::ubjson()']]], + ['uninitialized_1601',['uninitialized',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a42dd1a73d072bb6bf3f494f22b15db8e',1,'nlohmann::detail::lexer::uninitialized()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a42dd1a73d072bb6bf3f494f22b15db8e',1,'nlohmann::detail::lexer_base::uninitialized()']]] +]; diff --git a/help/html/search/enumvalues_11.html b/help/html/search/enumvalues_11.html new file mode 100644 index 0000000..aab485d --- /dev/null +++ b/help/html/search/enumvalues_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_11.js b/help/html/search/enumvalues_11.js new file mode 100644 index 0000000..04a35ab --- /dev/null +++ b/help/html/search/enumvalues_11.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value_1602',['value',['../classnlohmann_1_1detail_1_1parser.html#a37ac88c864dda495f72cb62776b0bebea2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::detail::parser::value()'],['../namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::detail::value()']]], + ['value_5ffloat_1603',['value_float',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a0d2671a6f81efb91e77f6ac3bdb11443',1,'nlohmann::detail::lexer::value_float()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a0d2671a6f81efb91e77f6ac3bdb11443',1,'nlohmann::detail::lexer_base::value_float()']]], + ['value_5finteger_1604',['value_integer',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a5064b6655d88a50ae16665cf7751c0ee',1,'nlohmann::detail::lexer::value_integer()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a5064b6655d88a50ae16665cf7751c0ee',1,'nlohmann::detail::lexer_base::value_integer()']]], + ['value_5fseparator_1605',['value_separator',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a745373036100d7392ad62c617cab59af',1,'nlohmann::detail::lexer::value_separator()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a745373036100d7392ad62c617cab59af',1,'nlohmann::detail::lexer_base::value_separator()']]], + ['value_5fstring_1606',['value_string',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a2b490e8bf366b4cbe3ebd99b26ce15ce',1,'nlohmann::detail::lexer::value_string()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2b490e8bf366b4cbe3ebd99b26ce15ce',1,'nlohmann::detail::lexer_base::value_string()']]], + ['value_5funsigned_1607',['value_unsigned',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098aaf1f040fcd2f674d2e5893d7a731078f',1,'nlohmann::detail::lexer::value_unsigned()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aaf1f040fcd2f674d2e5893d7a731078f',1,'nlohmann::detail::lexer_base::value_unsigned()']]] +]; diff --git a/help/html/search/enumvalues_2.html b/help/html/search/enumvalues_2.html new file mode 100644 index 0000000..01a77bf --- /dev/null +++ b/help/html/search/enumvalues_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_2.js b/help/html/search/enumvalues_2.js new file mode 100644 index 0000000..5aeabab --- /dev/null +++ b/help/html/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['init_227',['INIT',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060eaf1a129ea03e557ce45013271bd9b0f23',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enumvalues_3.html b/help/html/search/enumvalues_3.html new file mode 100644 index 0000000..4e761d6 --- /dev/null +++ b/help/html/search/enumvalues_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_3.js b/help/html/search/enumvalues_3.js new file mode 100644 index 0000000..1844cf6 --- /dev/null +++ b/help/html/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['discarded_1573',['discarded',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail::discarded()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail::discarded()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail::discarded()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail::discarded()']]] +]; diff --git a/help/html/search/enumvalues_4.html b/help/html/search/enumvalues_4.html new file mode 100644 index 0000000..e2977a0 --- /dev/null +++ b/help/html/search/enumvalues_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_4.js b/help/html/search/enumvalues_4.js new file mode 100644 index 0000000..e540dcf --- /dev/null +++ b/help/html/search/enumvalues_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['end_5farray_1574',['end_array',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a2f3e68e7f111a1e5c7728742b3ca2b7f',1,'nlohmann::detail::lexer::end_array()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2f3e68e7f111a1e5c7728742b3ca2b7f',1,'nlohmann::detail::lexer_base::end_array()']]], + ['end_5fobject_1575',['end_object',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a7d5b4427866814de4d8f132721d59c87',1,'nlohmann::detail::lexer::end_object()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a7d5b4427866814de4d8f132721d59c87',1,'nlohmann::detail::lexer_base::end_object()']]], + ['end_5fof_5finput_1576',['end_of_input',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098aca11f56dd477c09e06583dbdcda0985f',1,'nlohmann::detail::lexer::end_of_input()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aca11f56dd477c09e06583dbdcda0985f',1,'nlohmann::detail::lexer_base::end_of_input()']]], + ['error_1577',['error',['../namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/enumvalues_5.html b/help/html/search/enumvalues_5.html new file mode 100644 index 0000000..eabdd4b --- /dev/null +++ b/help/html/search/enumvalues_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_5.js b/help/html/search/enumvalues_5.js new file mode 100644 index 0000000..b2f095d --- /dev/null +++ b/help/html/search/enumvalues_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['finalize_1578',['FINALIZE',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060eababb71c4f7b4e204fd2cff6fe84566a4',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enumvalues_6.html b/help/html/search/enumvalues_6.html new file mode 100644 index 0000000..2476491 --- /dev/null +++ b/help/html/search/enumvalues_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_6.js b/help/html/search/enumvalues_6.js new file mode 100644 index 0000000..5d67906 --- /dev/null +++ b/help/html/search/enumvalues_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ignore_1579',['ignore',['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()']]], + ['init_1580',['INIT',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a44f9ec628e89320e9cc3aa9dd223060eaf1a129ea03e557ce45013271bd9b0f23',1,'CocoaTweet::API::Medias::Upload']]] +]; diff --git a/help/html/search/enumvalues_7.html b/help/html/search/enumvalues_7.html new file mode 100644 index 0000000..5d5ce7e --- /dev/null +++ b/help/html/search/enumvalues_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_7.js b/help/html/search/enumvalues_7.js new file mode 100644 index 0000000..9f343b0 --- /dev/null +++ b/help/html/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['json_1581',['json',['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail::json()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail::json()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail::json()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail::json()']]] +]; diff --git a/help/html/search/enumvalues_8.html b/help/html/search/enumvalues_8.html new file mode 100644 index 0000000..be088de --- /dev/null +++ b/help/html/search/enumvalues_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_8.js b/help/html/search/enumvalues_8.js new file mode 100644 index 0000000..eee01e8 --- /dev/null +++ b/help/html/search/enumvalues_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_1582',['key',['../classnlohmann_1_1detail_1_1parser.html#a37ac88c864dda495f72cb62776b0bebea3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::detail::parser::key()'],['../namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::detail::key()']]] +]; diff --git a/help/html/search/enumvalues_9.html b/help/html/search/enumvalues_9.html new file mode 100644 index 0000000..b521e09 --- /dev/null +++ b/help/html/search/enumvalues_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_9.js b/help/html/search/enumvalues_9.js new file mode 100644 index 0000000..ea76fd3 --- /dev/null +++ b/help/html/search/enumvalues_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['literal_5ffalse_1583',['literal_false',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098afab1694b1b3937a079f4625fe0b6108b',1,'nlohmann::detail::lexer::literal_false()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454afab1694b1b3937a079f4625fe0b6108b',1,'nlohmann::detail::lexer_base::literal_false()']]], + ['literal_5fnull_1584',['literal_null',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098ab7ae4c0e46d86f884677768160b26e9e',1,'nlohmann::detail::lexer::literal_null()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ab7ae4c0e46d86f884677768160b26e9e',1,'nlohmann::detail::lexer_base::literal_null()']]], + ['literal_5for_5fvalue_1585',['literal_or_value',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098ad2a8e6f6721cccec0b466301dd9495a5',1,'nlohmann::detail::lexer::literal_or_value()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ad2a8e6f6721cccec0b466301dd9495a5',1,'nlohmann::detail::lexer_base::literal_or_value()']]], + ['literal_5ftrue_1586',['literal_true',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a85cc1a37b0aaa52de40e72f0ed4e0c0d',1,'nlohmann::detail::lexer::literal_true()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a85cc1a37b0aaa52de40e72f0ed4e0c0d',1,'nlohmann::detail::lexer_base::literal_true()']]] +]; diff --git a/help/html/search/enumvalues_a.html b/help/html/search/enumvalues_a.html new file mode 100644 index 0000000..ea34216 --- /dev/null +++ b/help/html/search/enumvalues_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_a.js b/help/html/search/enumvalues_a.js new file mode 100644 index 0000000..246b0d4 --- /dev/null +++ b/help/html/search/enumvalues_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['msgpack_1587',['msgpack',['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail::msgpack()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail::msgpack()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail::msgpack()'],['../namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail::msgpack()']]] +]; diff --git a/help/html/search/enumvalues_b.html b/help/html/search/enumvalues_b.html new file mode 100644 index 0000000..0bb27ce --- /dev/null +++ b/help/html/search/enumvalues_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_b.js b/help/html/search/enumvalues_b.js new file mode 100644 index 0000000..f41bde3 --- /dev/null +++ b/help/html/search/enumvalues_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['name_5fseparator_1588',['name_separator',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098acc3c64f8ae08c00de1b33f19a4d2913a',1,'nlohmann::detail::lexer::name_separator()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454acc3c64f8ae08c00de1b33f19a4d2913a',1,'nlohmann::detail::lexer_base::name_separator()']]], + ['null_1589',['null',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail::null()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail::null()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail::null()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail::null()']]], + ['number_5ffloat_1590',['number_float',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail::number_float()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail::number_float()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail::number_float()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail::number_float()']]], + ['number_5finteger_1591',['number_integer',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail::number_integer()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail::number_integer()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail::number_integer()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail::number_integer()']]], + ['number_5funsigned_1592',['number_unsigned',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail::number_unsigned()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail::number_unsigned()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail::number_unsigned()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail::number_unsigned()']]] +]; diff --git a/help/html/search/enumvalues_c.html b/help/html/search/enumvalues_c.html new file mode 100644 index 0000000..1ee90d9 --- /dev/null +++ b/help/html/search/enumvalues_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_c.js b/help/html/search/enumvalues_c.js new file mode 100644 index 0000000..a56c5f8 --- /dev/null +++ b/help/html/search/enumvalues_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['object_1593',['object',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()']]], + ['object_5fend_1594',['object_end',['../classnlohmann_1_1detail_1_1parser.html#a37ac88c864dda495f72cb62776b0bebeaf63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::detail::parser::object_end()'],['../namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::detail::object_end()']]], + ['object_5fstart_1595',['object_start',['../classnlohmann_1_1detail_1_1parser.html#a37ac88c864dda495f72cb62776b0bebeae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::detail::parser::object_start()'],['../namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::detail::object_start()']]] +]; diff --git a/help/html/search/enumvalues_d.html b/help/html/search/enumvalues_d.html new file mode 100644 index 0000000..e1b3b48 --- /dev/null +++ b/help/html/search/enumvalues_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_d.js b/help/html/search/enumvalues_d.js new file mode 100644 index 0000000..84a0dbf --- /dev/null +++ b/help/html/search/enumvalues_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parse_5ferror_1596',['parse_error',['../classnlohmann_1_1detail_1_1lexer.html#a3f313cdbe187cababfc5e06f0b69b098a456e19aeafa334241c7ff3f589547f9d',1,'nlohmann::detail::lexer::parse_error()'],['../classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a456e19aeafa334241c7ff3f589547f9d',1,'nlohmann::detail::lexer_base::parse_error()']]] +]; diff --git a/help/html/search/enumvalues_e.html b/help/html/search/enumvalues_e.html new file mode 100644 index 0000000..c5d3197 --- /dev/null +++ b/help/html/search/enumvalues_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_e.js b/help/html/search/enumvalues_e.js new file mode 100644 index 0000000..655694c --- /dev/null +++ b/help/html/search/enumvalues_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['replace_1597',['replace',['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail::replace()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail::replace()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail::replace()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail::replace()']]] +]; diff --git a/help/html/search/enumvalues_f.html b/help/html/search/enumvalues_f.html new file mode 100644 index 0000000..5de961d --- /dev/null +++ b/help/html/search/enumvalues_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/enumvalues_f.js b/help/html/search/enumvalues_f.js new file mode 100644 index 0000000..8aabce1 --- /dev/null +++ b/help/html/search/enumvalues_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['strict_1598',['strict',['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail::strict()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail::strict()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail::strict()'],['../namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail::strict()']]], + ['string_1599',['string',['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail::string()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail::string()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail::string()'],['../namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail::string()']]] +]; diff --git a/help/html/search/files_0.html b/help/html/search/files_0.html new file mode 100644 index 0000000..737608e --- /dev/null +++ b/help/html/search/files_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_0.js b/help/html/search/files_0.js new file mode 100644 index 0000000..ef41f1b --- /dev/null +++ b/help/html/search/files_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['api_2ecc_192',['api.cc',['../api_8cc.html',1,'']]], + ['api_2eh_193',['api.h',['../api_8h.html',1,'']]], + ['authenticateexception_2eh_194',['authenticateException.h',['../authenticateException_8h.html',1,'']]] +]; diff --git a/help/html/search/files_1.html b/help/html/search/files_1.html new file mode 100644 index 0000000..f27a62d --- /dev/null +++ b/help/html/search/files_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_1.js b/help/html/search/files_1.js new file mode 100644 index 0000000..2ff9aa0 --- /dev/null +++ b/help/html/search/files_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['cmakelists_2etxt_195',['CMakeLists.txt',['../CMakeLists_8txt.html',1,'(Global Namespace)'],['../src_2CMakeLists_8txt.html',1,'(Global Namespace)'],['../src_2cocoatweet_2CMakeLists_8txt.html',1,'(Global Namespace)']]], + ['create_2ecc_196',['create.cc',['../create_8cc.html',1,'']]], + ['create_2eh_197',['create.h',['../create_8h.html',1,'']]] +]; diff --git a/help/html/search/files_2.html b/help/html/search/files_2.html new file mode 100644 index 0000000..a45066e --- /dev/null +++ b/help/html/search/files_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_2.js b/help/html/search/files_2.js new file mode 100644 index 0000000..e3f81c5 --- /dev/null +++ b/help/html/search/files_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['destroy_2ecc_198',['destroy.cc',['../favorite_2destroy_8cc.html',1,'(Global Namespace)'],['../status_2destroy_8cc.html',1,'(Global Namespace)']]], + ['destroy_2eh_199',['destroy.h',['../favorite_2destroy_8h.html',1,'(Global Namespace)'],['../status_2destroy_8h.html',1,'(Global Namespace)']]], + ['directmessage_2ecc_200',['directMessage.cc',['../directMessage_8cc.html',1,'']]], + ['directmessage_2eh_201',['directMessage.h',['../directMessage_8h.html',1,'']]] +]; diff --git a/help/html/search/files_3.html b/help/html/search/files_3.html new file mode 100644 index 0000000..1076bc5 --- /dev/null +++ b/help/html/search/files_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_3.js b/help/html/search/files_3.js new file mode 100644 index 0000000..43b77f2 --- /dev/null +++ b/help/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exception_2eh_202',['exception.h',['../exception_8h.html',1,'']]] +]; diff --git a/help/html/search/files_4.html b/help/html/search/files_4.html new file mode 100644 index 0000000..e5cd7f4 --- /dev/null +++ b/help/html/search/files_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_4.js b/help/html/search/files_4.js new file mode 100644 index 0000000..a110b57 --- /dev/null +++ b/help/html/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['favorite_2ecc_203',['favorite.cc',['../favorite_8cc.html',1,'']]], + ['favorite_2eh_204',['favorite.h',['../favorite_8h.html',1,'']]] +]; diff --git a/help/html/search/files_5.html b/help/html/search/files_5.html new file mode 100644 index 0000000..2cc480f --- /dev/null +++ b/help/html/search/files_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_5.js b/help/html/search/files_5.js new file mode 100644 index 0000000..1dbc561 --- /dev/null +++ b/help/html/search/files_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['groupinterface_2eh_205',['groupInterface.h',['../groupInterface_8h.html',1,'']]] +]; diff --git a/help/html/search/files_6.html b/help/html/search/files_6.html new file mode 100644 index 0000000..6510245 --- /dev/null +++ b/help/html/search/files_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_6.js b/help/html/search/files_6.js new file mode 100644 index 0000000..b2fb722 --- /dev/null +++ b/help/html/search/files_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['httpbase_2eh_206',['httpBase.h',['../httpBase_8h.html',1,'']]], + ['httpget_2ecc_207',['httpGet.cc',['../httpGet_8cc.html',1,'']]], + ['httpget_2eh_208',['httpGet.h',['../httpGet_8h.html',1,'']]], + ['httppost_2ecc_209',['httpPost.cc',['../httpPost_8cc.html',1,'']]], + ['httppost_2eh_210',['httpPost.h',['../httpPost_8h.html',1,'']]] +]; diff --git a/help/html/search/files_7.html b/help/html/search/files_7.html new file mode 100644 index 0000000..819f7b8 --- /dev/null +++ b/help/html/search/files_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_7.js b/help/html/search/files_7.js new file mode 100644 index 0000000..fdda316 --- /dev/null +++ b/help/html/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['key_2ecc_211',['key.cc',['../key_8cc.html',1,'']]], + ['key_2eh_212',['key.h',['../key_8h.html',1,'']]] +]; diff --git a/help/html/search/files_8.html b/help/html/search/files_8.html new file mode 100644 index 0000000..fa1a27f --- /dev/null +++ b/help/html/search/files_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_8.js b/help/html/search/files_8.js new file mode 100644 index 0000000..a5605ea --- /dev/null +++ b/help/html/search/files_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['main_2ecc_213',['main.cc',['../main_8cc.html',1,'']]], + ['media_2ecc_214',['media.cc',['../media_8cc.html',1,'']]], + ['media_2eh_215',['media.h',['../media_8h.html',1,'']]], + ['mediastore_2ecc_216',['mediaStore.cc',['../mediaStore_8cc.html',1,'']]], + ['mediastore_2eh_217',['mediaStore.h',['../mediaStore_8h.html',1,'']]] +]; diff --git a/help/html/search/files_9.html b/help/html/search/files_9.html new file mode 100644 index 0000000..3af3e47 --- /dev/null +++ b/help/html/search/files_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_9.js b/help/html/search/files_9.js new file mode 100644 index 0000000..a724714 --- /dev/null +++ b/help/html/search/files_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['new_2ecc_218',['new.cc',['../new_8cc.html',1,'']]], + ['new_2eh_219',['new.h',['../new_8h.html',1,'']]] +]; diff --git a/help/html/search/files_a.html b/help/html/search/files_a.html new file mode 100644 index 0000000..17f65ad --- /dev/null +++ b/help/html/search/files_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_a.js b/help/html/search/files_a.js new file mode 100644 index 0000000..93f5f05 --- /dev/null +++ b/help/html/search/files_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['oauth_2ecc_220',['oauth.cc',['../oauth_8cc.html',1,'']]], + ['oauth_2eh_221',['oauth.h',['../oauth_8h.html',1,'']]] +]; diff --git a/help/html/search/files_b.html b/help/html/search/files_b.html new file mode 100644 index 0000000..aaa7731 --- /dev/null +++ b/help/html/search/files_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_b.js b/help/html/search/files_b.js new file mode 100644 index 0000000..93d94d4 --- /dev/null +++ b/help/html/search/files_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ratelimitexception_2eh_222',['rateLimitException.h',['../rateLimitException_8h.html',1,'']]], + ['readme_2emd_223',['README.md',['../README_8md.html',1,'']]], + ['retweet_2ecc_224',['retweet.cc',['../retweet_8cc.html',1,'']]], + ['retweet_2eh_225',['retweet.h',['../retweet_8h.html',1,'']]] +]; diff --git a/help/html/search/files_c.html b/help/html/search/files_c.html new file mode 100644 index 0000000..79e7963 --- /dev/null +++ b/help/html/search/files_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_c.js b/help/html/search/files_c.js new file mode 100644 index 0000000..0984248 --- /dev/null +++ b/help/html/search/files_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['status_2ecc_226',['status.cc',['../status_8cc.html',1,'']]], + ['status_2eh_227',['status.h',['../status_8h.html',1,'']]] +]; diff --git a/help/html/search/files_d.html b/help/html/search/files_d.html new file mode 100644 index 0000000..94b2ff2 --- /dev/null +++ b/help/html/search/files_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_d.js b/help/html/search/files_d.js new file mode 100644 index 0000000..3685bff --- /dev/null +++ b/help/html/search/files_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tweet_2ecc_228',['tweet.cc',['../tweet_8cc.html',1,'']]], + ['tweet_2eh_229',['tweet.h',['../tweet_8h.html',1,'']]], + ['tweetduplicateexception_2eh_230',['tweetDuplicateException.h',['../tweetDuplicateException_8h.html',1,'']]], + ['tweetnotfoundexception_2eh_231',['tweetNotFoundException.h',['../tweetNotFoundException_8h.html',1,'']]], + ['tweettoolongexception_2eh_232',['tweetTooLongException.h',['../tweetTooLongException_8h.html',1,'']]] +]; diff --git a/help/html/search/files_e.html b/help/html/search/files_e.html new file mode 100644 index 0000000..cb205ad --- /dev/null +++ b/help/html/search/files_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_e.js b/help/html/search/files_e.js new file mode 100644 index 0000000..df17d40 --- /dev/null +++ b/help/html/search/files_e.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['unretweet_2ecc_233',['unretweet.cc',['../unretweet_8cc.html',1,'']]], + ['unretweet_2eh_234',['unretweet.h',['../unretweet_8h.html',1,'']]], + ['unsupportedmediatypeexception_2eh_235',['unsupportedMediaTypeException.h',['../unsupportedMediaTypeException_8h.html',1,'']]], + ['update_2ecc_236',['update.cc',['../update_8cc.html',1,'']]], + ['update_2eh_237',['update.h',['../update_8h.html',1,'']]], + ['upload_2ecc_238',['upload.cc',['../upload_8cc.html',1,'']]], + ['upload_2eh_239',['upload.h',['../upload_8h.html',1,'']]], + ['usertimeline_2ecc_240',['userTimeline.cc',['../userTimeline_8cc.html',1,'']]], + ['usertimeline_2eh_241',['userTimeline.h',['../userTimeline_8h.html',1,'']]], + ['util_2ecc_242',['util.cc',['../util_8cc.html',1,'']]], + ['util_2eh_243',['util.h',['../util_8h.html',1,'']]] +]; diff --git a/help/html/search/files_f.html b/help/html/search/files_f.html new file mode 100644 index 0000000..90cf7fd --- /dev/null +++ b/help/html/search/files_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/files_f.js b/help/html/search/files_f.js new file mode 100644 index 0000000..d0996c8 --- /dev/null +++ b/help/html/search/files_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['update_2ecc_1106',['update.cc',['../update_8cc.html',1,'']]], + ['update_2eh_1107',['update.h',['../update_8h.html',1,'']]], + ['update_2epy_1108',['update.py',['../update_8py.html',1,'']]], + ['upload_2ecc_1109',['upload.cc',['../upload_8cc.html',1,'']]], + ['upload_2eh_1110',['upload.h',['../upload_8h.html',1,'']]], + ['util_2ecc_1111',['util.cc',['../util_8cc.html',1,'']]], + ['util_2eh_1112',['util.h',['../util_8h.html',1,'']]] +]; diff --git a/help/html/search/functions_0.html b/help/html/search/functions_0.html new file mode 100644 index 0000000..e17c711 --- /dev/null +++ b/help/html/search/functions_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_0.js b/help/html/search/functions_0.js new file mode 100644 index 0000000..46665d6 --- /dev/null +++ b/help/html/search/functions_0.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['accesstoken_244',['accessToken',['../classCocoaTweet_1_1OAuth_1_1Key.html#a480b1b4f1c03b3bdd7c1b59b5f8fc4d5',1,'CocoaTweet::OAuth::Key']]], + ['accesstokensecret_245',['accessTokenSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#aaf7813cff260ffd803eada11738a0b75',1,'CocoaTweet::OAuth::Key']]], + ['add_5fexecutable_246',['add_executable',['../src_2CMakeLists_8txt.html#af71960b53f14f77bfd0be71515d791f1',1,'CMakeLists.txt']]], + ['add_5fsubdirectory_247',['add_subdirectory',['../src_2CMakeLists_8txt.html#a1a50f7d628d8c645b7ab7c46a26384da',1,'CMakeLists.txt']]], + ['api_248',['API',['../classCocoaTweet_1_1API_1_1API.html#a28775a63dd897efa3fc410c9d82dedfd',1,'CocoaTweet::API::API']]], + ['attachmenturl_249',['attachmentUrl',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a62a2c887a196e86e5522a6550ad54a64',1,'CocoaTweet::API::Statuses::Update']]], + ['autopopulatereplymetadata_250',['autoPopulateReplyMetaData',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a77d4f41f814ce2dcfcf80b9151ac4623',1,'CocoaTweet::API::Statuses::Update']]] +]; diff --git a/help/html/search/functions_1.html b/help/html/search/functions_1.html new file mode 100644 index 0000000..0ddac0a --- /dev/null +++ b/help/html/search/functions_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_1.js b/help/html/search/functions_1.js new file mode 100644 index 0000000..093d157 --- /dev/null +++ b/help/html/search/functions_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['base64_251',['base64',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#aa389f10a1cafa5c26413bb28cdd27d3b',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/functions_10.html b/help/html/search/functions_10.html new file mode 100644 index 0000000..09422e1 --- /dev/null +++ b/help/html/search/functions_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_10.js b/help/html/search/functions_10.js new file mode 100644 index 0000000..e33ec3f --- /dev/null +++ b/help/html/search/functions_10.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['text_300',['text',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a596cda729c5b1565da0adbf02125acba',1,'CocoaTweet::API::Model::Tweet::text(const std::string _text)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a46bd67b016af890ad85836e5c1aa6a12',1,'CocoaTweet::API::Model::Tweet::text() const']]], + ['timestamp_301',['timestamp',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a8e52c044b277a6834ac6452d3552bff3',1,'CocoaTweet::OAuth::OAuth1']]], + ['trimuser_302',['trimUser',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a52ee15455ae4e5330d73ba0f93c9fa6f',1,'CocoaTweet::API::Statuses::Update']]], + ['tweet_303',['Tweet',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a76048fae79efd49eb2282f518e40c763',1,'CocoaTweet::API::Model::Tweet::Tweet()=default'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a5be21495e0296eb553eda9af2247a417',1,'CocoaTweet::API::Model::Tweet::Tweet(const Tweet &)=default'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a46c35c94e914a27109781529fc04b0ae',1,'CocoaTweet::API::Model::Tweet::Tweet(const std::string &_json)']]] +]; diff --git a/help/html/search/functions_11.html b/help/html/search/functions_11.html new file mode 100644 index 0000000..1cde7b4 --- /dev/null +++ b/help/html/search/functions_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_11.js b/help/html/search/functions_11.js new file mode 100644 index 0000000..f5fd011 --- /dev/null +++ b/help/html/search/functions_11.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['unretweet_304',['Unretweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a0d5c362fa2a0781d6a1e2cace1c513fa',1,'CocoaTweet::API::Statuses::Status::Unretweet()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#ac6169b5cd910d0ac03216b2f6e033b20',1,'CocoaTweet::API::Statuses::Unretweet::Unretweet()']]], + ['update_305',['Update',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a97269d52cbea19efce259f655a4af3ea',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#ab97c5a45baef9faf41fc7c55894cd5ee',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status, const Options _options) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#abe53df0ceaacd57ba1737674e499de70',1,'CocoaTweet::API::Statuses::Status::Update(const std::string &_status, std::vector< std::string > _mediaId) const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a79ba001f67640f34f9facdec885e48cd',1,'CocoaTweet::API::Statuses::Update::Update()']]], + ['upload_306',['Upload',['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#ad9f96d763945f074b6b30ff09793843c',1,'CocoaTweet::API::Medias::Media::Upload()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a8b641cae9515e32b9d919c96dd7ee9bb',1,'CocoaTweet::API::Medias::Upload::Upload()']]], + ['urlencode_307',['urlEncode',['../namespaceCocoaTweet_1_1Util.html#ac46dcd54bb4c11d0c2ce409545f10d4c',1,'CocoaTweet::Util']]], + ['usertimeline_308',['UserTimeline',['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#ab4f901886249455642e89a94d8bcc889',1,'CocoaTweet::API::Statuses::Status::UserTimeline()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#a775cf10d0deeabc0d7676ea8deb6fc65',1,'CocoaTweet::API::Statuses::UserTimeline::UserTimeline()']]] +]; diff --git a/help/html/search/functions_12.html b/help/html/search/functions_12.html new file mode 100644 index 0000000..48e5915 --- /dev/null +++ b/help/html/search/functions_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_12.js b/help/html/search/functions_12.js new file mode 100644 index 0000000..0cee608 --- /dev/null +++ b/help/html/search/functions_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_309',['version',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#ab8e90f4d24bf038419020d76a329c5b8',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/functions_13.html b/help/html/search/functions_13.html new file mode 100644 index 0000000..f1fc553 --- /dev/null +++ b/help/html/search/functions_13.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_13.js b/help/html/search/functions_13.js new file mode 100644 index 0000000..3950f52 --- /dev/null +++ b/help/html/search/functions_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['what_310',['what',['../classCocoaTweet_1_1Exception_1_1Exception.html#a251aff23f9da55802be51d4fabadf59b',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/functions_14.html b/help/html/search/functions_14.html new file mode 100644 index 0000000..0302cd9 --- /dev/null +++ b/help/html/search/functions_14.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_14.js b/help/html/search/functions_14.js new file mode 100644 index 0000000..f117230 --- /dev/null +++ b/help/html/search/functions_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7eexception_311',['~Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html#a5a71f213ee8533c03530f74f4aa0756a',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/functions_15.html b/help/html/search/functions_15.html new file mode 100644 index 0000000..18cf76b --- /dev/null +++ b/help/html/search/functions_15.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_15.js b/help/html/search/functions_15.js new file mode 100644 index 0000000..a41814e --- /dev/null +++ b/help/html/search/functions_15.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['what_1343',['what',['../classnlohmann_1_1detail_1_1exception.html#a11fe48748e811531614c84883b00ccd5',1,'nlohmann::detail::exception::what()'],['../classCocoaTweet_1_1Exception_1_1Exception.html#a251aff23f9da55802be51d4fabadf59b',1,'CocoaTweet::Exception::Exception::what()'],['../classnlohmann_1_1detail_1_1exception.html#a11fe48748e811531614c84883b00ccd5',1,'nlohmann::detail::exception::what()']]], + ['wide_5fstring_5finput_5fadapter_1344',['wide_string_input_adapter',['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a85c8bddae20bc00d64dd7a2c87109357',1,'nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter(const WideStringType &w) noexcept'],['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aab4e74b42f6c11d5cfa82999d7ead2de',1,'nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter(BaseInputAdapter base)']]], + ['write_5fbson_1345',['write_bson',['../classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer::write_bson(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer::write_bson(const BasicJsonType &j)']]], + ['write_5fcbor_1346',['write_cbor',['../classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer::write_cbor(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer::write_cbor(const BasicJsonType &j)']]], + ['write_5fcharacter_1347',['write_character',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()']]], + ['write_5fcharacters_1348',['write_characters',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()']]], + ['write_5fmsgpack_1349',['write_msgpack',['../classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer::write_msgpack(const BasicJsonType &j)'],['../classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer::write_msgpack(const BasicJsonType &j)']]], + ['write_5fubjson_1350',['write_ubjson',['../classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer::write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)'],['../classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer::write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)']]] +]; diff --git a/help/html/search/functions_16.html b/help/html/search/functions_16.html new file mode 100644 index 0000000..9182391 --- /dev/null +++ b/help/html/search/functions_16.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_16.js b/help/html/search/functions_16.js new file mode 100644 index 0000000..8519ae8 --- /dev/null +++ b/help/html/search/functions_16.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['_7ebasic_5fjson_1351',['~basic_json',['../classnlohmann_1_1basic__json.html#a7d35fcb7c72f755a30ae433e58083eca',1,'nlohmann::basic_json::~basic_json() noexcept'],['../classnlohmann_1_1basic__json.html#a7d35fcb7c72f755a30ae433e58083eca',1,'nlohmann::basic_json::~basic_json() noexcept']]], + ['_7ebinary_5freader_1352',['~binary_reader',['../classnlohmann_1_1detail_1_1binary__reader.html#a18e0a63e22dbdad5f6964276b81b813a',1,'nlohmann::detail::binary_reader::~binary_reader()=default'],['../classnlohmann_1_1detail_1_1binary__reader.html#a18e0a63e22dbdad5f6964276b81b813a',1,'nlohmann::detail::binary_reader::~binary_reader()=default']]], + ['_7eexception_1353',['~Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html#a5a71f213ee8533c03530f74f4aa0756a',1,'CocoaTweet::Exception::Exception']]], + ['_7efile_5finput_5fadapter_1354',['~file_input_adapter',['../classnlohmann_1_1detail_1_1file__input__adapter.html#af96552e4560be08b201e62a36e6b6189',1,'nlohmann::detail::file_input_adapter']]], + ['_7einput_5fadapter_5fprotocol_1355',['~input_adapter_protocol',['../structnlohmann_1_1detail_1_1input__adapter__protocol.html#a92dac74def4ac5adacd0684088bd4082',1,'nlohmann::detail::input_adapter_protocol']]], + ['_7einput_5fbuffer_5fadapter_1356',['~input_buffer_adapter',['../classnlohmann_1_1detail_1_1input__buffer__adapter.html#ac242b822b2f6772e5fc682ddb80cb066',1,'nlohmann::detail::input_buffer_adapter']]], + ['_7einput_5fstream_5fadapter_1357',['~input_stream_adapter',['../classnlohmann_1_1detail_1_1input__stream__adapter.html#a2d71eb469267abd864f765481d1e823f',1,'nlohmann::detail::input_stream_adapter::~input_stream_adapter() override'],['../classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36',1,'nlohmann::detail::input_stream_adapter::~input_stream_adapter()']]], + ['_7ejson_5fref_1358',['~json_ref',['../classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref::~json_ref()=default'],['../classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref::~json_ref()=default']]], + ['_7ejson_5fsax_1359',['~json_sax',['../structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax::~json_sax()=default'],['../structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax::~json_sax()=default']]], + ['_7ejson_5fsax_5fdom_5fcallback_5fparser_1360',['~json_sax_dom_callback_parser',['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser::~json_sax_dom_callback_parser()=default'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser::~json_sax_dom_callback_parser()=default']]], + ['_7ejson_5fsax_5fdom_5fparser_1361',['~json_sax_dom_parser',['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser::~json_sax_dom_parser()=default'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser::~json_sax_dom_parser()=default']]], + ['_7elexer_1362',['~lexer',['../classnlohmann_1_1detail_1_1lexer.html#a2f2ef6f5aca9a0c48fcfb1290f7b2b0d',1,'nlohmann::detail::lexer::~lexer()=default'],['../classnlohmann_1_1detail_1_1lexer.html#a2f2ef6f5aca9a0c48fcfb1290f7b2b0d',1,'nlohmann::detail::lexer::~lexer()=default']]], + ['_7enonesuch_1363',['~nonesuch',['../structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch::~nonesuch()=delete'],['../structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch::~nonesuch()=delete']]], + ['_7eoutput_5fadapter_5fprotocol_1364',['~output_adapter_protocol',['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol::~output_adapter_protocol()=default'],['../structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol::~output_adapter_protocol()=default']]], + ['_7eserializer_1365',['~serializer',['../classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer::~serializer()=default'],['../classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer::~serializer()=default']]] +]; diff --git a/help/html/search/functions_2.html b/help/html/search/functions_2.html new file mode 100644 index 0000000..2737c5a --- /dev/null +++ b/help/html/search/functions_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_2.js b/help/html/search/functions_2.js new file mode 100644 index 0000000..9a1382d --- /dev/null +++ b/help/html/search/functions_2.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['cmake_5fminimum_5frequired_252',['cmake_minimum_required',['../CMakeLists_8txt.html#a944d7c5253a40e73b032d4a2f64e7cc1',1,'CMakeLists.txt']]], + ['consumerkey_253',['consumerKey',['../classCocoaTweet_1_1OAuth_1_1Key.html#a562a039b051219a2439deb13bf5026e2',1,'CocoaTweet::OAuth::Key']]], + ['consumersecret_254',['consumerSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a02c8645e7643dbd2480bea48f298b836',1,'CocoaTweet::OAuth::Key']]], + ['coord_255',['coord',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a75886f7953f8c82b644f3d09b9706726',1,'CocoaTweet::API::Statuses::Update']]], + ['create_256',['Create',['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#a5fc5708f4d59a41d1cd52c4bbd751312',1,'CocoaTweet::API::Favorites::Create::Create()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#a92f31e9cfaf22556f6bce5985fad6370',1,'CocoaTweet::API::Favorites::Favorite::Create()']]], + ['createdat_257',['createdAt',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ac6f9cf58a81ae0ffe573e6ed8c720e99',1,'CocoaTweet::API::Model::Tweet::createdAt(const std::string _at)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a9dc100295f8bde796bb77ce00c10ed2e',1,'CocoaTweet::API::Model::Tweet::createdAt() const']]], + ['curlcallback_5f_258',['curlCallback_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a65e649cd380fc68d69aa8b575a20ab10',1,'CocoaTweet::API::Interface::HttpBase']]] +]; diff --git a/help/html/search/functions_3.html b/help/html/search/functions_3.html new file mode 100644 index 0000000..6da86e7 --- /dev/null +++ b/help/html/search/functions_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_3.js b/help/html/search/functions_3.js new file mode 100644 index 0000000..7cfc1d6 --- /dev/null +++ b/help/html/search/functions_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['destroy_259',['Destroy',['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#a6d9947c0e2a1e2248c0251bad9a116a2',1,'CocoaTweet::API::Favorites::Destroy::Destroy()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#a70d269972c75619fd0c14ed42d506f2d',1,'CocoaTweet::API::Favorites::Favorite::Destroy()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#a62640d2aeb5c0b3854d685131d0d9667',1,'CocoaTweet::API::Statuses::Destroy::Destroy()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a10a4341bcf15226ee31c2bf00ae56c75',1,'CocoaTweet::API::Statuses::Status::Destroy()']]], + ['directmessage_260',['directMessage',['../classCocoaTweet_1_1API_1_1API.html#a6147067e5f15533f517fc712ad83d9eb',1,'CocoaTweet::API::API::directMessage()'],['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#ab7d2d08f96e880ccb55e8ae5a2c3e466',1,'CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage()=default'],['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#a562ddb40463116c85379b6d62ca5c731',1,'CocoaTweet::API::DirectMessages::DirectMessage::DirectMessage(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['displaycoord_261',['displayCoord',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a5fc4d92adf390299b1c6c5c3ed2ea681',1,'CocoaTweet::API::Statuses::Update']]] +]; diff --git a/help/html/search/functions_4.html b/help/html/search/functions_4.html new file mode 100644 index 0000000..911304e --- /dev/null +++ b/help/html/search/functions_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_4.js b/help/html/search/functions_4.js new file mode 100644 index 0000000..8aa31e3 --- /dev/null +++ b/help/html/search/functions_4.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['elseif_262',['elseif',['../CMakeLists_8txt.html#aa4e8ce989b1f8229f5479534ee1ae8ac',1,'CMakeLists.txt']]], + ['enabledmcommands_263',['enableDMCommands',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a84b9497dd94009d7cba1a63a73f5ef10',1,'CocoaTweet::API::Statuses::Update']]], + ['exception_264',['Exception',['../classCocoaTweet_1_1Exception_1_1Exception.html#a4e5f456b49449032d66b27bc5617f015',1,'CocoaTweet::Exception::Exception::Exception(const char *_msg)'],['../classCocoaTweet_1_1Exception_1_1Exception.html#a3f2f093321add79ec723c01c9a7d3bcc',1,'CocoaTweet::Exception::Exception::Exception(const std::string &_msg)']]], + ['excludereplyuserid_265',['excludeReplyUserId',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a0135aace9ec1f275548ca15be91a0d71',1,'CocoaTweet::API::Statuses::Update']]], + ['expire_266',['expire',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a5465aa710a0c303b6e0a7757290336f5',1,'CocoaTweet::API::Model::MediaStore']]], + ['expires_267',['expires',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a6efeb93e3b55afc05ca73e4a6b297295',1,'CocoaTweet::API::Model::MediaStore']]] +]; diff --git a/help/html/search/functions_5.html b/help/html/search/functions_5.html new file mode 100644 index 0000000..61b920d --- /dev/null +++ b/help/html/search/functions_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_5.js b/help/html/search/functions_5.js new file mode 100644 index 0000000..2843c36 --- /dev/null +++ b/help/html/search/functions_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['faildmcommands_268',['failDMCommands',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ad3f189f00bbcc3ba72d812074195abd0',1,'CocoaTweet::API::Statuses::Update']]], + ['favorite_269',['favorite',['../classCocoaTweet_1_1API_1_1API.html#a397db8cf7af9a4a3a34bc64169c04039',1,'CocoaTweet::API::API::favorite()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#aa0ade9ca6fc634f73892e5a4f26de519',1,'CocoaTweet::API::Favorites::Favorite::Favorite()=default'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Favorite.html#ae80051130fa5c755464b6f6b237f4854',1,'CocoaTweet::API::Favorites::Favorite::Favorite(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['fromjsonfile_270',['fromJsonFile',['../classCocoaTweet_1_1OAuth_1_1Key.html#a936a436c45030782697f442979e2a675',1,'CocoaTweet::OAuth::Key']]] +]; diff --git a/help/html/search/functions_6.html b/help/html/search/functions_6.html new file mode 100644 index 0000000..dc70a4a --- /dev/null +++ b/help/html/search/functions_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_6.js b/help/html/search/functions_6.js new file mode 100644 index 0000000..4ab4e62 --- /dev/null +++ b/help/html/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hmacsha1_271',['hmacSha1',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#ae66ae62093d386bbb2763163acbcee03',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/functions_7.html b/help/html/search/functions_7.html new file mode 100644 index 0000000..7de3106 --- /dev/null +++ b/help/html/search/functions_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_7.js b/help/html/search/functions_7.js new file mode 100644 index 0000000..4399d8e --- /dev/null +++ b/help/html/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['id_272',['id',['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#ae461add62e4c473035c901534a4e4464',1,'CocoaTweet::API::Favorites::Create::id()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#abf46f0833f4adb6dac06fa246284b072',1,'CocoaTweet::API::Favorites::Destroy::id()'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#af90c553ab3da134f17ce2952612d9f9d',1,'CocoaTweet::API::Model::MediaStore::id(const std::string _id)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#ae723e47d9d4c9f51668a48da9c67bdc1',1,'CocoaTweet::API::Model::MediaStore::id() const'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ac3f9762b2a6a719005998ad31349a5c5',1,'CocoaTweet::API::Model::Tweet::id(const std::string _id)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a88d500d3d20a41762dee9e401cafefc6',1,'CocoaTweet::API::Model::Tweet::id() const'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#a18207d9e58563cc4338d35d4979fbf34',1,'CocoaTweet::API::Statuses::Destroy::id()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#aa152712528b5fcf39d416a6955eb5858',1,'CocoaTweet::API::Statuses::Retweet::id()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#a029fb710f5d4f1cbbec898696cce0379',1,'CocoaTweet::API::Statuses::Unretweet::id()']]] +]; diff --git a/help/html/search/functions_8.html b/help/html/search/functions_8.html new file mode 100644 index 0000000..7422be2 --- /dev/null +++ b/help/html/search/functions_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_8.js b/help/html/search/functions_8.js new file mode 100644 index 0000000..669e50a --- /dev/null +++ b/help/html/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join_273',['join',['../namespaceCocoaTweet_1_1Util.html#a8786654a9f36ebcdc9a605e8e50bcc4c',1,'CocoaTweet::Util']]] +]; diff --git a/help/html/search/functions_9.html b/help/html/search/functions_9.html new file mode 100644 index 0000000..befd4fa --- /dev/null +++ b/help/html/search/functions_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_9.js b/help/html/search/functions_9.js new file mode 100644 index 0000000..1283f6b --- /dev/null +++ b/help/html/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_274',['Key',['../classCocoaTweet_1_1OAuth_1_1Key.html#a1b50c413556b8eb769e30694412c2f60',1,'CocoaTweet::OAuth::Key::Key()'],['../classCocoaTweet_1_1OAuth_1_1Key.html#ac172968b08edb93001714e95f8a67c6b',1,'CocoaTweet::OAuth::Key::Key(const std::string &_consumerKey, const std::string &_consumerSecret, const std::string &_accessToken, const std::string &_accessTokenSecret)'],['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a9690d88c41c5ad2bf20ed420b8c23cb1',1,'CocoaTweet::OAuth::OAuth1::key()']]] +]; diff --git a/help/html/search/functions_a.html b/help/html/search/functions_a.html new file mode 100644 index 0000000..a81e963 --- /dev/null +++ b/help/html/search/functions_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_a.js b/help/html/search/functions_a.js new file mode 100644 index 0000000..979ac6f --- /dev/null +++ b/help/html/search/functions_a.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['main_275',['main',['../main_8cc.html#a8216c1645620cdb2f629cde3ac02ffef',1,'main.cc']]], + ['media_276',['media',['../classCocoaTweet_1_1API_1_1API.html#a2143e93436e088200f93ff8822d845ec',1,'CocoaTweet::API::API::media()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#ac1f706f8b1b71bec16a89eed8477c396',1,'CocoaTweet::API::Medias::Upload::media()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#a8aa7c237ea39987a00d860f1fcbb1833',1,'CocoaTweet::API::Medias::Media::Media()=default'],['../classCocoaTweet_1_1API_1_1Medias_1_1Media.html#aa43e1ce4f7950d43643b0c3fb9eef7d1',1,'CocoaTweet::API::Medias::Media::Media(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]], + ['mediaid_277',['mediaId',['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#a80b625aa820e75f220823d78a26b04c4',1,'CocoaTweet::API::Medias::Upload::mediaId()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ab8ef38fef366262e0f2a1bff9dee3ec6',1,'CocoaTweet::API::Statuses::Update::mediaId()']]], + ['mediastore_278',['MediaStore',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a0e6a74f084a96486a07e044696880efc',1,'CocoaTweet::API::Model::MediaStore::MediaStore()=default'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a6cbebe79b8e48fc5b9c7efeb99d36b2f',1,'CocoaTweet::API::Model::MediaStore::MediaStore(const MediaStore &)=default'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#acf876698bff69017e0dbb872c3fd31ca',1,'CocoaTweet::API::Model::MediaStore::MediaStore(const std::string &_json)']]], + ['message_279',['message',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a5a66d60dbc7a1d7750e82b78d43c93ac',1,'CocoaTweet::API::DirectMessages::New']]], + ['messagecreate_280',['messageCreate',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1DirectMessage.html#ab8962dff70ff28cb55c801f4a20c1cc2',1,'CocoaTweet::API::DirectMessages::DirectMessage']]], + ['method_281',['method',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a798209f1805d15028258df55db1de681',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/functions_b.html b/help/html/search/functions_b.html new file mode 100644 index 0000000..345265d --- /dev/null +++ b/help/html/search/functions_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_b.js b/help/html/search/functions_b.js new file mode 100644 index 0000000..56f5fa7 --- /dev/null +++ b/help/html/search/functions_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['new_282',['New',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a417374d5ddcdbeb9e7596ee321fba4aa',1,'CocoaTweet::API::DirectMessages::New']]], + ['nonce_283',['nonce',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#abecce5bd7c075b0ea85933c17f399f69',1,'CocoaTweet::OAuth::OAuth1']]], + ['nosecret_284',['noSecret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a0f2719582fae7ccb074e64f45083b273',1,'CocoaTweet::OAuth::Key']]] +]; diff --git a/help/html/search/functions_c.html b/help/html/search/functions_c.html new file mode 100644 index 0000000..858bfd6 --- /dev/null +++ b/help/html/search/functions_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_c.js b/help/html/search/functions_c.js new file mode 100644 index 0000000..44a909d --- /dev/null +++ b/help/html/search/functions_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['oauth1_285',['OAuth1',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a65db2966be0a556e21fe9fe6764d648d',1,'CocoaTweet::OAuth::OAuth1::OAuth1()'],['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a6398994361a2a240006c31f5f937d039',1,'CocoaTweet::OAuth::OAuth1::OAuth1(const Key _key)']]], + ['oauthparam_286',['oauthParam',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a6e5e31c125e4d9279deb1eb47cfcb84a',1,'CocoaTweet::OAuth::OAuth1']]] +]; diff --git a/help/html/search/functions_d.html b/help/html/search/functions_d.html new file mode 100644 index 0000000..2f09f51 --- /dev/null +++ b/help/html/search/functions_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_d.js b/help/html/search/functions_d.js new file mode 100644 index 0000000..8893cab --- /dev/null +++ b/help/html/search/functions_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['parse_287',['parse',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#abda07bde61f662a5a8664f6172daa204',1,'CocoaTweet::API::Model::MediaStore::parse()'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#a71c2d26eb75289c9cfe3c5054a1baf65',1,'CocoaTweet::API::Model::Tweet::parse()']]], + ['process_288',['process',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#a5a1b6b2885f2526a927746574744cb8c',1,'CocoaTweet::API::DirectMessages::New::process()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Create.html#adf39329935982455ffab03dc0bc28e3b',1,'CocoaTweet::API::Favorites::Create::process()'],['../classCocoaTweet_1_1API_1_1Favorites_1_1Destroy.html#a3bc14d9c674ece917e64cf94c091a296',1,'CocoaTweet::API::Favorites::Destroy::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a680ff63af97568baf2587f20b7e1a8ec',1,'CocoaTweet::API::Interface::HttpBase::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpGet.html#a3255bc6867830ff3632530e65c257ecc',1,'CocoaTweet::API::Interface::HttpGet::process()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html#afc4040a8d1b0853585334751717d0662',1,'CocoaTweet::API::Interface::HttpPost::process()'],['../classCocoaTweet_1_1API_1_1Medias_1_1Upload.html#ad47c77a4086bdf4f74b1aaecc86bce14',1,'CocoaTweet::API::Medias::Upload::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Destroy.html#af36cb7e5b76a30ba7fae9700d95fc642',1,'CocoaTweet::API::Statuses::Destroy::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#a97749a3172d989fd90858811a4ea2e70',1,'CocoaTweet::API::Statuses::Retweet::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Unretweet.html#a28efd42659f837c15c08175a12e3222a',1,'CocoaTweet::API::Statuses::Unretweet::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#ad5732026f1a38df2b49f9f3bad9bdf85',1,'CocoaTweet::API::Statuses::Update::process()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#af59cefac376b86d8abb843f701598090',1,'CocoaTweet::API::Statuses::UserTimeline::process()']]] +]; diff --git a/help/html/search/functions_e.html b/help/html/search/functions_e.html new file mode 100644 index 0000000..ee5afa6 --- /dev/null +++ b/help/html/search/functions_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_e.js b/help/html/search/functions_e.js new file mode 100644 index 0000000..80e1819 --- /dev/null +++ b/help/html/search/functions_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['recipient_289',['recipient',['../classCocoaTweet_1_1API_1_1DirectMessages_1_1New.html#afd95acae9607546a8ca37ea22f438139',1,'CocoaTweet::API::DirectMessages::New']]], + ['remain_290',['remain',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a2adf7192194944149c9662d66f9a6a42',1,'CocoaTweet::API::Model::MediaStore::remain(const unsigned int _remain)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a25d883e082c7a90f4bb96d84aa8b2830',1,'CocoaTweet::API::Model::MediaStore::remain() const']]], + ['replytostatusid_291',['replyToStatusId',['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#aea57ec43f8b4eaf31414bef9221d3dbc',1,'CocoaTweet::API::Statuses::Update']]], + ['retweet_292',['Retweet',['../classCocoaTweet_1_1API_1_1Statuses_1_1Retweet.html#adf8c15760334a81b608388f64b79745f',1,'CocoaTweet::API::Statuses::Retweet::Retweet()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a61288737138513dcbdebc61abbde00e3',1,'CocoaTweet::API::Statuses::Status::Retweet()']]] +]; diff --git a/help/html/search/functions_f.html b/help/html/search/functions_f.html new file mode 100644 index 0000000..f17c412 --- /dev/null +++ b/help/html/search/functions_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/functions_f.js b/help/html/search/functions_f.js new file mode 100644 index 0000000..887b3f3 --- /dev/null +++ b/help/html/search/functions_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['screenname_293',['screenName',['../classCocoaTweet_1_1API_1_1Statuses_1_1UserTimeline.html#a0351e221076b359bd181973bb99ec34c',1,'CocoaTweet::API::Statuses::UserTimeline']]], + ['secret_294',['secret',['../classCocoaTweet_1_1OAuth_1_1Key.html#a48d94ebbd486ffabc10b0b5417182cdd',1,'CocoaTweet::OAuth::Key']]], + ['signature_295',['signature',['../classCocoaTweet_1_1OAuth_1_1OAuth1.html#a605a5ee2fc35869292234fa2c3dea420',1,'CocoaTweet::OAuth::OAuth1']]], + ['size_296',['size',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#a7f9e922b93522ae810c487b8da7d772f',1,'CocoaTweet::API::Model::MediaStore::size(const unsigned int _size)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#aab8defad4ab8eab424bdb831aa13ae9f',1,'CocoaTweet::API::Model::MediaStore::size() const']]], + ['source_297',['source',['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ad55c3f4c66e34de7e159ab9769745106',1,'CocoaTweet::API::Model::Tweet::source(const std::string _source)'],['../classCocoaTweet_1_1API_1_1Model_1_1Tweet.html#ade60f2ce9c6ead8b2327d64847b6d272',1,'CocoaTweet::API::Model::Tweet::source() const']]], + ['state_298',['state',['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#ad2ef76ab9b8b307c2abe3f80397adc1a',1,'CocoaTweet::API::Model::MediaStore::state(const std::string _state)'],['../classCocoaTweet_1_1API_1_1Model_1_1MediaStore.html#aa708ce16bce734d9f852d141c0450e33',1,'CocoaTweet::API::Model::MediaStore::state() const']]], + ['status_299',['status',['../classCocoaTweet_1_1API_1_1API.html#a33328fef1c2ac0f634449d6c60742449',1,'CocoaTweet::API::API::status()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Update.html#a82a03eb9ed10d0235bc5f5876472359b',1,'CocoaTweet::API::Statuses::Update::status()'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a4d0a2245d5b5d8fb88fd5415746491bf',1,'CocoaTweet::API::Statuses::Status::Status()=default'],['../classCocoaTweet_1_1API_1_1Statuses_1_1Status.html#a8b2e666ae6d3d6f7195f80c995f871c9',1,'CocoaTweet::API::Statuses::Status::Status(std::shared_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)']]] +]; diff --git a/help/html/search/mag_sel.png b/help/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..39c0ed52a25dd9d080ee0d42ae6c6042bdfa04d7 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!2%?$TA$hhDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~NU84L`?eGCi_EEpJ?t}-xGu`@87+QPtK?83kxQ`TapwHK(CDaqU2h2ejD|C#+j z9%q3^WHAE+w=f7ZGR&GI0Tg5}@$_|Nf5gMiEhFgvHvB$N=!mC_V~EE2vzPXI9ZnEo zd+1zHor@dYLod2Y{ z@R$7$Z!PXTbY$|@#T!bMzm?`b<(R`cbw(gxJHzu zB$lLFB^RXvDF!10LknF)BV7aY5JN*NBMU1-b8Q0yD+2>vd*|CI8glbfGSez?Ylunu RoetE%;OXk;vd$@?2>>CYplSdB literal 0 HcmV?d00001 diff --git a/help/html/search/namespaces_0.html b/help/html/search/namespaces_0.html new file mode 100644 index 0000000..76996d1 --- /dev/null +++ b/help/html/search/namespaces_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/namespaces_0.js b/help/html/search/namespaces_0.js new file mode 100644 index 0000000..24e3a04 --- /dev/null +++ b/help/html/search/namespaces_0.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['api_181',['API',['../namespaceCocoaTweet_1_1API.html',1,'CocoaTweet']]], + ['cocoatweet_182',['CocoaTweet',['../namespaceCocoaTweet.html',1,'']]], + ['directmessages_183',['DirectMessages',['../namespaceCocoaTweet_1_1API_1_1DirectMessages.html',1,'CocoaTweet::API']]], + ['exception_184',['Exception',['../namespaceCocoaTweet_1_1Exception.html',1,'CocoaTweet']]], + ['favorites_185',['Favorites',['../namespaceCocoaTweet_1_1API_1_1Favorites.html',1,'CocoaTweet::API']]], + ['interface_186',['Interface',['../namespaceCocoaTweet_1_1API_1_1Interface.html',1,'CocoaTweet::API']]], + ['medias_187',['Medias',['../namespaceCocoaTweet_1_1API_1_1Medias.html',1,'CocoaTweet::API']]], + ['model_188',['Model',['../namespaceCocoaTweet_1_1API_1_1Model.html',1,'CocoaTweet::API']]], + ['oauth_189',['OAuth',['../namespaceCocoaTweet_1_1OAuth.html',1,'CocoaTweet']]], + ['statuses_190',['Statuses',['../namespaceCocoaTweet_1_1API_1_1Statuses.html',1,'CocoaTweet::API']]], + ['util_191',['Util',['../namespaceCocoaTweet_1_1Util.html',1,'CocoaTweet']]] +]; diff --git a/help/html/search/namespaces_1.html b/help/html/search/namespaces_1.html new file mode 100644 index 0000000..c69e366 --- /dev/null +++ b/help/html/search/namespaces_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/namespaces_1.js b/help/html/search/namespaces_1.js new file mode 100644 index 0000000..8f043f9 --- /dev/null +++ b/help/html/search/namespaces_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['detail_1062',['detail',['../namespacenlohmann_1_1detail.html',1,'nlohmann']]], + ['dtoa_5fimpl_1063',['dtoa_impl',['../namespacenlohmann_1_1detail_1_1dtoa__impl.html',1,'nlohmann::detail']]], + ['nlohmann_1064',['nlohmann',['../namespacenlohmann.html',1,'']]] +]; diff --git a/help/html/search/namespaces_2.html b/help/html/search/namespaces_2.html new file mode 100644 index 0000000..aa97821 --- /dev/null +++ b/help/html/search/namespaces_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/namespaces_2.js b/help/html/search/namespaces_2.js new file mode 100644 index 0000000..15fc885 --- /dev/null +++ b/help/html/search/namespaces_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['std_1065',['std',['../namespacestd.html',1,'']]] +]; diff --git a/help/html/search/namespaces_3.html b/help/html/search/namespaces_3.html new file mode 100644 index 0000000..45ca599 --- /dev/null +++ b/help/html/search/namespaces_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/namespaces_3.js b/help/html/search/namespaces_3.js new file mode 100644 index 0000000..29bd6c8 --- /dev/null +++ b/help/html/search/namespaces_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['update_1066',['update',['../namespaceupdate.html',1,'']]] +]; diff --git a/help/html/search/nomatches.html b/help/html/search/nomatches.html new file mode 100644 index 0000000..4377320 --- /dev/null +++ b/help/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
      +
      No Matches
      +
      + + diff --git a/help/html/search/pages_0.html b/help/html/search/pages_0.html new file mode 100644 index 0000000..9a6a29a --- /dev/null +++ b/help/html/search/pages_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/pages_0.js b/help/html/search/pages_0.js new file mode 100644 index 0000000..737e08e --- /dev/null +++ b/help/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['readme_330',['README',['../md_README.html',1,'']]] +]; diff --git a/help/html/search/pages_1.html b/help/html/search/pages_1.html new file mode 100644 index 0000000..132ee03 --- /dev/null +++ b/help/html/search/pages_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/pages_1.js b/help/html/search/pages_1.js new file mode 100644 index 0000000..eeda4c6 --- /dev/null +++ b/help/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list_1845',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/help/html/search/pages_2.html b/help/html/search/pages_2.html new file mode 100644 index 0000000..6109d47 --- /dev/null +++ b/help/html/search/pages_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/pages_2.js b/help/html/search/pages_2.js new file mode 100644 index 0000000..782900e --- /dev/null +++ b/help/html/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['release_2dtracking_20repository_20for_20nlohmann_2fjson_1846',['Release-tracking repository for nlohmann/json',['../md_build__deps_json-src_README.html',1,'']]] +]; diff --git a/help/html/search/related_0.html b/help/html/search/related_0.html new file mode 100644 index 0000000..bbe15fa --- /dev/null +++ b/help/html/search/related_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_0.js b/help/html/search/related_0.js new file mode 100644 index 0000000..a61098c --- /dev/null +++ b/help/html/search/related_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['binary_5freader_1608',['binary_reader',['../classnlohmann_1_1basic__json.html#a3226693341c251507fec5d6f4fa5ce79',1,'nlohmann::basic_json']]], + ['binary_5fwriter_1609',['binary_writer',['../classnlohmann_1_1basic__json.html#a69d491bbda88ade6d3c7a2b11309e8bf',1,'nlohmann::basic_json']]], + ['iter_5fimpl_1610',['iter_impl',['../classnlohmann_1_1basic__json.html#a842e5c7ca096025c18b11e715d3401f4',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fcallback_5fparser_1611',['json_sax_dom_callback_parser',['../classnlohmann_1_1basic__json.html#a95574da8d12905ea99dc348934c837da',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fparser_1612',['json_sax_dom_parser',['../classnlohmann_1_1basic__json.html#a47aabb1eceae32e8a6e8e7f0ff34be60',1,'nlohmann::basic_json']]], + ['parser_1613',['parser',['../classnlohmann_1_1basic__json.html#ac8f3125911eb018ef4ab00d879487baf',1,'nlohmann::basic_json']]] +]; diff --git a/help/html/search/related_1.html b/help/html/search/related_1.html new file mode 100644 index 0000000..024707b --- /dev/null +++ b/help/html/search/related_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_1.js b/help/html/search/related_1.js new file mode 100644 index 0000000..b326e1c --- /dev/null +++ b/help/html/search/related_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['basic_5fjson_1614',['basic_json',['../classnlohmann_1_1json__pointer.html#a069a4f73a702f4c2bc0d14ca1565a7b0',1,'nlohmann::json_pointer']]] +]; diff --git a/help/html/search/related_2.html b/help/html/search/related_2.html new file mode 100644 index 0000000..b2390d4 --- /dev/null +++ b/help/html/search/related_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_2.js b/help/html/search/related_2.js new file mode 100644 index 0000000..46fd787 --- /dev/null +++ b/help/html/search/related_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['external_5fconstructor_1615',['external_constructor',['../classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c',1,'nlohmann::basic_json::external_constructor()'],['../classnlohmann_1_1basic__json.html#a3b6ff4868cdf4db1db051059046282de',1,'nlohmann::basic_json::external_constructor()']]] +]; diff --git a/help/html/search/related_3.html b/help/html/search/related_3.html new file mode 100644 index 0000000..4ebe764 --- /dev/null +++ b/help/html/search/related_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_3.js b/help/html/search/related_3.js new file mode 100644 index 0000000..c86e280 --- /dev/null +++ b/help/html/search/related_3.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['operator_21_3d_1616',['operator!=',['../classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::json_pointer::operator!=()'],['../classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#afefc38fc08bdb7a9a7474b5ab4a1140f',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#ab0e886db6e9fa91ff9fd853333fed05b',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::json_pointer::operator!=()'],['../classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#afefc38fc08bdb7a9a7474b5ab4a1140f',1,'nlohmann::basic_json::operator!=()'],['../classnlohmann_1_1basic__json.html#ab0e886db6e9fa91ff9fd853333fed05b',1,'nlohmann::basic_json::operator!=()']]], + ['operator_2b_1617',['operator+',['../classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175',1,'nlohmann::detail::iter_impl::operator+()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175',1,'nlohmann::detail::iter_impl::operator+()']]], + ['operator_2d_1618',['operator-',['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#a86a249e92a5274dec7ea20e52b0cc878',1,'nlohmann::detail::primitive_iterator_t::operator-()'],['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#a86a249e92a5274dec7ea20e52b0cc878',1,'nlohmann::detail::primitive_iterator_t::operator-()']]], + ['operator_2f_1619',['operator/',['../classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53',1,'nlohmann::json_pointer::operator/()'],['../classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f',1,'nlohmann::json_pointer::operator/()'],['../classnlohmann_1_1json__pointer.html#a9f6bc6f4d4668b4e9a19d8b8ac29da4f',1,'nlohmann::json_pointer::operator/()'],['../classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53',1,'nlohmann::json_pointer::operator/()'],['../classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f',1,'nlohmann::json_pointer::operator/()'],['../classnlohmann_1_1json__pointer.html#af5a4bc4f82113c271c9a0cd4d3b5f31c',1,'nlohmann::json_pointer::operator/()']]], + ['operator_3c_1620',['operator<',['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#a6b032074795534fe7144a4f1c86ead2f',1,'nlohmann::detail::primitive_iterator_t::operator<()'],['../classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1basic__json.html#a7999ee3a69a4979d92e98ab1e88c8759',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1basic__json.html#abed3e9b4ab75f5bcbd3cd20f5af5cdab',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#a6b032074795534fe7144a4f1c86ead2f',1,'nlohmann::detail::primitive_iterator_t::operator<()'],['../classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1basic__json.html#a7999ee3a69a4979d92e98ab1e88c8759',1,'nlohmann::basic_json::operator<()'],['../classnlohmann_1_1basic__json.html#abed3e9b4ab75f5bcbd3cd20f5af5cdab',1,'nlohmann::basic_json::operator<()']]], + ['operator_3c_3c_1621',['operator<<',['../classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()'],['../classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()']]], + ['operator_3c_3d_1622',['operator<=',['../classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json.html#a7e368211047f725f333696aefdf39ffd',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json.html#ad73f88f70fe5acfa521750a8cd710026',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json.html#a7e368211047f725f333696aefdf39ffd',1,'nlohmann::basic_json::operator<=()'],['../classnlohmann_1_1basic__json.html#ad73f88f70fe5acfa521750a8cd710026',1,'nlohmann::basic_json::operator<=()']]], + ['operator_3d_3d_1623',['operator==',['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#af58da4713ea9010912f3da6b22aeee51',1,'nlohmann::detail::primitive_iterator_t::operator==()'],['../classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::json_pointer::operator==()'],['../classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aba21440ea1aff44f718285ed7d6d20d9',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aef302e3ae215e46e5035d0e4fdf47235',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1detail_1_1primitive__iterator__t.html#af58da4713ea9010912f3da6b22aeee51',1,'nlohmann::detail::primitive_iterator_t::operator==()'],['../classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::json_pointer::operator==()'],['../classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aba21440ea1aff44f718285ed7d6d20d9',1,'nlohmann::basic_json::operator==()'],['../classnlohmann_1_1basic__json.html#aef302e3ae215e46e5035d0e4fdf47235',1,'nlohmann::basic_json::operator==()']]], + ['operator_3e_1624',['operator>',['../classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json.html#a412895af9a582869a4d369a64fb1b6d6',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json.html#a124c319566198d9f092c5bebea46ce77',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json.html#a412895af9a582869a4d369a64fb1b6d6',1,'nlohmann::basic_json::operator>()'],['../classnlohmann_1_1basic__json.html#a124c319566198d9f092c5bebea46ce77',1,'nlohmann::basic_json::operator>()']]], + ['operator_3e_3d_1625',['operator>=',['../classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json.html#a68e3a92b3d9be1faa05c92d096299189',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json.html#a5ee0e3e8afc7cbd932d6ed66418fa80a',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json.html#a68e3a92b3d9be1faa05c92d096299189',1,'nlohmann::basic_json::operator>=()'],['../classnlohmann_1_1basic__json.html#a5ee0e3e8afc7cbd932d6ed66418fa80a',1,'nlohmann::basic_json::operator>=()']]], + ['operator_3e_3e_1626',['operator>>',['../classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()'],['../classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()']]] +]; diff --git a/help/html/search/related_4.html b/help/html/search/related_4.html new file mode 100644 index 0000000..0190ee4 --- /dev/null +++ b/help/html/search/related_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_4.js b/help/html/search/related_4.js new file mode 100644 index 0000000..cf9b1b3 --- /dev/null +++ b/help/html/search/related_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['swap_1627',['swap',['../classnlohmann_1_1basic__json.html#aee0ae36cbfb0336832ebc0374c3c7679',1,'nlohmann::basic_json']]] +]; diff --git a/help/html/search/related_5.html b/help/html/search/related_5.html new file mode 100644 index 0000000..dac3a38 --- /dev/null +++ b/help/html/search/related_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/related_5.js b/help/html/search/related_5.js new file mode 100644 index 0000000..e8fe244 --- /dev/null +++ b/help/html/search/related_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wide_5fstring_5finput_5fhelper_1628',['wide_string_input_helper',['../classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221',1,'nlohmann::detail::iterator_input_adapter']]] +]; diff --git a/help/html/search/search.css b/help/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/help/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/help/html/search/search.js b/help/html/search/search.js new file mode 100644 index 0000000..a554ab9 --- /dev/null +++ b/help/html/search/search.js @@ -0,0 +1,814 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/help/html/search/search_r.png b/help/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/help/html/search/searchdata.js b/help/html/search/searchdata.js new file mode 100644 index 0000000..aa3ea13 --- /dev/null +++ b/help/html/search/searchdata.js @@ -0,0 +1,33 @@ +var indexSectionsWithContent = +{ + 0: "abcdefghijkmnoprstuvwz~", + 1: "acdefghkmnorstu", + 2: "c", + 3: "acdefghkmnorstu", + 4: "abcdefhijkmnoprstuvw~", + 5: "abcdefmnortuz", + 6: "r" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Classes", + 2: "Namespaces", + 3: "Files", + 4: "Functions", + 5: "Variables", + 6: "Pages" +}; + diff --git a/help/html/search/typedefs_0.html b/help/html/search/typedefs_0.html new file mode 100644 index 0000000..376db47 --- /dev/null +++ b/help/html/search/typedefs_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_0.js b/help/html/search/typedefs_0.js new file mode 100644 index 0000000..801ce79 --- /dev/null +++ b/help/html/search/typedefs_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['adapter_5ftype_1464',['adapter_type',['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a264935c57ca29dfb5153ade55266d1fa',1,'nlohmann::detail::iterator_input_adapter_factory::adapter_type()'],['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#ae9fc94b1b95c5d4afd1ab3f9ccb93c1a',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type()']]], + ['allocator_5ftype_1465',['allocator_type',['../classnlohmann_1_1basic__json.html#a69388a77648e83007af1295aaf350c0f',1,'nlohmann::basic_json::allocator_type()'],['../classnlohmann_1_1basic__json.html#a69388a77648e83007af1295aaf350c0f',1,'nlohmann::basic_json::allocator_type()']]], + ['array_5ft_1466',['array_t',['../classnlohmann_1_1basic__json.html#a69524b1f8f42c0a81b86cee3fc54e034',1,'nlohmann::basic_json::array_t()'],['../classnlohmann_1_1basic__json.html#a69524b1f8f42c0a81b86cee3fc54e034',1,'nlohmann::basic_json::array_t()']]] +]; diff --git a/help/html/search/typedefs_1.html b/help/html/search/typedefs_1.html new file mode 100644 index 0000000..9b8bf72 --- /dev/null +++ b/help/html/search/typedefs_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_1.js b/help/html/search/typedefs_1.js new file mode 100644 index 0000000..f950731 --- /dev/null +++ b/help/html/search/typedefs_1.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['base_5fadapter_5ftype_1467',['base_adapter_type',['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#afd0218fc0657b5e04ab81ccc9dcda03d',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >']]], + ['base_5fiterator_1468',['base_iterator',['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395',1,'nlohmann::detail::json_reverse_iterator::base_iterator()'],['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395',1,'nlohmann::detail::json_reverse_iterator::base_iterator()']]], + ['binary_5ffunction_5ft_1469',['binary_function_t',['../namespacenlohmann_1_1detail.html#a4948bef216c2594dae7921d9c4045455',1,'nlohmann::detail']]], + ['binary_5ft_1470',['binary_t',['../structnlohmann_1_1json__sax.html#a0ef406ba81eef08aadf4a9ef48d742bd',1,'nlohmann::json_sax::binary_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a188c267325965fdbe487ce68ab5496aa',1,'nlohmann::detail::json_sax_dom_parser::binary_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5af8493f830eeb1a79c69fc39ed54ef8',1,'nlohmann::detail::json_sax_dom_callback_parser::binary_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a56346d95ee4e539eaded2e6826fecf66',1,'nlohmann::detail::json_sax_acceptor::binary_t()'],['../classnlohmann_1_1basic__json.html#acbf51bc13484009ed204bd78a498355e',1,'nlohmann::basic_json::binary_t()']]], + ['boolean_5ffunction_5ft_1471',['boolean_function_t',['../namespacenlohmann_1_1detail.html#a45ec87326503b8884b664a9ef23a6c99',1,'nlohmann::detail']]], + ['boolean_5ft_1472',['boolean_t',['../classnlohmann_1_1basic__json.html#a8cc04e22d7ef18efd2d34bc04eb6a1b2',1,'nlohmann::basic_json::boolean_t()'],['../classnlohmann_1_1basic__json.html#a8cc04e22d7ef18efd2d34bc04eb6a1b2',1,'nlohmann::basic_json::boolean_t()']]] +]; diff --git a/help/html/search/typedefs_10.html b/help/html/search/typedefs_10.html new file mode 100644 index 0000000..bbfbcf0 --- /dev/null +++ b/help/html/search/typedefs_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_10.js b/help/html/search/typedefs_10.js new file mode 100644 index 0000000..93dae0f --- /dev/null +++ b/help/html/search/typedefs_10.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['to_5fjson_5ffunction_1547',['to_json_function',['../namespacenlohmann_1_1detail.html#af846b6cf2f926009ff3a7a61495ca383',1,'nlohmann::detail']]], + ['token_5ftype_1548',['token_type',['../classnlohmann_1_1detail_1_1lexer.html#a8107491251b16d94167fcd32ac4ff303',1,'nlohmann::detail::lexer']]], + ['type_1549',['type',['../structnlohmann_1_1detail_1_1index__sequence.html#a3c14c4ab277de72b166806193ff4fa10',1,'nlohmann::detail::index_sequence::type()'],['../structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4',1,'nlohmann::detail::make_void::type()'],['../structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce',1,'nlohmann::detail::detector::type()'],['../structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type()'],['../classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd',1,'std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type()'],['../structnlohmann_1_1detail_1_1index__sequence.html#a3c14c4ab277de72b166806193ff4fa10',1,'nlohmann::detail::index_sequence::type()'],['../structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4',1,'nlohmann::detail::make_void::type()'],['../structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce',1,'nlohmann::detail::detector::type()'],['../structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type()'],['../classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd',1,'std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type()']]], + ['type_5ferror_1550',['type_error',['../classnlohmann_1_1basic__json.html#a79473de577bb3f28ef0aa6e9f1571b52',1,'nlohmann::basic_json::type_error()'],['../classnlohmann_1_1basic__json.html#a79473de577bb3f28ef0aa6e9f1571b52',1,'nlohmann::basic_json::type_error()']]] +]; diff --git a/help/html/search/typedefs_11.html b/help/html/search/typedefs_11.html new file mode 100644 index 0000000..98de1ae --- /dev/null +++ b/help/html/search/typedefs_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_11.js b/help/html/search/typedefs_11.js new file mode 100644 index 0000000..751d698 --- /dev/null +++ b/help/html/search/typedefs_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uncvref_5ft_1551',['uncvref_t',['../namespacenlohmann_1_1detail.html#a53a082eedad9f4729fcd8fed552a21f7',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_12.html b/help/html/search/typedefs_12.html new file mode 100644 index 0000000..40ed347 --- /dev/null +++ b/help/html/search/typedefs_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_12.js b/help/html/search/typedefs_12.js new file mode 100644 index 0000000..4a1c9e7 --- /dev/null +++ b/help/html/search/typedefs_12.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['value_5ft_1552',['value_t',['../structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487',1,'nlohmann::detail::detector::value_t()'],['../structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t()'],['../classnlohmann_1_1basic__json.html#a4e43b685789a169bca7e69b3104c86d1',1,'nlohmann::basic_json::value_t()'],['../structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487',1,'nlohmann::detail::detector::value_t()'],['../structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t()'],['../classnlohmann_1_1basic__json.html#a4e43b685789a169bca7e69b3104c86d1',1,'nlohmann::basic_json::value_t()']]], + ['value_5ftype_1553',['value_type',['../structnlohmann_1_1detail_1_1index__sequence.html#a2eca43d08fc1eb68bd5fa75b6714d21d',1,'nlohmann::detail::index_sequence::value_type()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e',1,'nlohmann::detail::iteration_proxy_value::value_type()'],['../classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67',1,'nlohmann::detail::iter_impl::value_type()'],['../classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef',1,'nlohmann::detail::json_ref::value_type()'],['../classnlohmann_1_1basic__json.html#a3913219f58349e9be2cb8cc6ddfb3abf',1,'nlohmann::basic_json::value_type()'],['../structnlohmann_1_1detail_1_1index__sequence.html#a2eca43d08fc1eb68bd5fa75b6714d21d',1,'nlohmann::detail::index_sequence::value_type()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e',1,'nlohmann::detail::iteration_proxy_value::value_type()'],['../structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html#a830339a3ad86d82d32a67f9c180523b1',1,'nlohmann::detail::is_iterator_of_multibyte::value_type()'],['../classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67',1,'nlohmann::detail::iter_impl::value_type()'],['../classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef',1,'nlohmann::detail::json_ref::value_type()'],['../classnlohmann_1_1basic__json.html#a3913219f58349e9be2cb8cc6ddfb3abf',1,'nlohmann::basic_json::value_type()']]], + ['value_5ftype_5ft_1554',['value_type_t',['../namespacenlohmann_1_1detail.html#af91beae90c2fb0f931079b3d50a343bc',1,'nlohmann::detail']]], + ['void_5ft_1555',['void_t',['../namespacenlohmann_1_1detail.html#a92a167c49c6697b6ffe4f79492c705e5',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_2.html b/help/html/search/typedefs_2.html new file mode 100644 index 0000000..d18982f --- /dev/null +++ b/help/html/search/typedefs_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_2.js b/help/html/search/typedefs_2.js new file mode 100644 index 0000000..315c3d2 --- /dev/null +++ b/help/html/search/typedefs_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['cbor_5ftag_5fhandler_5ft_1473',['cbor_tag_handler_t',['../classnlohmann_1_1basic__json.html#a229d672056243afb8f97ccf1b9df6ff7',1,'nlohmann::basic_json']]], + ['char_5ftype_1474',['char_type',['../classnlohmann_1_1detail_1_1file__input__adapter.html#ac853c96c60f93dc97433dacd98179f35',1,'nlohmann::detail::file_input_adapter::char_type()'],['../classnlohmann_1_1detail_1_1input__stream__adapter.html#a72f0713587f6bb3f3fbaae7d34c0ca39',1,'nlohmann::detail::input_stream_adapter::char_type()'],['../classnlohmann_1_1detail_1_1iterator__input__adapter.html#a7cc60e68767005322ab4b692c9dff283',1,'nlohmann::detail::iterator_input_adapter::char_type()'],['../classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a23f9f805d22525294c8fccbea13309ac',1,'nlohmann::detail::wide_string_input_adapter::char_type()'],['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1439c0eda85f5f67199374d3254b8f2a',1,'nlohmann::detail::iterator_input_adapter_factory::char_type()'],['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aff521be1855964b6ec371eed2ca2590f',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type()']]], + ['compatiblelimits_1475',['CompatibleLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html#a002983b5c7c0f72b89d2151a6b39627d',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a24d97696ca33fba8096e452b1901a8e6',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits()']]], + ['const_5fiterator_1476',['const_iterator',['../classnlohmann_1_1basic__json.html#a7a09a580613f00c73015c19e5e7c44ba',1,'nlohmann::basic_json::const_iterator()'],['../classnlohmann_1_1basic__json.html#a7a09a580613f00c73015c19e5e7c44ba',1,'nlohmann::basic_json::const_iterator()']]], + ['const_5fpointer_1477',['const_pointer',['../classnlohmann_1_1basic__json.html#a2c77adc1436dd4c62960d2679e4befee',1,'nlohmann::basic_json::const_pointer()'],['../classnlohmann_1_1basic__json.html#a2c77adc1436dd4c62960d2679e4befee',1,'nlohmann::basic_json::const_pointer()']]], + ['const_5freference_1478',['const_reference',['../classnlohmann_1_1basic__json.html#ae83ab5539e404c901ab216aafc9dc6d9',1,'nlohmann::basic_json::const_reference()'],['../classnlohmann_1_1basic__json.html#ae83ab5539e404c901ab216aafc9dc6d9',1,'nlohmann::basic_json::const_reference()']]], + ['const_5freverse_5fiterator_1479',['const_reverse_iterator',['../classnlohmann_1_1basic__json.html#a59564ce7bf7dad8be7d4d8184be05d91',1,'nlohmann::basic_json::const_reverse_iterator()'],['../classnlohmann_1_1basic__json.html#a59564ce7bf7dad8be7d4d8184be05d91',1,'nlohmann::basic_json::const_reverse_iterator()']]], + ['container_1480',['Container',['../structnlohmann_1_1ordered__map.html#a0cabe346c38a4f1ab1b8a396fbd2bbe2',1,'nlohmann::ordered_map']]], + ['container_5ftype_1481',['container_type',['../classnlohmann_1_1byte__container__with__subtype.html#a4d27e8633c5a5e3b49dd4ccb06515713',1,'nlohmann::byte_container_with_subtype']]], + ['contiguous_5fbytes_5finput_5fadapter_1482',['contiguous_bytes_input_adapter',['../namespacenlohmann_1_1detail.html#abc51edd46a1d1a0ff06a19f08ceff563',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_3.html b/help/html/search/typedefs_3.html new file mode 100644 index 0000000..8941740 --- /dev/null +++ b/help/html/search/typedefs_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_3.js b/help/html/search/typedefs_3.js new file mode 100644 index 0000000..505b5dc --- /dev/null +++ b/help/html/search/typedefs_3.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['detected_5for_1483',['detected_or',['../namespacenlohmann_1_1detail.html#a240ce21919ab08e8a6cb3a5cfa412bce',1,'nlohmann::detail']]], + ['detected_5for_5ft_1484',['detected_or_t',['../namespacenlohmann_1_1detail.html#a7ac5b8ef0363101275a2827b3b117dcf',1,'nlohmann::detail']]], + ['detected_5ft_1485',['detected_t',['../namespacenlohmann_1_1detail.html#a37e97a32d0b94ce5f745427e4e40204d',1,'nlohmann::detail']]], + ['difference_5ftype_1486',['difference_type',['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2',1,'nlohmann::detail::iteration_proxy_value::difference_type()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840',1,'nlohmann::detail::iter_impl::difference_type()'],['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45',1,'nlohmann::detail::json_reverse_iterator::difference_type()'],['../classnlohmann_1_1basic__json.html#a9b7596a400a85e2dd7ab22f62df8a340',1,'nlohmann::basic_json::difference_type()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2',1,'nlohmann::detail::iteration_proxy_value::difference_type()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840',1,'nlohmann::detail::iter_impl::difference_type()'],['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45',1,'nlohmann::detail::json_reverse_iterator::difference_type()'],['../classnlohmann_1_1basic__json.html#a9b7596a400a85e2dd7ab22f62df8a340',1,'nlohmann::basic_json::difference_type()']]], + ['difference_5ftype_5ft_1487',['difference_type_t',['../namespacenlohmann_1_1detail.html#a3603b59a17d1c5e15050743b847992f2',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_4.html b/help/html/search/typedefs_4.html new file mode 100644 index 0000000..933bd3b --- /dev/null +++ b/help/html/search/typedefs_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_4.js b/help/html/search/typedefs_4.js new file mode 100644 index 0000000..365655d --- /dev/null +++ b/help/html/search/typedefs_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['enable_5fif_5ft_1488',['enable_if_t',['../namespacenlohmann_1_1detail.html#a02bcbc878bee413f25b985ada771aa9c',1,'nlohmann::detail']]], + ['end_5farray_5ffunction_5ft_1489',['end_array_function_t',['../namespacenlohmann_1_1detail.html#aec53c029383b34a72182210e58fadb79',1,'nlohmann::detail']]], + ['end_5fobject_5ffunction_5ft_1490',['end_object_function_t',['../namespacenlohmann_1_1detail.html#af52d6d2521c386998ae940d118182ebc',1,'nlohmann::detail']]], + ['error_5fhandler_5ft_1491',['error_handler_t',['../classnlohmann_1_1basic__json.html#a05b1719e15d24c47f4fce69888967d1e',1,'nlohmann::basic_json::error_handler_t()'],['../classnlohmann_1_1basic__json.html#a05b1719e15d24c47f4fce69888967d1e',1,'nlohmann::basic_json::error_handler_t()']]], + ['exception_1492',['exception',['../classnlohmann_1_1basic__json.html#ac00185487a16455dfdd53884f678040d',1,'nlohmann::basic_json::exception()'],['../classnlohmann_1_1basic__json.html#ac00185487a16455dfdd53884f678040d',1,'nlohmann::basic_json::exception()']]] +]; diff --git a/help/html/search/typedefs_5.html b/help/html/search/typedefs_5.html new file mode 100644 index 0000000..7712e6f --- /dev/null +++ b/help/html/search/typedefs_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_5.js b/help/html/search/typedefs_5.js new file mode 100644 index 0000000..042cca4 --- /dev/null +++ b/help/html/search/typedefs_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['from_5fjson_5ffunction_1493',['from_json_function',['../namespacenlohmann_1_1detail.html#a1711ee5cef66a0523055c8d9f024f322',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_6.html b/help/html/search/typedefs_6.html new file mode 100644 index 0000000..25aa6dd --- /dev/null +++ b/help/html/search/typedefs_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_6.js b/help/html/search/typedefs_6.js new file mode 100644 index 0000000..e8cb105 --- /dev/null +++ b/help/html/search/typedefs_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['get_5ftemplate_5ffunction_1494',['get_template_function',['../namespacenlohmann_1_1detail.html#ab4d22cdb6521ee3508db496dea66711e',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_7.html b/help/html/search/typedefs_7.html new file mode 100644 index 0000000..6cb2dde --- /dev/null +++ b/help/html/search/typedefs_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_7.js b/help/html/search/typedefs_7.js new file mode 100644 index 0000000..014b86d --- /dev/null +++ b/help/html/search/typedefs_7.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['index_5fsequence_5ffor_1495',['index_sequence_for',['../namespacenlohmann_1_1detail.html#a24800493c6ec02ce033dcbb47b7fd28e',1,'nlohmann::detail']]], + ['initializer_5flist_5ft_1496',['initializer_list_t',['../classnlohmann_1_1basic__json.html#ae8b2251872b6a3a9b04147d2ffa5a839',1,'nlohmann::basic_json::initializer_list_t()'],['../classnlohmann_1_1basic__json.html#ae8b2251872b6a3a9b04147d2ffa5a839',1,'nlohmann::basic_json::initializer_list_t()']]], + ['input_5fadapter_5ft_1497',['input_adapter_t',['../namespacenlohmann_1_1detail.html#ae132f8cd5bb24c5e9b40ad0eafedf1c2',1,'nlohmann::detail']]], + ['input_5fformat_5ft_1498',['input_format_t',['../classnlohmann_1_1basic__json.html#a6cefa2384f912265e090f7a34c99703d',1,'nlohmann::basic_json::input_format_t()'],['../classnlohmann_1_1basic__json.html#a6cefa2384f912265e090f7a34c99703d',1,'nlohmann::basic_json::input_format_t()']]], + ['invalid_5fiterator_1499',['invalid_iterator',['../classnlohmann_1_1basic__json.html#a5e6b5db267db5a283e770296f9e410a0',1,'nlohmann::basic_json::invalid_iterator()'],['../classnlohmann_1_1basic__json.html#a5e6b5db267db5a283e770296f9e410a0',1,'nlohmann::basic_json::invalid_iterator()']]], + ['is_5fdetected_1500',['is_detected',['../namespacenlohmann_1_1detail.html#a9135fcf616d6ac6e231a86e0a055ac44',1,'nlohmann::detail']]], + ['is_5fdetected_5fconvertible_1501',['is_detected_convertible',['../namespacenlohmann_1_1detail.html#a5262e531c46e357b33007060f294673b',1,'nlohmann::detail']]], + ['is_5fdetected_5fexact_1502',['is_detected_exact',['../namespacenlohmann_1_1detail.html#a7542b4dbac07817fd4849ecfa4619def',1,'nlohmann::detail']]], + ['iterator_1503',['iterator',['../classnlohmann_1_1basic__json.html#aa3ab6c99db6584c47624c29037f9f14d',1,'nlohmann::basic_json::iterator()'],['../classnlohmann_1_1basic__json.html#aa3ab6c99db6584c47624c29037f9f14d',1,'nlohmann::basic_json::iterator()']]], + ['iterator_5fcategory_1504',['iterator_category',['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf',1,'nlohmann::detail::iteration_proxy_value::iterator_category()'],['../classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106',1,'nlohmann::detail::iter_impl::iterator_category()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf',1,'nlohmann::detail::iteration_proxy_value::iterator_category()'],['../classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106',1,'nlohmann::detail::iter_impl::iterator_category()']]], + ['iterator_5fcategory_5ft_1505',['iterator_category_t',['../namespacenlohmann_1_1detail.html#ad22d2aa3aab018050ae519f6754366e1',1,'nlohmann::detail']]], + ['iterator_5ft_1506',['iterator_t',['../namespacenlohmann_1_1detail.html#a9ff93db146174305bce1bc4c54703e11',1,'nlohmann::detail']]], + ['iterator_5ftype_1507',['iterator_type',['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a37663ca283012236415d53145da1a0f9',1,'nlohmann::detail::iterator_input_adapter_factory::iterator_type()'],['../structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#a1c42a47cd6cd71146cf2851d76165610',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type()']]] +]; diff --git a/help/html/search/typedefs_8.html b/help/html/search/typedefs_8.html new file mode 100644 index 0000000..52ab5aa --- /dev/null +++ b/help/html/search/typedefs_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_8.js b/help/html/search/typedefs_8.js new file mode 100644 index 0000000..b65ffd0 --- /dev/null +++ b/help/html/search/typedefs_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['json_1508',['json',['../namespacenlohmann.html#a9cc9a3033850a092f791d86854d117fc',1,'nlohmann']]], + ['json_5fpointer_1509',['json_pointer',['../classnlohmann_1_1basic__json.html#a352187a5ebf3cde865be1b833c18f208',1,'nlohmann::basic_json::json_pointer()'],['../classnlohmann_1_1basic__json.html#a352187a5ebf3cde865be1b833c18f208',1,'nlohmann::basic_json::json_pointer()']]], + ['json_5fsax_5ft_1510',['json_sax_t',['../classnlohmann_1_1basic__json.html#af229d341abc5e2525a8ca4dc247533e1',1,'nlohmann::basic_json::json_sax_t()'],['../classnlohmann_1_1basic__json.html#af229d341abc5e2525a8ca4dc247533e1',1,'nlohmann::basic_json::json_sax_t()']]], + ['json_5fserializer_1511',['json_serializer',['../classnlohmann_1_1basic__json.html#ac81dd868670cb7d0d895426aacf0e06a',1,'nlohmann::basic_json::json_serializer()'],['../classnlohmann_1_1basic__json.html#ac81dd868670cb7d0d895426aacf0e06a',1,'nlohmann::basic_json::json_serializer()']]] +]; diff --git a/help/html/search/typedefs_9.html b/help/html/search/typedefs_9.html new file mode 100644 index 0000000..7b6dd85 --- /dev/null +++ b/help/html/search/typedefs_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_9.js b/help/html/search/typedefs_9.js new file mode 100644 index 0000000..2a8be62 --- /dev/null +++ b/help/html/search/typedefs_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['key_5ffunction_5ft_1512',['key_function_t',['../namespacenlohmann_1_1detail.html#a44869ca9f422b260625d78e4e8121559',1,'nlohmann::detail']]], + ['key_5ftype_1513',['key_type',['../structnlohmann_1_1ordered__map.html#a57095c6ed403f02e1bc2c240a13c9ed8',1,'nlohmann::ordered_map']]], + ['key_5ftype_5ft_1514',['key_type_t',['../namespacenlohmann_1_1detail.html#a66dfe39f03b05d6b7265a0ff748d64ef',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_a.html b/help/html/search/typedefs_a.html new file mode 100644 index 0000000..ba5e668 --- /dev/null +++ b/help/html/search/typedefs_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_a.js b/help/html/search/typedefs_a.js new file mode 100644 index 0000000..11e0b1b --- /dev/null +++ b/help/html/search/typedefs_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['mapped_5ftype_1515',['mapped_type',['../structnlohmann_1_1ordered__map.html#a1c9c1509ee714a9814b45a8030c84ec7',1,'nlohmann::ordered_map']]], + ['mapped_5ftype_5ft_1516',['mapped_type_t',['../namespacenlohmann_1_1detail.html#a9c1795c148875722f8482d39e0eb9364',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_b.html b/help/html/search/typedefs_b.html new file mode 100644 index 0000000..9b59855 --- /dev/null +++ b/help/html/search/typedefs_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_b.js b/help/html/search/typedefs_b.js new file mode 100644 index 0000000..6a07064 --- /dev/null +++ b/help/html/search/typedefs_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['null_5ffunction_5ft_1517',['null_function_t',['../namespacenlohmann_1_1detail.html#ac1b4e524746bf8b790b2b776048b93c4',1,'nlohmann::detail']]], + ['number_5ffloat_5ffunction_5ft_1518',['number_float_function_t',['../namespacenlohmann_1_1detail.html#ad42df56e913abe26ed556e0e92f386f4',1,'nlohmann::detail']]], + ['number_5ffloat_5ft_1519',['number_float_t',['../structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20',1,'nlohmann::json_sax::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe',1,'nlohmann::detail::json_sax_dom_parser::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4',1,'nlohmann::detail::json_sax_acceptor::number_float_t()'],['../classnlohmann_1_1basic__json.html#ade1eb06e9fc3ff2ba1efd709b94b401d',1,'nlohmann::basic_json::number_float_t()'],['../structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20',1,'nlohmann::json_sax::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe',1,'nlohmann::detail::json_sax_dom_parser::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4',1,'nlohmann::detail::json_sax_acceptor::number_float_t()'],['../classnlohmann_1_1basic__json.html#ade1eb06e9fc3ff2ba1efd709b94b401d',1,'nlohmann::basic_json::number_float_t()']]], + ['number_5finteger_5ffunction_5ft_1520',['number_integer_function_t',['../namespacenlohmann_1_1detail.html#a4a3e14a011b9ea1ff849fc6d2411e6a0',1,'nlohmann::detail']]], + ['number_5finteger_5ft_1521',['number_integer_t',['../structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa',1,'nlohmann::json_sax::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e',1,'nlohmann::detail::json_sax_dom_parser::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8',1,'nlohmann::detail::json_sax_acceptor::number_integer_t()'],['../classnlohmann_1_1basic__json.html#ab227d71ad47b6ed6a3acae52dedbb49d',1,'nlohmann::basic_json::number_integer_t()'],['../structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa',1,'nlohmann::json_sax::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e',1,'nlohmann::detail::json_sax_dom_parser::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8',1,'nlohmann::detail::json_sax_acceptor::number_integer_t()'],['../classnlohmann_1_1basic__json.html#ab227d71ad47b6ed6a3acae52dedbb49d',1,'nlohmann::basic_json::number_integer_t()']]], + ['number_5funsigned_5ffunction_5ft_1522',['number_unsigned_function_t',['../namespacenlohmann_1_1detail.html#a74da7b17bda76f65d276feb18209c913',1,'nlohmann::detail']]], + ['number_5funsigned_5ft_1523',['number_unsigned_t',['../structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856',1,'nlohmann::json_sax::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043',1,'nlohmann::detail::json_sax_acceptor::number_unsigned_t()'],['../classnlohmann_1_1basic__json.html#a440094de5ef4e119b2771b549b33da70',1,'nlohmann::basic_json::number_unsigned_t()'],['../structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856',1,'nlohmann::json_sax::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043',1,'nlohmann::detail::json_sax_acceptor::number_unsigned_t()'],['../classnlohmann_1_1basic__json.html#a440094de5ef4e119b2771b549b33da70',1,'nlohmann::basic_json::number_unsigned_t()']]] +]; diff --git a/help/html/search/typedefs_c.html b/help/html/search/typedefs_c.html new file mode 100644 index 0000000..1924d70 --- /dev/null +++ b/help/html/search/typedefs_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_c.js b/help/html/search/typedefs_c.js new file mode 100644 index 0000000..6a04c48 --- /dev/null +++ b/help/html/search/typedefs_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['object_5fcomparator_5ft_1524',['object_comparator_t',['../classnlohmann_1_1basic__json.html#af17b737bac7ddaa05c1b6205b1e025c6',1,'nlohmann::basic_json::object_comparator_t()'],['../classnlohmann_1_1basic__json.html#af17b737bac7ddaa05c1b6205b1e025c6',1,'nlohmann::basic_json::object_comparator_t()']]], + ['object_5ft_1525',['object_t',['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html#a551e9ee372c1b24b632e6b668c231a62',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >::object_t()'],['../structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html#a6f458a63276ef62d60f4b93de03aa020',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t()'],['../classnlohmann_1_1basic__json.html#a949272bf6af5eb8eab9675505422f5b3',1,'nlohmann::basic_json::object_t()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#ab019855b17c1a0cb16fda6731f338afc',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t()'],['../structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#ae335fdc59d1b0d79e52a808b71b11c67',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t()'],['../classnlohmann_1_1basic__json.html#a949272bf6af5eb8eab9675505422f5b3',1,'nlohmann::basic_json::object_t()']]], + ['ordered_5fjson_1526',['ordered_json',['../namespacenlohmann.html#ad53cef358adfa7f07cea23eb1e28b9ea',1,'nlohmann']]], + ['other_5ferror_1527',['other_error',['../classnlohmann_1_1basic__json.html#a48d5c5750a7f3164653bd8d3e1e8c893',1,'nlohmann::basic_json::other_error()'],['../classnlohmann_1_1basic__json.html#a48d5c5750a7f3164653bd8d3e1e8c893',1,'nlohmann::basic_json::other_error()']]], + ['out_5fof_5frange_1528',['out_of_range',['../classnlohmann_1_1basic__json.html#a2e8fc803a09152f3174470ea2375b383',1,'nlohmann::basic_json::out_of_range()'],['../classnlohmann_1_1basic__json.html#a2e8fc803a09152f3174470ea2375b383',1,'nlohmann::basic_json::out_of_range()']]], + ['output_5fadapter_5ft_1529',['output_adapter_t',['../namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_d.html b/help/html/search/typedefs_d.html new file mode 100644 index 0000000..1b48087 --- /dev/null +++ b/help/html/search/typedefs_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_d.js b/help/html/search/typedefs_d.js new file mode 100644 index 0000000..9d7637e --- /dev/null +++ b/help/html/search/typedefs_d.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['parse_5ferror_1530',['parse_error',['../classnlohmann_1_1basic__json.html#a3b1a24eaf07f81ee9cbf01e29cf8fb59',1,'nlohmann::basic_json::parse_error()'],['../classnlohmann_1_1basic__json.html#a3b1a24eaf07f81ee9cbf01e29cf8fb59',1,'nlohmann::basic_json::parse_error()']]], + ['parse_5ferror_5ffunction_5ft_1531',['parse_error_function_t',['../namespacenlohmann_1_1detail.html#a264d4d58bc1fd82bcc7bf6bf73d6acad',1,'nlohmann::detail']]], + ['parse_5fevent_5ft_1532',['parse_event_t',['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_event_t()'],['../classnlohmann_1_1basic__json.html#a4a4d5958eb47ab75530a3d5c68f6b88f',1,'nlohmann::basic_json::parse_event_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_event_t()'],['../classnlohmann_1_1basic__json.html#a5d8fbc60f29db1c02fa8ce0828fcdc1d',1,'nlohmann::basic_json::parse_event_t()']]], + ['parser_5fcallback_5ft_1533',['parser_callback_t',['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce',1,'nlohmann::detail::json_sax_dom_callback_parser::parser_callback_t()'],['../classnlohmann_1_1detail_1_1parser.html#ad250ad4f2b4af4a497e727c963162ff1',1,'nlohmann::detail::parser::parser_callback_t()'],['../classnlohmann_1_1basic__json.html#a678b77584754c6fe7d957d0c7cfee999',1,'nlohmann::basic_json::parser_callback_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce',1,'nlohmann::detail::json_sax_dom_callback_parser::parser_callback_t()'],['../classnlohmann_1_1basic__json.html#a87cd77e74fd386d93f26ad04bd01b6a5',1,'nlohmann::basic_json::parser_callback_t()'],['../namespacenlohmann_1_1detail.html#a9980144ad77e50ae944d1fe797ceec08',1,'nlohmann::detail::parser_callback_t()']]], + ['pointer_1534',['pointer',['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b',1,'nlohmann::detail::iteration_proxy_value::pointer()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360',1,'nlohmann::detail::iter_impl::pointer()'],['../classnlohmann_1_1basic__json.html#a4ac83a20750a2bfacbf9d30f3e51c3bb',1,'nlohmann::basic_json::pointer()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b',1,'nlohmann::detail::iteration_proxy_value::pointer()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360',1,'nlohmann::detail::iter_impl::pointer()'],['../classnlohmann_1_1basic__json.html#a4ac83a20750a2bfacbf9d30f3e51c3bb',1,'nlohmann::basic_json::pointer()']]], + ['pointer_5ft_1535',['pointer_t',['../namespacenlohmann_1_1detail.html#a26dc71e2dd9336587e56062178f9abce',1,'nlohmann::detail']]] +]; diff --git a/help/html/search/typedefs_e.html b/help/html/search/typedefs_e.html new file mode 100644 index 0000000..fed948d --- /dev/null +++ b/help/html/search/typedefs_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_e.js b/help/html/search/typedefs_e.js new file mode 100644 index 0000000..c3bb4a7 --- /dev/null +++ b/help/html/search/typedefs_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['reallimits_1536',['RealLimits',['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html#a0e9f2586c4de25750563770c9388ab9f',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#ab267aabfe36c5b9c305c5e5faf06ea36',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits()']]], + ['reference_1537',['reference',['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8',1,'nlohmann::detail::iteration_proxy_value::reference()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce',1,'nlohmann::detail::iter_impl::reference()'],['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1',1,'nlohmann::detail::json_reverse_iterator::reference()'],['../classnlohmann_1_1basic__json.html#af11372ea846fedea8b2098dba7323831',1,'nlohmann::basic_json::reference()'],['../structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference()'],['../structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8',1,'nlohmann::detail::iteration_proxy_value::reference()'],['../classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce',1,'nlohmann::detail::iter_impl::reference()'],['../classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1',1,'nlohmann::detail::json_reverse_iterator::reference()'],['../classnlohmann_1_1basic__json.html#af11372ea846fedea8b2098dba7323831',1,'nlohmann::basic_json::reference()']]], + ['reference_5ft_1538',['reference_t',['../namespacenlohmann_1_1detail.html#a082bdafd3b4c61d9d1e92b35b8f75ee3',1,'nlohmann::detail']]], + ['reverse_5fiterator_1539',['reverse_iterator',['../classnlohmann_1_1basic__json.html#a0d2df32b8689b776dd3b0865f1362f40',1,'nlohmann::basic_json::reverse_iterator()'],['../classnlohmann_1_1basic__json.html#a0d2df32b8689b776dd3b0865f1362f40',1,'nlohmann::basic_json::reverse_iterator()']]] +]; diff --git a/help/html/search/typedefs_f.html b/help/html/search/typedefs_f.html new file mode 100644 index 0000000..fe33f52 --- /dev/null +++ b/help/html/search/typedefs_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/typedefs_f.js b/help/html/search/typedefs_f.js new file mode 100644 index 0000000..a243768 --- /dev/null +++ b/help/html/search/typedefs_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['serializer_1540',['serializer',['../structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html#ab17cea1be422b8985fc19942809560ed',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html#a610272ed924122e0c46d158ecdfe6faf',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer()'],['../structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html#a479098e9480e0adb30fb3fe3586a8005',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer()'],['../structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#ac0718a48961f28e32604e1b16c6f2e8d',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a4bcee5e52902d3011df08cf0233e5e10',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a7af8dd95a01e7ca32f10075c9934b107',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()']]], + ['size_5ftype_1541',['size_type',['../classnlohmann_1_1basic__json.html#a9eaf1dcc25d6e7bd204f72877cef254b',1,'nlohmann::basic_json::size_type()'],['../classnlohmann_1_1basic__json.html#a9eaf1dcc25d6e7bd204f72877cef254b',1,'nlohmann::basic_json::size_type()']]], + ['start_5farray_5ffunction_5ft_1542',['start_array_function_t',['../namespacenlohmann_1_1detail.html#a80273cecc45765d7b2826ec931fbffdd',1,'nlohmann::detail']]], + ['start_5fobject_5ffunction_5ft_1543',['start_object_function_t',['../namespacenlohmann_1_1detail.html#a5fff1e6dcaabd367d9b1109a5682f9d4',1,'nlohmann::detail']]], + ['string_5ffunction_5ft_1544',['string_function_t',['../namespacenlohmann_1_1detail.html#a27c3fc3bd42ac406f763184aa8ae4cb0',1,'nlohmann::detail']]], + ['string_5ft_1545',['string_t',['../structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e',1,'nlohmann::json_sax::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc',1,'nlohmann::detail::json_sax_dom_parser::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc',1,'nlohmann::detail::json_sax_dom_callback_parser::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a',1,'nlohmann::detail::json_sax_acceptor::string_t()'],['../classnlohmann_1_1basic__json.html#a561057a2cc70397ad0ab890745d1d7c7',1,'nlohmann::basic_json::string_t()'],['../structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e',1,'nlohmann::json_sax::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc',1,'nlohmann::detail::json_sax_dom_parser::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc',1,'nlohmann::detail::json_sax_dom_callback_parser::string_t()'],['../classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a',1,'nlohmann::detail::json_sax_acceptor::string_t()'],['../classnlohmann_1_1basic__json.html#a561057a2cc70397ad0ab890745d1d7c7',1,'nlohmann::basic_json::string_t()']]], + ['string_5ftype_1546',['string_type',['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6',1,'nlohmann::detail::iteration_proxy_value::string_type()'],['../classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6',1,'nlohmann::detail::iteration_proxy_value::string_type()']]] +]; diff --git a/help/html/search/variables_0.html b/help/html/search/variables_0.html new file mode 100644 index 0000000..bf3eba5 --- /dev/null +++ b/help/html/search/variables_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_0.js b/help/html/search/variables_0.js new file mode 100644 index 0000000..51f12f4 --- /dev/null +++ b/help/html/search/variables_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['attachmenturl_312',['attachmentUrl',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a789c4e2479c44c8e4fc56af449abe6e1',1,'CocoaTweet::API::Statuses::Status::Options']]], + ['autopopulatereplymetadata_313',['autoPopulateReplyMetaData',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a83f948512ee31537afa9e3c0112a9640',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_1.html b/help/html/search/variables_1.html new file mode 100644 index 0000000..49fe59a --- /dev/null +++ b/help/html/search/variables_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_1.js b/help/html/search/variables_1.js new file mode 100644 index 0000000..a2c162b --- /dev/null +++ b/help/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bodyparam_5f_314',['bodyParam_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a7c543dfa69524004df9e0fdcaa610313',1,'CocoaTweet::API::Interface::HttpBase']]] +]; diff --git a/help/html/search/variables_10.html b/help/html/search/variables_10.html new file mode 100644 index 0000000..92982ac --- /dev/null +++ b/help/html/search/variables_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_10.js b/help/html/search/variables_10.js new file mode 100644 index 0000000..0f7ae9d --- /dev/null +++ b/help/html/search/variables_10.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['pc_5fcurl_5fstatic_5fldflags_5fother_1442',['PC_CURL_STATIC_LDFLAGS_OTHER',['../CMakeCache_8txt.html#ae8f3a758c2659887457867b81576121c',1,'CMakeCache.txt']]], + ['pc_5fcurl_5fstatic_5flibdir_1443',['PC_CURL_STATIC_LIBDIR',['../CMakeCache_8txt.html#adecc9734e7e753e0e7566fdf8f2a7536',1,'CMakeCache.txt']]], + ['pc_5fcurl_5fstatic_5flibrary_5fdirs_1444',['PC_CURL_STATIC_LIBRARY_DIRS',['../CMakeCache_8txt.html#a55da53f5975196488f1e9d80a5472f87',1,'CMakeCache.txt']]], + ['plus_1445',['plus',['../structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#a3321ae2816a6ec5250a0d8e29f798232',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['primitive_5fiterator_1446',['primitive_iterator',['../structnlohmann_1_1detail_1_1internal__iterator.html#a2b3bb45f968210e42c282017eeeb63a8',1,'nlohmann::detail::internal_iterator']]], + ['process_1447',['process',['../namespaceupdate.html#a710e35d158d724f4876c57e053c8bc59',1,'update']]], + ['psl_1448',['psl',['../CMakeCache_8txt.html#ad449267e94b2d832e9ad096c56501cb1',1,'psl(): CMakeCache.txt'],['../CMakeCache_8txt.html#ade898837857cc56d460d72e910377ab9',1,'PSL(): CMakeCache.txt']]] +]; diff --git a/help/html/search/variables_11.html b/help/html/search/variables_11.html new file mode 100644 index 0000000..94f1a8c --- /dev/null +++ b/help/html/search/variables_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_11.js b/help/html/search/variables_11.js new file mode 100644 index 0000000..71c05c6 --- /dev/null +++ b/help/html/search/variables_11.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['release_5furl_5fmap_1449',['release_url_map',['../namespaceupdate.html#a804bde1b41351694c87f1fab13996804',1,'update']]], + ['releases_1450',['releases',['../namespaceupdate.html#a46f1ee5c71e332f7b74ad63b4747e8b0',1,'update']]], + ['relro_1451',['relro',['../CMakeCache_8txt.html#ac4b1996a97fb871e246369489329f88d',1,'CMakeCache.txt']]], + ['rtmp_1452',['rtmp',['../CMakeCache_8txt.html#aad43116d29f4ccf0536b42799f5078ed',1,'CMakeCache.txt']]] +]; diff --git a/help/html/search/variables_12.html b/help/html/search/variables_12.html new file mode 100644 index 0000000..61c013a --- /dev/null +++ b/help/html/search/variables_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_12.js b/help/html/search/variables_12.js new file mode 100644 index 0000000..b78dfd1 --- /dev/null +++ b/help/html/search/variables_12.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['spnego_1453',['SPNEGO',['../CMakeCache_8txt.html#a85b5f853e9a23c510897ec6bab24f969',1,'CMakeCache.txt']]], + ['srp_1454',['SRP',['../CMakeCache_8txt.html#a260c65e0836df5a36d626d48aba37001',1,'CMakeCache.txt']]], + ['ssh_1455',['ssh',['../CMakeCache_8txt.html#abf14e1b1d509c2bf908eb0cf8414144a',1,'CMakeCache.txt']]], + ['ssl_1456',['ssl',['../CMakeCache_8txt.html#abb1c2a54408d504d582d683faa4cb0ce',1,'CMakeCache.txt']]] +]; diff --git a/help/html/search/variables_13.html b/help/html/search/variables_13.html new file mode 100644 index 0000000..87b7ca6 --- /dev/null +++ b/help/html/search/variables_13.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_13.js b/help/html/search/variables_13.js new file mode 100644 index 0000000..c727e9f --- /dev/null +++ b/help/html/search/variables_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tags_1457',['tags',['../namespaceupdate.html#ae0d567f2ca0123a75e28869892569812',1,'update']]] +]; diff --git a/help/html/search/variables_14.html b/help/html/search/variables_14.html new file mode 100644 index 0000000..874fe59 --- /dev/null +++ b/help/html/search/variables_14.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_14.js b/help/html/search/variables_14.js new file mode 100644 index 0000000..82eb863 --- /dev/null +++ b/help/html/search/variables_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unixsockets_1458',['UnixSockets',['../CMakeCache_8txt.html#a4351b985e81a9678fdf06faa6da97253',1,'CMakeCache.txt']]], + ['url_5f_1459',['url_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html#aa3b3ddd1983cdf5aef8c938675b00674',1,'CocoaTweet::API::Interface::HttpPost']]] +]; diff --git a/help/html/search/variables_15.html b/help/html/search/variables_15.html new file mode 100644 index 0000000..3ca8799 --- /dev/null +++ b/help/html/search/variables_15.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_15.js b/help/html/search/variables_15.js new file mode 100644 index 0000000..f68b27c --- /dev/null +++ b/help/html/search/variables_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_1460',['value',['../structnlohmann_1_1detail_1_1static__const.html#a6bb7ab2ddd6abc41fb4ffb7c6dfa237e',1,'nlohmann::detail::static_const::value()'],['../structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html#afb638d592883301228bcad21d83bf4aa',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html#a1494ac5fed1163aab4a89208ff04ee85',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html#ac5e2f95bd9fa54c6ea870e923e395b63',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#af3347bcc8271a93cace2f976727d6828',1,'nlohmann::detail::is_iterator_traits< iterator_traits< T > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html#adc8188ae8d65e8175d961cd461a8ee43',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html#a7c1801a302b938e3176435b6451962e4',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html#af5d2561b531334269754ccc8a48dca89',1,'nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html#a333e92411ae32f5bc835ef27f89645db',1,'nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html#aa9bdf31f85ac3ee17180a008f1cb81f7',1,'nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcb751ba39e14100ed41966800a3fcf4db.html#a39e2baa94bee9c7abed5e3cada4bf184',1,'nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html#a478242daac7a70e28c749bfec00d1c1b',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html#ace501639ecbf41a3d2bc4d02e19f6934',1,'nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__sax.html#aaa7499d9b0fafd305acf1ef5c0d7f8d4',1,'nlohmann::detail::is_sax::value()'],['../structnlohmann_1_1detail_1_1is__getable.html#a2150b5b5398683147928a61c99cd0070',1,'nlohmann::detail::is_getable::value()'],['../structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#a4d1c8c5e3080360d4ba3d4701b00d442',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a5d5bc2b9f1c107696d64d92cf6b5d0d7',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a25600efc3dbab20cebe1a90f97505d6a',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#a74b723d759119148c44a5e0899956a72',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#a50418a0a88d63afbf7246af49f3e554c',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html#ab4a4e921f0676b2e25d1031ca486ddee',1,'nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcdcf7abcf4e7a13cd758bad3819c3d6fc.html#a17212ea9da3aeac586dbff33293d2f96',1,'nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value()'],['../structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a8fd20d5e7d65d14b4e9f4ee181a3aded',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value()']]] +]; diff --git a/help/html/search/variables_16.html b/help/html/search/variables_16.html new file mode 100644 index 0000000..2b5a433 --- /dev/null +++ b/help/html/search/variables_16.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_16.js b/help/html/search/variables_16.js new file mode 100644 index 0000000..27b4501 --- /dev/null +++ b/help/html/search/variables_16.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['w_1461',['w',['../structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['wl_1462',['Wl',['../CMakeCache_8txt.html#a91a5fba9ebc62bef7682b670bb7da857',1,'CMakeCache.txt']]] +]; diff --git a/help/html/search/variables_17.html b/help/html/search/variables_17.html new file mode 100644 index 0000000..16914b7 --- /dev/null +++ b/help/html/search/variables_17.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_17.js b/help/html/search/variables_17.js new file mode 100644 index 0000000..b9a88fc --- /dev/null +++ b/help/html/search/variables_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_1463',['z',['../CMakeCache_8txt.html#a25ed1bcb423b0b7200f485fc5ff71c8e',1,'z(): CMakeCache.txt'],['../CMakeLists_8txt.html#a976e76516b81c3e0f6f677d39beb977c',1,'z(): CMakeLists.txt']]] +]; diff --git a/help/html/search/variables_2.html b/help/html/search/variables_2.html new file mode 100644 index 0000000..0c8a18c --- /dev/null +++ b/help/html/search/variables_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_2.js b/help/html/search/variables_2.js new file mode 100644 index 0000000..0157157 --- /dev/null +++ b/help/html/search/variables_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['common_315',['common',['../CMakeLists_8txt.html#ab073f774aac3d0d478f24fc923c505d5',1,'CMakeLists.txt']]], + ['contenttype_5f_316',['contentType_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#aa80a8d2b339e3eed6f9e031518f8193b',1,'CocoaTweet::API::Interface::HttpBase']]], + ['coord_317',['coord',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#ab24c15ece20c3aef129d2924fb21b3d0',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_3.html b/help/html/search/variables_3.html new file mode 100644 index 0000000..19a31fc --- /dev/null +++ b/help/html/search/variables_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_3.js b/help/html/search/variables_3.js new file mode 100644 index 0000000..7968a59 --- /dev/null +++ b/help/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['displaycoord_318',['displayCoord',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a388f9bed352d912db4ec44f8d8b794e8',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_4.html b/help/html/search/variables_4.html new file mode 100644 index 0000000..bdc37be --- /dev/null +++ b/help/html/search/variables_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_4.js b/help/html/search/variables_4.js new file mode 100644 index 0000000..ac7e13b --- /dev/null +++ b/help/html/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['enabledmcommands_319',['enableDMCommands',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a3ca1dc7e59fd95384fdb602d262eea07',1,'CocoaTweet::API::Statuses::Status::Options']]], + ['excludereplyuserid_320',['excludeReplyUserId',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a643d2eb27a56746b7c27cdc89cbf8b35',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_5.html b/help/html/search/variables_5.html new file mode 100644 index 0000000..6aa2249 --- /dev/null +++ b/help/html/search/variables_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_5.js b/help/html/search/variables_5.js new file mode 100644 index 0000000..fc7118f --- /dev/null +++ b/help/html/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['faildmcommands_321',['failDMCommands',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a793d031d5b6050a4a059d6abdc55fe80',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_6.html b/help/html/search/variables_6.html new file mode 100644 index 0000000..ce4a906 --- /dev/null +++ b/help/html/search/variables_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_6.js b/help/html/search/variables_6.js new file mode 100644 index 0000000..d304b1e --- /dev/null +++ b/help/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['msg_5f_322',['msg_',['../classCocoaTweet_1_1Exception_1_1Exception.html#a979d1a34fc7ddc79572fea00e89cf7db',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/variables_7.html b/help/html/search/variables_7.html new file mode 100644 index 0000000..39ffd47 --- /dev/null +++ b/help/html/search/variables_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_7.js b/help/html/search/variables_7.js new file mode 100644 index 0000000..9953d96 --- /dev/null +++ b/help/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['needed_323',['needed',['../CMakeLists_8txt.html#a00fba48fc95d7cf91486378c8d671c99',1,'CMakeLists.txt']]] +]; diff --git a/help/html/search/variables_8.html b/help/html/search/variables_8.html new file mode 100644 index 0000000..37a2edd --- /dev/null +++ b/help/html/search/variables_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_8.js b/help/html/search/variables_8.js new file mode 100644 index 0000000..2bd96a6 --- /dev/null +++ b/help/html/search/variables_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['o1_324',['O1',['../CMakeLists_8txt.html#a23ef90534a2fac3d2eec4950829a2abc',1,'CMakeLists.txt']]], + ['oauth_5f_325',['oauth_',['../classCocoaTweet_1_1API_1_1groupInterface.html#a71452bcc421ce246fd4f64d861ccbb97',1,'CocoaTweet::API::groupInterface::oauth_()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#ab0b8b76e12fdf34849fc1c8ee928a2ff',1,'CocoaTweet::API::Interface::HttpBase::oauth_()']]] +]; diff --git a/help/html/search/variables_9.html b/help/html/search/variables_9.html new file mode 100644 index 0000000..21e5a4f --- /dev/null +++ b/help/html/search/variables_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_9.js b/help/html/search/variables_9.js new file mode 100644 index 0000000..124d023 --- /dev/null +++ b/help/html/search/variables_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['replytostatusid_326',['replyToStatusId',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a34f95b6dc6a9847e517cbf7d31ca9383',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_a.html b/help/html/search/variables_a.html new file mode 100644 index 0000000..1f65055 --- /dev/null +++ b/help/html/search/variables_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_a.js b/help/html/search/variables_a.js new file mode 100644 index 0000000..b3def64 --- /dev/null +++ b/help/html/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['trimuser_327',['trimUser',['../structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html#a6b445d1b1122acf2057fb284bb0bcf52',1,'CocoaTweet::API::Statuses::Status::Options']]] +]; diff --git a/help/html/search/variables_b.html b/help/html/search/variables_b.html new file mode 100644 index 0000000..c02d066 --- /dev/null +++ b/help/html/search/variables_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_b.js b/help/html/search/variables_b.js new file mode 100644 index 0000000..1913424 --- /dev/null +++ b/help/html/search/variables_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['url_5f_328',['url_',['../classCocoaTweet_1_1API_1_1Interface_1_1HttpBase.html#a6511d018265ca90a5c675b375b8feee0',1,'CocoaTweet::API::Interface::HttpBase']]] +]; diff --git a/help/html/search/variables_c.html b/help/html/search/variables_c.html new file mode 100644 index 0000000..4b866c6 --- /dev/null +++ b/help/html/search/variables_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_c.js b/help/html/search/variables_c.js new file mode 100644 index 0000000..fc7d06a --- /dev/null +++ b/help/html/search/variables_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z_329',['z',['../CMakeLists_8txt.html#a976e76516b81c3e0f6f677d39beb977c',1,'CMakeLists.txt']]] +]; diff --git a/help/html/search/variables_d.html b/help/html/search/variables_d.html new file mode 100644 index 0000000..84d878b --- /dev/null +++ b/help/html/search/variables_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_d.js b/help/html/search/variables_d.js new file mode 100644 index 0000000..0d1ac39 --- /dev/null +++ b/help/html/search/variables_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['minus_1431',['minus',['../structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#aec4e5028333c01f3229062f31ce16763',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['mode_1432',['mode',['../namespaceupdate.html#a56bcbbbccd21e6f6b1212329e491f09f',1,'update']]], + ['msg_5f_1433',['msg_',['../classCocoaTweet_1_1Exception_1_1Exception.html#a979d1a34fc7ddc79572fea00e89cf7db',1,'CocoaTweet::Exception::Exception']]] +]; diff --git a/help/html/search/variables_e.html b/help/html/search/variables_e.html new file mode 100644 index 0000000..b0d9b7b --- /dev/null +++ b/help/html/search/variables_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_e.js b/help/html/search/variables_e.js new file mode 100644 index 0000000..3e32526 --- /dev/null +++ b/help/html/search/variables_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['needed_1434',['needed',['../CMakeLists_8txt.html#a00fba48fc95d7cf91486378c8d671c99',1,'CMakeLists.txt']]], + ['nghttp2_1435',['nghttp2',['../CMakeCache_8txt.html#a2a2c967519267796b819dffbcbb733b6',1,'CMakeCache.txt']]], + ['ntlm_1436',['NTLM',['../CMakeCache_8txt.html#a5a211b7549f1ce3faed4ce9742c8ce93',1,'CMakeCache.txt']]], + ['ntlm_5fwb_1437',['NTLM_WB',['../CMakeCache_8txt.html#ac12aa68d9d456e40e046bce59dc50b29',1,'CMakeCache.txt']]] +]; diff --git a/help/html/search/variables_f.html b/help/html/search/variables_f.html new file mode 100644 index 0000000..a708dbf --- /dev/null +++ b/help/html/search/variables_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/help/html/search/variables_f.js b/help/html/search/variables_f.js new file mode 100644 index 0000000..2d611dc --- /dev/null +++ b/help/html/search/variables_f.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['o1_1438',['O1',['../CMakeLists_8txt.html#a23ef90534a2fac3d2eec4950829a2abc',1,'CMakeLists.txt']]], + ['o777_1439',['o777',['../namespaceupdate.html#a0d3253eadc5ea2f2f21dfd233f461c15',1,'update']]], + ['oauth_5f_1440',['oauth_',['../classCocoaTweet_1_1API_1_1groupInterface.html#a71452bcc421ce246fd4f64d861ccbb97',1,'CocoaTweet::API::groupInterface::oauth_()'],['../classCocoaTweet_1_1API_1_1Interface_1_1HttpPost.html#ab03b2b6dfa57d10069d678c3d5d812db',1,'CocoaTweet::API::Interface::HttpPost::oauth_()']]], + ['object_5fiterator_1441',['object_iterator',['../structnlohmann_1_1detail_1_1internal__iterator.html#a8cb0af3498061426c1d0a65ad6220408',1,'nlohmann::detail::internal_iterator']]] +]; diff --git a/help/html/splitbar.png b/help/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/help/html/src_2CMakeLists_8txt.html b/help/html/src_2CMakeLists_8txt.html new file mode 100644 index 0000000..7484359 --- /dev/null +++ b/help/html/src_2CMakeLists_8txt.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: src/CMakeLists.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      + +
      +
      src/CMakeLists.txt File Reference
      +
      +
      + + + + + + +

      +Functions

       add_subdirectory (cocoatweet) set(EXECUTABLE_OUTPUT_PATH $
       
       add_executable (${PROJECT_NAME} main.cc) target_link_libraries($
       
      +

      Function Documentation

      + +

      ◆ add_executable()

      + +
      +
      + + + + + + + + +
      add_executable ( ${PROJECT_NAME} main.)
      +
      + +
      +
      + +

      ◆ add_subdirectory()

      + +
      +
      + + + + + + + + +
      add_subdirectory (cocoatweet )
      +
      + +
      +
      +
      + + + + diff --git a/help/html/src_2cocoatweet_2CMakeLists_8txt.html b/help/html/src_2cocoatweet_2CMakeLists_8txt.html new file mode 100644 index 0000000..fe8afec --- /dev/null +++ b/help/html/src_2cocoatweet_2CMakeLists_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: src/cocoatweet/CMakeLists.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      src/cocoatweet/CMakeLists.txt File Reference
      +
      +
      +
      + + + + diff --git a/help/html/src_2cocoatweet_2api_2model_2tweet_8cc.html b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc.html new file mode 100644 index 0000000..c3beec8 --- /dev/null +++ b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc.html @@ -0,0 +1,117 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model/tweet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweet.cc File Reference
      +
      +
      +
      +Include dependency graph for tweet.cc:
      +
      +
      + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Model
       
      +
      + + + + diff --git a/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.map b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.map new file mode 100644 index 0000000..3a09249 --- /dev/null +++ b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.md5 b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.md5 new file mode 100644 index 0000000..13b9dcf --- /dev/null +++ b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.md5 @@ -0,0 +1 @@ +9570dd5f1be7fa387a74a23d90d3a816 \ No newline at end of file diff --git a/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.png b/help/html/src_2cocoatweet_2api_2model_2tweet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..ab83e39fa8e968981274e240f9cd3ed66a4d93f1 GIT binary patch literal 38641 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 VSxxWgjH$Ch5}vMpF6*2UngEZc{u2NI literal 0 HcmV?d00001 diff --git a/help/html/src_2cocoatweet_2oauth_2key_8cc.html b/help/html/src_2cocoatweet_2oauth_2key_8cc.html new file mode 100644 index 0000000..0ce84d3 --- /dev/null +++ b/help/html/src_2cocoatweet_2oauth_2key_8cc.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: src/cocoatweet/oauth/key.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      key.cc File Reference
      +
      +
      +
      #include "cocoatweet/oauth/key.h"
      +#include "nlohmann/json.hpp"
      +#include <fstream>
      +#include <string>
      +
      +Include dependency graph for key.cc:
      +
      +
      + + + + + + + + +
      +
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::OAuth
       
      +
      + + + + diff --git a/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.map b/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.map new file mode 100644 index 0000000..9c1b06c --- /dev/null +++ b/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.md5 b/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.md5 new file mode 100644 index 0000000..e4a68f3 --- /dev/null +++ b/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.md5 @@ -0,0 +1 @@ +35c23c2ea263cd2f9c4a227951d38185 \ No newline at end of file diff --git a/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.png b/help/html/src_2cocoatweet_2oauth_2key_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..71b1078023faa2401f4f37af62d349a4bf711daa GIT binary patch literal 10410 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 + + + + + + +CocoaTweet: src/cocoatweet/api/status/destroy.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      destroy.cc File Reference
      +
      +
      +
      +Include dependency graph for destroy.cc:
      +
      +
      + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/status_2destroy_8cc__incl.map b/help/html/status_2destroy_8cc__incl.map new file mode 100644 index 0000000..1448a4c --- /dev/null +++ b/help/html/status_2destroy_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/status_2destroy_8cc__incl.md5 b/help/html/status_2destroy_8cc__incl.md5 new file mode 100644 index 0000000..63ae23a --- /dev/null +++ b/help/html/status_2destroy_8cc__incl.md5 @@ -0,0 +1 @@ +a0dd942ddb2b5efc5307605a798ea368 \ No newline at end of file diff --git a/help/html/status_2destroy_8cc__incl.png b/help/html/status_2destroy_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..cab39903a215fce8a60eee1052a64450d122faac GIT binary patch literal 49600 zcmdS>bzGHs_%@0zx=TR1yA&iOq#LADLK;Ls8jDFLOVkrJfg z+>80W`|NY}e)nJJpX1DYW=7X~o^RZFUDr*lwx%)xE;TL!fgn&-QP4#oPtq}=sMq^@LlDx1s za%~+MRkC&(YuQa|=2!w(1p)!~iC<4k1gaDhsuaQ}nFTUJIInB7bYG)EjSIo%hpx{atNz{ax!$6-+f&j4`Hd91zk(<;6$<=?3Mn5IL`YmBK zL--S7<_XSw@GrR-GrdJ|gdDaG* zC;OqXu{aYs#293xq~Vp7{C8jShi+(-X^2X~gHqTjrGxIw%*-?phI2ALe*CyxUfWp6 zArkp+kHr7otMhD;A8-s4^IV?WU;AzrouhlTDvVp+>-sZIkCQj}*U2a;V?Hu#7(#Q2E~Sl9VmTEWv7j^2j?T{1*RSL6 zH~U##oE@+J_`rc+WMo7P3=ABdZnvhUq=d}PS&B+X*bKgrj7dyXw6bD?E$~0yGJD|Y zh=Q=Tv6F^0M#F97`Nwhc!PEJl4KR@y6>T1h} z595xGe7&}2sCIXEcmDlT3JAEfxw*+mjGf;T{CAn4&iMzbyuAG8bUjhui<>>==1pyj zyH}@xn^s{SxS~BjTC8XM(SyzJU_H_z=omx&#f>g4>2q`zmb~$EC8k8VPNW%QqNAdW zj*h;~%R?g|AOMTOVhG&VNplGZ4BY)U?HWF~!otIYS5;MI+~~!{%g2{fRD|W~>gt%Q ztF0ZPoJ`+7JY4n5Mex=wx6^+vyk-r=a0k)F#azpS*~v~5bL1ZiW!f?ME{R#OI!#&h~Z`L`qgxBCOeJ zccF{__U-7TBtof^RhImsqQx)II0)({3ifK9HpLRC1TlSle1?XHLt9&=@7}%ZcD%QQ zc`>GHn!~|^++Y84 z%6A986BQQ9twHB-8sVQme-^L*_VsI+45Lg>5?w*I_xdP~%#&L?VBz-Lrn_XzLpky) z8X8?26BQ^j;&*f@u&}U@Yj0~qxVD~)WM*bo+Vl{D#m@a|_BU>DV?r>pu%IFMAI&sS z_xSEEVBq56ZMf9e)s@#?ew`qc$s1^&nfcT`@#DvjgEt(G63?$ZmP+UWF(v^udN*Zm zZf>PzJ1VVo5N$?A27)n*1qDGT;S-_2-2QiEumDHS4sMB3=z(_lH2k?7?{)QPa|ENL zBpt%i+8VXWcxE%u)6=u+;TU(RaTV&nfB%NY$GgFLiRtM0Br&rs{)RS(hoc!*+$RA4 z6%`lHHE;4+9m+vVqL;))Lqjt*F;N?g?^&Gx{pA@yKmR-T%+k_Qzv+$jR=9_LF~lXS zW?C!#9bdPyz^8S}|JfF7H58ly?o6Kbnk;kb+_%@aQ&d=MAGtn!h)Y31;XKno!o|hK z$<5sX4i(qXAPRnC)*56k&Z<9K2j0Ir+bRu)&P@037>sfL_it9ZDaWmrf`S6e1X&{^ ziuLvNhTuyn2x%pm%1u6hQZh5~tBiTi!S{kVZ`|l+2tH$?+jDnwYa5ilNok zXpT(CG?7m*`QwMImKG5hXJm3R5xjhN>4k-yscF+dU^<^ECJzq}@4agDi;D|nmmq#-+G(;ejm6gdTD2!AML-y(u8-4!7 zv8kueH6Q-!94|8!@c6CruB7Dl`)0q(u?lmW0Te_)Kmai{b)5TRHxoBE?#6go-j`b1 z1%YnL30cT_%yYZGM|*uY=a-k+zX#R3&JsdEKu1UKt+B8h%5h7-K5mhiml+k=BgO zlok;c=< zPC6zgDBvdKWo1!9_R<_2zGWD&6+&LZXOQ}&MvKsf;0V#=I#|Na?r!^pMKE6(xxNKW zs-z!H%>QiCrYA|!#Dv;sb21eCE6=FnzRKOZpFeu841I9W`v1%@Tt6TGZ1hGTVim&j z^I4H`;QICJlu`k{S*N2#EtKzj@Sby!D=8@*trcY>Uk$O^Q0y1vE{J+G&OfR#qN1WE z>s=X;J_F%_Nm8=;%L*RCVIZ^pYZ{N0jSU(EdPvD~>gsqoIXT4fUC5*f*)be^uJikM zQt;7^+2Bh)K21sz5)`oCm#$|^7LQ6*nrh+9bEWEn9Dg#acm+rW)jh8*B47JMc#p(7UtOB{64+|vN=m*`}V!u`f zvlj=lBt+d8&=V38ENyKgetdAS8O~Kie9fLTYxKf_9Hw~s?+*$B@*c^j=H}hsUq~M~ zIo;lX40x3S(Kv5%`a*J}l?pJP>Nz|9E8sNF`^oPB7cyOs#P+9fy&}yV*Vz_M9-dBk zHVG}Q+0x5<_wGUM)YTr2Re(X)+}up#%rf)#$}Cr*9$1~IVDR$tLZ+Fez85wt16jR& zee#D}KLva?jlH&iH4mKMG;0WfAiyLnY#`37vx}Z128nDVF~{Q*m~T{ix?vi%7~I`R ztC2o8{q09)i9z>2`G(4dV+tP!ps4W3pe@Bl$S}Usot^6(dJo{3lg8&)d6r!NS6L>JhxHb`vNzn0DHoT2eUSFT= zIeMoLtYK-FV?+-_|I9X*Ala!SHNH359F*G`=;OJPq z@06o$T+rM?$=%~*Z5;;rRi2YfjWj(D9fR}cwcf>Dx4qx0l$4aCeis^Iv$%KYwN4)E z>FGflu(h*OefDyH-^(!oVd?0IEX6V<{ja~cVcyZ3%92xPcralOd6_9yW#{bJ)3N$H za{U>W>ex)Tn6JmXpPzWIUGBO5-zOkMh|ixXCNVK8>nciwwuuRDH>H=icMe3?)5C3+ zJ9j>*F^nCegwRX+%|YDZbpDh^1K!;w03rO8d9@UFJHgT3%N~QulouH; z+&ny<65^q>`ENHzcSaK}LbX6C=_iD+{9dRr!o&j)g~r2ju{%*kRaF+M-k|dXqt9Jk zW7A3vvdBQ$+xxTWv6ZzoGhIjJhY#Uz-q5GtFvn$JV2Fs0UhKQs8c|m#f@qtaWtb>8 z?`+y`iHFAGEyN6LeEiSv4N8!OIasm{q)EwOj~;!S3I-z{8XA&;UmKX?N@RS$zQQkl@EK&`36a|@8V%w0 z__4CFF(v!mmu=phaqR!4rUW=JuF;Z;xa+PM-ISVd?%-%>e52NS6Jwo=QwI@-1&fe& zPCSAg(gzQ6{eFIauqf5U*jfdF;Z|lyN(Fn+9C^~AI@$^0EBwE+6tUcIYGjO(!%lVj zFU2X852KqR`?sAPH?sz}&<*~nOk>^<8SO*0>atLQwrl=Fc&I3U{9?kK*Qj zN_rud|LNVGW0wz)9{AJ|-v2Zt-x_p}`&nfI&22*SMz48s{740!$!qW$zmt8oJCdy( z(F}y0PucROO0)Cxd3}AIKX)gR&aK?8{C2{m7HU|@28XA~`qc8`EWEOMJ>>FiB}?Q_ ziT`80qf-g1&Zt>!-MvDMQ|7qjt2Pu7;@X%*;h zmtPb*&R3gj|Jmd?S-nIQaPg7I?@;80YBrtt>U>`E%ZXVU$rT5Bj{W)Ds{+Uxzk;rGtY&UgNhxaOZ$C);ZqYh@TSpT&T-Z`!g6joMO zr;ESd9FK-oKDWDg_tifQGA!ir=62k$&}<`;HtU$GT^uTYCcq(ZbWEU-Om9C~Ie%O8 zgk$e&A38e6#}&KTmuCs7ET_?hUS|yyw@Vf?UTkYHrx=1?BK0%)A~2_ z`)d+r(Q?1>uNG&0OYko-Ep3$JcTB6#F;ZsHEMpZG4riycXqArNsbadWm3K0EL?91Z zhbch-9V@!MO$HC1)aflMjE0j*Gz}w`FjTvUq zdf{nlINgb-6e2F-;nmf3WhZz4=U|xMNCn0UJ2CSIUto)h8hg-bW&u`VZfn21*qge6 zTqF9`8d13^xXcY|`*pISUIshTzR4SQE?5tpd(EEZ^x>= z{;3`5Cv)LB#Ic_zTQ70p7OAcvoaZ6A@I)LI7P`ByMJStm%-c35?98I&ZDX!1!7WZ7 zP8t>Mr?#IE}!wDv9dqJrWZ4_zmrt1Z`yfjH{Lk#}ADQiBfW1SDnkSWr91b7UgQIvIaMF zdl$J3VaXY{T}A1o`r8WBabT;qAyVz7U^@NK60mVla?0w)(&*WVSn-@nP+Y2Ic+TN>WlDhMWCpt$h-$~>8)t*z;E zmZy916Hq8_+=(dJFge@pnKg@Ge{4TM8<3_bFwG9{zG04UI2>{wIUY$+Z2coT(Im|ajW?TN5|4G=A+}89q!?b|a=oeX6nz%= z42>w-dR1tmiLk5>9$LIBnGlJN)L;2+oA^fZo7*a}q`40J9mC^$EKCYZU0q#JD5q`k z>yKv$2Qx{W3jgx!!`3U@4{2!;pJ4iuh(pRQ^sp&Q;-+O^`mFoLxY`59;R8L?d894A zM}o8fa(wls%hVMNrp&dVO+5&(s(P1xba4g<0C!Vc6K% zAn}cN@6OVOp~^)S6o;Drp*#wv__^V z2{hX;#XQ*oHO|b+a^IX3_;fICI&uz>FCm!E@87nFwpynN%LfmzQ&rFr$l6?6n;3ve zD_dK104DSE^HmNjDw^vqcoY;Ako`G;dk1gO5CGcDe;AYsFDc={$H%vHbxr0mDp#3y zqQQJ0a8_no-vR4rY;1J%_U?i%dLyx-c!CTe{&*|l-8)XlOGigX01}9CBN5sT_|F?_+G5A-;crA7k-g+;YUUCvJTGsQK_V&;}KbwqBya6Iv{CmvH z#uh2i{qn;H!3_ZHr)!-kY!a#fTm2wl)2&i}cyM5sr<7>@<;xe|n>UmBOlo2XDEUKT zyB3scjUYe(QuzZI0vd0^y1Kgl$;p>l(!p<*mX@lZ;T8mJFFh@-i_)h5%a_}XQh|CJPTl_X?PD$XtbqNb*Xi`GUj9b}fr$Hf(kVyX4!PHK=3z+#vo zlED|B6i>&Ymuj&J3JMyja60W;UtR5mMzwQqZ|`MJ4%74phvfZ$pEEO)fNN3NT%L7k zXlcFJ;<+CGDl`uQU|RYYPG4FO&~p$%@4LFT7TUAO#L0;bW^&LiVf`6f zK~ZrYpaOs~LjOa2bc~H-0N+fY6hKAn0K|ZhDbmaW#2)?zNIxYzJGn?JTV(S73qgkg z%ia{Gp@|9CeKBKG(}|i~YBZ$mx353ID(hPmPW5nUp5e zZK31fVQsFh!>I0Yagfec;=MM;382LV&Ovyp(Q6GgRV4xpPgPp|?%n5gwYIbU{dbQ} zPZ#5Fw#X}0@!e3Z?6h~e!0*w0!H2j0OwFkpg*uS z2n2Xt`^w+ly`?_t+J^uxQae|aT*ky;JNg6Kc*NoU9^lx7fh;GB^wzyyl(wE8EO>ht z*xda5d}xk*bS^Zu<3}0(8nv~xI=Z^d=i)p(C2IbG0==l&gPjuF`vta&p~$S`m=ipHPwdJ*li?zMI{atzaa4`vq4*<*E;^5$L zJO#+<9$-wbGBQlk1|=mWUjbe7OocT;pj$Ir>Kmf+{PfUBtO5?@IxTH~X<6B;^70#= z9v;>lT5p`a{0}Y$v!w@5{{1m6NRGPlv%r(JB4}f>hZz!N5;Bi8yz!JDGv#ZNL_)qj~&wzOceV_VIG_>D53W$Dj#I z0Ftrh%Px6)DvR>m%1U(lMWac>4)N1x77L@r7-eKssi|(%n9LExRIxEJDTKqE3%lf5 zka9owNGmEur9jm}TI^1TfF>*sZaz|~C6`8|^tP9`@XqP>A-_$xCG;E`SA9Wmm1+Gu zYzwF1QT_0yCW4^L^BZhDxL3$F_coGL+V%B4-ea4{5qg!CMMp?~r`MYj*9Q8-n0R$L zD=RLjci6AWyqK>$kg1J%+n4%;YztM8$@Efk`m2-D__c=n7GT8|_GhF@4K13z7NONJDDt{xQu9+^NdNgW`? z0Hy*=ViW|;ll`@D@Mwb{b%34A%F0&O)I_AFBJt1Er%#z(W*fbEfZlmqQi5k>WHj^X z2`Pf#eL(@}Et}>3SFkfTA0JF@sS4X4)pl;4p5ZMmQb8BT4uIKNjpVEH3kyfSdPP;J zm7SECNsCzG8UF{EnA%+=a)~rLQSLi_``Ccj0FTsW>e^hLEM@S&v;dLF>cpTTt9o}o zfacY!;|BlwW8vf&XJi=A!AYB7+y!(!J^lJMQc@BU5*?dK`>7g7-?Jlu8vvL>c*%LZ z{cGpoAX0%@R!$BT$sF&@$s*BO@P>~0&S(^b^yQf#EiG*&Pz(IsZU^fIYXZSX^H`1FeCKFc9nK0R}^Id_bk5AoL3Fwu95VEqx_ly8s|Ntf+_sLZDOT^u_sU zRnWQLC*NIE0PQ;A(`&`DlD~qQNX5NxDcQ0@&4zztVvsGOH+z}4{^quahsR6cGy4Vy z9b#i+@ezIf{m<)^6%_>#yb=@~O-*|!Pc{L|uKl+(H`n%W z>!<0GpsA^89S{j?6W~qw2>-p`vHKsI9&g`5Y##qz0gqlD$m%P+`>KP|W)tFWY2fKU zAiQmaPd?Pv+F1mjd#8C~v_Z6@4i5co=EPfX@$)I0^5i?6OQ$iLry`yaNM7gpuUCQ& z{IC;f6gz5i4_b0hI8dcf1Og&~`+u9QZd1xbEmRP! zrJ)g-kwFc#0{eL>;O`?Mh?jy6giwRW0eQi6=ML?|hYt0y~I_*g3A9HGFdC&HgrEY@sTw9dNz**=+3WYSW0f zTG>(n&31tA#bil5w(d@#(l#=3P3)6J;8Tr|uCJqJN?(S68?s!v;X~$BY%ssH0i!jb zn2{{wlfTPI?htA+Ao)@s&DJ^@A<1e%`+ga)%((dY-IeTMB>e+CWX%6}mdMM`M+db4 z!t&9hBv3NQuwEOZdiMX2>O9wcJeT|1!CXl|lMoVuKmbUJP)eX2zWze30Kj?6p||wU zOF6NTt%KShNZG41A3f8UUVvtW?E3Xw|HCba4Ba)3-`{V32)+#3-}*@d6=m4}F!@x1 z_A-F`cSaF}LzF;fS19qFe|@4-PNEG3#2H};05DQC0oPUFiZ;g1%Zm>fDw4hhR~v$Y zadWn{^{YrrOAD0a0MWi6BuyO`^jbBIiB%0T=ADNo89{F&WS2?2m%O{!gN6WBRV*pr zo7bcU8`x~)CLcZsr1u;hxj;El=`t;HH&Zlq!%fulcQ47&@p0`5jV3hvZJjnOL8pJD zD?e;Z?GQ%r%?B|X&wu>PaLV8Xn&bHe)v zwGD*PqoG&C<~!co^}mSY*&6(WW5GfsuX?E5>Z#iAirG@v8+>&HqVWtcuKGRwsY5OqVo5u{GNxR2N=mk@dW!hS<|N5`v+J|94nLx z%uF0Q?@C_F>3!hA#dGb=mzJ`?`ZL{{e0Ije$rs4{Oe!rlDvFwxu1Tkwx#t0846&{v zxK1K!P}~j&`!YDGNZaSncql0Md%vnJ@}~cp?i|jGhIWV)*P?yUm368@>U0bsfvLuQ?%woE;HMVXmV`>q{?k)&N(77FyUA8H=17`zuE9arKTqJpC0U10SIGFNxk0I=Oid6f3xnG z6vs}$GK9^`ONf|8UCZb<$<^v~4cV0d>}zN!?XGD3)eX3_+t!S=ukWNAU55UnMbnxWxzz`eJVx|@e->X|b|esK3ZMCq z(ACCxR`+OexcizecHv$3P#H#x`dc}bluAl71oFkjy8@55+%iQ47`V79=GH#q=;$1Z z#VhOJ)6ayzDedJtKEdILNHIA(m=OGQ_^bZtXz?684bR$Is;k=W*UdPw zZu$GGpIw|Xq)1#v4<0cgWmprWnJCtP=`E38fb6X%3!2%Opj?qoGo{@*J&x%BrxfrdkIgXghdLW_9m>Di^?yd=o z?5??XC%3=$xISB%V5-YNk!hMmk8^(fsF-=TvW!Th#pPuNH3J%!35!Vja#=5p30V>` z^KAuY94H;AMIN0IFsGuox3dWN*UOBqzinpLXmhwlS>DMwHuMZuW7gosg|hwWFL^qjL{#wQG`&$pP|`=wXdeAs zRK$}fU6u)7em+aX6*{g9LN0};BxKw)RS*dTiKeCOpz0L{5J|Vvt&SAXAH|^rdZ|jP9!;%*ofaAl<&mh+t0wUF!3utA8hE`sJ=mZX=?G)r?)5T{?MA4 zPcVs}pj;fb#)<~|0p3#jk+94_|IWSC39GkLL%*lrV-nVM)HT&L) z&Zx4UbiPz`q+I^?1JGuJ*bai4HN z{Ss+}$XIV8ji%<+@88bom|GwPnYMB+jh_uB>INdp(mHq0`+-YgKyhFf73%xM_gXDu z6BBaVzm^+O5+P6s4hZFUz}j{XjEOtu7aJ3I3>5Nfc);jASxipgm~N-HbOWv>44_aU^%=pz~$ z21$td^|!d0>xG|iSx;u@yYH3d+1!p%xHi+0_0^jb9cd&ctK(%3I|t|21?@LwTZ6I+ z$WsrHp+AxIE5Ad5$a|6F@s18`Itl89idJ1nEJ*xLMbJQB0mx)L1!e)wER(my{sh@oz_Y-Bn+3&H~6uUI}m!R!rI;*?hdjqf`6MIBj)B(MT3KI0H=iSJp#r+M}J?bIJ;E8 zaPt{_wTVekkYO+z?<1k&(r`&%L<**PJH(AT37gB!o=t-BI zqB&W)7&rUu)|5AWiD6d9N6*75yFS*Juc+MUOyYk``GkT$-*zo*>*$EtaMPzoYFcYG>% z6tKi4G?^aJv1hCJWBi^YuAM3JYuA*Mf5`wg549R3{Cmh^0JZy~IOfxnzYH%W{VB`M zj`8&h8?=_-jg3V_VV+BC-(#Phnl@bkocm6|OTag|ky2fKvw$I24GwHh3v^5pGNf(QXlg!2KWu&F*;M2oZOFg43Ok(Zr+Qw z?|*@-(4$@|nHYJN)~J8~ScG|@uA?--$<;MBKi~QH61gW`+}B*>6189FKPuU@d=>z}6bnIGVjY6R=ibfV3mWY_&Sphwm`>OVNFoX6Dl|{^RY! zoOi3ja&k&}4qAfc^7?+@mbnUX@w1jaNe`T-uM>EBvH)yM@atFI-0p)ivU_ihUc4@{ z-uvT_O$YdM&dWPLsCW!NVY#>@iXW21v$=>Q9E05rWHlu>J^t=?>chSDQ@sbcy1Ctu zhzMSAqWn$}DX_a-Ln}tYYQJBqu!hRCIr0BUQK3wtYYGMSRojHSJ6Cagp_3?jc)|A8 z{&FHV8=LF9N4kOr_m6$PJl*j#YT@G}Z=Vh3XgT+}1zq8z17mbl`j)djR$M#_dFEq> z8w56OuW#EK)YaA%+A3auFo4VC5hoDU72ior;$HIW&kb|6kfIeMY(hdLGS;=!$MjO- zu_zn&t@PI=8H)I(rZ()e<;J^s<@Yr}@ErY~m9(sD(wIX1MUtGnXV8;7^kaQbNuYL3 z)q}oIqNAhSrYla*_pg$E-Z|1^v*~e>X>UlDC^fZxvcVm7s(xaT(d6kfJspaeH>EZD zfzMp?a<^<|TX+y5P7_Zn{U6_b{h8lo%5s0x(PUd&@ARMF&~UN;ySN&9ktk@q zOk~&dO7EH#Xs|wIWLqL1FO&Gm9#~<#OOGBl6*SRaxK zIFWXC)-#O<_^1B@W8N}qy^rCI_V9F+ZK&H@9mXrYPp7kDYXW;88j6oe3L07uG&QEQ z`t^wfh`^JL>e9P+T~WUvIrQGpnHlDz<3BP%7fvxd3GynI=Wov`!@uCACpYZDX!-e@yd@3bXYI#oH!ZD}mkl0wM?&M1f zIeCYLi}PA+yi>{#4o#{QHqif$zI<@8Ry6Os$J#Vz!xh}9d+}kaSz-+BDVrJ|&V27c z7R62{(Pe3NZXr7~wJ0|Ds3=5P;MwlsSCln}Gt=sdii_JeM05Ay~Q7sf9n^4eDHUlz~1_NVx26fgORA1q}vlru;|`&*GRIZZPcU?|QFD{Si4RJsh*h<)$#f1&BxF#Ke|L z3U#aHRHl(#Bb$z)VHEH@@)i~h0FEt*)21<#U5BZM_O=l28>CBr7rO9veD8b;IIh;2 z2FRX8NT|lZ2ELiX{%{qmiZ4i;W)XC8?b*Q>v7p*Lg8_$I+ZJg{%hzQsENDl>Mr4rY(sovdS+FDJM8(9oe(%z-+`LHy;7H~{#aAc>(~3LJ zmBu;m>1ZDxA7kU?ea!^++sxn~v*jv|A92mk(I z0(zG{7!98X^*^7viyP1hG0Dk2pgC_}+@0IpOaQ1DtnJs+tyUPNfb(GG;6OtlHKahS z#3(Q$WMD`L$^C*(lZA!F*WaIojZLvJIPg#HfdvyYGb)VTU}g_i9MU4%1_lVT1OHK( znVVZ#S|WfwGyCYFICX#8=Ev8bieHZ$9HN1r=0t;SrSX)XXoqk1 zrSpZqeoeD~Z~zP2`T2O(3IIibqmR!14$_<*K3w(B$)W6(_V9S#6vOn>_4i?r4Lndw z>KMJeyc`Nf`E02`w?9+D0p|x30DuYN6A%da|J&p?D4}WGqWZs}<7?T^{LxrEP!M={ zcuxEO{{NlW9auDStq0&2l-qW2ZZ?XFip~e?WBsF}&sABUirYL|z2oBIat~CsKS1~m zWsY@%fC$WeU8kfpUYyyGm^f*nppMHC=;-Kp$vtCl-;ZtQxk5iDo}iR>sv&0AFgrOl zRsHB^V-?NqN0nh=s3M-rcMB^j2Bpq+^^US75cV;JViD_3_BxUD347|-%Gm_mnGeor3BXoY z0o#A8n^Ijv!wzBW=hx_EQDxi@nt(}wd9Nr;AT0{>@;dka{{4?J=VfKh|0)8%MriII zFnnI`so=YJe6mqd;!G3*;O!W-r_I23Ae_tYH#e#!9I)}!W;q4U;w8rB2!TwDjx0`m(Cs4!-tpsbt+#DU6&zd=XGC@swZAh=6q^9`iHKZQyDZAHcGs%IsPEbV%muiQI7s=XSaGB<5H zI~a$1F{yXid;&V@+JOu1(Z}Tnfj5N?O-i`!-h7Zdq&aS#g&`P~%klz{#M9BOuCE&& zmo5Z-AM(~xR}U{Qf0X8LxD+g1zC{2y^;<9_AWK=exQdlbLGuj)iJi?Kf@?^=WTY;A z^YyD&IKjce$mxdO-rf+Hfr7EDg2h$@2(r%7sbNDfWkEtkg`=gV<+V9U0#bQoI)d>% zA`p@z;M)Gr1c8*46bzJ&1uG~-)HDmMAkO}x-9yU5!63@rH`jYylhy@pFW(7`;#m># zy4scqrtXc~Mpbc?A{akipKl;{u?_JgE-o%5EzN-K4X)Ww8VJQQ;A)XD3xcHUv54py zAz%YL1AyWMu9K4!KAkuj3>+!~_pYm_R|Uge3Dm;4F!lr!bN}K0Fm3^Y=Qa>}Q~{m9 zUG?hqYveS8K@jEtnYV7uAYoCul8aaH3^?__6hMxoT)TD+Il%#J7b&3boP2z6k98M{ z%p?PEB=JBfgLp712GKZ6f&?a4!C3rN`T`Uws#8JGosBm=b_E5I;gYA8)*$yYH89KnpApr`J>x!SQ_H2aqC11X`@o91 z7msSqKST|DI1!*K2^>(9Uon|Il#>?_isJ6S$HnRUt^XTE_3A1X0BR4sTDgkw4_~hz zhJm=Fu%yJ)?lqCrQ3wpIsJ1>@Z7eD%sM5((5`a+>dmEe1meZ{!Zc=BO#v4NIhOxp2 z%d*rf&$Oh91)h{K)v}?MJqa+##r>l8@FAh#ZHwMVzwRPOnjp4LzdhCH8$vhDt!8Fs zHrelezOhJp{NlB`BEG6v<7^F`a5)-dJ|7z^E9d@h>=`L;JPLq{t3lt>SHIxSKmR}2 zXM-6iE`Y^!9JBel_~hw$>T6T<&=8`)!1oPzGs;iSqqfLvuOxdWjJNA4qoStf{%!=P zWfG4dN3Ar4>Z~8Q7-+oKbM*e*n>vD#09hD0CIY$#p*2d4*wlAPGiFQWc=`C;TerD3fynzY?J0!aZ;iF@0jQqCiuTsJ8#!>G# z3RPTxbx*&(T?i6%9AW)fHeyEiljk9HEWKt26Wjl`XOn>dT?AhKrHBi4p=K7$d;|ey zEh;K%31SG#1SC&V8)Rq&vJm803sSM@Hg_Q?2$9|kZ|_K?xt#(7*2Q{7 zsGQlM44^pxH&_541?dPWA%he?;-Fj4+zZC%~(*DtxdpWgSH+|u)ELyj>mSa%-SO7lmCL7T0Apj2AV@OK(~|jKfHa*h!2ui zadB}Zc?uJZFbDIOo#8YuSt<-_BuHq`7VCP!)GCK&=DR9$U}j+??JdmjfJ~tMC=Z1W46QI;k1rV0--zP?;iX!nQEn!sO>ZBMQj?DmKCA1) zrrBQ8H2aV(@>5o)eru z4yeeW4^z!M!NJ2r&H|krZWF;^GSUoSwh0S?Pa}d4OQ95gNCwRTWEFc_F%NX$Y7e^Q zpIgYbI|1D7SIry^YZ(3a;eBy&ER%ec42<)gpB$heKnTVxE#0bgt?GZr5r5G6<5lrM zieB%4tJ@CtDrYP@p6l$C$exg5k&WxPod8M-ym!lwNKqipS!Lt_)sVI_t^4kCW zE;L;zh~`G#=+&S+GiZp^=0PrK7A>QnqHT;XEGz|J3@D$83zV*glkbu{mG1cJyT3}Q zyHd^yk(S+8k8wt_F-+eS@H$ACX^?ooir_G?O19wu{9!w?1B=t$4LEX2ol<01zgZsO=PEyL=^R=-=zZrA(`c(wMnP{X5z z_+U>uwP!;SbLoq_LT?N0L#nH35ilg8!(GdVt6XuTFBX(`hLZOkiz$sN?3viv(VjeU zwRD=M*DD$b=l+?uuyD)$>`1Tl-Xb^`%EY`rptFaw(h72N^h(KFxQ`#>rJdC4T>tp7 zi(g3p69-ROV5^QI4$hOwmUAh?3ZIBKZ^S3&IVIH$e=9ig`JV&$`R`9tf~5bAc^C&l zYLXcOe-k=wbdUAwusaNFhQ5AHPnKGLU%$T3s&A-&dOHJE zU2~wjP{RR`SiHbfpYAu3ALiDMMUDc#?xD=hd^}zKIZc}-K?Ap%hm=~JpX`F7t36lI zs^N(sMoy04@P{I*iJVk%{ZWitw{$;QF^+gpQ9TiI=8+e|&$oOdO@U-)-8@Z`PY<)9 z)pi6Wg)|IOv^;;O@3A$5_K_a-eIJ0ning}=_ypc_OSM!*n&(~KD*1#TKQ58KSR1n& z+dmVN1Te_2I+yW&GxukJqF~e;jg&O7)La7Q$Tf+vIcH060Pm;u#@6ODc9*&#;;oIc zJgu}85sk=MRI=1ma^DLEU>&Nojb2pT&d~oUtz`%mtRm1wYhU63m1JH)66`LfLjSg! z@nNc^)NCz2mNaXX!bmbVcdK(q8|#X$D)=!vdSqPJPvhF^6517?Jh$EYefRuOkj&m# zog7L?Z6k`I8D?^Q6Yel@OFTUJa(Nx9{aKHz2@{~Q+`P@BFKxD4Ix`wiL_>mIJLpkl zQ*%Pzd6O&3qQv{>it>1mn!hjml-^iUR%bZPZCD0>mHN-UL(^aXjPs}~G{ji}oz*Iw z>hL`LsrV$T*q3j|ceJvLmY08>Hmfp94~QLRqG3I<{I?0S^)4jrcURT$(jI0?9HLA5 z*M%h|EeC&!Cfbe|8miFI)(&eApIA6KaL8xTxx5w|XK5wdQ}Q5h-;2pOJ+h4Nd{Ndw z=(1i6D@*c}ve~cf^Fmj!&6%&(OhXmr#YLc{r3?rCdrgq~K_xdddE;$d%|p9Hy(0V0 zpFeSIy3ax-{h3vib7d$5M(x+uJ|Yk_G*i{N+%+^RiL9))R>Qe04FO`9@=*22vI(5R!`0>1$|f5}JS3HZ3S@ z2}@0-=jGE-Q68qQG1fsVD7XfK05RuDH+nu(k?!F3og9xnJ)3t{rn_Ke)z5rt=B&p~ttQZgL*4QZ?JgAauE7sFl{o#pGZXVw`kQIcSYAh{V zlPNm^K|c=l?d#y=rXxD~FdB1>Lo*;Uov&01!zC+@A}G6ntr}m~~TgWwq)@VbYV4Pm? zQ-)h9o}A79+$7APqyykG3Q)&jp<|wO^e0?|>DAy-c?K^Q6nRL7D^@P1HwP7jq$|J z9)_mWq|f(O29-NI^FA8RcK7k)U%yEYKgz_W|Mg?y<72j$Qq3H&Ox9~@eAW-FWG{Dy zM7X%bAWekHSjvdU8Rm4wJq4DY28OrfntXgj{e5n@+|p+*){lZocz!3t;1QkCu-0G( zN~*QRrtJ$QA0L#K^YLge)`6UO%7+!BqelCOVkltCl@k?g#&x{tpkl<(EAoM1SoyU- zy=p!ihRh1N%$gci78ZJizA#||p416)`u3TRXsXH!WI2_kc98=gaszesJXhyTP#;v~ z%7D%Ws4PuZHajNH2e@#Fs>&m{D+7|Dc{cJwPUA6NWVN^4twHs&E8w7sjKQ@YJ5|-# zk&5u#oDFZsoTDS&lV}p;vQlDVe8Ey+HjApGW4Ud(iU|y1@$8sm|N4$v0@Wf25CmGz z|6zkZvE?Y2V@)MfTZD<$#b8*3w~v{Ni$+s(pNPdEuPY7}H0fx_Q@Xrhum*$U7aC=u zQ+3KOivJydqC@`rRu^7ZS4EZc4;&bG{yv>S9&(*$ic8WwVqsyT#+V8I?|?DwYo&D; zm-CbtilF^|cSmIS8g~P?&%aF@INkQnJh3&-hc4X-zo7JlHopDAwO-y?xZ)#Yh6A*A69aY}g#KYC#vA1&3bVc~5Pu2-^O;ooZ zvChr4Q`KlQ<>xCTI8D46Zhs{FnIC=t(|%-;gXi5>)dXL@RH!JA7&DV(J+z=mH3OZ5{Gu0RuM*<^`Pqjy*rrw23a8B(q{jg`fWqlp4?ZL!A zdbzQ=x{{LLZ;HnUg*)8g` z$us#wn2}C(BTJegu_bVgug`n9p$cdb-nvx9J%=#&?S(#ij@Tvty`PY+-I=2#_% z3fo~67RJg`zC=-1w*f!`eooYCoB02Ww)c$3`u*R4FAd6y%*?1Ho3dy2h>$%)N+E=l znXC|!QBm1t&x|NDsbp3vWF*<6Qa1N-eSfe2qx*h(KhtnspK*@&`94;!y}cMtoFNJU zPE7jN-m^||p9Pn z*3vp`M8S5XjSIuInyFv$Lto7=o?DgHFfoa_H| zBb3f+%G@>CADy!xpNxMQs7{y^Y$wme8u&z)4prc-*63{>c8$46ReYQ)K2EKzfJQYs zi99j!mZ-;flUu54Un(xJY*Iv}zj<@5=DA=igpeNdgLL?JT8=Gxu>){?Qas2WcYJo1 z1^UC++)^t%dXN2;WMVDW-C7;j{7$C6dR?!CeJ9(&Nl@neIQ#xc%Cw+*_FumqNL_W| zc{vjy;@}W~$ya*e^scM(FQ~1pISPw*JN19u0gBpEiRJF;&n4`yRfb9}|CqiJ4T>}t+E$w@vNi!Gw6s;@v_>*{$S&Hh(6B~r_L z+x@H6L4jBH$50k>iT`C7{C2OY!}S=WutF5SsXhO!SmvdP2+r`9=4NKk3DOWp^IngS zhI)Ejf_E$5|C!*%_)a(Gmmxf&wSJhLUXx$k+j9chz2(Ba zOJ212x0{i4)$f=NWKDOz(cIUty>+bEDiXFO)tYSvI$p|BbAOhmCLEmbV zZtbR^hKa})v&^$YQ&JxrZpRD@n+&yY;CaY4Jr@;oQz zYBArb)_`IEl{{TY%{*{m%I<49t<;qt61c}B>>5SgdH*WA zK0Foft`&EEene{~I_XnE3k^e3lx`|d_uIgaiSh9^VR01#kbb0P8XP*qaI}|tbFH%F z1_|f)^@X^eR_ft{^u40|{i-|;v`ou)hpJB9H(}zZrTqn00y*rnyR1)|$AJ4aJ-I02 zYO!x=O66$ynI{VkoZ%pr%nmSV;g)E~DW+p5i z-rh?$d5z5by#4Qg2QAszIoQ})M^oKM>9n)u@uPijb{q}!H5RCkv&V9G%bZuMlM6^8 z3AgJmcXa4Ac$U(~$UhvgEV<%O+OV~@cZ%0YeCTDs13P9SfpTrl%TUPpzIcIRw&4K@ zw|Y$(a*q;Q9etyv6h?lF!#qEC&&~<{@Ki83=j2#MoaSt@SDDaH7JdJIQkdO)`KKQi z>11KfNC{V`?Xvv)sjPNuOOL@Q5JNSg*~XRcPpjfPQ~vK(rAtaPQAryc`-z3> zA&uJ1pzVEHZ5fvu-@m7!Y*EsPh(LAMds%kJ#zw7*>Akr0^mddh#`Qup>}Lz)Ctcg8 zPvZBnaGvxiV^-V{dFVx-AAai8Qd7CW`}em?ug;nEdOW*}m#wf~C|h;;W%j2c{%2-A zLiT0!n8IGoTH@)(kG2d9^1f6Y-GNF*r6rt4y#FY$NqF=bToKFX)6zPBmif$=FNf{d zmfmKMxko|XalY%Zb=E}SKXV_KuUBaOmenBx7}C~z@>rGIqR=T}a?ralQsxO1|z+_lf0JB&W=r49e! zMnZkPHEiOHiyrx?@d{vql6ZOZKhC}LJvle`1T*VQ%iBEKDPD`y&K4$}53h%^O75p& zS@V8$URK^~^3Hxk194y+`%FzW)^=x{MVr5J=)$y-Fo?knp%IFo-br7cHeAnKi@{3F1JxgO=Z4y#S_i$`Iv78MWGEwh(zB*TGSXq&3Yrk?D zevD#!XD1UsBtKH9(I2ITaBB-NI{Z&f)EdEg>EDKejEvkhziJK5Hvy>KV^QrK;^U)Q zTa$6>xv5uCLM>%mh{BTM_3O38f0s|okmu}x#0Wrm{-3LkMB__9N@2k0p*_+ZpD=yK zr6MzeyTgu|0G67v9T$5=<`J+oW2;;qhH?7)_f6U{>H$I(tLx9SuC6-<$j)p3JA)EhzAeMU&iIYtT6Woi^PeOPLn%vwc7uk z1fp?RdFD2p=tVhg`%uWlrv81)=K3*aDgBDnZ_kC$kA;W?qF|Qm8!2x(I>PD|d>EC- z{#<7kX*_WB^d-|WWjE_SYV2i4PxnrZSco@I*^mDoXP%t?-Gl0$Pu>l_Jv(;n=q@xr ze!{7n0HjdE&hG0Drw0!nFiT!$gP^Os#>0WA#+H_rCja^wf=tSm8*O75<`w77>iwn7 zl6Mn`5*45M!6u+GjUtqCa&qoaSUkJ*NxOdgduud~55ScO1Q<2m08|6TD1oSXBq1Sj zcXz+>{JAt#pb&iu3^(M@F+6Ip($w4oDGba)O~=IvH=?5{7zHgtiO}9bnsnG^!Q8H4 zz=?nQ=k-4;3zvO7Jeu$wJ-~Wk^@;B!2ke+9=ILD$g5N~VY`HZ1l@2h_S!Pl|0z@e) zE|G|-TpBK!R-pLgs2?`;a)9_!!AZgBX%5|6l;xxdsFb66cY8j0M%{*rnuqwRr|QksZGB$yLitgHt82H@X`AMNckH_9URah4OlEG;eh z&RNEL&-9gn^pU(h0Ey=}=sPXDJUl%es$BIuIu`+@7a(Tah=U@%i zRW8tu*NabqYg_wrl6Fp^(!sM?nVI?DY`(5Sf@%hGiG;9liTY}U>)-K#LuOXAr6HV4P4vrv<5_WdC#g)E!leDPav_*n*9*ZZ$p9@yO6{0a(; z>9rUJYiHxMu#|JTk+_(*!!xzN|Jk$%SzXJuY3rtkV)25jOa1w=vEy1A8Hp}ay$&u7 zfd!gv>06$6Dg^n})JozXJ}mlu{srvx;1qkpZD`{q5tb+Vk!EFOZIofazp4Io!8YAR ziwLeay?V8avgIKBc5zL{KY?5bV^BmuGTRJyJfhzkWV%EvJcu@z<}4-RZGad2N1DM* zwPVIt{1_kS0xI4=mn0pqcH+g07jTNT7;}bH&39oq$$Fx$t>jixQqsmY+#5*Oz zsDASKqMPmJLj~ji?zOhQ@7>7wr~RhIukw~2W_L5(tJL`VzS7IRNM_Wf>^BO&H|Gl9 zrT&859#@h!*ye#Bu0hrar?ns7ga||!ezj_CcK!Fb&TV#CMxA7VCS3l(gtyp)Emp75 z5k`Iu1=Yc-E1GDO3s{8cb_W@;owIZFaNs&sa&ofMhbL5oMwq;!)eFV&S@VBI+b{+* zocs5#6OLls!!`-dgst^*p?k0d|vcu`7g2Sr+0D1HVqPfB%yCeAeugdo{LA; zFkT1%Q-jDLg8`8;oRwh8z$|^`hvjpky)Rai7TD+nUWkVLmpBl?=K{1yP=bRl^s~z* zWjhk7R9&&IK~`+%=okhasXd^x-0%d0!M=opKnKgU1v(}+e(wa=K89nYBYN&alt@P^XpijE1_}<+x?R6 z*3A5%7O~;UZdGueIXPg=MvL0KW>Mt(cbo5vcH6$}6C+I_L~lK*H8EQ83!Q9Gw2nc9 zS^P^uNJt2DY9UC=OA^PN>1=In@j5O{!y4ggM$L-&)%n8JbABmU!|86_y4998V(`c7$9ci|MzP8u; z)%}F@Ge^nFPv$PWSFviEnv&UOt0yz_B)4e%0KZ7I z>ND2=o?tkdUj2Ok%^WyejQn-h`g=N?H{a%(94V%druO%%WoSRvEc}~0?Au?EU3?5fX)#Wave0a&HxI1lJYjZJ=` ziHuAt>3X%>t6QNO$5IYC&5SYQkMtL!83F>V6O((BlTvO)Mnaf-v#zdAyNeYTw8@Te zinxhUY6n0Piq2H+$Q>gSmb&Aq=d7dg*=?2_)N5Oa`+`!3e1dH;0F-LOd@Zg9Djj%Wp zM+c?Z%^{<+9f zO9YL6GETFESY_iI6|GT~l?Turh>y*n9eNaZ4oEc7Qd~?-jHuB^kwPNS{=G4HC(+90 z-`oIBNC4&e{R;;{kwUvrEITL14gdl)Lp0^(LkoPsyNUW^5C9-nlUyAG_J7u#5xyZo z+nbVC=LaKU2(gp5PVoBt;B$0Y_7S}+jSEcPR+BUW-=}3_ih$K22zu$*^g$(4P5O2! z$y(A_o}Ztjyn;e%-8WKoyp*(78}=^nAh;0`K}Pgm zCJ@(Lyhd7j`cN>oh!i+jSHh48{sJC3*BQLO^}l)djvi;^JNHa~UHX)w$1AW)DVjkj zE5!K|D@LuK9|g{X=g$4O8=Kh&GYu-xNA9PjyyL7WFTcCpkYV?gyaJX>+xuYvfZh7y z#qAC+3x)GJ{@$a+^74_4as4JLo5_!PbYMndAYqLBSeJC}qXc%}2BOu-&!6GooqUI{ zEMdzs>1$`Fp2Dqr@Ms4$1r7j7KaD?nJ43hqPC*g+zR(2T2z|3%XoBP&v-WrpjqMSq zot95Yoh6yYQdWg0b`i3(f6(Y<4uKc~h5sEE#Rh*X9q%}jZ3e1w6#CuSZ`a$4|6G#; z;n)tw0l&eg6t=a;PejX37|x^eWm>p=z%~?!{Mc$31%2fb7Vn=BMxx5HqFku zlnSi(1yw#b$^XeBA;50}t=`_F2Gkj)GyqOi8P#(V7dqkj;Nm4F^|$q_eU8B)I<%;{ zq#q1;Dt?TBnS+^`Sy5jX9L`S~8GW==Q&A(%$^WnYQkJK^TvJ=S84k|GB9Y)I$RhTD z5(Oub{);0U%tH8wC$I>bJ#(T3FO;;*j55!NZ@6t}hy$XPRuD~y68g+cZX#Rikos*U zh|UR(U0n+=jdSv9kBc6&oO@ncn&`fNJe{uD!}8oYIg4kdnLBeoF=GUv^HN($#i8(H zYlpM9H_RnYT8Hk?k|o(lF4$D47JOXNs9#1A{0l_g3mR zC1pEWtU$TWpTFY;i9a=^oY^&FVpujq@lm%r)A@!9ENfG10U)p%aY1;cEQdb6o-b%M;{O<@$L zQLpjpjs3dzP{8E(A04jvH%{&3WJDz6>fG$4UjYdk9N?BLE;_{?zrbOF6qN}AnIzwwego0r(tZ5I;;QI009l9weZq(J$QFFWq z1FYJ2$rkKgHW@EXt+zFfAD&R$x-A!JU8evLwn(cjuRD@%S;V=ICs zZxysg>6`6AoAi|Klp&SXl}%r^hmTSlKYqM{b|LArOvl{>Fl26)mPWjJd+acKSb~sk zY?E-qLm>AmpQ`jpZe*y)avwfSn403IWUEQhW6o6qVvbgmBVDs7rEARCewl`-^F1l{ zj&Ep~P(6-J_Q;~6rw6+xVh_3{-22tDi}IRnc_sr@RS+dzC48{U^(J>Rk*;z9mRgH$mmwv}^$vfK1p>rdEE7BOt9{3-&m}j!$&jGBJ z44U1>_(MLZCQM|mpJh)P9&$ea`X%F@_*=ykuf$DDUN^P2a;U4P{FT*7y=Yw4n-fik zrwl;Kz1Kj>t|R669tuB*J&)qrA9_8MVHM4!i{;!V?|S?)w0hYB*8pH_41%tmg!k`j zK9@sqgT9RPPqea7mPC0`<}*IaHzT<*^}+A^kGEu+dVy*(QR=duKWY1lH^~&Yq;@=h zoYL@YErPS3OTdMCcJ@7tIAlV@74WfHiNizft-{{@RIdb2r`0R@*6w-fTgk;9mcP4* z-z1#UBN(;Q)!7Y39F?rX;AK_9Y_tPTh^na|3Ao{_nHByjO|12YSQ@g-b%c*kTgW zY;Sfc48($5K+Bvfz4MZ@w#HKzw)VBZV=yprJoT`K0d@r04tXzu#1t0p8u{~lnLjMn zd^CA+@hSQ|3`Z3Utezw-^sW4IthhS=)$@`2{toVhvc=`$7zp`@R-L}SgOAQE!dcmU zW5pD0_Qu9wXBxVMlQMTLbWSrhb?SMx2^y>OH~?)sRTnIkiIdFbK~1Hu$J4S*^v0q^ z0wzFYPd%Oui(wT;A1@JCU1r~^WmV4>?K<$JxxfFm7h8@e4ko3gUrWnGp)hWM5eIK? z{6`Z!*s3Zj%{KiSptzbjVtTQyJ?fu}=pmN+%IwP4D5bM|6dUFtql)&r9CJxkIG{FOE`k{?jlr;v=Q92&t*LmwhO2cbQq#?Cg#&Up-1# zHF*V6XJgS~tcPU_It>}8IdLlD>7BM$J1Ek~WV_Uy7G%?0V7eOs4LkNIkST!I+7DD6 z>;5#J5UXl6(b+-6C_(n~r#iFTHNpQeM_#?W#&z@5>nr7sYKQr577KB{e(lxjsO$6d zy#rvDrjDWmfO6QKyvueFK0Nt*L+LEagAdtRxsP&m;tq+4aR6tA7E4(swjUO=EeKrL zr=TEoU*@lH5og=)jpus^Qqqmdoi^?4;5eu+47nnS;IFM8i`LArIC`S*(-vX^*12i1 zq2UvVfLWDm-A#aq=_(OVh_``I860TT6=EIVCAz-p`rPRuFg2x2>_eAwEt6Zw_z6n> z7*87c*`c~LH;{~_H}+XQp0q*MAiM+VAofoLp#oYq&-ZCTdu#*0QnW<)a08Hw;arFe zA-gcLwMkFO@q)4IvE$v?>?@#;lvX&Sjs(gw8mcVA#l{pGp`pU#092jjHpUrt&p5@{ z#=kSaEEGxM0>zoYvpd6c;yglkL;#OBfo^4IR{@KBEbpI3!Jz7mH{t`lWl>qq!>)4d zU2QO+{3o)0|Mm`kdo<~n*W^_8TNot}k+y^fnw713N`{&iNRq98866f?m;MvMdK%Ug z5)wb*{lY^^xk5A6wjCM6+7;qh>A(heMN*W4GN0;yCTKg>ToYvpSnC!#sH@%(GXzSu zJDSsHztvU%-hyp<5D~+Wz3NX&L9xc9={hwtb9S!3Y-RkO!5&Jv7~zJ&n9NKZS&t=| z38*P6Gvbo*6pn>9bFWpTkD}cHs}ZiXWj75Oa^ro^%&x19z25Qu(M*hPs?b3Rle)f} zd#URq!80p8-@*Lsaz}?Shw%Z$A-bj}ThQ91h)y)1zG!L~reN@*RM4v~gu4Suolh+f zj>nDSgx-;A86T_sX{Vsckf`@1Nnl+~P?tY@a$vjj(P1K%S8-vv?GBd^0JEDB8lItH z9l^2GoI^v-9^={qQ<~bebO|JI{yq9sJv)n6O^+HN%T#kShkbYYKeQ_T0#)`|yha(g z>PUZiSWnq~QMcD4aelmAj;K@adR&C84MMMnR4aDDwzwc-Rd9B&M(|6`FS#jAawgVP z5;8I!RI@m5xf|vor0a;+`zX@rSUn9qs~0aXmSs*kl^K#;nBZBNt+;GfyR=J8>W5O*H?vjy2%`Y=F7P!VDh%wrN+xLGwF@H`{vS`24~iUQkEp_eY)JbpRj zl$Yi0e7UOdmZ~Ga&a3>p?IKAIctcIsz)i#_9ydkI0^e zjVt?)Uzq>&CUVchkghslS#ToEii@RJd*KvX_jHFl)`&riR5<7-=3GU)-`wdG451A zx(cuJ^F*$m`pJ{WrlcyXJjQmTP-z6KWn}Wp9WSJV(5XnuAn!f{<&hLL~*W#y&7^8AqyJ7%xR z?nHgQaXKQ}o5BnBSe;LTs2A^}m{c9y0YzWmd9#Z1ls7}%0A&v_C`>ek7%@EMOGvde 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 SP>+-F&uO)Ds@W=*xBnkrNHHb= literal 0 HcmV?d00001 diff --git a/help/html/status_2destroy_8h.html b/help/html/status_2destroy_8h.html new file mode 100644 index 0000000..8f5fea7 --- /dev/null +++ b/help/html/status_2destroy_8h.html @@ -0,0 +1,131 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/destroy.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      destroy.h File Reference
      +
      +
      +
      #include <memory>
      +#include <cocoatweet/api/interface/httpPost.h>
      +#include <cocoatweet/api/model/tweet.h>
      +
      +Include dependency graph for destroy.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::Destroy
       class for using status/destroy:id endpoint More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/status_2destroy_8h__dep__incl.map b/help/html/status_2destroy_8h__dep__incl.map new file mode 100644 index 0000000..e7cbd75 --- /dev/null +++ b/help/html/status_2destroy_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/status_2destroy_8h__dep__incl.md5 b/help/html/status_2destroy_8h__dep__incl.md5 new file mode 100644 index 0000000..c4132b5 --- /dev/null +++ b/help/html/status_2destroy_8h__dep__incl.md5 @@ -0,0 +1 @@ +5b1d1c24a77922483fb85eca1cd0e5c4 \ No newline at end of file diff --git a/help/html/status_2destroy_8h__dep__incl.png b/help/html/status_2destroy_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..af1312baa445c09c89a3ccf94a25be52d4ae65a4 GIT binary patch literal 8504 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 + + + + + + + + + + + diff --git a/help/html/status_2destroy_8h__incl.md5 b/help/html/status_2destroy_8h__incl.md5 new file mode 100644 index 0000000..35acfbf --- /dev/null +++ b/help/html/status_2destroy_8h__incl.md5 @@ -0,0 +1 @@ +d3e6260f51f07ec5f545a6beb0ce86df \ No newline at end of file diff --git a/help/html/status_2destroy_8h__incl.png b/help/html/status_2destroy_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f953454100c694ef445b44691676ad44dee3e41e GIT binary patch literal 42908 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 literal 0 HcmV?d00001 diff --git a/help/html/status_2destroy_8h_source.html b/help/html/status_2destroy_8h_source.html new file mode 100644 index 0000000..8439bb1 --- /dev/null +++ b/help/html/status_2destroy_8h_source.html @@ -0,0 +1,108 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/destroy.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      destroy.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_DESTROY_H_
      +
      2 #define COCOATWEET_API_STATUS_DESTROY_H_
      +
      3 
      +
      4 #include <memory>
      + + +
      7 
      + + +
      11 public:
      +
      13  Destroy();
      +
      14 
      +
      18  void id(const std::string _id);
      +
      19 
      +
      23  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      24 };
      +
      25 } // namespace CocoaTweet::API::Statuses
      +
      26 
      +
      27 #endif
      +
      +
      class for using status/destroy:id endpoint
      Definition: destroy.h:10
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      data class for tweet object
      Definition: tweet.h:9
      + +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      process request for endpoint
      Definition: destroy.cc:11
      +
      Destroy()
      primary constructor
      Definition: destroy.cc:5
      +
      void id(const std::string _id)
      set tweet id to destroy
      Definition: destroy.cc:6
      + +
      Definition: destroy.cc:4
      + + + + diff --git a/help/html/status_8cc.html b/help/html/status_8cc.html new file mode 100644 index 0000000..e972102 --- /dev/null +++ b/help/html/status_8cc.html @@ -0,0 +1,125 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/status.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      status.cc File Reference
      +
      +
      +
      +Include dependency graph for status.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/status_8cc__incl.map b/help/html/status_8cc__incl.map new file mode 100644 index 0000000..cea9957 --- /dev/null +++ b/help/html/status_8cc__incl.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/status_8cc__incl.md5 b/help/html/status_8cc__incl.md5 new file mode 100644 index 0000000..c7f5280 --- /dev/null +++ b/help/html/status_8cc__incl.md5 @@ -0,0 +1 @@ +9bfcfc305b8d846cfd30ece1a2731133 \ No newline at end of file diff --git a/help/html/status_8cc__incl.png b/help/html/status_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..4707cae492abd17947709e26cec5b9ac3b387ac7 GIT binary patch literal 106105 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

      xYp9Ujn4{!T7jJQ8 zWgJxi$VzU$u~%^17_U0sUF7280y_c}ATBPa^;yCyP2J;SFuy`0mab%>%Yx)o@539@ z8vn{zcK)~oQUe3?(o*I9`U1F~7(Ta2NYr6izroFD@=>95+=RBoHZNOIO4@LgF5Wk?bXp+6)hbutjU3Hd2Wq z4GYK@BLx!1{r~@FbRG5^2of*oxMTiPiiCY!%ro}Gzj4v~*368#<^!?*+qc;uoLGBs zA#S+&<*I1A&lL2+;p#d8q0>8kr9^|nDDorG7Ub*y`CIKJX89Y7M*s?jBmYKPLS8&y IRM-3e05sivaR2}S literal 0 HcmV?d00001 diff --git a/help/html/status_8h.html b/help/html/status_8h.html new file mode 100644 index 0000000..2498c4f --- /dev/null +++ b/help/html/status_8h.html @@ -0,0 +1,137 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/status.h File Reference + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      status.h File Reference
      +
      +
      +
      #include "cocoatweet/api/interface/groupInterface.h"
      +#include "cocoatweet/oauth/oauth.h"
      +#include <cocoatweet/api/model/tweet.h>
      +#include <vector>
      +#include <utility>
      +
      +Include dependency graph for status.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::Status
       Entory point for statuses/*. More...
       
      struct  CocoaTweet::API::Statuses::Status::Options
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/status_8h__dep__incl.map b/help/html/status_8h__dep__incl.map new file mode 100644 index 0000000..889a09c --- /dev/null +++ b/help/html/status_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/status_8h__dep__incl.md5 b/help/html/status_8h__dep__incl.md5 new file mode 100644 index 0000000..7975028 --- /dev/null +++ b/help/html/status_8h__dep__incl.md5 @@ -0,0 +1 @@ +4add4413e5f6375f7404db26cb6d8ebe \ No newline at end of file diff --git a/help/html/status_8h__dep__incl.png b/help/html/status_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..832715d3289ceb76038c67c8022ebd0f83012c06 GIT binary patch literal 13245 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

      v2T8ygPv^loze0qh;>f^g@> zDFrZH8gVxc5Ej48$cR}RD`Dm3C4!T@lp+lxQ5tg&9-b~}A%Wz1mh&|y2;Uh|n$A3p zOt|6P1yP?_)tnLsS4-my)*OT6e(dvp*%$d8uNBRSHvDQXMCN=us(N~Q1fk$xFkV~i ziMIk~{7KmSH}jWoU%8tvPS^0RB1#7a1~@Zspx)#o?&d zqyOXO!NlD9v)xIYgo0fof=5k(kNj%08wLi~8p7oC^k~>~^YKzs%31121t%w`R`{BN^UqG)7&?(SyL2&EHZ0<61PGJ{ z_i%G28u|q+OiVIM)zB#n0kQi$v`eOcg>3yu7*(P$wzcJ)BgI*WHOSBx`u(g($Sr{+ zD{3T5?>}BVY}OO%`uE?g!i$I3Hub(EqyHCfTG*agUp_RXC>K$vc|te+?OiP)5fQZ1 zO9u|>J-6cA*M8i!hc>ZG=vZ>*lJKot?T|4_p})bo)@REaLZbMAstYcLL0dFAfnA-Q z+YGWiw|`Jek#^U0Bo|b2S+5#M=zPBvskFBDJ{8 zAtRuV{XcwPM7Js%+2=oc9lp16pz}cwl;FhBm-T%Lue09&o6;Aa#N$cX)F+X{Nr;ZZ ugx}P`-5Fk}qRVj4F~gT!I4b)uv48uT-s@?X%7yRaAnq#OS16V<3Hl$|T7$^| literal 0 HcmV?d00001 diff --git a/help/html/status_8h__incl.map b/help/html/status_8h__incl.map new file mode 100644 index 0000000..5e3a770 --- /dev/null +++ b/help/html/status_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/status_8h__incl.md5 b/help/html/status_8h__incl.md5 new file mode 100644 index 0000000..4dde538 --- /dev/null +++ b/help/html/status_8h__incl.md5 @@ -0,0 +1 @@ +cbf32f00a97b884df662452055747d44 \ No newline at end of file diff --git a/help/html/status_8h__incl.png b/help/html/status_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a809cb43552fbf827a9ea17e635299450ef6a925 GIT binary patch literal 34460 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 + + + + + + +CocoaTweet: src/cocoatweet/api/status/status.h Source File + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      status.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_STATUS_H_
      +
      2 #define COCOATWEET_API_STATUS_STATUS_H_
      +
      3 
      + + + +
      7 #include <vector>
      +
      8 #include <utility>
      +
      9 
      +
      10 namespace CocoaTweet::API::Statuses {
      +
      11 
      +
      13 class Status : public groupInterface {
      +
      14 public:
      +
      15  struct Options {
      +
      16  std::string replyToStatusId;
      + +
      18  std::vector<std::string> excludeReplyUserId;
      +
      19  std::string attachmentUrl;
      +
      20  std::pair<std::string, std::string> coord;
      +
      21  bool displayCoord = false;
      +
      22  bool trimUser = false;
      +
      23  bool enableDMCommands = false;
      +
      24  bool failDMCommands = true;
      +
      25  };
      +
      26 
      +
      28  Status() = default;
      +
      29 
      +
      32  Status(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      33 
      +
      38  CocoaTweet::API::Model::Tweet Update(const std::string& _status) const;
      +
      39 
      +
      46  CocoaTweet::API::Model::Tweet Update(const std::string& _status,
      +
      47  const Options _options) const;
      +
      48 
      +
      54  CocoaTweet::API::Model::Tweet Update(const std::string& _status,
      +
      55  std::vector<std::string> _mediaId) const;
      +
      56 
      +
      61  CocoaTweet::API::Model::Tweet Destroy(const std::string& _id) const;
      +
      62 
      +
      63  CocoaTweet::API::Model::Tweet Retweet(const std::string& _id) const;
      +
      64  CocoaTweet::API::Model::Tweet Unretweet(const std::string& _id) const;
      +
      65 
      +
      66  std::vector<CocoaTweet::API::Model::Tweet> UserTimeline(const std::string& _screenName) const;
      +
      67 
      +
      68 private:
      +
      69  Options defaultOpt_;
      +
      70 };
      +
      71 } // namespace CocoaTweet::API::Statuses
      +
      72 
      +
      73 #endif
      +
      + +
      CocoaTweet::API::Model::Tweet Destroy(const std::string &_id) const
      send request to statuses/destroy with specified id
      Definition: status.cc:71
      +
      std::pair< std::string, std::string > coord
      Definition: status.h:20
      +
      data class for tweet object
      Definition: tweet.h:9
      +
      std::vector< std::string > excludeReplyUserId
      Definition: status.h:18
      +
      Definition: groupInterface.h:8
      +
      CocoaTweet::API::Model::Tweet Retweet(const std::string &_id) const
      Definition: status.cc:77
      + +
      bool autoPopulateReplyMetaData
      Definition: status.h:17
      +
      CocoaTweet::API::Model::Tweet Unretweet(const std::string &_id) const
      Definition: status.cc:83
      +
      std::vector< CocoaTweet::API::Model::Tweet > UserTimeline(const std::string &_screenName) const
      Definition: status.cc:89
      +
      bool failDMCommands
      Definition: status.h:24
      +
      Status()=default
      primary constructor to allow for create NON-INITIALIZED object
      + +
      bool displayCoord
      Definition: status.h:21
      +
      Entory point for statuses/*.
      Definition: status.h:13
      +
      std::string attachmentUrl
      Definition: status.h:19
      +
      CocoaTweet::API::Model::Tweet Update(const std::string &_status) const
      send request to statuses/update with specified status
      Definition: status.cc:13
      +
      bool trimUser
      Definition: status.h:22
      +
      std::string replyToStatusId
      Definition: status.h:16
      + +
      Definition: destroy.cc:4
      +
      bool enableDMCommands
      Definition: status.h:23
      + + + + diff --git a/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options-members.html b/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options-members.html new file mode 100644 index 0000000..7085a37 --- /dev/null +++ b/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options-members.html @@ -0,0 +1,92 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      CocoaTweet::API::Statuses::Status::Options Member List
      +
      + + + + + diff --git a/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html b/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html new file mode 100644 index 0000000..426a0f0 --- /dev/null +++ b/help/html/structCocoaTweet_1_1API_1_1Statuses_1_1Status_1_1Options.html @@ -0,0 +1,237 @@ + + + + + + + +CocoaTweet: CocoaTweet::API::Statuses::Status::Options Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      CocoaTweet::API::Statuses::Status::Options Struct Reference
      +
      +
      + +

      #include <status.h>

      + + + + + + + + + + + + + + + + + + + + +

      +Public Attributes

      std::string replyToStatusId
       
      bool autoPopulateReplyMetaData = false
       
      std::vector< std::string > excludeReplyUserId
       
      std::string attachmentUrl
       
      std::pair< std::string, std::string > coord
       
      bool displayCoord = false
       
      bool trimUser = false
       
      bool enableDMCommands = false
       
      bool failDMCommands = true
       
      +

      Member Data Documentation

      + +

      ◆ attachmentUrl

      + +
      +
      + + + + +
      std::string CocoaTweet::API::Statuses::Status::Options::attachmentUrl
      +
      + +
      +
      + +

      ◆ autoPopulateReplyMetaData

      + +
      +
      + + + + +
      bool CocoaTweet::API::Statuses::Status::Options::autoPopulateReplyMetaData = false
      +
      + +
      +
      + +

      ◆ coord

      + +
      +
      + + + + +
      std::pair<std::string, std::string> CocoaTweet::API::Statuses::Status::Options::coord
      +
      + +
      +
      + +

      ◆ displayCoord

      + +
      +
      + + + + +
      bool CocoaTweet::API::Statuses::Status::Options::displayCoord = false
      +
      + +
      +
      + +

      ◆ enableDMCommands

      + +
      +
      + + + + +
      bool CocoaTweet::API::Statuses::Status::Options::enableDMCommands = false
      +
      + +
      +
      + +

      ◆ excludeReplyUserId

      + +
      +
      + + + + +
      std::vector<std::string> CocoaTweet::API::Statuses::Status::Options::excludeReplyUserId
      +
      + +
      +
      + +

      ◆ failDMCommands

      + +
      +
      + + + + +
      bool CocoaTweet::API::Statuses::Status::Options::failDMCommands = true
      +
      + +
      +
      + +

      ◆ replyToStatusId

      + +
      +
      + + + + +
      std::string CocoaTweet::API::Statuses::Status::Options::replyToStatusId
      +
      + +
      +
      + +

      ◆ trimUser

      + +
      +
      + + + + +
      bool CocoaTweet::API::Statuses::Status::Options::trimUser = false
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1adl__serializer-members.html b/help/html/structnlohmann_1_1adl__serializer-members.html new file mode 100644 index 0000000..74fc351 --- /dev/null +++ b/help/html/structnlohmann_1_1adl__serializer-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::adl_serializer< typename, typename > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::adl_serializer< typename, typename >, including all inherited members.

      + + + + + +
      from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())nlohmann::adl_serializer< typename, typename >inlinestatic
      from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())nlohmann::adl_serializer< typename, typename >inlinestatic
      to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())nlohmann::adl_serializer< typename, typename >inlinestatic
      to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())nlohmann::adl_serializer< typename, typename >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1adl__serializer.html b/help/html/structnlohmann_1_1adl__serializer.html new file mode 100644 index 0000000..d52b450 --- /dev/null +++ b/help/html/structnlohmann_1_1adl__serializer.html @@ -0,0 +1,322 @@ + + + + + + + +CocoaTweet: nlohmann::adl_serializer< typename, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::adl_serializer< typename, typename > Struct Template Reference
      +
      +
      + +

      default JSONSerializer template argument + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType , typename ValueType >
      static auto from_json (BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
       convert a JSON value to any value type More...
       
      template<typename BasicJsonType , typename ValueType >
      static auto to_json (BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
       convert any value type to a JSON value More...
       
      template<typename BasicJsonType , typename ValueType >
      static auto from_json (BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
       convert a JSON value to any value type More...
       
      template<typename BasicJsonType , typename ValueType >
      static auto to_json (BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
       convert any value type to a JSON value More...
       
      +

      Detailed Description

      +

      template<typename, typename>
      +struct nlohmann::adl_serializer< typename, typename >

      + +

      default JSONSerializer template argument

      +

      This serializer ignores the template arguments and uses ADL (argument-dependent lookup) for serialization.

      +

      Member Function Documentation

      + +

      ◆ from_json() [1/2]

      + +
      +
      +
      +template<typename , typename >
      +
      +template<typename BasicJsonType , typename ValueType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static auto nlohmann::adl_serializer< typename, typename >::from_json (BasicJsonType && j,
      ValueType & val 
      ) -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void()) +
      +
      +inlinestaticnoexcept
      +
      + +

      convert a JSON value to any value type

      +

      This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).

      +
      Parameters
      + + + +
      [in]jJSON value to read from
      [in,out]valvalue to write to
      +
      +
      + +
      +
      + +

      ◆ from_json() [2/2]

      + +
      +
      +
      +template<typename , typename >
      +
      +template<typename BasicJsonType , typename ValueType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static auto nlohmann::adl_serializer< typename, typename >::from_json (BasicJsonType && j,
      ValueType & val 
      ) -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void()) +
      +
      +inlinestaticnoexcept
      +
      + +

      convert a JSON value to any value type

      +

      This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).

      +
      Parameters
      + + + +
      [in]jJSON value to read from
      [in,out]valvalue to write to
      +
      +
      + +
      +
      + +

      ◆ to_json() [1/2]

      + +
      +
      +
      +template<typename , typename >
      +
      +template<typename BasicJsonType , typename ValueType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static auto nlohmann::adl_serializer< typename, typename >::to_json (BasicJsonType & j,
      ValueType && val 
      ) -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void()) +
      +
      +inlinestaticnoexcept
      +
      + +

      convert any value type to a JSON value

      +

      This function is usually called by the constructors of the basic_json class.

      +
      Parameters
      + + + +
      [in,out]jJSON value to write to
      [in]valvalue to read from
      +
      +
      + +
      +
      + +

      ◆ to_json() [2/2]

      + +
      +
      +
      +template<typename , typename >
      +
      +template<typename BasicJsonType , typename ValueType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static auto nlohmann::adl_serializer< typename, typename >::to_json (BasicJsonType & j,
      ValueType && val 
      ) -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void()) +
      +
      +inlinestaticnoexcept
      +
      + +

      convert any value type to a JSON value

      +

      This function is usually called by the constructors of the basic_json class.

      +
      Parameters
      + + + +
      [in,out]jJSON value to write to
      [in]valvalue to read from
      +
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction.html b/help/html/structnlohmann_1_1detail_1_1conjunction.html new file mode 100644 index 0000000..bdb1db9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::conjunction<... > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::conjunction<... > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::conjunction<... >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::conjunction<... >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html new file mode 100644 index 0000000..6c91bc9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::conjunction< B1, Bn... > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::conjunction< B1, Bn... > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::conjunction< B1, Bn... >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::conjunction< B1, Bn... >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map new file mode 100644 index 0000000..6b52720 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 new file mode 100644 index 0000000..ab4a14f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 @@ -0,0 +1 @@ +bfed7f3f4d363de8be03c64556d3025f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a8e4705e67312e832cc5122cc3625d7571e52a GIT binary patch literal 6413 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map new file mode 100644 index 0000000..6b52720 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 new file mode 100644 index 0000000..ab4a14f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +bfed7f3f4d363de8be03c64556d3025f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a8e4705e67312e832cc5122cc3625d7571e52a GIT binary patch literal 6413 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html new file mode 100644 index 0000000..17b05e5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::conjunction< B1 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::conjunction< B1 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::conjunction< B1 >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::conjunction< B1 >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map new file mode 100644 index 0000000..acde8f5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 new file mode 100644 index 0000000..ef04f56 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 @@ -0,0 +1 @@ +07e4a77396dcb7c5791af662cd55c77b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..71f231512357e4f68bca4596e4695142c16bd77f GIT binary patch literal 3606 zcmchaXH-+cw#Q=usR2Q1D8?XyAT<)2AWaNiK%|LMMIud*B1Jlc4mJ>wb^+w$av9hn)QVWHlAM1W)48>MF)Q=^K*)2F8ng=eD#g}O)pBSIHYv1GkjiN_XzBjBP}*=nxWs=bEyl&z9ycI z;`3&JCq4Y%kjbIMkvV!P;u!yJZ&h9V*&sQc|Xe@;xq zE-g9q+beoC2wt%J5<-=uO`KmHEY8vP5p~zSEx@Vv|HJVVnM}TjW)VP##Kkc>^t=lX z3p?xi?Ab~eHadD$5^4sG=u=hK)Kq(8UsGGFl4odra!ir+BqjzP1fMx~5ib?bs~}jR z#SI>78yOjSI9g?IT4hIDX8G~bCmyL&VARvgYpy$0T1Z&ynZZiAO(p z!XhH(i2b=acsT1!r?gIVl}t0uw5bK83>$P<~s-rDBot~bqLx6H6z>(77s;9zLt&{7HkM}eC1~1RI zoDA9wi;2IiK`(U$sM5d52!JM^wftlpuHd~HEfyJph1VF=yPm`o2u@$C7+^4wg(WNI z`z(yCYL40Qd`%DxhBhedhaPWLm6rNj_4W>C^AGFm9>jHjAH13wwaZkArmt`5Op&83 zrz*YYuG4jw$yMLLzM&!RlcQk`6}JA{5@GB_Vn2OFZSCfcxn?9(GyYZ31EyLW@3Wn?mG6iutz#_EpGMl=MH(_>QyuQNlxG(fI=8w% zaV|}K=`p3lmLv>Tv@k0i6`T<0uG-_g)j59LjgZh#KTW;OebgE&D=P`6Zu_G+hyEghNA79I z%o-)450A&xIKiKbW+?g+X4WRI2(ZM${}tV$@YtxRAoEh0=j4hC3G%^wLau3&&kOR- zIg>I=Y<|9AwXVkpd~kOtrcJrBl1IM37W@7<_vnVamTin-VTXll6P2>Ea_;oY_wSXW z+2Ug5Fw)2^9HDXcUE*ztmnF3AZEf3QnDW{0uSFWXHn{V3QbUMD$Ht?g*_U6Cb6jf_0^9glaP$1&<;D)G9zy9-^r z)|rIRbUQf?XxzcUqOjOt0W>7&;J_zc&VxEx!20OV%J%+#m%>(KF29l~KQ*k(urSM{ z*!^JJIyXL6dmFsB_$DSNEA8>@f2TvE z(G7tV`Mveg&>Mbx50A-*xApb;YxK{bKTktLbMxlSpf8IOrak*x(_PtWkp`BQv2Wh6 z`}q38rKDKqad9wDE~re)^I>)tmJofV!?Q8$*G@x_NaPHF5U$d;YlcXab@ZbQzI*r1 z$!%)){qb#*G>f1G>(b&PTv3rnPEKxncUR--Qz<($8QD!h&^`ho1gzA~&MqrE`_#8@ z-_)G8eij-bT6t1ZQt;fI4f)T2{?U$+p`n4Xaac&m zX@Sd^;o{;6K^n-2wR%&&37V5Hc478WtuZ^f+f zZ?2`tKf8K?j!KEVt(JbnudeGLw6@-5QocJ4#RP>yw|90_Fc^_b2!te9ry}Lg!1nfb zYa9%9vytwrKMQZw?i1Y<6chmXZ6_MsZ&>+xl3!lYSIslb29@vZ>oDE^CA+{%F4;Nakw@863w zGbVLv86t~X_Wo*GI>?!GG|;oIsmVr1b~J5e3|_&lZVFX;CZwQ5A{?Chix zZ~DWsw=rHY{p#QsUcAzC#gOuX#|Y!<8YznR`StCJH3ky{{4cQFkzee!RyfEhxBuqq zDjf=i`bS=#O7UP$T^;*_fZf-Dmf@jJRVK0d_7L&#xR04(-q3VFUuv zPTYqYi}ZOgjiTvXJ=-Dbkk&13XN^XY92==B=Fa+$N@#b_vIfM05zJ= zpUYdlpzPjBdk@EAv5wBpo#5=B=jUg7@L-y+eSUsk(ql=d1BbKO7^@v=d7%tisfQR0 zJ%omlv2(Qg(d^nS~n%t|CPYLeB(=SPIuRab3c6eDoWKik1jO6BqT(mq@
    5. QTS%BSc9admYSHLYm13&_c~rJ-sFAj$mt{rirA0ccz> zCFZr?iJ!;Kz!B@|Vf?+^i(36eI6fee)JjeMlIm#9wW+Dex5E$;(WkRH)fCg#rn<1a zoLg1~wX(7rsdI*b&F-eX!u73q{xv7yGnJsTwI2T6E!}$&AUqA_iUaNhrV9e**qx!k z0rcGd^$RdyzGD2!ykwX|GJtGjqvFBgA^h4kMnEXF=P$gxWU8vGcYE)ZTg5Hn-zGGO ziHL}ZS~YUUaERYBGGa9}GTJ#@&dhCY=1Y@t=5{9`W%+oov*sCMK^06i`m(MKmv?bI z@DB!Q$!$qszi=TeC+AYSto!M!uj#nss0#}V5oG`e^q~CIw6y4Co{R*6cD|#d<00i} z7vYi?+kQPeRp-4T7aR_!p`}&P(4YdUCB1re7T8~jRTKBAQ>Sh;YYp(DlV|4ULhcru z%+7oXZEtR_tg2#hs^tz34+k^|s;@^$NlSm!7lNn>wSuzDHogk58Bfn4c2QZGUqeIV z3?J`?AYN*9ZOwhIgBIxHJ#ziSpi@nKJwjL*tEou^QkE=03v7=teb4^lBqU zo0%5J%<>;&XzSb2rifV7S5F4YPnAqk{M1K}a{xOIBGE*5DO+5ulCtr@l`wTXtN+vf jPzODJfryQYSUA~?gB$DmGs3|iJqTJuPrXd_VaPuL$zs;7 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map new file mode 100644 index 0000000..acde8f5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 new file mode 100644 index 0000000..ef04f56 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +07e4a77396dcb7c5791af662cd55c77b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..71f231512357e4f68bca4596e4695142c16bd77f GIT binary patch literal 3606 zcmchaXH-+cw#Q=usR2Q1D8?XyAT<)2AWaNiK%|LMMIud*B1Jlc4mJ>wb^+w$av9hn)QVWHlAM1W)48>MF)Q=^K*)2F8ng=eD#g}O)pBSIHYv1GkjiN_XzBjBP}*=nxWs=bEyl&z9ycI z;`3&JCq4Y%kjbIMkvV!P;u!yJZ&h9V*&sQc|Xe@;xq zE-g9q+beoC2wt%J5<-=uO`KmHEY8vP5p~zSEx@Vv|HJVVnM}TjW)VP##Kkc>^t=lX z3p?xi?Ab~eHadD$5^4sG=u=hK)Kq(8UsGGFl4odra!ir+BqjzP1fMx~5ib?bs~}jR z#SI>78yOjSI9g?IT4hIDX8G~bCmyL&VARvgYpy$0T1Z&ynZZiAO(p z!XhH(i2b=acsT1!r?gIVl}t0uw5bK83>$P<~s-rDBot~bqLx6H6z>(77s;9zLt&{7HkM}eC1~1RI zoDA9wi;2IiK`(U$sM5d52!JM^wftlpuHd~HEfyJph1VF=yPm`o2u@$C7+^4wg(WNI z`z(yCYL40Qd`%DxhBhedhaPWLm6rNj_4W>C^AGFm9>jHjAH13wwaZkArmt`5Op&83 zrz*YYuG4jw$yMLLzM&!RlcQk`6}JA{5@GB_Vn2OFZSCfcxn?9(GyYZ31EyLW@3Wn?mG6iutz#_EpGMl=MH(_>QyuQNlxG(fI=8w% zaV|}K=`p3lmLv>Tv@k0i6`T<0uG-_g)j59LjgZh#KTW;OebgE&D=P`6Zu_G+hyEghNA79I z%o-)450A&xIKiKbW+?g+X4WRI2(ZM${}tV$@YtxRAoEh0=j4hC3G%^wLau3&&kOR- zIg>I=Y<|9AwXVkpd~kOtrcJrBl1IM37W@7<_vnVamTin-VTXll6P2>Ea_;oY_wSXW z+2Ug5Fw)2^9HDXcUE*ztmnF3AZEf3QnDW{0uSFWXHn{V3QbUMD$Ht?g*_U6Cb6jf_0^9glaP$1&<;D)G9zy9-^r z)|rIRbUQf?XxzcUqOjOt0W>7&;J_zc&VxEx!20OV%J%+#m%>(KF29l~KQ*k(urSM{ z*!^JJIyXL6dmFsB_$DSNEA8>@f2TvE z(G7tV`Mveg&>Mbx50A-*xApb;YxK{bKTktLbMxlSpf8IOrak*x(_PtWkp`BQv2Wh6 z`}q38rKDKqad9wDE~re)^I>)tmJofV!?Q8$*G@x_NaPHF5U$d;YlcXab@ZbQzI*r1 z$!%)){qb#*G>f1G>(b&PTv3rnPEKxncUR--Qz<($8QD!h&^`ho1gzA~&MqrE`_#8@ z-_)G8eij-bT6t1ZQt;fI4f)T2{?U$+p`n4Xaac&m zX@Sd^;o{;6K^n-2wR%&&37V5Hc478WtuZ^f+f zZ?2`tKf8K?j!KEVt(JbnudeGLw6@-5QocJ4#RP>yw|90_Fc^_b2!te9ry}Lg!1nfb zYa9%9vytwrKMQZw?i1Y<6chmXZ6_MsZ&>+xl3!lYSIslb29@vZ>oDE^CA+{%F4;Nakw@863w zGbVLv86t~X_Wo*GI>?!GG|;oIsmVr1b~J5e3|_&lZVFX;CZwQ5A{?Chix zZ~DWsw=rHY{p#QsUcAzC#gOuX#|Y!<8YznR`StCJH3ky{{4cQFkzee!RyfEhxBuqq zDjf=i`bS=#O7UP$T^;*_fZf-Dmf@jJRVK0d_7L&#xR04(-q3VFUuv zPTYqYi}ZOgjiTvXJ=-Dbkk&13XN^XY92==B=Fa+$N@#b_vIfM05zJ= zpUYdlpzPjBdk@EAv5wBpo#5=B=jUg7@L-y+eSUsk(ql=d1BbKO7^@v=d7%tisfQR0 zJ%omlv2(Qg(d^nS~n%t|CPYLeB(=SPIuRab3c6eDoWKik1jO6BqT(mq@
    6. QTS%BSc9admYSHLYm13&_c~rJ-sFAj$mt{rirA0ccz> zCFZr?iJ!;Kz!B@|Vf?+^i(36eI6fee)JjeMlIm#9wW+Dex5E$;(WkRH)fCg#rn<1a zoLg1~wX(7rsdI*b&F-eX!u73q{xv7yGnJsTwI2T6E!}$&AUqA_iUaNhrV9e**qx!k z0rcGd^$RdyzGD2!ykwX|GJtGjqvFBgA^h4kMnEXF=P$gxWU8vGcYE)ZTg5Hn-zGGO ziHL}ZS~YUUaERYBGGa9}GTJ#@&dhCY=1Y@t=5{9`W%+oov*sCMK^06i`m(MKmv?bI z@DB!Q$!$qszi=TeC+AYSto!M!uj#nss0#}V5oG`e^q~CIw6y4Co{R*6cD|#d<00i} z7vYi?+kQPeRp-4T7aR_!p`}&P(4YdUCB1re7T8~jRTKBAQ>Sh;YYp(DlV|4ULhcru z%+7oXZEtR_tg2#hs^tz34+k^|s;@^$NlSm!7lNn>wSuzDHogk58Bfn4c2QZGUqeIV z3?J`?AYN*9ZOwhIgBIxHJ#ziSpi@nKJwjL*tEou^QkE=03v7=teb4^lBqU zo0%5J%<>;&XzSb2rifV7S5F4YPnAqk{M1K}a{xOIBGE*5DO+5ulCtr@l`wTXtN+vf jPzODJfryQYSUA~?gB$DmGs3|iJqTJuPrXd_VaPuL$zs;7 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.map new file mode 100644 index 0000000..b8cd247 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 new file mode 100644 index 0000000..39ee68c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 @@ -0,0 +1 @@ +2317000f22dc1721922dff9513b5cfba \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..27c5e492af5572fc8c558ac6a80af04e1b7a8662 GIT binary patch literal 3979 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map new file mode 100644 index 0000000..b8cd247 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 new file mode 100644 index 0000000..39ee68c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 @@ -0,0 +1 @@ +2317000f22dc1721922dff9513b5cfba \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..27c5e492af5572fc8c558ac6a80af04e1b7a8662 GIT binary patch literal 3979 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1detector-members.html b/help/html/structnlohmann_1_1detail_1_1detector-members.html new file mode 100644 index 0000000..758bd75 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1detector-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1detector.html b/help/html/structnlohmann_1_1detail_1_1detector.html new file mode 100644 index 0000000..8fd46ef --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1detector.html @@ -0,0 +1,165 @@ + + + + + + + +CocoaTweet: nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + +

      +Public Types

      using value_t = std::false_type
       
      using type = Default
       
      using value_t = std::false_type
       
      using type = Default
       
      +

      Member Typedef Documentation

      + +

      ◆ type [1/2]

      + +
      +
      +
      +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::type = Default
      +
      + +
      +
      + +

      ◆ type [2/2]

      + +
      +
      +
      +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::type = Default
      +
      + +
      +
      + +

      ◆ value_t [1/2]

      + +
      +
      +
      +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::value_t = std::false_type
      +
      + +
      +
      + +

      ◆ value_t [2/2]

      + +
      +
      +
      +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::value_t = std::false_type
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html b/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html new file mode 100644 index 0000000..4f37307 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html b/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html new file mode 100644 index 0000000..c79089d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html @@ -0,0 +1,165 @@ + + + + + + + +CocoaTweet: nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + +

      +Public Types

      using value_t = std::true_type
       
      using type = Op< Args... >
       
      using value_t = std::true_type
       
      using type = Op< Args... >
       
      +

      Member Typedef Documentation

      + +

      ◆ type [1/2]

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type = Op<Args...>
      +
      + +
      +
      + +

      ◆ type [2/2]

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type = Op<Args...>
      +
      + +
      +
      + +

      ◆ value_t [1/2]

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t = std::true_type
      +
      + +
      +
      + +

      ◆ value_t [2/2]

      + +
      +
      +
      +template<class Default , template< class... > class Op, class... Args>
      + + + + +
      using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t = std::true_type
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html new file mode 100644 index 0000000..24e9eb7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::dtoa_impl::boundaries Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html new file mode 100644 index 0000000..7a6dfc4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html @@ -0,0 +1,150 @@ + + + + + + + +CocoaTweet: nlohmann::detail::dtoa_impl::boundaries Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::dtoa_impl::boundaries Struct Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Collaboration diagram for nlohmann::detail::dtoa_impl::boundaries:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + +

      +Public Attributes

      diyfp w
       
      diyfp minus
       
      diyfp plus
       
      +

      Member Data Documentation

      + +

      ◆ minus

      + +
      +
      + + + + +
      diyfp nlohmann::detail::dtoa_impl::boundaries::minus
      +
      + +
      +
      + +

      ◆ plus

      + +
      +
      + + + + +
      diyfp nlohmann::detail::dtoa_impl::boundaries::plus
      +
      + +
      +
      + +

      ◆ w

      + +
      +
      + + + + +
      diyfp nlohmann::detail::dtoa_impl::boundaries::w
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map new file mode 100644 index 0000000..460abaf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 new file mode 100644 index 0000000..b6d2edf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 @@ -0,0 +1 @@ +359bd39581963fe83b3a340a4fec560f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..af9d574f3ea1810a929f979bafcec97d27a3243c GIT binary patch literal 5665 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 JB?#+~{{mu$;tl`+ literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html new file mode 100644 index 0000000..6c17ddc --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::dtoa_impl::cached_power Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html new file mode 100644 index 0000000..c9a461c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html @@ -0,0 +1,141 @@ + + + + + + + +CocoaTweet: nlohmann::detail::dtoa_impl::cached_power Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::dtoa_impl::cached_power Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Attributes

      std::uint64_t f
       
      int e
       
      int k
       
      +

      Member Data Documentation

      + +

      ◆ e

      + +
      +
      + + + + +
      int nlohmann::detail::dtoa_impl::cached_power::e
      +
      + +
      +
      + +

      ◆ f

      + +
      +
      + + + + +
      std::uint64_t nlohmann::detail::dtoa_impl::cached_power::f
      +
      + +
      +
      + +

      ◆ k

      + +
      +
      + + + + +
      int nlohmann::detail::dtoa_impl::cached_power::k
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html new file mode 100644 index 0000000..172a48b --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html @@ -0,0 +1,96 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::dtoa_impl::diyfp Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::dtoa_impl::diyfp, including all inherited members.

      + + + + + + + + + + + + + + +
      diyfp(std::uint64_t f_, int e_) noexceptnlohmann::detail::dtoa_impl::diyfpinline
      diyfp(std::uint64_t f_, int e_) noexceptnlohmann::detail::dtoa_impl::diyfpinline
      enlohmann::detail::dtoa_impl::diyfp
      fnlohmann::detail::dtoa_impl::diyfp
      kPrecisionnlohmann::detail::dtoa_impl::diyfpstatic
      mul(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      mul(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      normalize(diyfp x) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      normalize(diyfp x) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      normalize_to(const diyfp &x, const int target_exponent) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      normalize_to(const diyfp &x, const int target_exponent) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      sub(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      sub(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html new file mode 100644 index 0000000..281d286 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html @@ -0,0 +1,555 @@ + + + + + + + +CocoaTweet: nlohmann::detail::dtoa_impl::diyfp Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::dtoa_impl::diyfp Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Member Functions

      constexpr diyfp (std::uint64_t f_, int e_) noexcept
       
      constexpr diyfp (std::uint64_t f_, int e_) noexcept
       
      + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      static diyfp sub (const diyfp &x, const diyfp &y) noexcept
       returns x - y More...
       
      static diyfp mul (const diyfp &x, const diyfp &y) noexcept
       returns x * y More...
       
      static diyfp normalize (diyfp x) noexcept
       normalize x such that the significand is >= 2^(q-1) More...
       
      static diyfp normalize_to (const diyfp &x, const int target_exponent) noexcept
       normalize x such that the result has the exponent E More...
       
      static diyfp sub (const diyfp &x, const diyfp &y) noexcept
       returns x - y More...
       
      static diyfp mul (const diyfp &x, const diyfp &y) noexcept
       returns x * y More...
       
      static diyfp normalize (diyfp x) noexcept
       normalize x such that the significand is >= 2^(q-1) More...
       
      static diyfp normalize_to (const diyfp &x, const int target_exponent) noexcept
       normalize x such that the result has the exponent E More...
       
      + + + + + +

      +Public Attributes

      std::uint64_t f = 0
       
      int e = 0
       
      + + + +

      +Static Public Attributes

      static constexpr int kPrecision = 64
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ diyfp() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr nlohmann::detail::dtoa_impl::diyfp::diyfp (std::uint64_t f_,
      int e_ 
      )
      +
      +inlineconstexprnoexcept
      +
      + +
      +
      + +

      ◆ diyfp() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      constexpr nlohmann::detail::dtoa_impl::diyfp::diyfp (std::uint64_t f_,
      int e_ 
      )
      +
      +inlineconstexprnoexcept
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ mul() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::mul (const diyfpx,
      const diyfpy 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      returns x * y

      +
      Note
      The result is rounded. (Only the upper q bits are returned.)
      + +
      +
      + +

      ◆ mul() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::mul (const diyfpx,
      const diyfpy 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      returns x * y

      +
      Note
      The result is rounded. (Only the upper q bits are returned.)
      + +
      +
      + +

      ◆ normalize() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize (diyfp x)
      +
      +inlinestaticnoexcept
      +
      + +

      normalize x such that the significand is >= 2^(q-1)

      +
      Precondition
      x.f != 0
      + +
      +
      + +

      ◆ normalize() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize (diyfp x)
      +
      +inlinestaticnoexcept
      +
      + +

      normalize x such that the significand is >= 2^(q-1)

      +
      Precondition
      x.f != 0
      + +
      +
      + +

      ◆ normalize_to() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to (const diyfpx,
      const int target_exponent 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      normalize x such that the result has the exponent E

      +
      Precondition
      e >= x.e and the upper e - x.e bits of x.f must be zero.
      + +
      +
      + +

      ◆ normalize_to() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to (const diyfpx,
      const int target_exponent 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      normalize x such that the result has the exponent E

      +
      Precondition
      e >= x.e and the upper e - x.e bits of x.f must be zero.
      + +
      +
      + +

      ◆ sub() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::sub (const diyfpx,
      const diyfpy 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      returns x - y

      +
      Precondition
      x.e == y.e and x.f >= y.f
      + +
      +
      + +

      ◆ sub() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static diyfp nlohmann::detail::dtoa_impl::diyfp::sub (const diyfpx,
      const diyfpy 
      )
      +
      +inlinestaticnoexcept
      +
      + +

      returns x - y

      +
      Precondition
      x.e == y.e and x.f >= y.f
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ e

      + +
      +
      + + + + +
      int nlohmann::detail::dtoa_impl::diyfp::e = 0
      +
      + +
      +
      + +

      ◆ f

      + +
      +
      + + + + +
      std::uint64_t nlohmann::detail::dtoa_impl::diyfp::f = 0
      +
      + +
      +
      + +

      ◆ kPrecision

      + +
      +
      + + + + + +
      + + + + +
      static constexpr int nlohmann::detail::dtoa_impl::diyfp::kPrecision = 64
      +
      +staticconstexpr
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor.html b/help/html/structnlohmann_1_1detail_1_1external__constructor.html new file mode 100644 index 0000000..e6601a4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html new file mode 100644 index 0000000..7c1d56d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::array > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::array >, including all inherited members.

      + + + + + + + + + + + +
      construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const CompatibleArrayType &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const std::vector< bool > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const std::valarray< T > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const CompatibleArrayType &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const std::vector< bool > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      construct(BasicJsonType &j, const std::valarray< T > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html new file mode 100644 index 0000000..ac6a4c6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html @@ -0,0 +1,503 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::array > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::array > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::array_t &arr)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
       
      template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< not std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleArrayType &arr)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const std::vector< bool > &arr)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      static void construct (BasicJsonType &j, const std::valarray< T > &arr)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::array_t &arr)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
       
      template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< !std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleArrayType &arr)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const std::vector< bool > &arr)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      static void construct (BasicJsonType &j, const std::valarray< T > &arr)
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/10]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< not std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const CompatibleArrayType & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [2/10]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< !std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const CompatibleArrayType & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [3/10]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const std::valarray< T > & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [4/10]

      + +
      +
      +
      +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const std::valarray< T > & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [5/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const std::vector< bool > & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [6/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const std::vector< bool > & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [7/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const typename BasicJsonType::array_t & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [8/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      const typename BasicJsonType::array_t & arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [9/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      typename BasicJsonType::array_t && arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [10/10]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
      typename BasicJsonType::array_t && arr 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html new file mode 100644 index 0000000..8ecec02 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::binary > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::binary >, including all inherited members.

      + + + +
      construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)nlohmann::detail::external_constructor< value_t::binary >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)nlohmann::detail::external_constructor< value_t::binary >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html new file mode 100644 index 0000000..0ef0555 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html @@ -0,0 +1,175 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::binary > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::binary > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::binary_t &b)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::binary_t &&b)
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::binary >::construct (BasicJsonType & j,
      const typename BasicJsonType::binary_t & b 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::binary >::construct (BasicJsonType & j,
      typename BasicJsonType::binary_t && b 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html new file mode 100644 index 0000000..ac5f489 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::boolean > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::boolean >, including all inherited members.

      + + + +
      construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexceptnlohmann::detail::external_constructor< value_t::boolean >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexceptnlohmann::detail::external_constructor< value_t::boolean >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html new file mode 100644 index 0000000..c072e17 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html @@ -0,0 +1,175 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::boolean > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::boolean > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::boolean >::construct (BasicJsonType & j,
      typename BasicJsonType::boolean_t b 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ construct() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::boolean >::construct (BasicJsonType & j,
      typename BasicJsonType::boolean_t b 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html new file mode 100644 index 0000000..ec962c2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::number_float > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_float >, including all inherited members.

      + + + +
      construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexceptnlohmann::detail::external_constructor< value_t::number_float >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexceptnlohmann::detail::external_constructor< value_t::number_float >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html new file mode 100644 index 0000000..9c5cc21 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html @@ -0,0 +1,175 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::number_float > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::number_float > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_float >::construct (BasicJsonType & j,
      typename BasicJsonType::number_float_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ construct() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_float >::construct (BasicJsonType & j,
      typename BasicJsonType::number_float_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html new file mode 100644 index 0000000..f9b7cae --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::number_integer > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_integer >, including all inherited members.

      + + + +
      construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexceptnlohmann::detail::external_constructor< value_t::number_integer >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexceptnlohmann::detail::external_constructor< value_t::number_integer >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html new file mode 100644 index 0000000..c6491aa --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html @@ -0,0 +1,175 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::number_integer > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::number_integer > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_integer >::construct (BasicJsonType & j,
      typename BasicJsonType::number_integer_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ construct() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_integer >::construct (BasicJsonType & j,
      typename BasicJsonType::number_integer_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html new file mode 100644 index 0000000..4ce98c0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::number_unsigned > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_unsigned >, including all inherited members.

      + + + +
      construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexceptnlohmann::detail::external_constructor< value_t::number_unsigned >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexceptnlohmann::detail::external_constructor< value_t::number_unsigned >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html new file mode 100644 index 0000000..0cfde94 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html @@ -0,0 +1,175 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::number_unsigned > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::number_unsigned > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_unsigned >::construct (BasicJsonType & j,
      typename BasicJsonType::number_unsigned_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      + +

      ◆ construct() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::number_unsigned >::construct (BasicJsonType & j,
      typename BasicJsonType::number_unsigned_t val 
      )
      +
      +inlinestaticnoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html new file mode 100644 index 0000000..c42d86f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::object > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::object >, including all inherited members.

      + + + + + + + +
      construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      construct(BasicJsonType &j, const CompatibleObjectType &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      construct(BasicJsonType &j, const CompatibleObjectType &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html new file mode 100644 index 0000000..c2c9d2e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html @@ -0,0 +1,339 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::object > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::object > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::object_t &obj)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
       
      template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< not std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleObjectType &obj)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::object_t &obj)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
       
      template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< !std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleObjectType &obj)
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< not std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      const CompatibleObjectType & obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< !std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      const CompatibleObjectType & obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      const typename BasicJsonType::object_t & obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      const typename BasicJsonType::object_t & obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      typename BasicJsonType::object_t && obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
      typename BasicJsonType::object_t && obj 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html new file mode 100644 index 0000000..2178719 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::external_constructor< value_t::string > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::external_constructor< value_t::string >, including all inherited members.

      + + + + + + + +
      construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      construct(BasicJsonType &j, const CompatibleStringType &str)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      construct(BasicJsonType &j, const CompatibleStringType &str)nlohmann::detail::external_constructor< value_t::string >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html new file mode 100644 index 0000000..4d08576 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html @@ -0,0 +1,339 @@ + + + + + + + +CocoaTweet: nlohmann::detail::external_constructor< value_t::string > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::external_constructor< value_t::string > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + +

      +Static Public Member Functions

      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::string_t &s)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::string_t &&s)
       
      template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< not std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleStringType &str)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, const typename BasicJsonType::string_t &s)
       
      template<typename BasicJsonType >
      static void construct (BasicJsonType &j, typename BasicJsonType::string_t &&s)
       
      template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< !std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
      static void construct (BasicJsonType &j, const CompatibleStringType &str)
       
      +

      Member Function Documentation

      + +

      ◆ construct() [1/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< not std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      const CompatibleStringType & str 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [2/6]

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< !std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      const CompatibleStringType & str 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [3/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      const typename BasicJsonType::string_t & s 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [4/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      const typename BasicJsonType::string_t & s 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [5/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      typename BasicJsonType::string_t && s 
      )
      +
      +inlinestatic
      +
      + +
      +
      + +

      ◆ construct() [6/6]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
      typename BasicJsonType::string_t && s 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1from__json__fn-members.html b/help/html/structnlohmann_1_1detail_1_1from__json__fn-members.html new file mode 100644 index 0000000..8ccfb0f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1from__json__fn-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::from_json_fn Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::from_json_fn, including all inherited members.

      + + + +
      operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())nlohmann::detail::from_json_fninline
      operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())nlohmann::detail::from_json_fninline
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1from__json__fn.html b/help/html/structnlohmann_1_1detail_1_1from__json__fn.html new file mode 100644 index 0000000..e05a7c1 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1from__json__fn.html @@ -0,0 +1,177 @@ + + + + + + + +CocoaTweet: nlohmann::detail::from_json_fn Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::from_json_fn Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Member Functions

      template<typename BasicJsonType , typename T >
      auto operator() (const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())
       
      template<typename BasicJsonType , typename T >
      auto operator() (const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())
       
      +

      Member Function Documentation

      + +

      ◆ operator()() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json_fn::operator() (const BasicJsonType & j,
      T & val 
      ) const -> decltype(from_json(j, val), void()) +
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator()() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::from_json_fn::operator() (const BasicJsonType & j,
      T & val 
      ) const -> decltype(from_json(j, val), void()) +
      +
      +inlinenoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json.html b/help/html/structnlohmann_1_1detail_1_1has__from__json.html new file mode 100644 index 0000000..aefe0a3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_from_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_from_json< BasicJsonType, T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::has_from_json< BasicJsonType, T, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::has_from_json< BasicJsonType, T, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html new file mode 100644 index 0000000..1b9d4ac --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html @@ -0,0 +1,150 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      + +
      const BasicJsonType&, T&>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3050
      +
      j template void())
      Definition: json.hpp:3108
      +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html new file mode 100644 index 0000000..8fe6180 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_43514980991ae140f327ade8e98a8a39.html b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_43514980991ae140f327ade8e98a8a39.html new file mode 100644 index 0000000..f2f43c2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_43514980991ae140f327ade8e98a8a39.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html new file mode 100644 index 0000000..44a2c55 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_5e786a91cad76ed1c14f425887b41640.html @@ -0,0 +1,150 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      + +
      const BasicJsonType&, T&>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2526
      +
      j template void())
      Definition: json.hpp:3108
      + +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map new file mode 100644 index 0000000..910ecb7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 new file mode 100644 index 0000000..74cca75 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 @@ -0,0 +1 @@ +d41ea6fea50f4c16ae20fe76efb6c3ce \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..12bf096becf1ac73cf5899794729fd7dcd8c824f GIT binary patch literal 5055 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 VB`Y%{5bVf7s`nlsOBGFm{txHX$!h=r literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map new file mode 100644 index 0000000..910ecb7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 new file mode 100644 index 0000000..74cca75 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 @@ -0,0 +1 @@ +d41ea6fea50f4c16ae20fe76efb6c3ce \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..12bf096becf1ac73cf5899794729fd7dcd8c824f GIT binary patch literal 5055 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 VB`Y%{5bVf7s`nlsOBGFm{txHX$!h=r literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json.html b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json.html new file mode 100644 index 0000000..aeacece --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__77fa4a66bcd4ad6a4833327a7a0f101c.html b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__77fa4a66bcd4ad6a4833327a7a0f101c.html new file mode 100644 index 0000000..708e418 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__77fa4a66bcd4ad6a4833327a7a0f101c.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html new file mode 100644 index 0000000..e815cd0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__a9e4562f31f7ed523e6e0f675606b0f2.html @@ -0,0 +1,149 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      + +
      const BasicJsonType&>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2541
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html new file mode 100644 index 0000000..1478e64 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html @@ -0,0 +1,149 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      + +
      const BasicJsonType&>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3065
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html new file mode 100644 index 0000000..89c78b7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map new file mode 100644 index 0000000..1e17480 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 new file mode 100644 index 0000000..306077d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 @@ -0,0 +1 @@ +b124105c605aaa65a41a681f163c3c37 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..60be5eec17d6fb96a990e189d295c29e08682520 GIT binary patch literal 5405 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 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 new file mode 100644 index 0000000..306077d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 @@ -0,0 +1 @@ +b124105c605aaa65a41a681f163c3c37 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..60be5eec17d6fb96a990e189d295c29e08682520 GIT binary patch literal 5405 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 + + + + + + +CocoaTweet: nlohmann::detail::has_to_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + + +
      +
      +
      nlohmann::detail::has_to_json< BasicJsonType, T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::has_to_json< BasicJsonType, T, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::has_to_json< BasicJsonType, T, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html new file mode 100644 index 0000000..285ff75 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html @@ -0,0 +1,150 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value: +
      +
      +
      The documentation for this struct was generated from the following file: +
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3080
      + +
      j template void())
      Definition: json.hpp:3108
      +
      decltype(T::to_json(std::declval< Args >()...)) to_json_function
      Definition: json.hpp:2510
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html new file mode 100644 index 0000000..bfe3eac --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_0145fd0aefe65a4b2c55996f981ba800f0.html b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_0145fd0aefe65a4b2c55996f981ba800f0.html new file mode 100644 index 0000000..69a4402 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_0145fd0aefe65a4b2c55996f981ba800f0.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html new file mode 100644 index 0000000..25edc38 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01not_01737900a749c335e922e2f74e2face5e4.html @@ -0,0 +1,150 @@ + + + + + + + +CocoaTweet: nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using serializer = typename BasicJsonType::template json_serializer< T, void >
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ serializer

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + +
      using nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< not is_basic_json< T >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value: +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + +
      j template void())
      Definition: json.hpp:3108
      +
      decltype(T::to_json(std::declval< Args >()...)) to_json_function
      Definition: json.hpp:2510
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:2556
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map new file mode 100644 index 0000000..ee6b337 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 new file mode 100644 index 0000000..b34202f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 @@ -0,0 +1 @@ +78e67ead035be471f09b7c85ebb1c886 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..99e05243215be17fc99bb4919a80c8fe42524d93 GIT binary patch literal 5012 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 F{TBq~qF(?2 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map new file mode 100644 index 0000000..ee6b337 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 new file mode 100644 index 0000000..b34202f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 @@ -0,0 +1 @@ +78e67ead035be471f09b7c85ebb1c886 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..99e05243215be17fc99bb4919a80c8fe42524d93 GIT binary patch literal 5012 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 F{TBq~qF(?2 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1index__sequence-members.html b/help/html/structnlohmann_1_1detail_1_1index__sequence-members.html new file mode 100644 index 0000000..a2e9c03 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1index__sequence-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::index_sequence< Ints > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1index__sequence.html b/help/html/structnlohmann_1_1detail_1_1index__sequence.html new file mode 100644 index 0000000..c1176b9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1index__sequence.html @@ -0,0 +1,228 @@ + + + + + + + +CocoaTweet: nlohmann::detail::index_sequence< Ints > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::index_sequence< Ints > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + +

      +Public Types

      using type = index_sequence
       
      using value_type = std::size_t
       
      using type = index_sequence
       
      using value_type = std::size_t
       
      + + + + + +

      +Static Public Member Functions

      static constexpr std::size_t size () noexcept
       
      static constexpr std::size_t size () noexcept
       
      +

      Member Typedef Documentation

      + +

      ◆ type [1/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + +
      using nlohmann::detail::index_sequence< Ints >::type = index_sequence
      +
      + +
      +
      + +

      ◆ type [2/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + +
      using nlohmann::detail::index_sequence< Ints >::type = index_sequence
      +
      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + +
      using nlohmann::detail::index_sequence< Ints >::value_type = std::size_t
      +
      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + +
      using nlohmann::detail::index_sequence< Ints >::value_type = std::size_t
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ size() [1/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + + +
      + + + + + + + +
      static constexpr std::size_t nlohmann::detail::index_sequence< Ints >::size ()
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      + +

      ◆ size() [2/2]

      + +
      +
      +
      +template<std::size_t... Ints>
      + + + + + +
      + + + + + + + +
      static constexpr std::size_t nlohmann::detail::index_sequence< Ints >::size ()
      +
      +inlinestaticconstexprnoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol-members.html b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol-members.html new file mode 100644 index 0000000..6a55c0e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::input_adapter_protocol Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::input_adapter_protocol, including all inherited members.

      + + + +
      get_character()=0nlohmann::detail::input_adapter_protocolpure virtual
      ~input_adapter_protocol()=defaultnlohmann::detail::input_adapter_protocolvirtual
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol.html b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol.html new file mode 100644 index 0000000..06152c7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol.html @@ -0,0 +1,171 @@ + + + + + + + +CocoaTweet: nlohmann::detail::input_adapter_protocol Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::input_adapter_protocol Struct Referenceabstract
      +
      +
      + +

      abstract input adapter interface + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::input_adapter_protocol:
      +
      +
      Inheritance graph
      + + + + + + + +
      [legend]
      + + + + + + + +

      +Public Member Functions

      virtual std::char_traits< char >::int_type get_character ()=0
       get a character [0,255] or std::char_traits<char>::eof(). More...
       
      virtual ~input_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      abstract input adapter interface

      +

      Produces a stream of std::char_traits<char>::int_type characters from a std::istream, a buffer, or some other input type. Accepts the return of exactly one non-EOF character for future input. The int_type characters returned consist of all valid char values as positive values (typically unsigned char), plus an EOF value outside that range, specified by the value of the function std::char_traits<char>::eof(). This value is typically -1, but could be any arbitrary value which is not a valid char value.

      +

      Constructor & Destructor Documentation

      + +

      ◆ ~input_adapter_protocol()

      + +
      +
      + + + + + +
      + + + + + + + +
      virtual nlohmann::detail::input_adapter_protocol::~input_adapter_protocol ()
      +
      +virtualdefault
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ get_character()

      + +
      +
      + + + + + +
      + + + + + + + +
      virtual std::char_traits<char>::int_type nlohmann::detail::input_adapter_protocol::get_character ()
      +
      +pure virtual
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.map new file mode 100644 index 0000000..3a3e780 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.md5 new file mode 100644 index 0000000..7e91e22 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.md5 @@ -0,0 +1 @@ +ca3d32577efaa1a4841eb403795e7bfe \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1input__adapter__protocol__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..618eceb06f88fec088c4bf0752df3576c3d549b1 GIT binary patch literal 16799 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 + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::internal_iterator< BasicJsonType > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1internal__iterator.html b/help/html/structnlohmann_1_1detail_1_1internal__iterator.html new file mode 100644 index 0000000..2b0f23a --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1internal__iterator.html @@ -0,0 +1,174 @@ + + + + + + + +CocoaTweet: nlohmann::detail::internal_iterator< BasicJsonType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::internal_iterator< BasicJsonType > Struct Template Reference
      +
      +
      + +

      an iterator value + More...

      + +

      #include <json.hpp>

      +
      +Collaboration diagram for nlohmann::detail::internal_iterator< BasicJsonType >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + +

      +Public Attributes

      BasicJsonType::object_t::iterator object_iterator {}
       iterator for JSON objects More...
       
      BasicJsonType::array_t::iterator array_iterator {}
       iterator for JSON arrays More...
       
      primitive_iterator_t primitive_iterator {}
       generic iterator for all other types More...
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +struct nlohmann::detail::internal_iterator< BasicJsonType >

      + +

      an iterator value

      +
      Note
      This structure could easily be a union, but MSVC currently does not allow unions members with complex constructors, see https://github.com/nlohmann/json/pull/105.
      +

      Member Data Documentation

      + +

      ◆ array_iterator

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      BasicJsonType::array_t::iterator nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator {}
      +
      + +

      iterator for JSON arrays

      + +
      +
      + +

      ◆ object_iterator

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      BasicJsonType::object_t::iterator nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator {}
      +
      + +

      iterator for JSON objects

      + +
      +
      + +

      ◆ primitive_iterator

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      primitive_iterator_t nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator {}
      +
      + +

      generic iterator for all other types

      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map new file mode 100644 index 0000000..99898f8 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 new file mode 100644 index 0000000..cdbddb0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 @@ -0,0 +1 @@ +4f7082ab23d29b25c053489d3969596f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dfefaf904545825fca2eb421bbd0af831beb6c9d GIT binary patch literal 7524 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

      7vLM1Xz2%uKqs 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json.html b/help/html/structnlohmann_1_1detail_1_1is__basic__json.html new file mode 100644 index 0000000..883b185 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_basic_json< typename > Struct Template Reference + + + + + + + + + +

      +
      +
      +
      nlohmann::detail::is_basic_json< typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_basic_json< typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_basic_json< typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html new file mode 100644 index 0000000..0959fbe --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map new file mode 100644 index 0000000..46cf6e5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 new file mode 100644 index 0000000..2abf1da --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 @@ -0,0 +1 @@ +f055f46a179ab28c7bebd1ae0c1c355d \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..989e049e595a36484021624ca37325da4a658810 GIT binary patch literal 5581 zcmcIobyU;uzaI$F(x9{;A&eAIK%^Chq8rUXLO{|{(v2V?-Jz7ANRLtw_#%vu5*SE# zjgFBL_wo0;=bqoa|KHEfwsW@6=ZSZ`;)!^s^@xg`g&YEbP-&>EBEWYSct?{Gg3koU zE&=d$)k5=;D&+F-E2r^OA_T%1tf8u;a&cF{$}&QoS$XG|sts zwO5%Lh}0^Xa{X%5@(7gRiaL?=VaVcI#50kPP7yF7VHna-RcK37NKFl%#KOhL&DF`* z^__FsYtWW1flTbyoJ{l6J1_etR}{JwR(g8A@rUFHkaN+{<$Oj$KF$y}65pg)6(%)Q zL@9MD>rWBtEVP7>tfk~=Jvg4d!V+Ehicxg{?XM}oP+M15j12XrArEzQbX?QRB{UjA z5kN{xN><(K>vcZ|X{L%4A%pE~44a7uxO3{bED8Q|=sZqu`yX$}Y;A4Fr&SelIK3(I zZsPBv{4P#bJhrDzntWw~xi|yP#36xQmaoREZBOyIhYug}KmAaRMhilrZG!ur_lcBP zSXdyC-rnB1xjAWRX_YX_^t-6%y1I-ldH37AO{Br0+FYur+x3`>dw^!oK{V-bCQ{ofN4NOV_U-?iqRg{+S*iiW?WCe6lJE((|vufX8#E)D=T~1|ABX!C^C(msxY46yWS8EuR zcH!e2k~TDnU1#Sty{TMKC{$jT15xRT8%%#{D>>5N`Jha-Wvri}5HW94!78&U?f?a89~-L+u> z4WYnk1YxYcsnO3?9|}lLzKV>;R)B0k80jx0?4Ij#S-j?Z^rkaf?xZD)})n@@gRufpb?*LX120wF^AI{ zN$XE_d=C)aJ9JMenf|)#u&93L#ez~of`0jQM!Ib;XVZ~5X-fwc7X(5PRimMCxw6oz zQ%AE2iHZ1Mx%offMd(eT%=GJjr|Vx6~aTPFmy_5*%!7Z2YskTS!o_r>7?`KmYP{T~s7>VsLPNYm0-H zHmFftmXB|_J(`s?I4wQh%iH_v)vFduCK_vB?%%m{M^tqCcy|HO4bTnXsF1L*l$4Z7 zg;~&|6F?hn1Of(wO*i`7b>A43vL6A@V>&t%y!I@Qwx$|9wmIaz-7G9D^!M(u#iai0 z!hXUgQ~I7~WwD8*B27(EC{(le!CE}eBliU%ZHlRlIuYZqG;C~HiHQqybCoYTu8lEk zIgX(VzI~GcfG;CsD8R5aTB(9-(l0Y6qoV5V>T-5+GHCWc2ehHBt(};dSZ>nbezIp( z(pP5E5E&IkK|!&wupnyu)oFKLt-w4PhN0)=EH5t)I6K~bFXwS_IDtyo1CQwH>vP_7 z;t~?-9v_#LmS$2LKsBATPftIPm978!^*Sqtp>v(%KF4+kXTW5&t@f)|TR)S9q9P-` zuUClT3hU0!&K^dySecoL1zel~WU8;1JsTMxAOCZ-U2a&_K02DF^{M=Mw;RYa=xHuXf9v&efA!g>($jHcmh{9(NW7xhq&HX6WFBeR{Rp*Nv zEHI!BGA%1Ax-BdW*1H*ZQw0iz28V=Hk}K!#fW^ee$1g80gSmzD%Sy`1{4dVDQnQQh zd%465U5Sl}i2>-Go0|(NEF`2A+|EdX6{zJKEdZ$q$p0*4NiruV1IUE~bbUEOG^_0mYOmYFb-ULjYl8XHSM9pp3E4 z1lYvP0zWo|h7#94Ln0|4JD_>=m-kNqUmZ!B#%q0wQsoX(RQxnV02v-0hCsBnhd9DY%gbkK9VbRgktW8*pLOiOVErWQ_X`UP zfh3}$qDpHN(i}!j@ZBVF3@V|d}dwWxJK1h1+$**N?ZLO#nh((8n zhUVx06>6+3EP%vg*<^xsbB1t$+BDSFXLmg}H#e7-mcahDXPQYMl&sPvXf)y$-Rq|x zjBj{uO@0Hci!d>n8XLRK6eTAs+h&1duCj+(PR)QimGeE``E42y&DGf!L9e2$?9Gwb zVpcJ>;W$wXI&N%YB4DqJpPJ+Ts+YliXJ=>7ixi}!|CG^pcXwCrrKP3e@%Yc5KcAj@ zBastch#I1tg`bT6yATGH3`cm`o*#T$jmkn_4@mL~ophFz|G$>sd)>>9gl(uWUPP9Ab{4S*^Q z(HWVULUJmBd8?w$XY)85&`-q)M!KjQW z4S)Xpd1+~>{>p1{aq;-ipZ@ea{7~p)36pTnDI+7JrppVTfPerLYWw`p(TgepmzHhb zyACQUt%sWve*d~WHphpt*f+@}#KZ-Kg%4F#J-xjAb}`HzTa)pTXY-gSo<}iIL$oE> z6dxa-i9CVS%f2jt;peC8<*E;O8PurR?#(VO)c~O*`(7)5z`FkfI|s*y4<9bphK0Ck z`JR55932gx^09Yx6c!ZR+ue=-;<`Q}%)^rp6yDy6Z&A@xjGeA569!*c=i=(xe7Yti zlG<%i3E&^pt|D_0fokEA$Hpi~PtXAqryqU*xPV+8MSXMKCqF-zmn-<4x;X)0H85~> z-3OQjhyV~tPjBy1ZE<;dvjrv+i^YzN=oN5ZUi?8l$X4(0F%8k~ z;o$?HLnwqxL1Ct=i!2k_>IxbF6UDr~wkBdwF?)8h-!}Zk4H}7if;u@q7E6B&WF?3x zXn2s?fQ%ClyTC!5Uy!2H=6KEOstqe^rc%gNz@MnS#V#0eC)Gss$9Et(t#7GguZz!P zi?nHJX|=Sp3|LYKC#R-xZl^#3Cr7sVyMXu}E0c#xIE;!p&_lT7q>Y#$p$2<(37Lun_|bi{RMLIVa1Iul4m?6LsaKrH=D$5x_?MgX-<>rY9w; zvhGbtVqj)opf6`E=Jo$q%rxjoDwb|*7Ye9TJ-gr7Zzk4e;r!$Yl{N8vXV~ULMEkE? z6=qQ&mUrh@`mmX`MR^z7~LKZ@lL zz6})=q>I9!aSh~Y3IYB=W&o}zcpRH&1A5oUC?h(WO3wwb`-_ek4c-GGJEt7P}IUHpaAdbq|0f*k9>4ZT2@Qf_yXgNk}rc zx9_&D0e>y5Y3(b2KDUkA$Gs)N|Do_wP9BPEeiI}lm^XPyO8z(j%g1pv(S zH3zfzBjk=VR{w52>UuT28H01%^Y=9sM zRTdW)-`&|U0Pg<6-wgP9J3G6_k0~!;aUBc1{QRlO$*Dig0Es&I#$KBPTT!7fz*w8C6nA_NZ`UGaYJ8dMs zki*=hivaqNft~%yr=gYJ%(sp|Rw8E`fsvKB?nwjqNXd2&O!hWCJw0Lj`Hxa$oiu8C zV|~5BZdecmEh8f%FE0FG$u<3u#vch8DP902~Xh%8Sd9*x$c@W3j%6V=nYY17ot-wI2mCHA$f;y!l;KJJEBv=^ZH!g%^YL93=wSpk*kauQLJM$Z zVSc{p{1C~Pc)RGfhE;rTCQtC>vC7+P#6SOg8v4H}tEj1&YVwmCkyUE5*lqMVA}1#Y z=3--GgPWVXBHPCF?_LyX+9oG`+uz*)3KGmfqlre%pf+^m~9JvoVHlSxp{HU91y-@mfZjDkRdx$J+J0p(hNC<0szGG9|u14JRG z|8ef%&~idyzgch@{6|7iKb${l6PGJ81Y}6&mIb5&IlbQVnIG=@RsA;K|DVqiV7w`G&%m4rY literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map new file mode 100644 index 0000000..46cf6e5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 new file mode 100644 index 0000000..2abf1da --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +f055f46a179ab28c7bebd1ae0c1c355d \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..989e049e595a36484021624ca37325da4a658810 GIT binary patch literal 5581 zcmcIobyU;uzaI$F(x9{;A&eAIK%^Chq8rUXLO{|{(v2V?-Jz7ANRLtw_#%vu5*SE# zjgFBL_wo0;=bqoa|KHEfwsW@6=ZSZ`;)!^s^@xg`g&YEbP-&>EBEWYSct?{Gg3koU zE&=d$)k5=;D&+F-E2r^OA_T%1tf8u;a&cF{$}&QoS$XG|sts zwO5%Lh}0^Xa{X%5@(7gRiaL?=VaVcI#50kPP7yF7VHna-RcK37NKFl%#KOhL&DF`* z^__FsYtWW1flTbyoJ{l6J1_etR}{JwR(g8A@rUFHkaN+{<$Oj$KF$y}65pg)6(%)Q zL@9MD>rWBtEVP7>tfk~=Jvg4d!V+Ehicxg{?XM}oP+M15j12XrArEzQbX?QRB{UjA z5kN{xN><(K>vcZ|X{L%4A%pE~44a7uxO3{bED8Q|=sZqu`yX$}Y;A4Fr&SelIK3(I zZsPBv{4P#bJhrDzntWw~xi|yP#36xQmaoREZBOyIhYug}KmAaRMhilrZG!ur_lcBP zSXdyC-rnB1xjAWRX_YX_^t-6%y1I-ldH37AO{Br0+FYur+x3`>dw^!oK{V-bCQ{ofN4NOV_U-?iqRg{+S*iiW?WCe6lJE((|vufX8#E)D=T~1|ABX!C^C(msxY46yWS8EuR zcH!e2k~TDnU1#Sty{TMKC{$jT15xRT8%%#{D>>5N`Jha-Wvri}5HW94!78&U?f?a89~-L+u> z4WYnk1YxYcsnO3?9|}lLzKV>;R)B0k80jx0?4Ij#S-j?Z^rkaf?xZD)})n@@gRufpb?*LX120wF^AI{ zN$XE_d=C)aJ9JMenf|)#u&93L#ez~of`0jQM!Ib;XVZ~5X-fwc7X(5PRimMCxw6oz zQ%AE2iHZ1Mx%offMd(eT%=GJjr|Vx6~aTPFmy_5*%!7Z2YskTS!o_r>7?`KmYP{T~s7>VsLPNYm0-H zHmFftmXB|_J(`s?I4wQh%iH_v)vFduCK_vB?%%m{M^tqCcy|HO4bTnXsF1L*l$4Z7 zg;~&|6F?hn1Of(wO*i`7b>A43vL6A@V>&t%y!I@Qwx$|9wmIaz-7G9D^!M(u#iai0 z!hXUgQ~I7~WwD8*B27(EC{(le!CE}eBliU%ZHlRlIuYZqG;C~HiHQqybCoYTu8lEk zIgX(VzI~GcfG;CsD8R5aTB(9-(l0Y6qoV5V>T-5+GHCWc2ehHBt(};dSZ>nbezIp( z(pP5E5E&IkK|!&wupnyu)oFKLt-w4PhN0)=EH5t)I6K~bFXwS_IDtyo1CQwH>vP_7 z;t~?-9v_#LmS$2LKsBATPftIPm978!^*Sqtp>v(%KF4+kXTW5&t@f)|TR)S9q9P-` zuUClT3hU0!&K^dySecoL1zel~WU8;1JsTMxAOCZ-U2a&_K02DF^{M=Mw;RYa=xHuXf9v&efA!g>($jHcmh{9(NW7xhq&HX6WFBeR{Rp*Nv zEHI!BGA%1Ax-BdW*1H*ZQw0iz28V=Hk}K!#fW^ee$1g80gSmzD%Sy`1{4dVDQnQQh zd%465U5Sl}i2>-Go0|(NEF`2A+|EdX6{zJKEdZ$q$p0*4NiruV1IUE~bbUEOG^_0mYOmYFb-ULjYl8XHSM9pp3E4 z1lYvP0zWo|h7#94Ln0|4JD_>=m-kNqUmZ!B#%q0wQsoX(RQxnV02v-0hCsBnhd9DY%gbkK9VbRgktW8*pLOiOVErWQ_X`UP zfh3}$qDpHN(i}!j@ZBVF3@V|d}dwWxJK1h1+$**N?ZLO#nh((8n zhUVx06>6+3EP%vg*<^xsbB1t$+BDSFXLmg}H#e7-mcahDXPQYMl&sPvXf)y$-Rq|x zjBj{uO@0Hci!d>n8XLRK6eTAs+h&1duCj+(PR)QimGeE``E42y&DGf!L9e2$?9Gwb zVpcJ>;W$wXI&N%YB4DqJpPJ+Ts+YliXJ=>7ixi}!|CG^pcXwCrrKP3e@%Yc5KcAj@ zBastch#I1tg`bT6yATGH3`cm`o*#T$jmkn_4@mL~ophFz|G$>sd)>>9gl(uWUPP9Ab{4S*^Q z(HWVULUJmBd8?w$XY)85&`-q)M!KjQW z4S)Xpd1+~>{>p1{aq;-ipZ@ea{7~p)36pTnDI+7JrppVTfPerLYWw`p(TgepmzHhb zyACQUt%sWve*d~WHphpt*f+@}#KZ-Kg%4F#J-xjAb}`HzTa)pTXY-gSo<}iIL$oE> z6dxa-i9CVS%f2jt;peC8<*E;O8PurR?#(VO)c~O*`(7)5z`FkfI|s*y4<9bphK0Ck z`JR55932gx^09Yx6c!ZR+ue=-;<`Q}%)^rp6yDy6Z&A@xjGeA569!*c=i=(xe7Yti zlG<%i3E&^pt|D_0fokEA$Hpi~PtXAqryqU*xPV+8MSXMKCqF-zmn-<4x;X)0H85~> z-3OQjhyV~tPjBy1ZE<;dvjrv+i^YzN=oN5ZUi?8l$X4(0F%8k~ z;o$?HLnwqxL1Ct=i!2k_>IxbF6UDr~wkBdwF?)8h-!}Zk4H}7if;u@q7E6B&WF?3x zXn2s?fQ%ClyTC!5Uy!2H=6KEOstqe^rc%gNz@MnS#V#0eC)Gss$9Et(t#7GguZz!P zi?nHJX|=Sp3|LYKC#R-xZl^#3Cr7sVyMXu}E0c#xIE;!p&_lT7q>Y#$p$2<(37Lun_|bi{RMLIVa1Iul4m?6LsaKrH=D$5x_?MgX-<>rY9w; zvhGbtVqj)opf6`E=Jo$q%rxjoDwb|*7Ye9TJ-gr7Zzk4e;r!$Yl{N8vXV~ULMEkE? z6=qQ&mUrh@`mmX`MR^z7~LKZ@lL zz6})=q>I9!aSh~Y3IYB=W&o}zcpRH&1A5oUC?h(WO3wwb`-_ek4c-GGJEt7P}IUHpaAdbq|0f*k9>4ZT2@Qf_yXgNk}rc zx9_&D0e>y5Y3(b2KDUkA$Gs)N|Do_wP9BPEeiI}lm^XPyO8z(j%g1pv(S zH3zfzBjk=VR{w52>UuT28H01%^Y=9sM zRTdW)-`&|U0Pg<6-wgP9J3G6_k0~!;aUBc1{QRlO$*Dig0Es&I#$KBPTT!7fz*w8C6nA_NZ`UGaYJ8dMs zki*=hivaqNft~%yr=gYJ%(sp|Rw8E`fsvKB?nwjqNXd2&O!hWCJw0Lj`Hxa$oiu8C zV|~5BZdecmEh8f%FE0FG$u<3u#vch8DP902~Xh%8Sd9*x$c@W3j%6V=nYY17ot-wI2mCHA$f;y!l;KJJEBv=^ZH!g%^YL93=wSpk*kauQLJM$Z zVSc{p{1C~Pc)RGfhE;rTCQtC>vC7+P#6SOg8v4H}tEj1&YVwmCkyUE5*lqMVA}1#Y z=3--GgPWVXBHPCF?_LyX+9oG`+uz*)3KGmfqlre%pf+^m~9JvoVHlSxp{HU91y-@mfZjDkRdx$J+J0p(hNC<0szGG9|u14JRG z|8ef%&~idyzgch@{6|7iKb${l6PGJ81Y}6&mIb5&IlbQVnIG=@RsA;K|DVqiV7w`G&%m4rY literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map new file mode 100644 index 0000000..d677540 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 new file mode 100644 index 0000000..5e6751f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 @@ -0,0 +1 @@ +8a5d3a9d76d751138678dc203cbbdf8f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..952f95d3619b1e60dc8b59ad7b5b0f8eab11125d GIT binary patch literal 4917 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map new file mode 100644 index 0000000..d677540 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 new file mode 100644 index 0000000..5e6751f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 @@ -0,0 +1 @@ +8a5d3a9d76d751138678dc203cbbdf8f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..952f95d3619b1e60dc8b59ad7b5b0f8eab11125d GIT binary patch literal 4917 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type.html new file mode 100644 index 0000000..c28aff4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map new file mode 100644 index 0000000..eb6f2d2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 new file mode 100644 index 0000000..9a21cc5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 @@ -0,0 +1 @@ +1a07ba8f8ccf21b7c986a6049b967ec0 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..0b71be314df1df6db3c47df92216088f92040ad2 GIT binary patch literal 9689 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html new file mode 100644 index 0000000..b73972d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA267684a873e5addda71cf693e6831a1f.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA267684a873e5addda71cf693e6831a1f.html new file mode 100644 index 0000000..7e38cdf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA267684a873e5addda71cf693e6831a1f.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html new file mode 100644 index 0000000..fd92fbf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA2ae7cc020294dfcc2b3bca5a9db30ddf.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleArrayType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value and is_detected< iterator_t, CompatibleArrayType >::value and not is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<BasicJsonType,
      +
      typename CompatibleArrayType::value_type>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html new file mode 100644 index 0000000..87600cc --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html new file mode 100644 index 0000000..d15d308 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleArrayType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<BasicJsonType,
      +
      typename CompatibleArrayType::value_type>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map new file mode 100644 index 0000000..d66bb56 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 new file mode 100644 index 0000000..4e78645 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +ecc851b63a009bb814124c58409d502b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cd55f80bd48e32143b67c34931c02c5537e6bdda GIT binary patch literal 6461 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 dzk3Dgn;Bu< + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..4e78645 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +ecc851b63a009bb814124c58409d502b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cd55f80bd48e32143b67c34931c02c5537e6bdda GIT binary patch literal 6461 zcmb`MWmuF^*Y8J!5fl{!fdQ0~kd&4X6zLL>PC>dGh7?7S7KZMYhEYmjL_oS52I=mu z8RFf%=fgSA^Z8s{4BW%qd*6HSwbuXlUj(Zt%iO(9c^d+O+?A7+RD(cn+yuX;;6uTy zcUQdluuQq4|{=CJzVV3KSj= zXjYUgNKZW)*eeR_9dOUrR#7c_Hk=v}o8>Z$6jp<63=Rfji|X1{TDv(G)I`kU zciHHnU+38hw&@&XB;=jxd#Ua^R>#-&`bDiOfpbb?Ac2C z+F-6itSxS;h==(Wy3#tHjy0I?W~`Zo#oHoHj>;|~iKKue=v~UcE9w5quC9EP;a_xq znp?%&@KM^@+V1Y|&N}#GslG%nU!AszUtfMEH=IrNn4bF^OoGNf7WI57D~rFqy**rJ zl>X`y)CtVNV?)JnP1+Vovw}LAew{rqyRgt)s8Qs3aWocM5}%Y5lA4<8uE@p3C3boG zej2{=C?z#@@A!BbyVFqS_#*28OOvgdnp#Xu3@PF<2{m;wE)=?6zq2;fUcD5Dm3mF?*0P>rA#%2G@hGpH*~Pfs6g@b_QZ zU+R)~cdyzXkfC|{NW@)z|KOmjxa943<<58`zXFu+)unIC#DtEJ>*_c62^kvSoWqT= zH{NxxgYL$ zVfW4U965xntZe_U2o&nYy?ghbi-^3fbGP&H@zJiZB!*a7S=mn2#wH|Ch>D6jy1O&6 zvW6(cb2=?|!w?%z&d&3F{+GN(nk6{2f`ajtHe>sZw`fT99GU_N4p#?mT3A>#H8okH zE1v3A+w*(BXsXYFslRe^a`N={URYcVl+LDm@+7dLf-iN$%hR*mxEX5Ro$zX{8r@ry)q5u=%wl3`)2QoN|Nb!RI>l_19f_Im&NdQ0 z7ESp05y#~H`?YD5h@ivt->IobR8&+vJUo`;<(VCoaP3TISiCQFM9&!cq)h##mv>^$#v{sUSNkZUfqmi*J;XAN_KR1#+fZD z`#oPdW|-}Nby-te%VRb8q&1w%Vt6buGc$AZ-!Bpw85s}~6YH4YO+P8(Y8_AI6sgizv$fh~Fy4nsFJi;lH z5XEeFYxv`-zj=`mpgpmQ=AJs&+W|wJNHknn1HqDwGUbWluTmgOMhy zQv2cQ`4eDDX?=Rp{Akp~Ho&0X;!2>_@ra*s}g)f&n$$=W*;3R=WeX_hn5|BZ{K%&n% zFnl@)P`9rV*OwoFx=GUgr`Y|!`a~PZ@&w4$jqCeKqs?gpA=mfcmizxZ+(fK?xz!Mp zbOd#QG=~J<@iCWb-LVa*VwDQSv9hW$YF+aDpXgmydMhotvkKQr+;3z(ND*@Ra(e2S zda`B*ec^RjuKq#-|KXYq)VcRR9+$NMhKq+6m5^Y0h`Dj&#^zMr*vE$jJJmCO*&r=V zEiAOq0!kM`_#5;xP=0Nxne#!>;?QXa63LMV6ck_6(`ha+N4ywrHm%a)egQU&rz#34 zI}y&ap{Q3cUqXOtGcYoKHu5|BOm5^8_3ayxu*Y_>%SD~X&OT6Rm-AC6$h6Oa5|eU@ zEck5Y#x+8K0=-7fMN12DaB%2N7k^`I%^FV0PtVRC1}aX&-tqxBY$=M`F` zpM!!9n(vEe3|LwY=M&$A629wB;6`J+yzZGz(NIw-n3&LmVloC7VPgvg<2OM7V&cZncgRmSfA(E}TTa#TgC(*b z2;t%3aXZewgx;ghKUh)G>|vy7FzX_lpP#RBS-F>%mZq4*7p!IEJ5oa)oWI}gZd&er zV&57`(+8Afb+Vf44jFqtyo2FSJ^a9PclHK1H@BpW3?ebH<0IZ3MarGo#!reV&!af> zs``OO>{V2u#kRr&dh7k`-F}zfPjRl-2cii)K($C*|ujk(*K;H40TLd zX+1K3-~aTc$Idh(8(Yz^7f`yz;exlUeto?YfWYZq8%=15(Wqzhm%GhFL)TS* z+V{l3+1VNY-n~5gsoMJU{Vt&0h@>Q448i31?s`!fkL~y~Q0BZ5X`eE&SBKxlt^Bj& z>U|el?<%K@^?)e~j2gs%o`unf8`jyIn={?I|JbxO40f$O3;68+Y1b8lK>YJlPzpSLIOWb6_7OF8zD5xl;1bTN&9fr}0udY@z67>f)bE_) zgZmab@sK*qH-gd3++3~Beaj@$!^LIj@@ly!`Oi=Dw}T~m)s_=Ka(kV^;mXT{IdUZC zeQ7;Fc-wn>^E8Sy32DSqG)r`KOue)AH89l#rKP2dD=UbosDPp(HptrA8lA}PgdCh-QJ*X zZp}M=l|tE90O-keWAv_+>UgyS4TAZNc~=|u*YEbFuK13=KEX*B z9(5Nv@ry$ekQO=LzXMcxd;9in&;3OLkabLUZ`BP7^(~%xZ0ld>jt26#_tqUAN*ZNW$5*wT{kMHnt-nI2`V@H!lVF^Ym!U z2!6H{pD5zN84(ddHj$R^Lz(+`Z8uBYJ~}2QM^i}x|BjrpvN<@Q+TVDgh|mZiBl-a> z*GiE=-6^jj|3^k$W{@z9*1_KRZVoJlh=M|UU2QIwO=}(X+h}##A`26Btt6~-!k=U! zAMcgwo=qO{XoO+bwm6BA1j^GyP0G*Dsnmg!AeF-mbv zW$=xWu!!Y74KNusj&nEw2bl!~s)m1{yie92F@t=! zo2){b_fT%R4-F1dh`6&Okx1yqaAh9|a;;@gvx^kgAAOQ%+VwDY?eY)UlN}OprXW4Q za+eo75UyM3Sop!RDjE13H_>F10j*s~1vq?JwQyFSAQaQlQrC zo}9F`w0s6O>Y@Mqk|HMY$K8BS`hf&50KJwVCz0nLOU*E?Ptnz2@sP!(B_udhU`I_| zefxObMSZdT`dGz;)+`xlwf$66YipjiM42pnFtjy?WKQQYb8)M?Tk(&NocQZWPeV9K zuvAzT-708#T zEG)ACf6;2Gk!ru;Tas>9?lvFA$G>mX*BqVgk=9g+q?J$+of=F}b@9=g@` zJ*5V9&pmf(f%G@`_SVD)mHL`@dt#1_rH&I>#6$fQ9o^h=ZN^F^rKEr><_8?y9`Q)z zx%1*zsi9D?+7w~85D?f%rv+&qUS2qMt2!LasCX->_O1aoqgXOaY*}89Qlz&(^Yuiz z@lA`~6z;Vmbzf|8@!sK9bI2yIsvntnz;l;nMa?opB}+>dV3L4A`~*DQALq3e5NISM zB-t+%P>ypFTW#S#qWx+I1M=*%bACJs#w4)WS#3UdXt)pnm94F-t7teXg${EJ_6>#( zTAH%RI=9xh=BB0n5XB%fzp+u|{&Ymy(C{%xK#R_pr)UQncK)>UlwrC8DODy=LaXek zfEs3jwugqjs4@H@Cc$xIl;iy3!fkr2+QH}&GuEJKdP-Twy4B!!ftg!el(e+8M3VR} zm8i~mW~~=G(E$9!jGRUiM6;5PsA_~Z>D9y9sVbjO(2N!pUTtz*8kg28O~WWDJCX0( zK3I?s)gKNj9Bxg=4w(1r z{DAM9f-cUVVx6B~!^0VAX*1McN~fQn`}C&0=sG)Cv6}gfa{rY{@J1;$!?p1vUQS-# z0~o9W@XhJej$c~`f?1(NYqVxLp}Xpdk&%)8%x@)m`4IQS-z-0Vr-x?}n04)g0u%|< zc5l0Ghf=>UVa0xXEG2X7!|z~cH|`}jgD77sLXD(=T$2u|tn6&CWIVtjCLk{rlLf-T z=1^TE`U6vcxH*9k^TiNRQ!9>@8n`Xrb8QJwO3WBm`CIqo^+J*j&t&v)1U)(GsiD^z zBWgpIblL}Luh9!j5Q)=Qd-sm^deFYK7h%*wYS>o$>n7UW%+-{DES7(@ZlUe%vRPSK z`1kMMB5eE5QS}Ul!|2IJup4C!>tR-(B@EhU9r z)swfiwx}m6;Axbx0bmDErL%zQn3dMS56lG|rU5Nw0!{LS!>#(v;~(A-1HuVEAUTyiyb6M0(K!~Wo5?;A(C@FBpan< z6Sy|vbx=IKff7AIfT-ElkK)4UBdG)<^7C0xE4agIZ;f2|#gbKqSVEe9xva=4DUD!t ze(~5KO-bRPnW#}ptj!kuOzYLbN*^;LBc8v%e?1DNQ6iPqKANrTqevu?5On<-BX`{@ z&6hUfh-<5L+t3DXVQy~D%y7ouUgHI2F`Efnv0k_xG$dv;)6ck;w!G%0`rq=!CzpDEGy>ONUVeq^3RsB52kY z@hEq6;+G3EjnD245%EpxdqDl7EG}1?TKqp?re* zM@6Zws}1Jlp=XN3c!vL4~ z!DlBL{KWxCo?jWB3ecL#rRrmaM{2v5H4QuwK+G~c*7 zkIN4?gt^MA>+2RvM~z}R^~YzyTK&LjaO~G4BqTV8>k(@pnN;D{|EdWjzV81ozW(1v z2vnK2H(9Xk0cg3aLw(;q_!wc{U#!EM+IWvn@@Qp#KI^1!C%zU(72h~^v5eskUD|)$ dzk3Dgn;Bu< + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 new file mode 100644 index 0000000..9a21cc5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 @@ -0,0 +1 @@ +1a07ba8f8ccf21b7c986a6049b967ec0 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..0b71be314df1df6db3c47df92216088f92040ad2 GIT binary patch literal 9689 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type.html new file mode 100644 index 0000000..ae35197 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map new file mode 100644 index 0000000..10e9f58 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 new file mode 100644 index 0000000..7c4d911 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 @@ -0,0 +1 @@ +f240ab7e12d3ef81bafa62cd1c693e71 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..496d16cc1c85096f1dec1ed8a78cb54571cca001 GIT binary patch literal 16068 zcma)j2Rzp6-@i_Srb-J*r6@BMGNPf#%u06lCaa9lkWyC3UP<;!wv0q%OK!6WSvRux z`oF*Dod5IsJ-_EX-t=u&wE`S*JZ@EZ=u^lK|!(onz*Pu1;ro3__Z9> zCj8fwZ;%rI+oU5YCQ7kJ{QJ5v&X0oPFvT^|i;DJPqdy$fn@Fqk6D<_)y_xcSsUGI) z8}UBKIn_j;x*_-e))x}rFP##-Ud;MZ*@p6(>l^j$AJo}wF4Gh|Q&auPvp=<2DNS|V z%PkvD-}F7Po4mX_UVV=?NZXxZMu?G`k$NB_e2zadxVvV+MtF=#j@4gc!^NF{{xCA1 zJ&jnvry8OTYI8**j2IpU|ph|fqCrNpjYH`tZZEVe|za}_f z$K{=FS5M#mc>%xq)~Ma|d|r6>hNzPxZ5eUpr@yM~k2qjh7uJp6=H}*R+MalL_-sR4 zhM}5(+a`XS{%tHWVIRMKO^>;}YeV$1%|LQcI2P`-ZszUa}Y`1ts?s^npZoo;b*;^I`4)Q6g!mOg&G;LRY|?6xbbK+APy zFCQPDgoH#$N=<$QLbJ+y35o(TIKfXxQ_*!iFYM-UAnR(&>G?zs}9w zefQ3tujhofOLxq@ja#AF5M{i9lCpPn)a%2C51mV9?U@M|^?7YwFE(6JSK0s9p19qR zux)-E7oyH-`1Q?|Z43f?f~Cs0aus}3)^d)qTl)0rQm4z3d2({H{p!Mi!$A1m`I#0i zQue}7Tx8}USx=1W+vZe_=P4;1qwQHtCr&&S^Es3-J25$V z>FA4Fw{G2k^k_ZXjpPdniewE+jp69%=ppP{bIZcQg1v*o5x>gYwzhg>orNYd92^|S zg@g_|IXSU&aNz5E%Dw0*3TB$s?#=zUyWGd+dhzIsc;@6rB^Hg+o3@|To!7S0^Zxw# z^Zw(<8y`_p_b-hVw>X+zG&=d9bc+J~IZ{9p$S+u~sZr!@&@lxuM&caX+8kQcsNqd$l zNjUVyix;_hdEB;x*O!-<=X;)WH8l?>K1!VtyfboZ@>iv*R#%a8=$9|zLg&wKrlR_( zwYC_j>Req__4N7k(w3I}TwGj7nV9nIhWAla2XHVkF+CzBDfjmGUlkXBs%h8A<9S87 zhBPNDA@Qlcp8D?HyPrON`chNVglB4aGMKzowlGC4XEy_b^u>$oR##W0!UdE@pXVoD z^JA8im;dy5>;7}Dt3v$z{P>G3nF>i68D?JIfQJwNKuI3p*4ZGkGEEc6snN5%Fm>?U z?F%WF!(P68D4+25&6|gB-yRcQTei9L`@2fq>0$W_@;zr~ZXTZFY;4chQ|=gVGmK0~ znVXwqIdjG@GxMxPXTh~dVdwGL+5WH5Vk7NYTMZ2jg;%B(UP;85*gq4tGhwHtrL74U z3^eb^wpyAs7hW8UW@eMzNk<<18ogoT#uu+%mBq_N-^{a)X|5-~JT7?xJAdTJgW6EO z=<6r&$NJ&kcPD>cyL9>TH7o{dEYD`(rJrAE0Eb#@fy0?N*~tDf51Pc$=r?b~rKS7k zCwke{vOS~4d?su8x|$Md@|)80^{WH4&CF_MM>|xqO!kU-ACyyL+`IRRrskpa^mObj zy`Z4rJ`Pnk`2@X*p3l?2e}q1LN+qwLpj4_bouHswSzFuJ>my>&{ps;YS8?Rfx40=B z0={c1pE52Jhey-i{#;toB5Qwtznh!e^_w@pa1}4h>wXv+F_Q^9SAxh7go8tvNWvtq`jHz=DYjJ$?T+TB`vKFcf9;qWZxTqW5)5sYEpjv`Zdwq#>VCv zw)@DDb(EBpdZ%f*xw+NxN;c)xL9?ZHvSMhvPHL)jDDMG!dM3ZhQ#?GMKYxDgBfKa+ z_I^VYzjV;42g1&aw{&zqwWjNy-&x8Cg-@iX?P!n{qBilSZE9-M*3vnye*E^Pn%b~kflRnS!m6c-$+NsX{(bxQ znN%lQ6dTqbdh_PZmoHy_{{HcSA~!$3Ibp|Qb9(;w@9OOA>`k*{U!$Lp*Zf^6%+1V9 zMx0g_?KB;Sj(b&*;$*x&my|p}KRIpLDfH~wv%#)nk?!v9g5}9-Y59o5XWe3AV#sUE z%*+(80s~uGQ{TPYiH#Px`#V|n#sa_Mi9NQ14HwgTl{75P%sf3jHpj-s5}znCAfO!M z;Y(#@H;RE`dblM`#;zg9n{;x|7Aa|I((G7c%yWFA{nE@*LDzM=aM<(jj-^iIE;c2k z<2f^oz8>xA?LB$&WE7gRC!>hwsFTu8GP?i9Zdbd}c7F_^+f)70BO@aeipn-0?u@n{ z)9=i;+bSX=QnWlN>As!bU6ECPWpM_lJn33hQeAU%z=ykI@;7hBli%UgCpC9;bm-o? zbwOJ@D$(Y8_=5+F+w%kBzo9Z|&pV#=Idop9!kb|m?P)iZe@$&|XtLBrBZ(U~ZV26* zzdo7~92iI$ueH-is(59VzB-W05NGBbKfkttL3wAPQ>fV&al3Ee2bgtt`bKCr>X9r%mB!v?43N%knvGZS7;nk0-d~QeD#U&_4BW zycnxe=X>OG5V!6o%$;Aqe#IZENi0b0Y^|!QvY#H@g~?Ug+8UH$SpVMQNB&ig=qM}ah+44Rk!^6{4(cIL~umbNwMMZTO?b~VYx7F|O`~`)DO3GEqDJglj zL%XRD2^nPy3^{(xOw_ILo+zPY^!4|@a^=cKYDQtj&xfgGSxrq%7w5)g&CJ+yEW2Xg zz4Oh@J*Vk3%9A1zMxR(va4<&R0~5`>J+qrkN+KYRTy^}Yb}gqyenXm;NOPK&td$iv z9^>9*B}<}tN^6i3&!QOru?U_wJ?0wCsvNLpmgUuhqz|apu0U z(m;JA3p#BYxIg#tOx5-#*14ct>%G`$sDdixhr~Dyb+feS~Jlt@p*3nN8M@T4dQ54TxDbLP}5X zSoBpdc{N5_T95E>hN*#i!|%CPX07kmVVbsQ8n3?}8Ob;_G~`Lg^UT-R*C5SLol}g} zfA_9kC8${RA|JBQmP^jpUM&j0;h^F$>nZb~@N$U}+v(On_trH6IP&SGs9TjUk8?0Q z!%jZHFbv?-NIYrNc*sg$<1e_oQ}rYO>AwK2jep_bDF5Bzb{FlRed)6XE{wG+eExjv z=FOXH54<=`RiF454ve*P{tFqJl|Ka}Rb;AP94lUv!9S8^N6)SgmTK1HFMZrU(9?72 z)~&;UIrWNd4-aPwA31Ww-q8^_WkJfHgGxH3+<#_iZVav1R<^U~s=K zyMEKQpBeSS3Tk&|N80ucv$tfKNl)bP%3kt(*gyy5X!GmKt}OjfUUQT5I%|#U<~^>a zQ^(3qoTW}V6NIsl!{56zq{N?1SykX~d>^%=EXb}qcn0W;=FlN;puPI@a|cUGO1>95 z?Z5xeSW;=Js?QowzVv6wqZbk}=L7^^Mnu#BV_|&6U}gd%B-E<11XeHnd_;Xf$o|yn z;B71{Ea=%Ws$+e9k42A`eEdj(S$8A(W>i(qVzZj%#E-jO6M@Cc8$CoHVr5@DY+D4l z$_kLvFg8AkR@{m{Wo+yb7`UI$;(J5VN@5^KU^Q`0E$HD_Eqrg)w1ik&TUwiIa1OmX=mQLBUf`&tEvOj#*kW?=i0NWm|3fYf8R-^Gi^OvtC_ZQ0;9| za*>nUwRIo+NBrsi`xGx9l@xTuj~`dh zz5M_u)(_3r&qZfnDCmo_$>e+44oUP>IvCvm3}Onw{Jgw^5kYQF|q!-Z~*%qYT0JmcuknF za|jKKO#G-q+d@Z%A+?2tg{Y|Lb#?V^7ZeruBqSsp6mbay5Vo2glv5h8{!ci!Ez{Vq z*^zYPsvS!3S6|;QdirXVTzW=^E=XYrv&YwJp!>~Rwj4cq(nBu#YPxlw#NUfhY&#?m zK-5~~EQqiDYY|GHP@gexKPxXUe?Y)CzPXj>^EsU|Dh$(@<^|!~KPia5gS}AZ_=dxg z;q|!x2vHG3SRMji%ZjY*!P9~F;TwLcu73VM!DtdUh|%pkcdoMf_h9>QzK5GrqMes! zr^%$}+NJIjD|1~*{({bnww?C9+X07n?b?M|<{K84ob44AbtJ7|atkP|-rDMlU23SX z{>NUn(_n$ejvXV&q!cp~GqbyCODf6fi{d|l{5Mu=8hrqnR^+CWJv}{xO$jtVKHOzt zWlgM`c;fCp2^^wpWOQ?2Q9MRIRwi5m?SZ1NukYS$o1s)Fue7@?;0YyZ7&P&?(=>#o2&Kk+}b7;O$XU zBb8-c;Ys^QowEY?7&uPAj$D@0<&u=`_29v}LdTg;6%}#KA8gwP6*k?!6!r60rC&`b zA2l!u;2D6lfP;g>^72%@9q0aApWHT24}GJgp`if^m9(--R}Ce_ECV}mY86R=DhC7v z0A$ka*`qixUszZ;)RDurX_MWUi&8{KRq<9Fz=QnO8$f!qMl-V<6f)BrgfhKVEM;)0 z@MV}zgRSY&b)#&otW?{!9YcLPIW4JLCMoR>W^+qS)hhPJUY&QGj!)-gVW9+D22O}o zZO$;1B?;i;QsBYfs{Sj22bOE{{(-hYmj>qWpyFGq*p(}w>``>yy=1cLKt76H$zQ9E zmzS5PS)Yb6QvG<8-Y-3cQ2I;yLJFKm(6-%uaXNHyk{-FCW{R!$dE?&IoRUagr znC$^#aKVeWA?M!Kty^nqYK&S^!%ZAW`9t)sq_HoH2ly-w;X-OpC#)-@Ds>` z`uh3_%{-zrN&DN{+B|8`xB~?eqbyL%rShG2sjoy#vR1LCxo1|9vQDPITzFyO`AwTP z?b)|4arGx(40&RhRRsD$W1~FykRrn@PITd1+OZenWCo`D(a}t4g|l>#&a<>Qc^fut zXo!`j&oW1u*q}k`k-z7i0jli5w@R2Ot*fef_Jo@8Ptq}nleCV!e;YZP9R8`QB{em5 z8LX0Bt0)XIUC*yyZs2`Dx`36At|~;ZLx!5o3%r z7O%?Z+-o^F_W}>VRWyGTQb9LPMec_Wx_WOr{l7K$*ZwHK)N4GceM4Dlw8@i=e(-w>UN;!JDuk=T;{teA?M96b*;%rNNhou zF#O_sq$Y^_5!ev1-_#aL#X54z6B83*=d2zI-u?Z~pq9?s#%5x6Ha0og6P)d9s)nGa zmlwa&EIXQGMq zeX=Hbdwd}5yi-a{sj(uM+O~t|e1n1xSbWbd!2?{ocC8yS0M75XVpmrkUEMtACEmx6 z9|Pu0w40{!%v1gZTg$VbI6C+H2NO53USE84f{RNmK~YCr`ywz7*PtfAC0@|0_78aeb0+j z$-T|RRhap-(oaOYK4R)sfUq;ebI4Q^jgnm4CQT;@qIkE<`AKLfJq6AiS~#eh4}b%j zhS`t&tP=fA8#kuk?!J_7JM;;7nBRWBS|L3ESvopL@knSa>t$tSnPtMLgoRMV_ZripE zpexCWWs`~JRKHnoTy5zSpK}hUAGKxN{hBkT0m4NjGXj{1xfYI!<=> zUm(4Sd{M%@X00F5@lUX`msM7J%nY~m{`ys>W?6VeN9T>nhZapIFMzn0k&*S8#^2^! zidP>)fIeeTbNK98MIM9mpu=u%8%Pb064MF`3Yr?vU{QR5y5j>RkL?~A9mSH(-ORlm zMGjDy;T~?+aj!^d-p8r_1-inClP9$sUSBl(o-4<(^oTixObX>kHXL!jZyvo$fpCOB^Y#*`5Ixh@T=V|?_R{=ZvJnRM= zj>Jj@zX`aS!4KW&Ta4s>UW@NHnW8<hP` z@9U$z!^6-0{r9S-&fnJf8jx}&SlpkMoFmB_5QR|_J|e3J zP@nJLzXt|WDD3@uoNJ742jeQ2;GM9(3dSkpZ{@zvo>jQ+WD_JmYR*H|C8<&tnuuxaRFyC> zVRd(R-*({Cee`Z#%T9IE#m}+CSLawVLf7N@eTPamZPVT6j!ff6>FL}ctO^PWP~J@n zuegr3^TjYqXsXrtCp1q^PAbaw zSCo~Ff48Z(>Z|e>Ftm&hS*#_Il>8S{$T#`si<>MdfE(|@pE<_Df)e~1KLLvGoNX>x zS{FV9Dn)}0ffQ9Yr`{&#N~d1z!hn|GHQWh1C$2y5VQiynyXE|NH!+Nizr{i^djO>t zV)Bf@4d-D!3k&ayKc}t-jO-6S1TXVHqKQE=0JR3ujn`z3GnP8vpi7r-jYcFb!?6-LM)4`sf zpYP|ZN++wuL0D_f*Zk&Sz9ZkgE39Vu4p_wRiY*!-Ln$1MXwhKDzS{Nl}HDl{bqENAxz5xNXL*E>rpYfrTe*umT zesgsgU{Ka{E$n|}S8KeoxYiP1L6bMPF-m`W*sydf*YdMV+TIDqk!uX@hSSC2c0aVl zyStfg+a?G574SP_#(w|M^5zKDrRNSW1-fJ(p@MxF1h1mn$BLFXA;t9Jnk{gup5#NPExYON;C9^O`jE%KHQ1*WElQJ$tZP9 zq&NtG%D7-fJzVq;>pX^NvFaJlq?2YpRG0SF35mMpR`iS!$PoEMN zoV2O|tf{A7UL@0{b?Y}Z*Y~K3BLtPA)x}{0&-hqI*X0*LmJgv_DrjnY z<6Xd(E5O4@22UGpHTlfjo8Ic*DC*MH(V71ix%zfrbwku;^l9_PNwv^TaTd!^2Rv~e z32TxN*MK5)0j~f~F4(YUmX(P@H5h^yq^YS1wSw=&Cg;XZ((!)xx2jI^^2I7@YP%1d zqgJsVqM$frPGkYxN}mk)2JE|dv-P%_dB^%&dWv(#ZI2frc<+J<%>(x{S+g*|*}Sy0 z6h{7@y?eRA?3Y(oWe?8(QEB5alFfQ?L4~6$aj^c>!lOD6@DQhRU&H(vT#aa&-n*27i|GS zBJ8&{_ieNfpFDX&wv)Wuw6-$lN(0Xfvz;h7g1)$}3~S{%&2hr;H~!kH$`mYh_1?V# za?e;sa!I%y-UPUZkaVy>y};@~CNf!_B$7X)%lw09&$f{KrReGD(E-Y!tkyvy42CBl z5hKqd+5K?i)~3`q%C0Lp#VgVrG}}I6gq=Kb;&nkm803O?7C!{C*y0T9Bb2t^ZP;rA zvuj~6+J{hrz~BIw1Hj_Qq(dR(tv-T!z|xf8Vx_<35|;1+CbSi)t)$m`Vl|2n?RelZ{Pa-Y_A<%#XpLq>wFXfUH-+BcS$Bc zJITd`SxgPJ1)mda;K&Q{6RfO_rmo0AU>h8Iz4(kevQwJ7EphmHA|_yLm%%Bw6Vez^ zP-eeWS~&ixcP!dwVBb_<;F+MaL$cyAvEs*kihUyXwWMhc_{j>Fw6p}mvwR9ej2wQt zt*mSVj@_}{9_^QG7jB`L;W z?>}wUdWtl`>a!O`8yCj{K5nxAvh8Pi`WX32pjpVuKcP-lG&k>qs&eq)K`0-J;Y&R| zI#9A7Kn@1%0pqb6sAI@lv}n(~#v`W%dMC0xz8Jcqk`YlK@eSGNwRs*FvW5K0iXPi8z zry=yh@925sh__9aGBUI5YW=m3w@S7ZE;--37nc6+l=;xR5NT`c)3D3;?Ai0Pr{~kt zT}<=HfaJpEf{!%t@xl6$A0L#>Bj@Ms1Guzgp!pUR6+sVveci}qd<4oeiVvKeU=Jra zISoKLfV?uGBc`-TB;t7v;Y^DjeR1m6M+%ZP4Dr)v&Rmm}>;*0$WGCz{iQ4nu#oXb7 z5al0uYY@fQ*RLt?RnXYbkn~zoHK5W=;q$#wWK|NmVfXphf6{8rI$P*bB*G9OTgyy;f1ed}=dOpDXxS24d_YyFLp&ikG|5p%7n ziTLg*L^zdNE(^yArRDKsIaSpvq&$@GjI>_7b?bHKnPY*0fqr3Oo}x#)AManaJa-*B zEEF{?#CxYX3;3)zGmTy(GVMkZ0W-G3htUwK`@!>$nRN^vzy-Va>=Bih-whK>2e9vi zzr;R}D1>7$-3~)J;*q+fECulV`O~L|@M4Gz3z|+-)we8>kC@ZJyyk=|t*UU+`vCVt zP|^gu{2d3+eZ0SJy*-ekQZ=jK42X9L`~qYhpjXd$UkMH6vy{Jn{o|JxOr}39U~Rn$ z2zcr1`w^QUcVbVndY-&_C@9=+Iywn_Fq~~7*AW(WkT^wn4IyB{7Q5adrd*gwl%uk= z30t&)b9*D~Q~=9#{px+;)Qc^#C)<;_JN@jS`r6%wagK9a?waNGm4}aSAlgT`2i$6j z#&5B{v*aT-xH5Bu#($s^?&J1>@3G*IMdNf8`NXfwzur$hP1}yoK%qYxOiz zRuCW3<_26*0mvNz@6=T=y4F0~%l0lSYvUm;IiY{ZN@#jTod&sv7QU5{k+E=W!;O$r z+J87NPM4IGxuII*)zxcIJ3JOiY_b0?3wUrhE7_}`d3L7}0&0|R0hIrA8A!%amYig%`2#daDIoE$(nn8$PEG_HbUh@kQaySi@&~c??2Q@VdFYi7GQm`uP8)GD`?%u7yKBb+Fw7X`NC{4;t z@~5^jaq<~{cI_`2c=f)LxvaB7V0+t8i-YNQW5vhr+4AK7(sn~bUCEGe#ilUnquI~WEGHqY;-1XAa`BMqWwpuH+J#I zcIe`Jwmj}kH&SS`fN-YT%K`bMp}`kOJt;uRr33l+(VKgN(m9)58yR>wK>#Bo6eMBt| zSKhsa(^~f?Hd+?W>_cEd8wh;ErcI4V+l1@iAvbwIgK?Z5ED>3qpnmx9p>6C!vh1^O z`H3!jFDgqxBS5c_S5$mUey7avD9Ms6@0=!;?S3}#Q^s)KK!h%)omAMl7jO!Lk+gb7 z1iJL}$}rX@rl%E$s#@MKB7RPm)&~_*0sGNxrOBIPIV{=wx?Ojg~~p z;?P1!NYi;n$&3G&w3JknKzqCUk0zzdU6hMOEHlU5OQ(h~sv!s@KdOg+2|jrpa>>ilJnQKPF@HxXDDtqie7@QYNQ z&&IlmA^Ce6Xca(=XwTh#&6;9-=T5dNtFp#Yix?6H$cMo?RMqu%{&V8JiH^oe+wDds z0LhLW26#K7%cJcINWUbEshOERED1DcO4udcAb_w&!PKEiO(8z=9w{SMR@Q&gc#WF` zvi>8361M54vJ`YwG?ze#g|I25TwIFUM>_Lo(|oLY%hRC=q^jq=;TD_!Ck=V}nLZGN zs=^ScKT&?Lyyt)U$tqUlx~vGm7=IfRqit?34Oh>@%c~FCEUbv#`}bFvrWH2-+`6Hi z98xj`Pvjn7&!UA$Td6XJ$On=o&W8jAi6fx{>xwYV z5g`4;$5NV{;i|!-Pe($3KZW3m|)g;_SlO7Ec@g1eM)Bhx^%0M?C z{C8QlX>d#l4qxN9Z?rrnuUJjR&ACf@DG$JI3P#t1X@6b+N`iWt=~_PBzbLNlSA7mi zW75$uOZ`N05(6v2U2gDMA3&9=p(UmL3`tp~*yTL%7w3-h%a8`2>@5bx#;w zp2A=O?K=d0*cR=pT>b1!REp+e0oU2^mi$*y*EH&rFo2PKQmXb`?;|(?V_ypSLV)rt zDaY+!edjJJ_?}4G{^@U}*D=m_cf>(|>XMn!B|Tww)iw{)k)(^;j|5f+3*O~ah?O!P zx*kD?iJ(*U>f|!4RcY&Gm;;3R4oTKj&)ax#!PeFmq8^i@Pn2swR(ZXR2D%2}J0Mu9 zD)1^!!qHIxlqh-X(b!^QeEhBD`3YnildcAMyUUzm+`01tY`JJ3Ws7+CW=W$%=*sLG z`HJ5%UO2(5&uF<&A0X}2*pP%M*+NIxYV6!B>JRSn+s#agKOnDw+JrW{B5`7x-s;Bk2w~~^ zS2)u+X*&@@{ftQ3Nmf=Oiumf)E2z5<0(PX4h8m*QBSZ0xpVqx$9+MDKN1|(Qh0j3Y zT&F@|YM6au-g5ogGBt)F=whr&^FhxorJ|6aLv{^H2nQT-H|ZlHN*&0GnAa&s&j( zktzgOH)$VO%nVG;AAF|48JGe8i-=aVXPYNYth)h*|K`eb#6C`-hW2aPKftt3Z02oI zvOsbd{{T;8QhGdpe);GN@S!FntI}ST8^l!1(uXxhM5esshR?^tC5F^nAlj&kVk<9sBEtCcZi80ZSp1ra^kD81AWzjN*%+`Vg&F7 zh!mD0A{~5Me+$@F3ip}#hWtNI0K7IvVk{x1pJl-Zs{<$)T;Rt+3ztGUaBO@L zq#uZMtpgre*P3OzAJgRC;!qrTV_n4gB%ay!s`$FDu1JJJ8XFrybD0Sm(9xlm^34nl zBT*>{Y;+e&AuC(WobE&6w1+e9B_yk6J%b>T;?VJrAt>x?Dn1Glv%N?SynXw&$zD7= zy(a=|z-QU1IDF5tvmkgE)74v+mR&~XHF8S0*;Lt*96Dss&e&QYioWd7GI5*2wnJ_JZOPW%Jh?w5U2ysOQ8-Nf5rmNV}?C20FX+PRj zFDQtz;4EYgLKs7m8JOZ0+-+;?_wBsUsR_pxu6>5)nfW1wO+rQ1M6vuEJ5}{ki-sDF zmDoi?qcC943JfZ6as{5d*UuzJbZ-@H=k+P|@XRr0&j$Lx2*mWg~@y zf`U%n8Mz5z0jYrOa`U}gHnPY@=yeu2ATNOaSBK}tlJ=rxnSs3_hZEW^8c=g{vq@f; z-KbV&M@J|uSe;w13zPJb0mfKY>YDr4BoP7+|25lmmp$abfdk`lA}byM8iW`Fb(Y9m zVpA-bzqui6ebOJ^lR(@nG^K10RB3gyV!+S>GY z@2;!eSb0D~Ag;weJT!ExP=xh)R@P^pp4)zR7H++tlw=w{40x}k*k?}eab~QPV8~4 zcvFelGLM)r|DBNoT`o%;KM+?z)*HgZ(B7Pedw|0B1_ikEgf;U5c~2-mtlWZ3m688@;hMfNrCu$1v&x$g?NdoL3#9Bn2h%la1FmX%DWON(VCDZFG8DLC?fZ$l) z%glbHR^fl8gNb)HY6Thx|1p@)|0&as%Z~6A4M~{+QPunF)I_sqQkj+z*zDJyQ zA}(FxGLpxosKeM*oG#Kt$kE^ECXmR^IWK0GpN;Tpb6=aU5J8|y7ebYufx#rE-!t$0 zaZ#hLqVoukB_;!a-oSkt;_@1XD%6c-+&f@b&3p<+#>~uY5XnJ$UNa&Y4R>95;TH{Q z!gf@PvA5hy7kdXMaigqkJ>4*oFNU;~2k96m8>4X3b~?qhn>!8(i90y(V|MA{+!svM z3BHN$tRirj6f_=U{nQH`_rg*UxHIw;kr>P_h3!YgrKChz{Tp$v!oq>;(zRi$ZRZrk z1x6GJebVY@jc^3w?&HT7FRI<#@z40mAq_dG4 zhW%&{W(i3Y?0r>vZxJLVeEZMD4R@x$Yi z0l2Sw>5RCntRWQd8OL!g+|t{NFh+z*h5_lzL7D>xo&s(#UG+42`TlY9k-snGR`q0v zc@ozwjE?;yBSQcjOuMY6#uH{E-!9VH1yefbEU`SA`0#`8=y2(m)7}tdx z*g4g68yb&L)xL%wrE17vZq_a@bz}D!|HXI_T)qW}42?-f18&YQT9hJv$`BK}#rhw& zp+RTCTTNgaZU>*>=SP;IZ z>BEN3FD_==9>9I+hns1bGi|B1ThEY{aHplcQJd=F_$!(-L0kU**29^9EjYpZ{=7i^ qpYFB%ebqaL5KR8M7^0f6M%`!1{z;-qj<}XiaqWtXXzHa~5C0#ap^WeV literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html new file mode 100644 index 0000000..51f641b --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html new file mode 100644 index 0000000..b8ec0b5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html new file mode 100644 index 0000000..ae0c895 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati3a04243716e8bda67d1ff2aead18da88.html @@ -0,0 +1,166 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      using RealLimits = std::numeric_limits< RealIntegerType >
       
      using CompatibleLimits = std::numeric_limits< CompatibleNumberIntegerType >
       
      + + + +

      +Static Public Attributes

      static constexpr auto value
       
      +

      Member Typedef Documentation

      + +

      ◆ CompatibleLimits

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + +
      using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>
      +
      + +
      +
      + +

      ◆ RealLimits

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + +
      using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits = std::numeric_limits<RealIntegerType>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + + +
      + + + + +
      constexpr auto nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<RealIntegerType,
      +
      CompatibleNumberIntegerType>::value and
      +
      CompatibleLimits::is_integer and
      +
      RealLimits::is_signed == CompatibleLimits::is_signed
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatiae7372380b367a5941ed536a54f52e62.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatiae7372380b367a5941ed536a54f52e62.html new file mode 100644 index 0000000..24632a3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatiae7372380b367a5941ed536a54f52e62.html @@ -0,0 +1,86 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value and std::is_integral< CompatibleNumberIntegerType >::value and not std::is_same< bool, CompatibleNumberIntegerType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html new file mode 100644 index 0000000..9fa46f6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html @@ -0,0 +1,166 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      using RealLimits = std::numeric_limits< RealIntegerType >
       
      using CompatibleLimits = std::numeric_limits< CompatibleNumberIntegerType >
       
      + + + +

      +Static Public Attributes

      static constexpr auto value
       
      +

      Member Typedef Documentation

      + +

      ◆ CompatibleLimits

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + +
      using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>
      +
      + +
      +
      + +

      ◆ RealLimits

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + +
      using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits = std::numeric_limits<RealIntegerType>
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename RealIntegerType , typename CompatibleNumberIntegerType >
      + + + + + +
      + + + + +
      constexpr auto nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<RealIntegerType,
      +
      CompatibleNumberIntegerType>::value &&
      +
      CompatibleLimits::is_integer &&
      +
      RealLimits::is_signed == CompatibleLimits::is_signed
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map new file mode 100644 index 0000000..6dcb08f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 new file mode 100644 index 0000000..8bc7a51 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +bdc2c4974ef5ed1eb02e320aa84f7dad \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4680553f2ac329640887c0fc25430d8521aaf5 GIT binary patch literal 6423 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 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..8bc7a51 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +bdc2c4974ef5ed1eb02e320aa84f7dad \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4680553f2ac329640887c0fc25430d8521aaf5 GIT binary patch literal 6423 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 + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 new file mode 100644 index 0000000..7c4d911 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 @@ -0,0 +1 @@ +f240ab7e12d3ef81bafa62cd1c693e71 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..496d16cc1c85096f1dec1ed8a78cb54571cca001 GIT binary patch literal 16068 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type.html new file mode 100644 index 0000000..fbfff1e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference + + + + + + + + + + +
      +
      +
      nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map new file mode 100644 index 0000000..097a4b7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 new file mode 100644 index 0000000..309ae59 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 @@ -0,0 +1 @@ +f1adaa7eaaed96615739f29e15c9cf32 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d8a455c73319316f2b78d04ce47c176dbcdfe259 GIT binary patch literal 9871 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

      nvu5cfG7T5Wnw!W&v{t7 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html new file mode 100644 index 0000000..3e83f19 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename > Struct Template Reference + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html new file mode 100644 index 0000000..b8581c2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible0bd988932da161d60568f9b7198a50d2.html @@ -0,0 +1,148 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using object_t = typename BasicJsonType::object_t
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ object_t

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType >
      + + + + +
      using nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<typename object_t::key_type,
      +
      typename CompatibleObjectType::key_type>::value and
      +
      std::is_constructible<typename object_t::mapped_type,
      +
      typename CompatibleObjectType::mapped_type>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html new file mode 100644 index 0000000..abc2e80 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html @@ -0,0 +1,148 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using object_t = typename BasicJsonType::object_t
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ object_t

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType >
      + + + + +
      using nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleObjectType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<typename object_t::key_type,
      +
      typename CompatibleObjectType::key_type>::value &&
      +
      std::is_constructible<typename object_t::mapped_type,
      +
      typename CompatibleObjectType::mapped_type>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html new file mode 100644 index 0000000..e566063 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatiblea32a8cabf55a683668f34b50bd53f52d.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatiblea32a8cabf55a683668f34b50bd53f52d.html new file mode 100644 index 0000000..24e781d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatiblea32a8cabf55a683668f34b50bd53f52d.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value and is_detected< key_type_t, CompatibleObjectType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map new file mode 100644 index 0000000..9cb8f2b --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 new file mode 100644 index 0000000..a0743aa --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +49961afc6ecb6a69291fe2c13120f6a7 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0514f33b1691eb465f09e515bd567ceae753e5 GIT binary patch literal 6292 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 Fe*maMc*+0( literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map new file mode 100644 index 0000000..9cb8f2b --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..a0743aa --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +49961afc6ecb6a69291fe2c13120f6a7 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0514f33b1691eb465f09e515bd567ceae753e5 GIT binary patch literal 6292 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 Fe*maMc*+0( literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map new file mode 100644 index 0000000..097a4b7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 new file mode 100644 index 0000000..309ae59 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 @@ -0,0 +1 @@ +f1adaa7eaaed96615739f29e15c9cf32 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d8a455c73319316f2b78d04ce47c176dbcdfe259 GIT binary patch literal 9871 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

      nvu5cfG7T5Wnw!W&v{t7 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type.html new file mode 100644 index 0000000..496a7bf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map new file mode 100644 index 0000000..9fb1829 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 new file mode 100644 index 0000000..42804b3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 @@ -0,0 +1 @@ +613690887176a95c3b3f103c04f95b70 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c46ad5e4ce1964f772891ea1ec50577a273365 GIT binary patch literal 15609 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html new file mode 100644 index 0000000..e56728f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html new file mode 100644 index 0000000..6cfa665 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html new file mode 100644 index 0000000..29a3c1e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr auto value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleStringType >
      + + + + + +
      + + + + +
      static constexpr auto nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map new file mode 100644 index 0000000..95843cd --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 new file mode 100644 index 0000000..5faaabf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +2fd9bceadd806b9df9a7feb2da7d7b78 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3e789326dfa84850a9bd52e24f17a01bb0ab2773 GIT binary patch literal 6450 zcmb_hbySqy)*lQ+L`kJVrEx$cC8WDiI;Fd$TO>qaL>dMdU}%sK970k`C1&VOL8QC$ zo_W7_t-J33AFKh^Gjq2@V!n$K-N8@Rn46}$0n<-5o7kpj}8 zduLK9nJqnB*Ll)$L@__wezc{!Eu~`wx#-b?ZZmtstdYovp@mx{jzeYQc&4yK_c>=pM23k!>; z7eg?s!29x)$a9PbbL0qr|Nad%Of7U?yoT($yx0nITkdw;Q1RMic~VNs^QaG2n6@4752}5D!DMp! zx%>_tHuk7sxYX3t4Gj&)-6ogsvU5*ZGX38rCzHdd1@gVNW@rT8NDFVEGlZ29BB|Am zlOUK@uuHA`%F8@dN2Gn5a{h?Va*`@#kS5Hsv!;Q&;fX!*I zSuNbVRJj4?Q*IcxUO3;Ym#e8+yXSit9@_!NxcGPvw7Ii$Oi0LeP-9+)u}^d_d@HMk`uSHP+J`T4o` zUax?l=Q;(1oYN4}GB`*IlMRv0`93m|WKiSey7Rk(efR+tmEy~nBz1LljLght*496^ z=i9n_2AcxT@MCzmxuGv(xad!8`n$kG!&+LzwB<(*gK93* z)*I^^8{IvxPV=97T%P;LMpI~P_=Z~kiVaQ#MJ=eUP03eD`#m?;LMV3LGLWZqfNpmC zt7?T#|5fMqmlX=lEi9C;kLGur;4*8+V^&USN#(Jw_1dC)e~#P0f$CMO`YuB%X0$8mM6-86=DQ=xNUu-yoLYi*Redo0wiOy3>j{EfKZG1c_Bs1tz z5F@fj5ORyKb9y>MA)fgec*Go0baZs|;#zrgXMcYz=m?ukLOi^d&d%__i_@Kn>-NZUWKlU93@09in8gBTS=0`?ZMfu0*3|S_ zjk7S1#m^|aWCl&fQG(SkQ&YnJR~LffQZEN$uoszov*^xNOU#+BUOji2qZuEs(JGZI zRDw&qNJ?;*_ajHbVBwCFi<{q1mBBTSKV2#x=`QFyI%41w8nKd+t&b8*NbCSCt2vIp zp)fFj9ezQw(uf77Mv<47=q9Si^M?4cKbj|!k?F8RRMpfl3F@idUwvYWd(c)r)>$!lmlGpMG?D=ehAbxXMMO1v$JLvEN;XNc=I`!GXYotMwWL8WPK zcXH65mSB_PHhN>$J^#HWRX#m<#Wijx$rs7#=cJ@8m+?<@_G2a(S8q}ZNZ{>6{L46a z8j^s3{ak5$4@W`p|BW^)94=vF!^+0SCX1mbBWnlD#-ST~8hCM_b9%5QXKZW?D;*rl z3@J2O{F!yHWHZeKE_Z=E8oXg@Bq=G0hllsNFH1tU*=o30Ygpgf!{n(Qxga-4k(CfP z9zH%&r`#Cund|AkEyDZvZDut@bY^BI`owvr;a5RsVAp)xdmQhb4)WWCgarU6CVV(e zntFzcUU_gnWo5-PF)Z_2X} z`oLoxK)6v4I4HO+@D@5@gR12Y)a+?=^z>?qiuh}z<)bIh1q6}-y1ASmy8>9D5PV~i z8W5M6sb*+Mb9T6~05%mlTdz`15onqY?Gr8Xa_Ip0@Vy%l$}=IBpDS| zS6{XirI33eI#bG$FFEL9sW(kQS$VM&M(w^n77HF@2S^I)Bc;cm5#t{TnogFe--U#X zH~8>ezje>z`@5S$&OSH1uP%-Nc;5pE+TPg-D6{R|%{$8aGe8x9Tv+cd^?LjH@iC3?nU@5-JdUy_-}{UCo95g!Kk3}eXPc4lVD1C1{P_Mo z_+V{xZ~i@fWx&}X_aNXsc`GaC?j#O|M~{NBL}87l0jRh+Rfi3^u#gpOhkC!&=@4HB z_;b6a`2wa_WfhyA-qZepbiC28MrMR*$h6vO`)u|KVU6$!2O?p+e)i&Hnt*d$TAG1r zQ;AOboAt40`O2x1Ab3|VFYAF^1sW0Wik|aC4(Fjl4R9l3IXOAwfCH`Fy}jFa?&N?> zeRZ0q0#ydu$iOwk(ZTz4rGS#pjtnTGMuo}OHmCGg$8sAcL%T8MhIOqw3qO4RW_Y={ zx@H6Tzj5o9{omeSzf8Ag8kI9eX$c7lsrc;LLA<|udKO#5?j&ydNljWrWW&3wP^bNy+i?Qf=XP zyBnH7m=jkfjlTE2ha9@PySk8|8bZnTJ^ZOr@892YTk0_d%)9vKPk*-5E!h}46+qa~ zN>PnHyYs;tUS3|2k&!>qXh3DOZ+m)_A)sram1t@Kr|s{z=((I{MEnB+T;1I*2J=-O z2Kf;5z)~EK-kHvsab=wMfTvqwe5CNH5VXxz?1e=tAyKeZvCJSV&vrf2%eWt)L-7! z^%)_ZNLFp_Sgr^DT3%NGZhwD2miWc4PA~xejJ@Y?wzjrHtDBNI3;;m3-lF$!*_f)w*7P`t)h%N7|^y z#ut#_;9#h6LrQO&z~C2iIqgz?t(?ilg@rb7S|cJOe*;hiO$%RMwxOY=<-it;SFx^p zKF`D{4rpR+6-m51<5kv#pl1dT*mRLo?u?<3#e35KaD$e*Uh&IoqDcNYtJk3umrG?E z2T|}xy;

      K7GQk!7tZGDQ;a{*bQivaPsLjf8o2m#(-5ALoETgpactBL07_93;+*H0}vV#+|oi=+Oo+B4?tuv2YMTO-WBMZykQkrvIN{W1Q-~~3Z07c)<{}U}| z_=pA~TN?Q&Jnmh%-NorzxzAc@%~-V~b$P>XB-)Z%@ijV4AO_%VRp5p115QJmeVx9Q z;$O3~nf9Y)vA{xQY?YKZwPG;kJ!y57nR;4>nOrcLGzm{nevm&FKqOe>wz$|1jN9^f zRYCtsM{zExTr@>+Obj86itjNO7mW$K7TJi62aBzTUt&>E| zyPlGyq^70p~gkUx#Tbfme!nesgoaqf`V^P;sV1*c4~{6NtBZH5_4bMLVAb-ZubE0 zT3BAzU2@MluZG(#{)`2{M@mPB{vLAc3ksEIjX_v0_1B1%R9%JILMI6Hs~r@;snIDj z>~HE<(&KJC_I_NkzoYcD(L!?o(`WL^93=PI2Wcq+rke-D`WddIMn*=!Ww1Pbsy0c~ zxF@72VN;$DVfvt zXwwK}v@`hnEhyYrSygoj0K!zgR}ApXSZeEj+U%e?Q0_0(H{`KAaVwFD%bBAojfaOy3otGU{N*)$Yj+E@0dW@e~6A| z6cft?#*BoD3SXDA@wxx83ozkdb@Bnr6~2I$L01Z%(AumDb(KJ43)L(YB+TvkhNtS> zPL3C1D1|+tWo2aql-!~F`}>M(e42wGxSq)SPqueRP&8+aY#k{zum#Kk5b2qDUTb>sFhONyB_096kf7sSOK`){jNh=He};AG zSvfEWP=o4dpi}xPOr?B}HdS0)ToTu4d2NV**_4)*)vk46{VbOutU@HYtn;^dO8TV_ zlE1Q=wV@*|xIv>k?m{C-?+i2Zo5cm?xQ+h#Q~n;U&<&Aq!JWgyiJ(5aoz%{nYgUMt z`Rg&@&55tJQr_O)sL>J(aBCFLU9x6Y`1$#ZW6~242sF8gzl6R%)y&b#;ghiA1`1 zd6m0}1sKiE&8aV)s=K@Mf(HSFZPZbG33&d@#0rB@5f_IzH(&5OIXM~Dy$PGH_i~$S z!8twLDDnK@5#Es|adKSFWcDlEu)#Z)R@k$`ew5R}(Q#$Axw*etyt=yDePtj_HA5)z zc84baTv0ZTV)quI6!F$B0mo>{^IEo$h1Q(Pa<1^eWnBw5!|i%&McENY3+x7Eg1A*2Y8%HpSC>a(pv2w>!#a1-EE?W>(sf$4xJi*r z$&oOaB`~Az%YDJ%bZ~pDYJT(Fu-g~B0uFY0w4DArF2O@6G#a?r)gIbqusMk^KiLi^ zrteKJUy7rT-H#ZhSu)VVzJFs`8%~f@#fCgwUeLORPoIc{+?QKE(h6fu!Xa!LJ1(P= zT;aPeqw%w=%M8qKfaT{h?<8n(A(%)Q`;r~uLxU&KP=5<3#)HmEkcuW& zuhP1=HVzgPSwI9f98TC{Uxu|V!65foVZ6S+PQmpWBK7_r$6j|%3>c-fwS`<>oK=Cz zja5&IsV2e17>?pynFf#k8bhVd?;!Ivwu9k-qAS7NqM@U0lJEF)xL`9in5HCo=1k4laM`$QhNGM0ZV6U&#K;Ro-td)i|en&GvV?a5; z`5hx;Vqy;MJS{_N;r~?7%XYdGIvV%S9sD;Y_z-@Zf{kl|z@F$e`3su(@7x4)6A|xi z2$(uZt_u&H0bhfs(H*j%(udS8Xagd0W ziP?47z9VWCS>%<#(_pj3_0{#8(!_HsabpPv)Qj~FNlBe;?+JGf53Sb6zDzg-m)R6? zE=8v4`$>mrFbGGY3XS#?_-0|@-w?q!yVuRQ;d$L%o#Cv-V z=koIMpMmTfJLwENTmh%4xvs<~J!t}Jeou;lYva$icVr+hp(WO~A6o1>w6rANDVB~? znO2huCwRof6b1y6U7HHnWSGtl4IeJD$K~YY#A+o_qD<^PZxPZZq&oe(hue^a)Y*W# zNNqwEPhtJs(D%0@U8l&JM5b zKxmBEWePZW+O}8vRYD$cNKEAxIL^3q0a1P6>_mM0xKti=@dV6heN75Res+vJmvmJb zvS3wpR2CUakbmQG_zJKqn8%s|83v}VF@WTGz##^*u;7RfrIlfi8)H9INX#Jjkr7y} zuU~on{rx{XEt;X^SgWfw;$a_dr4_UD0iFB-jJG_uW?(rv3?OIi9UZ^;LME{C5<46Q z%U#Y69XDqhyLC(gWVE#(06xC<*$wRTxb<~F4l^|=A-|TEouYz5c2?HglfA!tAnYh0 z|3+72As*{LTR@7i(#^CDS2a^qMMHzQ)Szam@n~jHHo4Sw(TtCwb%fvU4Yr2dsQe%1 ziw9vAq|o++*r?KHkD)otqbl6^Zg&e;e|GQ@6Z0oV!wtp2{E9Syfn2AP3ar(QuMiPb zAwtr{;#CnLUt$L$|D7qcv=rRlYQ74*oAfBO@b+mq;|<#0xnC@qLzK%zl0$(2<$aq2 wn_K0gBqMwkMD@ueMIQee}X_1WK^ZgBwxS#5BrMFtN;K2 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map new file mode 100644 index 0000000..95843cd --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..5faaabf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +2fd9bceadd806b9df9a7feb2da7d7b78 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3e789326dfa84850a9bd52e24f17a01bb0ab2773 GIT binary patch literal 6450 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map new file mode 100644 index 0000000..9fb1829 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 new file mode 100644 index 0000000..42804b3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 @@ -0,0 +1 @@ +613690887176a95c3b3f103c04f95b70 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c46ad5e4ce1964f772891ea1ec50577a273365 GIT binary patch literal 15609 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__type.html new file mode 100644 index 0000000..071fc05 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType > Struct Template Reference + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map new file mode 100644 index 0000000..cc70b65 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 new file mode 100644 index 0000000..74a7f2c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 @@ -0,0 +1 @@ +e4a2c4ee77b0aecc84f45a5ed61c99a3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..31b4ded288b7ca976ac5a9eee07ae04748896fb0 GIT binary patch literal 9264 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 N3#qEDQmkYZ_8(1` + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html new file mode 100644 index 0000000..9a8a5ad --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html new file mode 100644 index 0000000..08fb752 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename CompatibleType >
      + + + + + +
      + + + + +
      static constexpr bool nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      has_to_json<BasicJsonType, CompatibleType>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map new file mode 100644 index 0000000..4ae0338 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 new file mode 100644 index 0000000..c8e63c4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +2ab967800f703c0abcd8f6031729c75f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e03f26030689556fd423362933ab053679ad0d23 GIT binary patch literal 5334 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 z + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..c8e63c4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +2ab967800f703c0abcd8f6031729c75f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e03f26030689556fd423362933ab053679ad0d23 GIT binary patch literal 5334 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 z + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 new file mode 100644 index 0000000..74a7f2c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 @@ -0,0 +1 @@ +e4a2c4ee77b0aecc84f45a5ed61c99a3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..31b4ded288b7ca976ac5a9eee07ae04748896fb0 GIT binary patch literal 9264 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 N3#qEDQmkYZ_8(1` + + + + + + +CocoaTweet: nlohmann::detail::is_complete_type< T, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_complete_type< T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_complete_type< T, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_complete_type< T, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html new file mode 100644 index 0000000..0755754 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map new file mode 100644 index 0000000..a4a8ef6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 new file mode 100644 index 0000000..ae26732 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 @@ -0,0 +1 @@ +cf85d24724e217293fd10992043a8f62 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0805c950c4b1368fd75a4ed0184d73b5aa1ace GIT binary patch literal 5083 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map new file mode 100644 index 0000000..a4a8ef6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 new file mode 100644 index 0000000..ae26732 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 @@ -0,0 +1 @@ +cf85d24724e217293fd10992043a8f62 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0805c950c4b1368fd75a4ed0184d73b5aa1ace GIT binary patch literal 5083 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map new file mode 100644 index 0000000..f60ee73 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 new file mode 100644 index 0000000..138edf3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 @@ -0,0 +1 @@ +e19e5409ee29ce7b2c91dd97b662ef9b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8d60aa1f64c93054c710eb7e5749d9338b114103 GIT binary patch literal 4881 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 D>sD&w literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map new file mode 100644 index 0000000..f60ee73 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 new file mode 100644 index 0000000..138edf3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 @@ -0,0 +1 @@ +e19e5409ee29ce7b2c91dd97b662ef9b \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8d60aa1f64c93054c710eb7e5749d9338b114103 GIT binary patch literal 4881 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 D>sD&w literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type.html new file mode 100644 index 0000000..92b5aa4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map new file mode 100644 index 0000000..214d3b5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 new file mode 100644 index 0000000..e3b4a11 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 @@ -0,0 +1 @@ +18ae18de98a6be57501defba9f00a843 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..104e5fee43124c449549c3ecd05054e1bb24ce90 GIT binary patch literal 15357 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 WufP?ri}SoB(iarYzdU=z=YIihJg + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map new file mode 100644 index 0000000..41f6667 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 new file mode 100644 index 0000000..ca698e5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 @@ -0,0 +1 @@ +8dad77d0d66a99bac88262df2b3dfadc \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecbb0746bfb15f944cd2e96212787a96fe7f7cb GIT binary patch literal 8006 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc65686bccc13a5314e8805a22524438f0.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc65686bccc13a5314e8805a22524438f0.html new file mode 100644 index 0000000..5009f59 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc65686bccc13a5314e8805a22524438f0.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc66cd9eea2814580c77becd1b1fb171c6.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc66cd9eea2814580c77becd1b1fb171c6.html new file mode 100644 index 0000000..3bb4525 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc66cd9eea2814580c77becd1b1fb171c6.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map new file mode 100644 index 0000000..41f6667 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 new file mode 100644 index 0000000..ca698e5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 @@ -0,0 +1 @@ +8dad77d0d66a99bac88262df2b3dfadc \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecbb0746bfb15f944cd2e96212787a96fe7f7cb GIT binary patch literal 8006 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcb751ba39e14100ed41966800a3fcf4db.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcb751ba39e14100ed41966800a3fcf4db.html new file mode 100644 index 0000000..0488d9d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcb751ba39e14100ed41966800a3fcf4db.html @@ -0,0 +1,134 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleArrayType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< not std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value and std::is_default_constructible< ConstructibleArrayType >::value and(std::is_move_assignable< ConstructibleArrayType >::value or std::is_copy_assignable< ConstructibleArrayType >::value) andis_detected< value_type_t, ConstructibleArrayType >::value andis_detected< iterator_t, ConstructibleArrayType >::value andis_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      +
      +
      +
      +
      +
      not is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value and
      +
      +
      (std::is_same<typename ConstructibleArrayType::value_type,
      +
      typename BasicJsonType::array_t::value_type>::value or
      +
      has_from_json<BasicJsonType,
      +
      typename ConstructibleArrayType::value_type>::value or
      +
      has_non_default_from_json <
      +
      BasicJsonType, typename ConstructibleArrayType::value_type >::value)
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcdcf7abcf4e7a13cd758bad3819c3d6fc.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcdcf7abcf4e7a13cd758bad3819c3d6fc.html new file mode 100644 index 0000000..581e951 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcdcf7abcf4e7a13cd758bad3819c3d6fc.html @@ -0,0 +1,134 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleArrayType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      +
      +
      +
      +
      +
      !is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value &&
      +
      +
      (std::is_same<typename ConstructibleArrayType::value_type,
      +
      typename BasicJsonType::array_t::value_type>::value ||
      +
      has_from_json<BasicJsonType,
      +
      typename ConstructibleArrayType::value_type>::value ||
      +
      has_non_default_from_json <
      +
      BasicJsonType, typename ConstructibleArrayType::value_type >::value)
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html new file mode 100644 index 0000000..8143b59 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map new file mode 100644 index 0000000..93c6b76 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 new file mode 100644 index 0000000..f122ee4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +0cf9f1b9b7231fec6f78103127ac0d3f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..32ee1bffd2eba9ffed0215227c0011f12a8b7388 GIT binary patch literal 6679 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 wGr}=o&afp7fc{TciUAv0>5xRuF?s_z`Bii_@% literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map new file mode 100644 index 0000000..93c6b76 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..f122ee4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +0cf9f1b9b7231fec6f78103127ac0d3f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..32ee1bffd2eba9ffed0215227c0011f12a8b7388 GIT binary patch literal 6679 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 wGr}=o&afp7fc{TciUAv0>5xRuF?s_z`Bii_@% literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map new file mode 100644 index 0000000..214d3b5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 new file mode 100644 index 0000000..e3b4a11 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 @@ -0,0 +1 @@ +18ae18de98a6be57501defba9f00a843 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..104e5fee43124c449549c3ecd05054e1bb24ce90 GIT binary patch literal 15357 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 WufP?ri}SoB(iarYzdU=z=YIihJg + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map new file mode 100644 index 0000000..01144ab --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 new file mode 100644 index 0000000..ecfbeb2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 @@ -0,0 +1 @@ +e4afbc69c3d7401d47c64ef6a17b74c3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d430fa31e253c6288f8275d1e33f785db3e057cf GIT binary patch literal 10246 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html new file mode 100644 index 0000000..8e262a0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html new file mode 100644 index 0000000..51d3520 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html @@ -0,0 +1,157 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using object_t = typename BasicJsonType::object_t
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ object_t

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleObjectType >
      + + + + +
      using nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleObjectType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      (std::is_default_constructible<ConstructibleObjectType>::value &&
      +
      (std::is_move_assignable<ConstructibleObjectType>::value ||
      +
      std::is_copy_assignable<ConstructibleObjectType>::value) &&
      +
      (std::is_constructible<typename ConstructibleObjectType::key_type,
      +
      typename object_t::key_type>::value &&
      +
      std::is_same <
      +
      typename object_t::mapped_type,
      +
      typename ConstructibleObjectType::mapped_type >::value)) ||
      +
      (has_from_json<BasicJsonType,
      +
      typename ConstructibleObjectType::mapped_type>::value ||
      +
      has_non_default_from_json <
      +
      BasicJsonType,
      +
      typename ConstructibleObjectType::mapped_type >::value)
      +
      +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construabeeb8c1928ab8354a051276e570f7ba.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construabeeb8c1928ab8354a051276e570f7ba.html new file mode 100644 index 0000000..681bf45 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construabeeb8c1928ab8354a051276e570f7ba.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html new file mode 100644 index 0000000..af2c970 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construb7f96efbcfd2606ccb5c84a830a60036.html @@ -0,0 +1,157 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Public Types

      using object_t = typename BasicJsonType::object_t
       
      + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Typedef Documentation

      + +

      ◆ object_t

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleObjectType >
      + + + + +
      using nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
      +
      + +
      +
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleObjectType >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value and is_detected< key_type_t, ConstructibleObjectType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      (std::is_default_constructible<ConstructibleObjectType>::value and
      +
      (std::is_move_assignable<ConstructibleObjectType>::value or
      +
      std::is_copy_assignable<ConstructibleObjectType>::value) and
      +
      (std::is_constructible<typename ConstructibleObjectType::key_type,
      +
      typename object_t::key_type>::value and
      +
      std::is_same <
      +
      typename object_t::mapped_type,
      +
      typename ConstructibleObjectType::mapped_type >::value)) or
      +
      (has_from_json<BasicJsonType,
      +
      typename ConstructibleObjectType::mapped_type>::value or
      +
      has_non_default_from_json <
      +
      BasicJsonType,
      +
      typename ConstructibleObjectType::mapped_type >::value)
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html new file mode 100644 index 0000000..0378879 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map new file mode 100644 index 0000000..8390456 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 new file mode 100644 index 0000000..d7f273d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +8c5032a1fa7495202b02469062a14275 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2a4ab4d128f78cee6685d43e52c70346f2766ddb GIT binary patch literal 6740 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map new file mode 100644 index 0000000..8390456 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..d7f273d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +8c5032a1fa7495202b02469062a14275 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2a4ab4d128f78cee6685d43e52c70346f2766ddb GIT binary patch literal 6740 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map new file mode 100644 index 0000000..01144ab --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 new file mode 100644 index 0000000..ecfbeb2 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 @@ -0,0 +1 @@ +e4afbc69c3d7401d47c64ef6a17b74c3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d430fa31e253c6288f8275d1e33f785db3e057cf GIT binary patch literal 10246 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type.html new file mode 100644 index 0000000..02652ad --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map new file mode 100644 index 0000000..b59aa40 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 new file mode 100644 index 0000000..67ed2d0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 @@ -0,0 +1 @@ +0565ffc53d770289d506f2a895a4ffd6 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d11a37234381bb53ab1de468a3e3035295ba496b GIT binary patch literal 10629 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html new file mode 100644 index 0000000..b7baf6e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html new file mode 100644 index 0000000..c11238f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html new file mode 100644 index 0000000..94c6c13 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr auto value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename ConstructibleStringType >
      + + + + + +
      + + + + +
      static constexpr auto nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      std::is_constructible<ConstructibleStringType,
      +
      typename BasicJsonType::string_t>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map new file mode 100644 index 0000000..d84ebd8 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 new file mode 100644 index 0000000..2e9f254 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +16efd4e3b043bd808c3abfdfdd5b9e64 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cac7e4aa95ed1a20e701f4f0da215e14ae35795a GIT binary patch literal 6846 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 Jaz*Rl{{md%=+*!L literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map new file mode 100644 index 0000000..d84ebd8 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 new file mode 100644 index 0000000..2e9f254 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +16efd4e3b043bd808c3abfdfdd5b9e64 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cac7e4aa95ed1a20e701f4f0da215e14ae35795a GIT binary patch literal 6846 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 Jaz*Rl{{md%=+*!L literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map new file mode 100644 index 0000000..b59aa40 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 new file mode 100644 index 0000000..67ed2d0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 @@ -0,0 +1 @@ +0565ffc53d770289d506f2a895a4ffd6 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..d11a37234381bb53ab1de468a3e3035295ba496b GIT binary patch literal 10629 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple.html new file mode 100644 index 0000000..7abb170 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_tuple< T1, T2 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_tuple< T1, T2 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_tuple< T1, T2 >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_tuple< T1, T2 >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html new file mode 100644 index 0000000..81e9d4e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >:
      +
      +
      Inheritance graph
      + + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >:
      +
      +
      Collaboration graph
      + + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 0000000..935aeea --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 0000000..b7296cd --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +8a156d21efeddf562775ff0bc6746df1 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc98cc54747518c2ae0ba527550503f87a1d30e GIT binary patch literal 9111 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 + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 0000000..b7296cd --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +8a156d21efeddf562775ff0bc6746df1 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc98cc54747518c2ae0ba527550503f87a1d30e GIT binary patch literal 9111 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 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 new file mode 100644 index 0000000..07c09b9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 @@ -0,0 +1 @@ +53f3b02ee429a4ac212fe07a94aaeb48 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9b342ff188571ec6b79ce6689bd09ee11b95b2c4 GIT binary patch literal 4611 zcmb`LcT`i`w#K&*6oYg`Iw%}O3`M#WrFW4oRhrV9NE1++fH^b~0YfiBICKd$G$Yb` z?@~k2(7Uv|y!VYa-g|$)ossO3y|Xgb`qrGkZ_bU>)>0vdGr=JUB3DyY)CK3y;2lj$ z1U{=gl~=*(vbBbaB6RWRmDzxfhal=2HAOjn-_-Rqe{I?)Cv85>J#R^Q@!U~VU!y$k zyfdkvfA_ccB`3Pbes95(Kon6ZCqH(7~ZX#DqpoMTPTLZuU{FM z7oxhUc1Q6&6-UQOTVvCyHO)6Z=j^(SCNaAVnLeLgJRv>`p4Cd1o|u|4RT&Q{Y$ql95ZxWPdo zLBX)X3lcinnx8K>_U6h?Ie=ANp;K;o%T}B&1D*oQ-5@2Rx`fk0w zF;lnFjpB^&2v?W%*_gI?b4)V1v9VEAUS5!&AM|wNM}w4z2;Jnt{(hRI7jJAEZDh;Z z+M1!Ep?sEmMeRpY7!g~nxbr8rV~Or?OF;%59i9HFK|*-=Wett4sOnanzo_Hw4ye0l6Z-N zgEYBUR#r-lz7WN>2{S~^240v8BX0dUu@%L|JuNLHp*Yeod1mI6IIeG& z4~}vU_x7%llGX$q@9h5?t9G4nw6)EfCNU-(=2~>)2QE=j+$6V{ChbL`4k_W@l$N=jO@+jy*;M!I-m?LxHFD46$t>I?s+*GHlv& zVQHC+WUpVp9?E-E=eJ+rm{VH1nQ-^XUIG!gK>`n3I6dAqLU^D3-VYzmeoXbuTThQR zA2(WTD$4mnVj4+%oBwHjzNF|0Oz`JK&6^iqUItMFW@;LwqSMLlO5c6~sVkL8xemx? z*dIP*PY@HA1JSY!7@(Tl_F(#<_j9-d&yO#|g1^dAHg^VH6bDT?_o!b!UBVk&f-G%@ z-0W|<6US@~wcid^9Nffvsb*;pkLE47FNY@*-+fnSm-KP?;Eu zE~tQy;o4EgMZk1ekxnoNW`b~AXyQsFTnLrg^TwJ-W-F8qlahS?>UgJk89o?!?K|;QAW+P+}#Jm3lfOp#m4}@7(*KSBKeOvc zPu#nAPf1A$Yr{jQuBL`$i`QbgI6raI)_!kPv~uM`?2>shM}Hjol^jvukaG^IZHX>q zsCw=P)zAI?+A~%FTsc3zE4DddtP`Zx2+kDwEQCqLYD?se(x(l{VlF0TX4Cbrc89I8 zSZr^a)DvUltI*dQ76D&u+G0QwE7X~on9$JB49DbZ^PHcbdwF@4S~OKvS3lO&JU!WL znsD}ZbKBg(chS<&0DeJ1$~iKAd!#TqfBzGJI)FJwM|Sl=?e*H)TCj-w_wPGSv9hwF zP$*GR(W-*O%Qr}wQj}LyjFiH$KRnr>gwr5$Q=A=@R#x?%(+XXr>FZL5F8vFYCYFz;yVJi z=5T<*S)VE@MA%}Vn3$-ehaw{*H>YcbovWMG4Z^h005~g4OQ(B7kE`8g4Xe<(x!cF5 zL+HmAb>1$mQH*M8YJePD^UaF4!1l$pEy~?^%DU64?Bw(-jO+#lo3t;mk@czSq=bZM zboIStRz}AAPNN7ivdGfL-vxz*g*iD2UTy&NK=6Qo`snEBw6qzpKR}J5D8`@TUcW}E zk%|cVI>!-Sq#_M7v(&4dXLfdWfq@sme*-y~LQ(f$E@QoZZOk@3EaEC&pAFb07YWy| zo^5<>s;9TR82eBQnECI$wSj>F?I2Yytk32TAP3kR0JVelspEh*Ha3gzH~$fPWir64 za2*J*r>Dn4Vdv_)v9?zG`ow#N^`~tVZN(kEJXvP2BM_vTt2@#lp9L)JI}UfrZ*6G_ z#DgkV`Ij#PFN(@%fOUQQWtuv|f)6UKg_@0=U*x2|0g6bO@A`(8E7VzGRv;Xsh zqqQNl0yC&+AV^VJx!^Jghq~I@fA%vKevG?&dTOexclP$uN45a>04Ct$ajaG=c z8iR@Ncm`(B+e-mK4>BmBpyJ|niMn+HLE3N69^_e5(?d`O@$fKQcoBdbAIMgUq=PFtIINYJ*GaHY>^+gX%>7Jk zV|Dci7)Zv0*I2MuJap+Y{$d;)5Yy3Q*2ArQByG&IDb4Uc9pN@}@Zy&DB z&B^BK#!kP8A^8t?2^aVD@Aqme6(HLq?J?v=E+VAt z!4vwt23~mGSo7!4pF5O1`9&tvIeG(J=J_q}W_x&W0EA7{LMRp{CalvKzrBo^u`wJD z{~L)6j(PsYXnT9R@JVSSAVxSjbLJ!y1l@|`;o-?gqg4vodP;`*7kheo>b%$CARl95 z-fS;~E#Ft?`hcX{1#+G3zQ;2V(+GME?)Y3Z8l9Jyhej)Gx3sj}xpN29!9BL%l7|G#gN(rWZ((|9 zEo$U* zpH>$ZLfRIao11U&n@LPgjeBEs_v7*lmx%;b-O=&!yt@R5K_@3u9i1$! zPeo;E9I@%svnayBf%mn`IS5+0sHy|}(vrwGIHkS?V{y9G3r|n|8G7V{qwC9YV~xsW z&ad`uszO6U&G-XP4)~UMzB4#lnB0|4<}})e+k%>{$i&;rYptI+!07X!qVaM_)eV8C zMcy$ABaIc=i5i8y$o4{wL5bLiKdDmVZl$cO40@20!_AAM#n=c+_L!;zQT;HL%JR?1 zh=?}8RewJ}7}2Hpj^Ql3@eIlx)(f98`dO zD%|nEe*FTi1u+Ea=T20)Fej*=5iouBBFQmqr>Cb|z5&+O){2U-lpaGvUyvf8CRLD^ z&vYne0+EcMS5a0Tw6FO3Rd&YD)8{%hHO~6WEly5=gQ3B}VOuo_>bI|86t*QyRlBWE zR@(KZUL_|F18V4WiGI{-SQ)uwvM(e^2mgzgmlt$Kn=&~D0*b=et0w;bQYcMBr)yWQ zPBaBJopZg`3@~$RU+wmGcb65|DTult2PXQPMi{aBoaIlty^GzCe0_FycJt=VQudR~i|+Kit+e}ax^9=2S=!S62T@&kY)wtR zR#R@MwsSounXghgkc=$Ws0|@a*Q`4}>$m)ID?`O8Q^2~sQ^Yim0BqYiA zKvwee@=69A3GTJz&dphlRJ!JTTkYN;5D<6oE_&3iudjC{@=1BFzK@OVW9WS4hsI(j zo0}CdGb1CSVqymo>~HdmiV%E!pjrXuP-s|eQsvCZ78_xKrikiw27R2F8DK)ErC{qW z<@WEe=6UJBb7?6l|9t4$WnsY0gA%DrOH1w&sUZ7nu~hN}qr!q1=I;w&Ykq$scJ z>FaYPsIPfSN;0zxaFBwc0d&W;Ig+3&R=pn=&W{cY3mY9BB?|sJHsM!o403{U&bF7QElD%B;&zv(dcY{ zH5_Kntn%lH$NwpxD+2a-1q33@FT+{v@0q@gCc+Ov!)J4bA0J=+AI0sTy8MDf%*Dcz UMC7ky@Kgs + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 new file mode 100644 index 0000000..07c09b9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 @@ -0,0 +1 @@ +53f3b02ee429a4ac212fe07a94aaeb48 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9b342ff188571ec6b79ce6689bd09ee11b95b2c4 GIT binary patch literal 4611 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 UMC7ky@Kgs + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_getable< BasicJsonType, T > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::is_getable< BasicJsonType, T >, including all inherited members.

      + + +
      valuenlohmann::detail::is_getable< BasicJsonType, T >static
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__getable.html b/help/html/structnlohmann_1_1detail_1_1is__getable.html new file mode 100644 index 0000000..e391c66 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__getable.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_getable< BasicJsonType, T > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_getable< BasicJsonType, T > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value = is_detected<get_template_function, const BasicJsonType&, T>::value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + +
      constexpr bool nlohmann::detail::is_getable< BasicJsonType, T >::value = is_detected<get_template_function, const BasicJsonType&, T>::value
      +
      +staticconstexpr
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html b/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html new file mode 100644 index 0000000..065db41 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_iterator_of_multibyte< T > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::is_iterator_of_multibyte< T >, including all inherited members.

      + + +
      value_type typedefnlohmann::detail::is_iterator_of_multibyte< T >
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html b/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html new file mode 100644 index 0000000..26f9cb6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html @@ -0,0 +1,130 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_iterator_of_multibyte< T > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_iterator_of_multibyte< T > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      enum  
       
      using value_type = typename std::iterator_traits< T >::value_type
       
      +

      Member Typedef Documentation

      + +

      ◆ value_type

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::is_iterator_of_multibyte< T >::value_type = typename std::iterator_traits<T>::value_type
      +
      + +
      +
      +

      Member Enumeration Documentation

      + +

      ◆ anonymous enum

      + +
      +
      +
      +template<typename T >
      + + + + +
      anonymous enum
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits.html b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits.html new file mode 100644 index 0000000..33f44b7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_iterator_traits< T, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_iterator_traits< T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_iterator_traits< T, typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_iterator_traits< T, typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html new file mode 100644 index 0000000..3746a7d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_iterator_traits< iterator_traits< T > > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::is_iterator_traits< iterator_traits< T > >, including all inherited members.

      + + +
      valuenlohmann::detail::is_iterator_traits< iterator_traits< T > >static
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html new file mode 100644 index 0000000..1c35107 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html @@ -0,0 +1,125 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_iterator_traits< iterator_traits< T > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_iterator_traits< iterator_traits< T > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr auto value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + +
      static constexpr auto nlohmann::detail::is_iterator_traits< iterator_traits< T > >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      is_detected<value_type_t, traits>::value &&
      +
      is_detected<difference_type_t, traits>::value &&
      +
      is_detected<pointer_t, traits>::value &&
      +
      is_detected<iterator_category_t, traits>::value &&
      +
      is_detected<reference_t, traits>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map new file mode 100644 index 0000000..f12f90a --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 new file mode 100644 index 0000000..ed74fdb --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 @@ -0,0 +1 @@ +dcd360b1939cd5ec9910ce9abd2f7af4 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1c5b0614eeb2922706c1f0314ea5c7635e0c96 GIT binary patch literal 4466 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 AlmGw# literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map new file mode 100644 index 0000000..f12f90a --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 new file mode 100644 index 0000000..ed74fdb --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 @@ -0,0 +1 @@ +dcd360b1939cd5ec9910ce9abd2f7af4 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1c5b0614eeb2922706c1f0314ea5c7635e0c96 GIT binary patch literal 4466 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 AlmGw# literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref.html b/help/html/structnlohmann_1_1detail_1_1is__json__ref.html new file mode 100644 index 0000000..e30469e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_json_ref< typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_json_ref< typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_json_ref< typename >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_json_ref< typename >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html new file mode 100644 index 0000000..686f2e9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_json_ref< json_ref< T > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_json_ref< json_ref< T > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::is_json_ref< json_ref< T > >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::is_json_ref< json_ref< T > >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map new file mode 100644 index 0000000..339acb9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 new file mode 100644 index 0000000..6f03b78 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +c8d9d1416ec4ed8c98ef776468b7e7e3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..65008e4476922fbde3950e267e3ed59882bff368 GIT binary patch literal 4291 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 ePEEt%6KLivOJsvw^Xb15kQ>^@@Jda)sDA<9 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 new file mode 100644 index 0000000..6f03b78 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +c8d9d1416ec4ed8c98ef776468b7e7e3 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..65008e4476922fbde3950e267e3ed59882bff368 GIT binary patch literal 4291 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 ePEEt%6KLivOJsvw^Xb15kQ>^@@Jda)sDA<9 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 new file mode 100644 index 0000000..c205a3e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 @@ -0,0 +1 @@ +31d20584d7bd66ac73e4b1a9ed764c61 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b02882dc4bdf1462f0c0f3bcdf2f96c3aba4b931 GIT binary patch literal 4822 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map new file mode 100644 index 0000000..1d2d646 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 new file mode 100644 index 0000000..c205a3e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 @@ -0,0 +1 @@ +31d20584d7bd66ac73e4b1a9ed764c61 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b02882dc4bdf1462f0c0f3bcdf2f96c3aba4b931 GIT binary patch literal 4822 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1is__sax-members.html b/help/html/structnlohmann_1_1detail_1_1is__sax-members.html new file mode 100644 index 0000000..89c4cf7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__sax-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_sax< SAX, BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::is_sax< SAX, BasicJsonType >, including all inherited members.

      + + +
      valuenlohmann::detail::is_sax< SAX, BasicJsonType >static
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__sax.html b/help/html/structnlohmann_1_1detail_1_1is__sax.html new file mode 100644 index 0000000..d1d26e9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__sax.html @@ -0,0 +1,140 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_sax< SAX, BasicJsonType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_sax< SAX, BasicJsonType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr bool value
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename SAX , typename BasicJsonType >
      + + + + + +
      + + + + +
      static constexpr bool nlohmann::detail::is_sax< SAX, BasicJsonType >::value
      +
      +staticconstexpr
      +
      +Initial value:
      =
      +
      is_detected_exact<bool, null_function_t, SAX>::value &&
      +
      is_detected_exact<bool, boolean_function_t, SAX>::value &&
      + +
      number_integer_t>::value &&
      + +
      number_unsigned_t>::value &&
      +
      is_detected_exact<bool, number_float_function_t, SAX, number_float_t,
      +
      string_t>::value &&
      +
      is_detected_exact<bool, string_function_t, SAX, string_t>::value &&
      +
      is_detected_exact<bool, start_object_function_t, SAX>::value &&
      +
      is_detected_exact<bool, key_function_t, SAX, string_t>::value &&
      +
      is_detected_exact<bool, end_object_function_t, SAX>::value &&
      +
      is_detected_exact<bool, start_array_function_t, SAX>::value &&
      +
      is_detected_exact<bool, end_array_function_t, SAX>::value &&
      +
      is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value
      +
      +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      +
      static constexpr bool value
      Definition: json.hpp:5090
      +
      decltype(std::declval< T & >().number_integer(std::declval< Integer >())) number_integer_function_t
      Definition: json.hpp:5039
      +
      decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) number_float_function_t
      Definition: json.hpp:5047
      +
      decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) number_unsigned_function_t
      Definition: json.hpp:5043
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html b/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html new file mode 100644 index 0000000..988ec4c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html @@ -0,0 +1,82 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >, including all inherited members.

      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts.html b/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts.html new file mode 100644 index 0000000..6bd1e20 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1is__sax__static__asserts.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html new file mode 100644 index 0000000..91e92ca --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html @@ -0,0 +1,87 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html new file mode 100644 index 0000000..ed4abc5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html @@ -0,0 +1,192 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Types

      using iterator_type = IteratorType
       
      using char_type = typename std::iterator_traits< iterator_type >::value_type
       
      using adapter_type = iterator_input_adapter< iterator_type >
       
      + + + +

      +Static Public Member Functions

      static adapter_type create (IteratorType first, IteratorType last)
       
      +

      Member Typedef Documentation

      + +

      ◆ adapter_type

      + +
      +
      +
      +template<typename IteratorType , typename Enable = void>
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::adapter_type = iterator_input_adapter<iterator_type>
      +
      + +
      +
      + +

      ◆ char_type

      + +
      +
      +
      +template<typename IteratorType , typename Enable = void>
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::char_type = typename std::iterator_traits<iterator_type>::value_type
      +
      + +
      +
      + +

      ◆ iterator_type

      + +
      +
      +
      +template<typename IteratorType , typename Enable = void>
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::iterator_type = IteratorType
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ create()

      + +
      +
      +
      +template<typename IteratorType , typename Enable = void>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::create (IteratorType first,
      IteratorType last 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html new file mode 100644 index 0000000..188245d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html new file mode 100644 index 0000000..5a137d3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html @@ -0,0 +1,210 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + +

      +Public Types

      using iterator_type = IteratorType
       
      using char_type = typename std::iterator_traits< iterator_type >::value_type
       
      using base_adapter_type = iterator_input_adapter< iterator_type >
       
      using adapter_type = wide_string_input_adapter< base_adapter_type, char_type >
       
      + + + +

      +Static Public Member Functions

      static adapter_type create (IteratorType first, IteratorType last)
       
      +

      Member Typedef Documentation

      + +

      ◆ adapter_type

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type = wide_string_input_adapter<base_adapter_type, char_type>
      +
      + +
      +
      + +

      ◆ base_adapter_type

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::base_adapter_type = iterator_input_adapter<iterator_type>
      +
      + +
      +
      + +

      ◆ char_type

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type = typename std::iterator_traits<iterator_type>::value_type
      +
      + +
      +
      + +

      ◆ iterator_type

      + +
      +
      +
      +template<typename IteratorType >
      + + + + +
      using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type = IteratorType
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ create()

      + +
      +
      +
      +template<typename IteratorType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::create (IteratorType first,
      IteratorType last 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits.html b/help/html/structnlohmann_1_1detail_1_1iterator__traits.html new file mode 100644 index 0000000..76bab6a --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_traits< T, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_traits< T, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map new file mode 100644 index 0000000..9ff6a8a --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 new file mode 100644 index 0000000..8e8eda5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 @@ -0,0 +1 @@ +207e8bfe75fb617a991e73c8aca5e281 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb0b06c2dd36c254b806f6a87a7fd45304b1027 GIT binary patch literal 7087 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 + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 new file mode 100644 index 0000000..8e8eda5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 @@ -0,0 +1 @@ +207e8bfe75fb617a991e73c8aca5e281 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb0b06c2dd36c254b806f6a87a7fd45304b1027 GIT binary patch literal 7087 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 + + + + + + +CocoaTweet: nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > Struct Template Reference + + + + + + + + + + +
      +
      +
      nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html new file mode 100644 index 0000000..0b63cd7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html new file mode 100644 index 0000000..2145d74 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html @@ -0,0 +1,273 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using iterator_category = std::random_access_iterator_tag
       
      using value_type = T
       
      using difference_type = ptrdiff_t
       
      using pointer = T *
       
      using reference = T &
       
      using iterator_category = std::random_access_iterator_tag
       
      using value_type = T
       
      using difference_type = ptrdiff_t
       
      using pointer = T *
       
      using reference = T &
       
      +

      Member Typedef Documentation

      + +

      ◆ difference_type [1/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type = ptrdiff_t
      +
      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type = ptrdiff_t
      +
      + +
      +
      + +

      ◆ iterator_category [1/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category = std::random_access_iterator_tag
      +
      + +
      +
      + +

      ◆ iterator_category [2/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category = std::random_access_iterator_tag
      +
      + +
      +
      + +

      ◆ pointer [1/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer = T*
      +
      + +
      +
      + +

      ◆ pointer [2/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer = T*
      +
      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference = T&
      +
      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference = T&
      +
      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type = T
      +
      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<typename T >
      + + + + +
      using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type = T
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__types.html b/help/html/structnlohmann_1_1detail_1_1iterator__types.html new file mode 100644 index 0000000..a0288d4 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__types.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_types< It, typename > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_types< It, typename > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html b/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html new file mode 100644 index 0000000..5aa3c9b --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html @@ -0,0 +1,93 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >, including all inherited members.

      + + + + + + + + + + + +
      difference_type typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      difference_type typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      iterator_category typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      iterator_category typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      pointer typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      pointer typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      reference typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      reference typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      value_type typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      value_type typedefnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html b/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html new file mode 100644 index 0000000..722b169 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html @@ -0,0 +1,273 @@ + + + + + + + +CocoaTweet: nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using difference_type = typename It::difference_type
       
      using value_type = typename It::value_type
       
      using pointer = typename It::pointer
       
      using reference = typename It::reference
       
      using iterator_category = typename It::iterator_category
       
      using difference_type = typename It::difference_type
       
      using value_type = typename It::value_type
       
      using pointer = typename It::pointer
       
      using reference = typename It::reference
       
      using iterator_category = typename It::iterator_category
       
      +

      Member Typedef Documentation

      + +

      ◆ difference_type [1/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type = typename It::difference_type
      +
      + +
      +
      + +

      ◆ difference_type [2/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type = typename It::difference_type
      +
      + +
      +
      + +

      ◆ iterator_category [1/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category = typename It::iterator_category
      +
      + +
      +
      + +

      ◆ iterator_category [2/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category = typename It::iterator_category
      +
      + +
      +
      + +

      ◆ pointer [1/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer = typename It::pointer
      +
      + +
      +
      + +

      ◆ pointer [2/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer = typename It::pointer
      +
      + +
      +
      + +

      ◆ reference [1/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference = typename It::reference
      +
      + +
      +
      + +

      ◆ reference [2/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference = typename It::reference
      +
      + +
      +
      + +

      ◆ value_type [1/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type = typename It::value_type
      +
      + +
      +
      + +

      ◆ value_type [2/2]

      + +
      +
      +
      +template<typename It >
      + + + + +
      using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type = typename It::value_type
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence.html b/help/html/structnlohmann_1_1detail_1_1make__index__sequence.html new file mode 100644 index 0000000..30f0298 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence.html @@ -0,0 +1,103 @@ + + + + + + + +CocoaTweet: nlohmann::detail::make_index_sequence< N > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::make_index_sequence< N > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::make_index_sequence< N >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::make_index_sequence< N >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4-members.html new file mode 100644 index 0000000..633daa6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::make_index_sequence< 0 > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4.html b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4.html new file mode 100644 index 0000000..5f4eabb --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::make_index_sequence< 0 > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::make_index_sequence< 0 > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::make_index_sequence< 0 >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::make_index_sequence< 0 >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Types inherited from nlohmann::detail::index_sequence<>
      using type = index_sequence
       
      using type = index_sequence
       
      using value_type = std::size_t
       
      using value_type = std::size_t
       
      - Static Public Member Functions inherited from nlohmann::detail::index_sequence<>
      static constexpr std::size_t size () noexcept
       
      static constexpr std::size_t size () noexcept
       
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.map new file mode 100644 index 0000000..b4bdf31 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.md5 new file mode 100644 index 0000000..73a43c7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.md5 @@ -0,0 +1 @@ +755632fecb873e0b95e2b1d6f8235d0f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..39ccfa9c30650bcad1c0f82ac5c2932afec571b6 GIT binary patch literal 6240 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.map new file mode 100644 index 0000000..b4bdf31 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.md5 new file mode 100644 index 0000000..73a43c7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +755632fecb873e0b95e2b1d6f8235d0f \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_010_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..39ccfa9c30650bcad1c0f82ac5c2932afec571b6 GIT binary patch literal 6240 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4-members.html new file mode 100644 index 0000000..f40aac6 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::make_index_sequence< 1 > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4.html b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4.html new file mode 100644 index 0000000..d05bfec --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::make_index_sequence< 1 > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::make_index_sequence< 1 > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::make_index_sequence< 1 >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::make_index_sequence< 1 >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Types inherited from nlohmann::detail::index_sequence< 0 >
      using type = index_sequence
       
      using type = index_sequence
       
      using value_type = std::size_t
       
      using value_type = std::size_t
       
      - Static Public Member Functions inherited from nlohmann::detail::index_sequence< 0 >
      static constexpr std::size_t size () noexcept
       
      static constexpr std::size_t size () noexcept
       
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.map new file mode 100644 index 0000000..96b11c8 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.md5 new file mode 100644 index 0000000..1a0f97e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.md5 @@ -0,0 +1 @@ +66432eb40197a552176f76f3317b6c58 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..19c53249cc8e1646b9126de1c95e6a293437a509 GIT binary patch literal 6326 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.map new file mode 100644 index 0000000..96b11c8 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.md5 new file mode 100644 index 0000000..1a0f97e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +66432eb40197a552176f76f3317b6c58 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence_3_011_01_4__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..19c53249cc8e1646b9126de1c95e6a293437a509 GIT binary patch literal 6326 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.map new file mode 100644 index 0000000..6a45db3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.md5 new file mode 100644 index 0000000..463d340 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.md5 @@ -0,0 +1 @@ +1707e8c0ef9ee115ed8d439ce99dc457 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b14bce97f003dede9afdc68cd9b4f4934ff601b9 GIT binary patch literal 8465 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 Yq4AH$H->~z2Y!lBl2ef_k~RtYA8m0*wg3PC literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.map new file mode 100644 index 0000000..6a45db3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.md5 new file mode 100644 index 0000000..463d340 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.md5 @@ -0,0 +1 @@ +1707e8c0ef9ee115ed8d439ce99dc457 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1make__index__sequence__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b14bce97f003dede9afdc68cd9b4f4934ff601b9 GIT binary patch literal 8465 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 Yq4AH$H->~z2Y!lBl2ef_k~RtYA8m0*wg3PC literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1make__void-members.html b/help/html/structnlohmann_1_1detail_1_1make__void-members.html new file mode 100644 index 0000000..01a9754 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__void-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::make_void< Ts > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::make_void< Ts >, including all inherited members.

      + + + +
      type typedefnlohmann::detail::make_void< Ts >
      type typedefnlohmann::detail::make_void< Ts >
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1make__void.html b/help/html/structnlohmann_1_1detail_1_1make__void.html new file mode 100644 index 0000000..cc50420 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1make__void.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: nlohmann::detail::make_void< Ts > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::make_void< Ts > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + +

      +Public Types

      using type = void
       
      using type = void
       
      +

      Member Typedef Documentation

      + +

      ◆ type [1/2]

      + +
      +
      +
      +template<typename ... Ts>
      + + + + +
      using nlohmann::detail::make_void< Ts >::type = void
      +
      + +
      +
      + +

      ◆ type [2/2]

      + +
      +
      +
      +template<typename ... Ts>
      + + + + +
      using nlohmann::detail::make_void< Ts >::type = void
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber.html b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber.html new file mode 100644 index 0000000..179a495 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::merge_and_renumber< Sequence1, Sequence2 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::merge_and_renumber< Sequence1, Sequence2 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.map b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.map new file mode 100644 index 0000000..4f86623 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.md5 b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.md5 new file mode 100644 index 0000000..95916b3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.md5 @@ -0,0 +1 @@ +9bb137dbca69bd6c0ccf84678b8c4cac \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.png b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde1bac35fd5e769bd829866cd5fef35c22.png new file mode 100644 index 0000000000000000000000000000000000000000..82b321cd659c1f3a0057e833ed6e82e717f64698 GIT binary patch literal 7650 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 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde4885d6f1d93a04f25932afbd429c4793.html b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde4885d6f1d93a04f25932afbd429c4793.html new file mode 100644 index 0000000..d7276c0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde4885d6f1d93a04f25932afbd429c4793.html @@ -0,0 +1,123 @@ + + + + + + + +CocoaTweet: nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >:
      +
      +
      Inheritance graph
      + + + + +
      [legend]
      +
      +Collaboration diagram for nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >:
      +
      +
      Collaboration graph
      + + + + +
      [legend]
      + + + + + + + + + + + + + + + + +

      +Additional Inherited Members

      - Public Types inherited from nlohmann::detail::index_sequence< I1...,(sizeof...(I1)+I2)... >
      using type = index_sequence
       
      using type = index_sequence
       
      using value_type = std::size_t
       
      using value_type = std::size_t
       
      - Static Public Member Functions inherited from nlohmann::detail::index_sequence< I1...,(sizeof...(I1)+I2)... >
      static constexpr std::size_t size () noexcept
       
      static constexpr std::size_t size () noexcept
       
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.map b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.map new file mode 100644 index 0000000..4f86623 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.md5 b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.md5 new file mode 100644 index 0000000..95916b3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.md5 @@ -0,0 +1 @@ +9bb137dbca69bd6c0ccf84678b8c4cac \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.png b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01inde58a580c1f5a37a79769abd61aded5e29.png new file mode 100644 index 0000000000000000000000000000000000000000..82b321cd659c1f3a0057e833ed6e82e717f64698 GIT binary patch literal 7650 zcmcgxcQluezkjSy%ARGf3K7|}?46aFEriTUR>)o%A+m++k?ftBolOXzvdP}uci-Rd z+;i{wo%`>796aYUpU-=|)+hL(itN?PRF@G1xhgLwr4Ikk;I|qF9sb&;6b-_^OQwpl zQpm;MpS1d%7zCk?mzTP)>6)~jY;8b1M%Av0-g*0Hi;9It-p>d3i_=EXNy)=>II4!R ziWqbxO01;W($a8l;#57%wIbEMLszPu{?t1omd%x|tV+|rjDk)=hxC3V)4|u%XG-)u z=Bnm>7ehU$9^w9^SKNXLuej+;bl4G}pLiMNSQ2#V$T5wtY}zKhE9T!5RGZ!zsw;+> znb~w2)4U)$IhmtjeqMAo{@uHGad9Efi6cv8&CC`?^0nJ)aJN!6(U6LY3RBO82kkVv zy1J`l#pJ6jKM()sE1FLpz(cyay2kAa3JTOUG?+7G<@EIQa4;XZyVqKEZ+}-jWnjrI zd!uwh<9n&mki5fvAyZ~;%$d&P?#m4WadB~ceEhX1r-sx4+A)D>{Radh48#qUWo4If zaUES;G_|!ac864Nk$mgqv$M0C_1FoAw~L5~sI7Ikv}8TWBIh&=GZ_2!?KT&e!(fK= z)2C0#$jI<%M1sP@dGFmD9vJwuy=}^!Ajd-#EJa5UB$W{y+%=dfJCSR9Pu{9KGb1Bg zC0WQRQ6@7=j_LXH=U1+TCMDgd_&qZ-jiHW4H?u7Wokt({6 zv5ieAJ-*!!UzRtYMJMn4Vg6EGtt%@Vc-H&$WPknIwQG2n-khMtiJG?@Al^{iPoF-; z#l;osS3a94vp^N2j~42W4Gn3iscrq4le`^UW6>R_Hdg;)UC+bALs2obu&^*DW+;@L zGcPZXM$E%?q5bNMQ}wd1qwOBx^7F{cuY;^*Tl z(rBbZ+CGaf5uyt-{WH6xn3`|Xh_B@*` zx4t+(W3*smVk$6dq|qmubSfGi9!3y7ef_8jUtd_GWR)ECT*Ny&o5fu4P4h!-?c%&V z(^4JVS+j1lgPs!WdjeAq(^zO9;r%58uPJ}vvpYT9^7r>2M?YlX;nDcf_bzs)zM_JU zJH4O)4_VsWT=a-l$okgZef|1%#?PG{{7!OQqa)wHKVX5rXu_eTHSu|kZ(?F%baWKv z2NRv1jxMdV)KOD@TwT!G))pRMQOVE4Bgq0ah4sF42@~B%g08cxtKRFZ25M)Hh4-q3 z%ZVH_rp9@(FCZYGU+ko3a8Qk@g(;xmkmiG`*pa!F)e>w~C%co=F)BvYk9}%#vc_?t zePG}rRd~BO_rm-73&8s8A0Jp(7H% zLFm{`tbRMD%jM-u)+o7=krCJek{GVLTaJe_!^19H^KA_c4fm+R6|#;`PKtF(AE>IT zc9xx;ohh+sNJ^UhsB+B8%5rpcM30|8_W$0~V>{R4@8#v?A_R5YZ}P#Advi-8yQ-?n z)z!7mThX86|&Sd)YZQa4ZYl) z0fZr*sa0I@xY2-(m_K=vmz&$0B0AOH-rm$i$IL8!mDKXPJXfR zFBS~z>FJr7G34QaT`hmU`e=U}8nir=^Y;Vj>${H?J*J_d2?+^7ygg6$r|Vv6z&4JK zK0@EdjMLN9Bq1h_Nlq@z%X?~X-)KK8#?N0_X+ImHm5xJS(t0F<#m~=A_nVeLqMb(W znr=bgsa4+rK@g5lL*P%sC3hSep9b0wB&4MD^4P&!=V$IOUmk2Nbo3_)YD71_Gi;l0H(s1=ik}~5mX>a1R;A&3a$3Z38a22dJTsr{@5is^xXsC_DOLwZ zc6R&31ZAeOwRLVzP7aqorHr(6+v(8`Ad{4ihKIy#C^buru8z*q+#De_b@=plPXZ4+ z*=l?E^#{+QlvrLL{ffVQ`SOF&xzLmp8WdTptk2r<`EafV3kwSXLns-C+wKx!S)>gM z*{P_c`~I5lzC8->>eZ+qQUnG#N`ejs#BBI}_fmt`nGhXaQ){bviytmvTjy1(at7NJ zG0&RU7hZsJFdrBgZvZudE4$BC;c{bRN!{aYRLeR9E1yj>oKk=67}$@np-YltNEUQv zxpga8f({cKTk#3M|9u(Hi|t?C_3j7R+1W2#T#^JFeUlr1B?e|rSV7)}ZNzct z(}=pgi;vgV*0wY=)6mrPQ~UVk3$K{i%;cmSjO+CD^z!oZmoHxk2?^oD%`X?u-Q(pg z<#}Z#+V$jU``6k}WgVUO@QiJL3cJm!OD)dM&Yqs0_4W0-?4tnZ%%49zpdT$~eJhBH z8Xg^m;*{+a;aDZ;l;d%PwsCWDb@ul!8r0|KUt!em=FJRETFJ}Le?|D!wDiaHG#UbP zWj|9#`CK)gL!XR*ps5-KEpT#jsyi5wd(!j1S%unpU7oCRcRNclUP(#G>K@e<&rL4$ zIosJQ_z_N>U%Bqy?dt42JU`i7>`Sh-o2vNsO~E@QSh{;4!za0rI$^M|xHvv0=K3SD zOgR^q-L4o`w%fPE!onKP_NV6OP2dW>{FEA>Y1zTk{a9MU$zBV}t#|yM!S) zQrdhoBQtYn`sHkFeEe*^yY}P9o?ip5LZh0Sn+=Hf=bJ`HD>5>CMTN^)1HTl1`ZQkm z%2`FFZ+Cg9^gu<)$DxZcv!TDg|6(qX7LakK@pZp3SESS(Jr*(!$ty@nS=sT?Vrp$| z?R6?DUtixye~JmcBBcawe<=ni!g{~>#oF?+;OldbXV30%N`&#C7Hy&P+5GaSTFuPQvOmSKPe@3p#ZuaY?w6yAr>Ce1 zW~LYi9y%e>t&^GYaaWWj0VjV7*TBdKkbMlRDw*+PFSD?|zCMNv%WICqet42HjbjR- zYGz@KQ?w$kk<8z_cjiCgQeN6U!wzVpcqOlJN3YzDumi z&ar_3E-tP=TU)Qrj(J}w|3$wGL?(=o@m96VvO0GHd(-a-8qpfdewy2{3h58MF3t`f z*S^3tB1TH!Hdw4PL*iaD@V9VRe~>h0{NNu%og!XX?9;;)t`ev$8A<3=BYc zCh%CooPm%ebNM?nN}WAiW}%13OzOL8 zs+cFLGYSMpUmdHZaVFf=?|{`vFHk7{T5B&69tDKKV=&zedo7~hJx?OL6m z9{Jkc<>uZ743?Ib21S>VceFO~8HGZHh2in?e(C+dudS*1J~8p~qo;Tno)(gW0-<2UJk2m3DW@X(RFU3e;A;3Wpp=7aF+bDpKSFc{7m3;v$?1-So zK;D1&z^DjJ2J4QE5LB@|u(d5PW}ClKnmzL|x`X7>zlI6ae8vb}L?SIY*V|jxhv9dB z|N0ed@J8V2g8;PRMTtK+yP}wHC1xf6<3uq$EKHs3R4ulgV09V|@Z5ScbuFW?Uitog z*~#1HgwBf#YEK5hsPR&-@Z1rFFqL2ZvQ^YkQuaBx;(!piW&aXc)Kn1 zfJH?!KkqUt5$^Z6H^M&;4KH(1C~;TgAp;W=?iXI+<-h*2^R0&l2GAO8Br-m}_C=x6 zq!V0LJxLXu-oJkh;kwsa;^OQgD{rdgSUV8 z*82M9;I+@5JEG3q+t;UPn_qjpWlq~<{#M-h=<3zGfgDUkxPpTCSsB=s60?f$l9B@b z2>Ej<@P2PLHm?GILOs&!W3LQh&!rV)lxEW#s{Q zE*ZPH_wTEmektHC`TT339jd*=Z>OZBTp?q3-9~i*ld`BJQ4kPtz1;X=VpmgJ`&aor zdUOdn><~YnTU_M#I(0=c-;SlCpb)Tq3~I^7W)+|v#(#Bb2@?xT)az70Sh%*hxPNf) zE*Dp%1Ra80yCLvUPfvl4zy(B6ax%aDOc=Xtj9&#%o+u|LCkKb!xQnc;Ea(X>t=PD@ zQEem7wwdJf^K(Fx`T2PeuYHNUHU}HiKo@g!bD%K8fb=6GQtq0`n3^&qiqO)g#@Nod@;c3Dk2;aYd4?^1pu(_%#NzC&&-pFfkU_e5j8Xw2C zq0#fCB0ioxLCLVfR#!?2({dbb4r&iT0(2-ZFYh8G%D`Yc{Csn|7LZGpC5D5YeSc$G zF-x7(uMA)qb|&Y|6edTjp?L3Dd`Cp#SbJ=1lJ0 z0J?=6|Cn9w^iQ8~5DE&4pB`Td3zbz=RJ66p6L`6}5M*F^S3ZWtq@deS?AZ?iARfqX z_StKDlZ9V`JC1vG6 zt)|Eh&dmKw6}KTyF_(vormUrz zi`tr+h#P`LWMoh5>Qdn8PmAnO4hU)|V{5eXE)K+^K_73m1Pj((9pf4*mu zPY_Hi#?{7QPeGA~Af4n0(gcaX$;pYkn;XIEPMLhn_yYw)TTe<{1bE zISf0yb^j~m;Inx7_^#pMiM&1+VPZm^oj?o|Ow0-npPK@&8RZz;%t(me2_EG(o6ECmRb`z$dKjt~$y3WSA)#b2M_ux?*iF^g_I+hAg2vpGB7gO00{U=p(ZjkSV; zsvvYI_m_M3H4q;b+tCX>bkzetiW-bD0LSmXWW~%uh;VLDQ)d;*9ZSr<^@PZ0eqq7P z)D-MA=&II+cfpovn;l}1W~8U5e}6=;-zg;~s}yXcM&CVQO}QzQAkE@|Z-PPG9gP;@ zY<`7l5rdF_;2=7n%@k~e#!V7N#!N_>6!fpD5GHIMDdS`^dsTC@>)2RY2F5l1s^I|Z z4F#VXA4iZSm*bk}tIvK^rGpnX`$3MtuKnEHya00pEPZ%#!q|MB#;j>=HDGUVkK}Sz zTAGB4%0@S5V|isIZFNpku!UD`M1BhFHGnQCP{^c^CUEAkZ!mMy--+z9}#(@<(? z3v4fN097#rtA^To^xHq6 z;MfYiWLZMSDABFGLh*;}01Gi_^zxjlu!B$tvb_8E?}PmCUZil))*gctr@pQZcG%tB z{mq*Ey6qb&8)eGN1N=gcnM}Q9*nf9DiFFixUh{t{}rB3VPI{diw=E*T$l#mHa zgi=S+;J%%+Bqt|lV`C#FjfECGwYDZDC*PsKxP&kkM{JiLw*8T=>FQo+S@3# zx%ySE-SP49s_JSiY;0C0Ccs>!BmqJ@XOPXnq_=P1UT6>hTv9S#?aV4;;f2r8h+R}z zxDKU)Pc0)O19F^+sH?9}MRUtKD%|-{0jCnODCJYrrfZ|7*jBGpsqu#b2)!=d*m`W9 zsFL%~wYa*we@IAByZLT!bxc@5fL*uD{C7`+h+gVJ(brK(x}xLao|u?yO<1Oy*s7?i za>9aw;D$1S(=vK}_9Y>KQqMw5ORM49->b>Yd?Uwnjg2kuu-po|g-H(GLYumYj%h_o zN;<(J6L9miB{xzglLLHW2L%^m3=zk(e-5ZBSZNUv14Bcvu4ra9?IQCFDW8{^IEtTj z3OYOGfU&`kL6YR$7D7s~N6xNOV%&^Q7OM5|AMOU&SHNR2Y7rHZKgHhqR*#<&w; zc{?}xG1+_rtl9-nWgG^H8tdpJykD#g=R#7lvc3+ms;r3v^EF4qom``ubCSeH({c3vf4ZE?gGJty_dz9(wl{-O-3ztb&aU zfAUMLuCG&*lKxs*$tx~ygeVv_w&79wbR-XjGDo?on42>>1rW1$0AK?~MA}gMHf!tD z)YXab@azBv!iqe4^yoUDt$@d&gStAAyHrPTY^)X};twA_1mb|CGF>w8U2N>#eG+9{ zy}+F*GvHZ3+|vfn69^vH*VjR=Vcu*ZeJ>dh6aW^sxbd8-I^vcc$5+Y($pAqt9GW@% zBrvJm+hhx67Tx=svz&D#rDTB)=(UOBv#TpBA@(Fpqw~J>-Ko8>;WpRARovk5l|G;e#lA213AYJwd5+ucNLQ}=`&)qnE2au*gJR}!{UTYyCA)%%= zSZdbc_rnwp50AR4)JI6O_raSxA8?*GEHWG4yarIRv%UR5QZmXQJSK*iladn|ipY=? zR#;67CA;r2J2IlBqa&9Nx=wFxeI3@{vNy5KeN@3UEIb_Ys7A+c{BAoX5fTN?i-{<=sHksv_+9b~Q2bz+Z*E%4LI@J}4MxczHq9qJay5lJq37gaGbcNnVVRsL z*zd8F%(a?N1g!@xn0V4SF*DG&m zIMdW50g3k0r+KxtCvrnOCt+HAT*|l=;E9UEcAFErvBN@{>e#+`Z$w z^)4`h6WGUwyG`YpYj280STKDNPyA*^horCkNnIRYhVm~ILWnf3&5yuxV9zA@BbM@+9bW>2cy#J>B@G0KhWs%v?FnI4=jhxFBcZ|B8 zsoda^*43l2A^6f3k(XAHDtch-`(K9j6{7$E literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01indebebec34e109190e5d41f54d7e3818587.html b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01indebebec34e109190e5d41f54d7e3818587.html new file mode 100644 index 0000000..41a86f9 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1merge__and__renumber_3_01index__sequence_3_01I1_8_8_8_01_4_00_01indebebec34e109190e5d41f54d7e3818587.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1nonesuch-members.html b/help/html/structnlohmann_1_1detail_1_1nonesuch-members.html new file mode 100644 index 0000000..2a52528 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1nonesuch-members.html @@ -0,0 +1,95 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::nonesuch Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::nonesuch, including all inherited members.

      + + + + + + + + + + + + + +
      nonesuch()=deletenlohmann::detail::nonesuch
      nonesuch(nonesuch const &)=deletenlohmann::detail::nonesuch
      nonesuch(nonesuch const &&)=deletenlohmann::detail::nonesuch
      nonesuch()=deletenlohmann::detail::nonesuch
      nonesuch(nonesuch const &)=deletenlohmann::detail::nonesuch
      nonesuch(nonesuch const &&)=deletenlohmann::detail::nonesuch
      operator=(nonesuch const &)=deletenlohmann::detail::nonesuch
      operator=(nonesuch &&)=deletenlohmann::detail::nonesuch
      operator=(nonesuch const &)=deletenlohmann::detail::nonesuch
      operator=(nonesuch &&)=deletenlohmann::detail::nonesuch
      ~nonesuch()=deletenlohmann::detail::nonesuch
      ~nonesuch()=deletenlohmann::detail::nonesuch
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1nonesuch.html b/help/html/structnlohmann_1_1detail_1_1nonesuch.html new file mode 100644 index 0000000..ea3bfbe --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1nonesuch.html @@ -0,0 +1,426 @@ + + + + + + + +CocoaTweet: nlohmann::detail::nonesuch Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::nonesuch Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       nonesuch ()=delete
       
       ~nonesuch ()=delete
       
       nonesuch (nonesuch const &)=delete
       
       nonesuch (nonesuch const &&)=delete
       
      void operator= (nonesuch const &)=delete
       
      void operator= (nonesuch &&)=delete
       
       nonesuch ()=delete
       
       ~nonesuch ()=delete
       
       nonesuch (nonesuch const &)=delete
       
       nonesuch (nonesuch const &&)=delete
       
      void operator= (nonesuch const &)=delete
       
      void operator= (nonesuch &&)=delete
       
      +

      Constructor & Destructor Documentation

      + +

      ◆ nonesuch() [1/6]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch ()
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~nonesuch() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::nonesuch::~nonesuch ()
      +
      +delete
      +
      + +
      +
      + +

      ◆ nonesuch() [2/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch (nonesuch const & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ nonesuch() [3/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch (nonesuch const && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ nonesuch() [4/6]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch ()
      +
      +delete
      +
      + +
      +
      + +

      ◆ ~nonesuch() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      nlohmann::detail::nonesuch::~nonesuch ()
      +
      +delete
      +
      + +
      +
      + +

      ◆ nonesuch() [5/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch (nonesuch const & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ nonesuch() [6/6]

      + +
      +
      + + + + + +
      + + + + + + + + +
      nlohmann::detail::nonesuch::nonesuch (nonesuch const && )
      +
      +delete
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ operator=() [1/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::nonesuch::operator= (nonesuch && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [2/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::nonesuch::operator= (nonesuch && )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [3/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::nonesuch::operator= (nonesuch const & )
      +
      +delete
      +
      + +
      +
      + +

      ◆ operator=() [4/4]

      + +
      +
      + + + + + +
      + + + + + + + + +
      void nlohmann::detail::nonesuch::operator= (nonesuch const & )
      +
      +delete
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html new file mode 100644 index 0000000..c2cc0a3 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html @@ -0,0 +1,89 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::output_adapter_protocol< CharType > Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol.html b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol.html new file mode 100644 index 0000000..d184c8c --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol.html @@ -0,0 +1,319 @@ + + + + + + + +CocoaTweet: nlohmann::detail::output_adapter_protocol< CharType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::output_adapter_protocol< CharType > Struct Template Referenceabstract
      +
      +
      + +

      abstract output adapter interface + More...

      + +

      #include <json.hpp>

      +
      +Inheritance diagram for nlohmann::detail::output_adapter_protocol< CharType >:
      +
      +
      Inheritance graph
      + + + + + + +
      [legend]
      + + + + + + + + + + + + + + +

      +Public Member Functions

      virtual void write_character (CharType c)=0
       
      virtual void write_characters (const CharType *s, std::size_t length)=0
       
      virtual ~output_adapter_protocol ()=default
       
      virtual void write_character (CharType c)=0
       
      virtual void write_characters (const CharType *s, std::size_t length)=0
       
      virtual ~output_adapter_protocol ()=default
       
      +

      Detailed Description

      +

      template<typename CharType>
      +struct nlohmann::detail::output_adapter_protocol< CharType >

      + +

      abstract output adapter interface

      +

      Constructor & Destructor Documentation

      + +

      ◆ ~output_adapter_protocol() [1/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + +
      virtual nlohmann::detail::output_adapter_protocol< CharType >::~output_adapter_protocol ()
      +
      +virtualdefault
      +
      + +
      +
      + +

      ◆ ~output_adapter_protocol() [2/2]

      + +
      +
      +
      +template<typename CharType >
      + + + + + +
      + + + + + + + +
      virtual nlohmann::detail::output_adapter_protocol< CharType >::~output_adapter_protocol ()
      +
      +virtualdefault
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ write_character() [1/2]

      + + + +

      ◆ write_character() [2/2]

      + + + +

      ◆ write_characters() [1/2]

      + + + +

      ◆ write_characters() [2/2]

      + + +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map new file mode 100644 index 0000000..b31b609 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 new file mode 100644 index 0000000..1ebd8d7 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 @@ -0,0 +1 @@ +25bb44cfec42b6cab4804e17aebef319 \ No newline at end of file diff --git a/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png b/help/html/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..01fc3807260f7b8c7a85c6241aadcb8bb7962e5f GIT binary patch literal 16227 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 LFP1B!_wIiHCzR}6 literal 0 HcmV?d00001 diff --git a/help/html/structnlohmann_1_1detail_1_1position__t-members.html b/help/html/structnlohmann_1_1detail_1_1position__t-members.html new file mode 100644 index 0000000..79798cf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1position__t-members.html @@ -0,0 +1,88 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::position_t Member List
      +
      + + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1position__t.html b/help/html/structnlohmann_1_1detail_1_1position__t.html new file mode 100644 index 0000000..b41bc94 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1position__t.html @@ -0,0 +1,220 @@ + + + + + + + +CocoaTweet: nlohmann::detail::position_t Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::position_t Struct Reference
      +
      +
      + +

      struct to capture the start position of the current token + More...

      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Member Functions

      constexpr operator size_t () const
       conversion to size_t to preserve SAX interface More...
       
      constexpr operator size_t () const
       conversion to size_t to preserve SAX interface More...
       
      + + + + + + + + + + +

      +Public Attributes

      std::size_t chars_read_total = 0
       the total number of characters read More...
       
      std::size_t chars_read_current_line = 0
       the number of characters read in the current line More...
       
      std::size_t lines_read = 0
       the number of lines read More...
       
      +

      Detailed Description

      +

      struct to capture the start position of the current token

      +

      Member Function Documentation

      + +

      ◆ operator size_t() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr nlohmann::detail::position_t::operator size_t () const
      +
      +inlineconstexpr
      +
      + +

      conversion to size_t to preserve SAX interface

      + +
      +
      + +

      ◆ operator size_t() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + +
      constexpr nlohmann::detail::position_t::operator size_t () const
      +
      +inlineconstexpr
      +
      + +

      conversion to size_t to preserve SAX interface

      + +
      +
      +

      Member Data Documentation

      + +

      ◆ chars_read_current_line

      + +
      +
      + + + + +
      std::size_t nlohmann::detail::position_t::chars_read_current_line = 0
      +
      + +

      the number of characters read in the current line

      + +
      +
      + +

      ◆ chars_read_total

      + +
      +
      + + + + +
      std::size_t nlohmann::detail::position_t::chars_read_total = 0
      +
      + +

      the total number of characters read

      + +
      +
      + +

      ◆ lines_read

      + +
      +
      + + + + +
      std::size_t nlohmann::detail::position_t::lines_read = 0
      +
      + +

      the number of lines read

      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1priority__tag.html b/help/html/structnlohmann_1_1detail_1_1priority__tag.html new file mode 100644 index 0000000..45f67bf --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1priority__tag.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::priority_tag< N > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::priority_tag< N > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html b/help/html/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html new file mode 100644 index 0000000..6581acc --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: nlohmann::detail::priority_tag< 0 > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::priority_tag< 0 > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1static__const-members.html b/help/html/structnlohmann_1_1detail_1_1static__const-members.html new file mode 100644 index 0000000..d08b844 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1static__const-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::static_const< T > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::static_const< T >, including all inherited members.

      + + +
      valuenlohmann::detail::static_const< T >static
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1static__const.html b/help/html/structnlohmann_1_1detail_1_1static__const.html new file mode 100644 index 0000000..f46e335 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1static__const.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: nlohmann::detail::static_const< T > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::static_const< T > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Attributes

      static constexpr T value {}
       
      +

      Member Data Documentation

      + +

      ◆ value

      + +
      +
      +
      +template<typename T >
      + + + + + +
      + + + + +
      constexpr T nlohmann::detail::static_const< T >::value {}
      +
      +staticconstexpr
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1to__json__fn-members.html b/help/html/structnlohmann_1_1detail_1_1to__json__fn-members.html new file mode 100644 index 0000000..6d7dc4f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1to__json__fn-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::to_json_fn Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::to_json_fn, including all inherited members.

      + + + +
      operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())nlohmann::detail::to_json_fninline
      operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())nlohmann::detail::to_json_fninline
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1to__json__fn.html b/help/html/structnlohmann_1_1detail_1_1to__json__fn.html new file mode 100644 index 0000000..7ed415e --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1to__json__fn.html @@ -0,0 +1,177 @@ + + + + + + + +CocoaTweet: nlohmann::detail::to_json_fn Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::to_json_fn Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Member Functions

      template<typename BasicJsonType , typename T >
      auto operator() (BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
       
      template<typename BasicJsonType , typename T >
      auto operator() (BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
       
      +

      Member Function Documentation

      + +

      ◆ operator()() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::to_json_fn::operator() (BasicJsonType & j,
      T && val 
      ) const -> decltype(to_json(j, std::forward<T>(val)), void()) +
      +
      +inlinenoexcept
      +
      + +
      +
      + +

      ◆ operator()() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType , typename T >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      auto nlohmann::detail::to_json_fn::operator() (BasicJsonType & j,
      T && val 
      ) const -> decltype(to_json(j, std::forward<T>(val)), void()) +
      +
      +inlinenoexcept
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper-members.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper-members.html new file mode 100644 index 0000000..08c70c5 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::wide_string_input_helper< WideStringType, T > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::wide_string_input_helper< WideStringType, T >, including all inherited members.

      + + +
      fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< WideStringType, T >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper.html new file mode 100644 index 0000000..afdfe58 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper.html @@ -0,0 +1,151 @@ + + + + + + + +CocoaTweet: nlohmann::detail::wide_string_input_helper< WideStringType, T > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::wide_string_input_helper< WideStringType, T > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Member Functions

      static void fill_buffer (const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
       
      +

      Member Function Documentation

      + +

      ◆ fill_buffer()

      + +
      +
      +
      +template<typename WideStringType , size_t T>
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::wide_string_input_helper< WideStringType, T >::fill_buffer (const WideStringType & str,
      size_t & current_wchar,
      std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
      size_t & utf8_bytes_index,
      size_t & utf8_bytes_filled 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html new file mode 100644 index 0000000..4e4a0c0 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >, including all inherited members.

      + + +
      fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html new file mode 100644 index 0000000..0558721 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html @@ -0,0 +1,145 @@ + + + + + + + +CocoaTweet: nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Member Functions

      static void fill_buffer (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
       
      +

      Member Function Documentation

      + +

      ◆ fill_buffer()

      + +
      +
      +
      +template<typename BaseInputAdapter >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer (BaseInputAdapter & input,
      std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
      size_t & utf8_bytes_index,
      size_t & utf8_bytes_filled 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html new file mode 100644 index 0000000..e4b0a51 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >, including all inherited members.

      + + +
      fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html new file mode 100644 index 0000000..1007f13 --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html @@ -0,0 +1,145 @@ + + + + + + + +CocoaTweet: nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Member Functions

      static void fill_buffer (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
       
      +

      Member Function Documentation

      + +

      ◆ fill_buffer()

      + +
      +
      +
      +template<typename BaseInputAdapter >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer (BaseInputAdapter & input,
      std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
      size_t & utf8_bytes_index,
      size_t & utf8_bytes_filled 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4-members.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4-members.html new file mode 100644 index 0000000..ed5815f --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4-members.html @@ -0,0 +1,84 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::detail::wide_string_input_helper< WideStringType, 2 > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::detail::wide_string_input_helper< WideStringType, 2 >, including all inherited members.

      + + +
      fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< WideStringType, 2 >inlinestatic
      + + + + diff --git a/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html new file mode 100644 index 0000000..733383d --- /dev/null +++ b/help/html/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01WideStringType_00_012_01_4.html @@ -0,0 +1,151 @@ + + + + + + + +CocoaTweet: nlohmann::detail::wide_string_input_helper< WideStringType, 2 > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::detail::wide_string_input_helper< WideStringType, 2 > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + +

      +Static Public Member Functions

      static void fill_buffer (const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
       
      +

      Member Function Documentation

      + +

      ◆ fill_buffer()

      + +
      +
      +
      +template<typename WideStringType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      static void nlohmann::detail::wide_string_input_helper< WideStringType, 2 >::fill_buffer (const WideStringType & str,
      size_t & current_wchar,
      std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
      size_t & utf8_bytes_index,
      size_t & utf8_bytes_filled 
      )
      +
      +inlinestatic
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1json__sax-members.html b/help/html/structnlohmann_1_1json__sax-members.html new file mode 100644 index 0000000..551cd0d --- /dev/null +++ b/help/html/structnlohmann_1_1json__sax-members.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::json_sax< BasicJsonType > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::json_sax< BasicJsonType >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      binary(binary_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      binary_t typedefnlohmann::json_sax< BasicJsonType >
      boolean(bool val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      boolean(bool val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      end_array()=0nlohmann::json_sax< BasicJsonType >pure virtual
      end_array()=0nlohmann::json_sax< BasicJsonType >pure virtual
      end_object()=0nlohmann::json_sax< BasicJsonType >pure virtual
      end_object()=0nlohmann::json_sax< BasicJsonType >pure virtual
      key(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      key(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      null()=0nlohmann::json_sax< BasicJsonType >pure virtual
      null()=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_float(number_float_t val, const string_t &s)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_float(number_float_t val, const string_t &s)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_float_t typedefnlohmann::json_sax< BasicJsonType >
      number_float_t typedefnlohmann::json_sax< BasicJsonType >
      number_integer(number_integer_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_integer(number_integer_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_integer_t typedefnlohmann::json_sax< BasicJsonType >
      number_integer_t typedefnlohmann::json_sax< BasicJsonType >
      number_unsigned(number_unsigned_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_unsigned(number_unsigned_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      number_unsigned_t typedefnlohmann::json_sax< BasicJsonType >
      number_unsigned_t typedefnlohmann::json_sax< BasicJsonType >
      parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0nlohmann::json_sax< BasicJsonType >pure virtual
      parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0nlohmann::json_sax< BasicJsonType >pure virtual
      start_array(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
      start_array(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
      start_object(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
      start_object(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
      string(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      string(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
      string_t typedefnlohmann::json_sax< BasicJsonType >
      string_t typedefnlohmann::json_sax< BasicJsonType >
      ~json_sax()=defaultnlohmann::json_sax< BasicJsonType >virtual
      ~json_sax()=defaultnlohmann::json_sax< BasicJsonType >virtual
      + + + + diff --git a/help/html/structnlohmann_1_1json__sax.html b/help/html/structnlohmann_1_1json__sax.html new file mode 100644 index 0000000..9551624 --- /dev/null +++ b/help/html/structnlohmann_1_1json__sax.html @@ -0,0 +1,1365 @@ + + + + + + + +CocoaTweet: nlohmann::json_sax< BasicJsonType > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract
      +
      +
      + +

      SAX interface. + More...

      + +

      #include <json.hpp>

      + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Types

      using number_integer_t = typename BasicJsonType::number_integer_t
       type for (signed) integers More...
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       type for unsigned integers More...
       
      using number_float_t = typename BasicJsonType::number_float_t
       type for floating-point numbers More...
       
      using string_t = typename BasicJsonType::string_t
       type for strings More...
       
      using number_integer_t = typename BasicJsonType::number_integer_t
       
      using number_unsigned_t = typename BasicJsonType::number_unsigned_t
       
      using number_float_t = typename BasicJsonType::number_float_t
       
      using string_t = typename BasicJsonType::string_t
       
      using binary_t = typename BasicJsonType::binary_t
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

      virtual bool null ()=0
       a null value was read More...
       
      virtual bool boolean (bool val)=0
       a boolean value was read More...
       
      virtual bool number_integer (number_integer_t val)=0
       an integer number was read More...
       
      virtual bool number_unsigned (number_unsigned_t val)=0
       an unsigned integer number was read More...
       
      virtual bool number_float (number_float_t val, const string_t &s)=0
       an floating-point number was read More...
       
      virtual bool string (string_t &val)=0
       a string was read More...
       
      virtual bool start_object (std::size_t elements)=0
       the beginning of an object was read More...
       
      virtual bool key (string_t &val)=0
       an object key was read More...
       
      virtual bool end_object ()=0
       the end of an object was read More...
       
      virtual bool start_array (std::size_t elements)=0
       the beginning of an array was read More...
       
      virtual bool end_array ()=0
       the end of an array was read More...
       
      virtual bool parse_error (std::size_t position, const std::string &last_token, const detail::exception &ex)=0
       a parse error occurred More...
       
      virtual ~json_sax ()=default
       
      virtual bool null ()=0
       a null value was read More...
       
      virtual bool boolean (bool val)=0
       a boolean value was read More...
       
      virtual bool number_integer (number_integer_t val)=0
       an integer number was read More...
       
      virtual bool number_unsigned (number_unsigned_t val)=0
       an unsigned integer number was read More...
       
      virtual bool number_float (number_float_t val, const string_t &s)=0
       an floating-point number was read More...
       
      virtual bool string (string_t &val)=0
       a string was read More...
       
      virtual bool binary (binary_t &val)=0
       a binary string was read More...
       
      virtual bool start_object (std::size_t elements)=0
       the beginning of an object was read More...
       
      virtual bool key (string_t &val)=0
       an object key was read More...
       
      virtual bool end_object ()=0
       the end of an object was read More...
       
      virtual bool start_array (std::size_t elements)=0
       the beginning of an array was read More...
       
      virtual bool end_array ()=0
       the end of an array was read More...
       
      virtual bool parse_error (std::size_t position, const std::string &last_token, const detail::exception &ex)=0
       a parse error occurred More...
       
      virtual ~json_sax ()=default
       
      +

      Detailed Description

      +

      template<typename BasicJsonType>
      +struct nlohmann::json_sax< BasicJsonType >

      + +

      SAX interface.

      +

      This class describes the SAX interface used by nlohmann::json::sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input.

      +

      Member Typedef Documentation

      + +

      ◆ binary_t

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
      +
      + +
      +
      + +

      ◆ number_float_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +

      type for floating-point numbers

      + +
      +
      + +

      ◆ number_float_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
      +
      + +
      +
      + +

      ◆ number_integer_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +

      type for (signed) integers

      + +
      +
      + +

      ◆ number_integer_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
      +
      + +
      +
      + +

      ◆ number_unsigned_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +

      type for unsigned integers

      + +
      +
      + +

      ◆ number_unsigned_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
      +
      + +
      +
      + +

      ◆ string_t [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +

      type for strings

      + +
      +
      + +

      ◆ string_t [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + +
      using nlohmann::json_sax< BasicJsonType >::string_t = typename BasicJsonType::string_t
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ ~json_sax() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual nlohmann::json_sax< BasicJsonType >::~json_sax ()
      +
      +virtualdefault
      +
      + +
      +
      + +

      ◆ ~json_sax() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual nlohmann::json_sax< BasicJsonType >::~json_sax ()
      +
      +virtualdefault
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ binary()

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::binary (binary_tval)
      +
      +pure virtual
      +
      + +

      a binary string was read

      +
      Parameters
      + + +
      [in]valbinary value
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      It is safe to move the passed binary.
      + +
      +
      + +

      ◆ boolean() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::boolean (bool val)
      +
      +pure virtual
      +
      + +

      a boolean value was read

      +
      Parameters
      + + +
      [in]valboolean value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ boolean() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::boolean (bool val)
      +
      +pure virtual
      +
      + +

      a boolean value was read

      +
      Parameters
      + + +
      [in]valboolean value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ end_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::end_array ()
      +
      +pure virtual
      +
      + +

      the end of an array was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ end_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::end_array ()
      +
      +pure virtual
      +
      + +

      the end of an array was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ end_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::end_object ()
      +
      +pure virtual
      +
      + +

      the end of an object was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ end_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::end_object ()
      +
      +pure virtual
      +
      + +

      the end of an object was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ key() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::key (string_tval)
      +
      +pure virtual
      +
      + +

      an object key was read

      +
      Parameters
      + + +
      [in]valobject key
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      It is safe to move the passed string.
      + +
      +
      + +

      ◆ key() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::key (string_tval)
      +
      +pure virtual
      +
      + +

      an object key was read

      +
      Parameters
      + + +
      [in]valobject key
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      It is safe to move the passed string.
      + +
      +
      + +

      ◆ null() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::null ()
      +
      +pure virtual
      +
      + +

      a null value was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ null() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::null ()
      +
      +pure virtual
      +
      + +

      a null value was read

      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_float() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_float (number_float_t val,
      const string_ts 
      )
      +
      +pure virtual
      +
      + +

      an floating-point number was read

      +
      Parameters
      + + + +
      [in]valfloating-point value
      [in]sraw token value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_float() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_float (number_float_t val,
      const string_ts 
      )
      +
      +pure virtual
      +
      + +

      an floating-point number was read

      +
      Parameters
      + + + +
      [in]valfloating-point value
      [in]sraw token value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_integer() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_integer (number_integer_t val)
      +
      +pure virtual
      +
      + +

      an integer number was read

      +
      Parameters
      + + +
      [in]valinteger value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_integer() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_integer (number_integer_t val)
      +
      +pure virtual
      +
      + +

      an integer number was read

      +
      Parameters
      + + +
      [in]valinteger value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_unsigned() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +pure virtual
      +
      + +

      an unsigned integer number was read

      +
      Parameters
      + + +
      [in]valunsigned integer value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ number_unsigned() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::number_unsigned (number_unsigned_t val)
      +
      +pure virtual
      +
      + +

      an unsigned integer number was read

      +
      Parameters
      + + +
      [in]valunsigned integer value
      +
      +
      +
      Returns
      whether parsing should proceed
      + +
      +
      + +

      ◆ parse_error() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::parse_error (std::size_t position,
      const std::string & last_token,
      const detail::exceptionex 
      )
      +
      +pure virtual
      +
      + +

      a parse error occurred

      +
      Parameters
      + + + + +
      [in]positionthe position in the input where the error occurs
      [in]last_tokenthe last read token
      [in]exan exception object describing the error
      +
      +
      +
      Returns
      whether parsing should proceed (must return false)
      + +
      +
      + +

      ◆ parse_error() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::parse_error (std::size_t position,
      const std::string & last_token,
      const detail::exceptionex 
      )
      +
      +pure virtual
      +
      + +

      a parse error occurred

      +
      Parameters
      + + + + +
      [in]positionthe position in the input where the error occurs
      [in]last_tokenthe last read token
      [in]exan exception object describing the error
      +
      +
      +
      Returns
      whether parsing should proceed (must return false)
      + +
      +
      + +

      ◆ start_array() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::start_array (std::size_t elements)
      +
      +pure virtual
      +
      + +

      the beginning of an array was read

      +
      Parameters
      + + +
      [in]elementsnumber of array elements or -1 if unknown
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      binary formats may report the number of elements
      + +
      +
      + +

      ◆ start_array() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::start_array (std::size_t elements)
      +
      +pure virtual
      +
      + +

      the beginning of an array was read

      +
      Parameters
      + + +
      [in]elementsnumber of array elements or -1 if unknown
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      binary formats may report the number of elements
      + +
      +
      + +

      ◆ start_object() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::start_object (std::size_t elements)
      +
      +pure virtual
      +
      + +

      the beginning of an object was read

      +
      Parameters
      + + +
      [in]elementsnumber of object elements or -1 if unknown
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      binary formats may report the number of elements
      + +
      +
      + +

      ◆ start_object() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::start_object (std::size_t elements)
      +
      +pure virtual
      +
      + +

      the beginning of an object was read

      +
      Parameters
      + + +
      [in]elementsnumber of object elements or -1 if unknown
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      binary formats may report the number of elements
      + +
      +
      + +

      ◆ string() [1/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::string (string_tval)
      +
      +pure virtual
      +
      + +

      a string was read

      +
      Parameters
      + + +
      [in]valstring value
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      It is safe to move the passed string.
      + +
      +
      + +

      ◆ string() [2/2]

      + +
      +
      +
      +template<typename BasicJsonType >
      + + + + + +
      + + + + + + + + +
      virtual bool nlohmann::json_sax< BasicJsonType >::string (string_tval)
      +
      +pure virtual
      +
      + +

      a string was read

      +
      Parameters
      + + +
      [in]valstring value
      +
      +
      +
      Returns
      whether parsing should proceed
      +
      Note
      It is safe to move the passed string.
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structnlohmann_1_1ordered__map-members.html b/help/html/structnlohmann_1_1ordered__map-members.html new file mode 100644 index 0000000..ab7b9d4 --- /dev/null +++ b/help/html/structnlohmann_1_1ordered__map-members.html @@ -0,0 +1,101 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Member List
      +
      +
      + +

      This is the complete list of members for nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >, including all inherited members.

      + + + + + + + + + + + + + + + + + + + +
      at(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      at(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      Container typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
      count(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      emplace(const key_type &key, T &&t)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      erase(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      erase(iterator pos)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      find(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      find(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      insert(value_type &&value)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      insert(const value_type &value)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      key_type typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
      mapped_type typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
      operator[](const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      operator[](const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      ordered_map(const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      ordered_map(It first, It last, const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
      + + + + diff --git a/help/html/structnlohmann_1_1ordered__map.html b/help/html/structnlohmann_1_1ordered__map.html new file mode 100644 index 0000000..7edf28d --- /dev/null +++ b/help/html/structnlohmann_1_1ordered__map.html @@ -0,0 +1,647 @@ + + + + + + + +CocoaTweet: nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Struct Template Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Struct Template Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Types

      using key_type = Key
       
      using mapped_type = T
       
      using Container = std::vector< std::pair< const Key, T >, Allocator >
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Member Functions

       ordered_map (const Allocator &alloc=Allocator())
       
      template<class It >
       ordered_map (It first, It last, const Allocator &alloc=Allocator())
       
       ordered_map (std::initializer_list< T > init, const Allocator &alloc=Allocator())
       
      std::pair< iterator, bool > emplace (const key_type &key, T &&t)
       
      T & operator[] (const Key &key)
       
      const T & operator[] (const Key &key) const
       
      T & at (const Key &key)
       
      const T & at (const Key &key) const
       
      size_type erase (const Key &key)
       
      iterator erase (iterator pos)
       
      size_type count (const Key &key) const
       
      iterator find (const Key &key)
       
      const_iterator find (const Key &key) const
       
      std::pair< iterator, bool > insert (value_type &&value)
       
      std::pair< iterator, bool > insert (const value_type &value)
       
      +

      Detailed Description

      +

      template<class Key, class T, class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      +struct nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >

      + +

      ordered_map: a minimal map-like container that preserves insertion order for use within nlohmann::basic_json<ordered_map>

      +

      Member Typedef Documentation

      + +

      ◆ Container

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + +
      using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::Container = std::vector<std::pair<const Key, T>, Allocator>
      +
      + +
      +
      + +

      ◆ key_type

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + +
      using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::key_type = Key
      +
      + +
      +
      + +

      ◆ mapped_type

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + +
      using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::mapped_type = T
      +
      + +
      +
      +

      Constructor & Destructor Documentation

      + +

      ◆ ordered_map() [1/3]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (const Allocator & alloc = Allocator())
      +
      +inline
      +
      + +
      +
      + +

      ◆ ordered_map() [2/3]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      +
      +template<class It >
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (It first,
      It last,
      const Allocator & alloc = Allocator() 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ ordered_map() [3/3]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (std::initializer_list< T > init,
      const Allocator & alloc = Allocator() 
      )
      +
      +inline
      +
      + +
      +
      +

      Member Function Documentation

      + +

      ◆ at() [1/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at (const Key & key)
      +
      +inline
      +
      + +
      +
      + +

      ◆ at() [2/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at (const Key & key) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ count()

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::count (const Key & key) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ emplace()

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::emplace (const key_typekey,
      T && t 
      )
      +
      +inline
      +
      + +
      +
      + +

      ◆ erase() [1/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase (const Key & key)
      +
      +inline
      +
      + +
      +
      + +

      ◆ erase() [2/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase (iterator pos)
      +
      +inline
      +
      + +
      +
      + +

      ◆ find() [1/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find (const Key & key)
      +
      +inline
      +
      + +
      +
      + +

      ◆ find() [2/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      const_iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find (const Key & key) const
      +
      +inline
      +
      + +
      +
      + +

      ◆ insert() [1/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert (const value_type & value)
      +
      +inline
      +
      + +
      +
      + +

      ◆ insert() [2/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert (value_type && value)
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator[]() [1/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] (const Key & key)
      +
      +inline
      +
      + +
      +
      + +

      ◆ operator[]() [2/2]

      + +
      +
      +
      +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
      + + + + + +
      + + + + + + + + +
      const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] (const Key & key) const
      +
      +inline
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html b/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html new file mode 100644 index 0000000..9ef9893 --- /dev/null +++ b/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      std::hash< nlohmann::json > Member List
      +
      +
      + +

      This is the complete list of members for std::hash< nlohmann::json >, including all inherited members.

      + + + +
      operator()(const nlohmann::json &j) conststd::hash< nlohmann::json >inline
      operator()(const nlohmann::json &j) conststd::hash< nlohmann::json >inline
      + + + + diff --git a/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html b/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html new file mode 100644 index 0000000..ada4e98 --- /dev/null +++ b/help/html/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html @@ -0,0 +1,162 @@ + + + + + + + +CocoaTweet: std::hash< nlohmann::json > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      std::hash< nlohmann::json > Struct Reference
      +
      +
      + +

      hash value for JSON objects + More...

      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Member Functions

      std::size_t operator() (const nlohmann::json &j) const
       return a hash value for a JSON object More...
       
      std::size_t operator() (const nlohmann::json &j) const
       return a hash value for a JSON object More...
       
      +

      Detailed Description

      +

      hash value for JSON objects

      +

      Member Function Documentation

      + +

      ◆ operator()() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      std::size_t std::hash< nlohmann::json >::operator() (const nlohmann::jsonj) const
      +
      +inline
      +
      + +

      return a hash value for a JSON object

      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator()() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + +
      std::size_t std::hash< nlohmann::json >::operator() (const nlohmann::jsonj) const
      +
      +inline
      +
      + +

      return a hash value for a JSON object

      +
      Since
      version 1.0.0
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html b/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html new file mode 100644 index 0000000..43a2516 --- /dev/null +++ b/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html @@ -0,0 +1,85 @@ + + + + + + + +CocoaTweet: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      std::less<::nlohmann::detail::value_t > Member List
      +
      +
      + +

      This is the complete list of members for std::less<::nlohmann::detail::value_t >, including all inherited members.

      + + + +
      operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexceptstd::less<::nlohmann::detail::value_t >inline
      operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexceptstd::less<::nlohmann::detail::value_t >inline
      + + + + diff --git a/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html b/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html new file mode 100644 index 0000000..9b0ba35 --- /dev/null +++ b/help/html/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html @@ -0,0 +1,179 @@ + + + + + + + +CocoaTweet: std::less<::nlohmann::detail::value_t > Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      std::less<::nlohmann::detail::value_t > Struct Reference
      +
      +
      + +

      #include <json.hpp>

      + + + + + + + + +

      +Public Member Functions

      bool operator() (nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
       compare two value_t enum values More...
       
      bool operator() (nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
       compare two value_t enum values More...
       
      +

      Detailed Description

      +

      specialization for std::less<value_t>

      Note
      : do not remove the space after '<', see https://github.com/nlohmann/json/pull/679
      +

      Member Function Documentation

      + +

      ◆ operator()() [1/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool std::less<::nlohmann::detail::value_t >::operator() (nlohmann::detail::value_t lhs,
      nlohmann::detail::value_t rhs 
      ) const
      +
      +inlinenoexcept
      +
      + +

      compare two value_t enum values

      +
      Since
      version 3.0.0
      + +
      +
      + +

      ◆ operator()() [2/2]

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      bool std::less<::nlohmann::detail::value_t >::operator() (nlohmann::detail::value_t lhs,
      nlohmann::detail::value_t rhs 
      ) const
      +
      +inlinenoexcept
      +
      + +

      compare two value_t enum values

      +
      Since
      version 3.0.0
      + +
      +
      +
      The documentation for this struct was generated from the following file:
        +
      • build/_deps/json-src/include/nlohmann/json.hpp
      • +
      +
      + + + + diff --git a/help/html/sync_off.png b/help/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/help/html/sync_on.png b/help/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/help/html/tab_a.png b/help/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/help/html/tab_b.png b/help/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/help/html/tabs.css b/help/html/tabs.css new file mode 100644 index 0000000..7d45d36 --- /dev/null +++ b/help/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/help/html/test_2CMakeLists_8txt.html b/help/html/test_2CMakeLists_8txt.html new file mode 100644 index 0000000..dfccd8a --- /dev/null +++ b/help/html/test_2CMakeLists_8txt.html @@ -0,0 +1,76 @@ + + + + + + + +CocoaTweet: test/CMakeLists.txt File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + +
      +
      +
      +
      test/CMakeLists.txt File Reference
      +
      +
      +
      + + + + diff --git a/help/html/test_2api_2model_2tweet_8cc.html b/help/html/test_2api_2model_2tweet_8cc.html new file mode 100644 index 0000000..fdf9993 --- /dev/null +++ b/help/html/test_2api_2model_2tweet_8cc.html @@ -0,0 +1,273 @@ + + + + + + + +CocoaTweet: test/api/model/tweet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweet.cc File Reference
      +
      +
      +
      #include <boost/test/included/unit_test.hpp>
      +#include "nlohmann/json.hpp"
      +#include "cocoatweet/api/model/tweet.h"
      +#include "cocoatweet/exception/authenticateException.h"
      +#include "cocoatweet/exception/rateLimitException.h"
      +#include "cocoatweet/exception/tweetTooLongException.h"
      +#include "cocoatweet/exception/tweetDuplicateException.h"
      +
      +Include dependency graph for tweet.cc:
      +
      +
      + + + + + + + + + + + + + +
      +
      + + + +

      +Macros

      #define BOOST_TEST_DYN_LINK
       
      + + + + + + + + + + + + + + + +

      +Functions

       BOOST_AUTO_TEST_CASE (test01)
       
       BOOST_AUTO_TEST_CASE (test02)
       
       BOOST_AUTO_TEST_CASE (test03)
       
       BOOST_AUTO_TEST_CASE (test04)
       
       BOOST_AUTO_TEST_CASE (test05)
       
       BOOST_AUTO_TEST_CASE (test06)
       
       BOOST_AUTO_TEST_CASE (test07)
       
      +

      Macro Definition Documentation

      + +

      ◆ BOOST_TEST_DYN_LINK

      + +
      +
      + + + + +
      #define BOOST_TEST_DYN_LINK
      +
      + +
      +
      +

      Function Documentation

      + +

      ◆ BOOST_AUTO_TEST_CASE() [1/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test01 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [2/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test02 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [3/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test03 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [4/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test04 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [5/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test05 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [6/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test06 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [7/7]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test07 )
      +
      + +
      +
      +
      + + + + diff --git a/help/html/test_2api_2model_2tweet_8cc__incl.map b/help/html/test_2api_2model_2tweet_8cc__incl.map new file mode 100644 index 0000000..61ab468 --- /dev/null +++ b/help/html/test_2api_2model_2tweet_8cc__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/test_2api_2model_2tweet_8cc__incl.md5 b/help/html/test_2api_2model_2tweet_8cc__incl.md5 new file mode 100644 index 0000000..34192ad --- /dev/null +++ b/help/html/test_2api_2model_2tweet_8cc__incl.md5 @@ -0,0 +1 @@ +12d80b7482dc235a0966ace21dd4ae9c \ No newline at end of file diff --git a/help/html/test_2api_2model_2tweet_8cc__incl.png b/help/html/test_2api_2model_2tweet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a459e63defbe7e3e29d779c2e53be885d956e64e GIT binary patch literal 37849 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 oKh)WlbBjM+ehQ4~9s+Ir$2apep8~^|S literal 0 HcmV?d00001 diff --git a/help/html/test_2oauth_2key_8cc.html b/help/html/test_2oauth_2key_8cc.html new file mode 100644 index 0000000..ecaef77 --- /dev/null +++ b/help/html/test_2oauth_2key_8cc.html @@ -0,0 +1,161 @@ + + + + + + + +CocoaTweet: test/oauth/key.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      key.cc File Reference
      +
      +
      +
      #include <boost/test/included/unit_test.hpp>
      +#include "cocoatweet/oauth/key.h"
      +
      +Include dependency graph for key.cc:
      +
      +
      + + + + + + +
      +
      + + + +

      +Macros

      #define BOOST_TEST_DYN_LINK
       
      + + + + + +

      +Functions

       BOOST_AUTO_TEST_CASE (test01)
       
       BOOST_AUTO_TEST_CASE (test02)
       
      +

      Macro Definition Documentation

      + +

      ◆ BOOST_TEST_DYN_LINK

      + +
      +
      + + + + +
      #define BOOST_TEST_DYN_LINK
      +
      + +
      +
      +

      Function Documentation

      + +

      ◆ BOOST_AUTO_TEST_CASE() [1/2]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test01 )
      +
      + +
      +
      + +

      ◆ BOOST_AUTO_TEST_CASE() [2/2]

      + +
      +
      + + + + + + + + +
      BOOST_AUTO_TEST_CASE (test02 )
      +
      + +
      +
      +
      + + + + diff --git a/help/html/test_2oauth_2key_8cc__incl.map b/help/html/test_2oauth_2key_8cc__incl.map new file mode 100644 index 0000000..d7eaadf --- /dev/null +++ b/help/html/test_2oauth_2key_8cc__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/test_2oauth_2key_8cc__incl.md5 b/help/html/test_2oauth_2key_8cc__incl.md5 new file mode 100644 index 0000000..0a271b0 --- /dev/null +++ b/help/html/test_2oauth_2key_8cc__incl.md5 @@ -0,0 +1 @@ +791d216e5391f6b9cd9fe158c08fa333 \ No newline at end of file diff --git a/help/html/test_2oauth_2key_8cc__incl.png b/help/html/test_2oauth_2key_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..391e3c9dd2d9ed42bd2c3234049e71dc4adca5ac GIT binary patch literal 9589 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 C87pA` literal 0 HcmV?d00001 diff --git a/help/html/third_2nlohmann_2json_8hpp.html b/help/html/third_2nlohmann_2json_8hpp.html new file mode 100644 index 0000000..1dbf47e --- /dev/null +++ b/help/html/third_2nlohmann_2json_8hpp.html @@ -0,0 +1,18567 @@ + + + + + + + +CocoaTweet: third/nlohmann/json.hpp File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      json.hpp File Reference
      +
      +
      +
      #include <algorithm>
      +#include <cstddef>
      +#include <functional>
      +#include <initializer_list>
      +#include <iosfwd>
      +#include <iterator>
      +#include <memory>
      +#include <numeric>
      +#include <string>
      +#include <utility>
      +#include <vector>
      +#include <array>
      +#include <forward_list>
      +#include <map>
      +#include <tuple>
      +#include <type_traits>
      +#include <unordered_map>
      +#include <valarray>
      +#include <exception>
      +#include <stdexcept>
      +#include <cstdlib>
      +#include <cassert>
      +#include <limits>
      +#include <cstdint>
      +#include <cmath>
      +#include <cstdio>
      +#include <cstring>
      +#include <istream>
      +#include <clocale>
      +#include <cctype>
      +#include <ios>
      +#include <ostream>
      +
      +Include dependency graph for json.hpp:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Classes

      struct  nlohmann::detail::position_t
       struct to capture the start position of the current token More...
       
      class  nlohmann::detail::exception
       general exception of the basic_json class More...
       
      class  nlohmann::detail::parse_error
       exception indicating a parse error More...
       
      class  nlohmann::detail::invalid_iterator
       exception indicating errors with iterators More...
       
      class  nlohmann::detail::type_error
       exception indicating executing a member function with a wrong type More...
       
      class  nlohmann::detail::out_of_range
       exception indicating access out of the defined range More...
       
      class  nlohmann::detail::other_error
       exception indicating other library errors More...
       
      struct  nlohmann::detail::index_sequence< Ints >
       
      struct  nlohmann::detail::merge_and_renumber< Sequence1, Sequence2 >
       
      struct  nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
       
      struct  nlohmann::detail::make_index_sequence< N >
       
      struct  nlohmann::detail::make_index_sequence< 0 >
       
      struct  nlohmann::detail::make_index_sequence< 1 >
       
      struct  nlohmann::detail::priority_tag< N >
       
      struct  nlohmann::detail::priority_tag< 0 >
       
      struct  nlohmann::detail::static_const< T >
       
      struct  nlohmann::detail::make_void< Ts >
       
      struct  nlohmann::detail::iterator_types< It, typename >
       
      struct  nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
       
      struct  nlohmann::detail::iterator_traits< T, typename >
       
      struct  nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
       
      struct  nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
       
      struct  nlohmann::detail::nonesuch
       
      struct  nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
       
      struct  nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
       
      struct  nlohmann::adl_serializer< typename, typename >
       default JSONSerializer template argument More...
       
      class  nlohmann::basic_json
       a class to store JSON values More...
       
      class  nlohmann::json_pointer< BasicJsonType >
       JSON Pointer. More...
       
      struct  nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
       
      struct  nlohmann::detail::is_basic_json< typename >
       
      struct  nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
       
      class  nlohmann::detail::json_ref< BasicJsonType >
       
      struct  nlohmann::detail::is_json_ref< typename >
       
      struct  nlohmann::detail::is_json_ref< json_ref< T > >
       
      struct  nlohmann::detail::has_from_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::is_getable< BasicJsonType, T >
       
      struct  nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  nlohmann::detail::has_to_json< BasicJsonType, T, typename >
       
      struct  nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
       
      struct  nlohmann::detail::is_iterator_traits< T, typename >
       
      struct  nlohmann::detail::is_iterator_traits< iterator_traits< T > >
       
      struct  nlohmann::detail::is_complete_type< T, typename >
       
      struct  nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>
       
      struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
       
      struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
       
      struct  nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
       
      struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
       
      struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
       
      struct  nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
       
      struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >
       
      struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
       
      struct  nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >
       
      struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >
       
      struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
       
      struct  nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
       
      struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
       
      struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
       
      struct  nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
       
      struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
       
      struct  nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
       
      struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
       
      struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
       
      struct  nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
       
      struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
       
      struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
       
      struct  nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >
       
      struct  nlohmann::detail::conjunction<... >
       
      struct  nlohmann::detail::conjunction< B1 >
       
      struct  nlohmann::detail::conjunction< B1, Bn... >
       
      struct  nlohmann::detail::is_constructible_tuple< T1, T2 >
       
      struct  nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >
       
      struct  nlohmann::detail::from_json_fn
       
      class  nlohmann::detail::iteration_proxy_value< IteratorType >
       
      class  nlohmann::detail::iteration_proxy< IteratorType >
       proxy class for the items() function More...
       
      class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
       
      struct  nlohmann::detail::external_constructor< value_t >
       
      struct  nlohmann::detail::external_constructor< value_t::boolean >
       
      struct  nlohmann::detail::external_constructor< value_t::string >
       
      struct  nlohmann::detail::external_constructor< value_t::binary >
       
      struct  nlohmann::detail::external_constructor< value_t::number_float >
       
      struct  nlohmann::detail::external_constructor< value_t::number_unsigned >
       
      struct  nlohmann::detail::external_constructor< value_t::number_integer >
       
      struct  nlohmann::detail::external_constructor< value_t::array >
       
      struct  nlohmann::detail::external_constructor< value_t::object >
       
      struct  nlohmann::detail::to_json_fn
       
      struct  nlohmann::adl_serializer< typename, typename >
       default JSONSerializer template argument More...
       
      class  nlohmann::byte_container_with_subtype< BinaryType >
       an internal type for a backed binary type More...
       
      class  nlohmann::detail::file_input_adapter
       
      class  nlohmann::detail::input_stream_adapter
       
      class  nlohmann::detail::iterator_input_adapter< IteratorType >
       
      struct  nlohmann::detail::wide_string_input_helper< WideStringType, T >
       
      struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >
       
      struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >
       
      class  nlohmann::detail::wide_string_input_adapter< WideStringType >
       
      struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >
       
      struct  nlohmann::detail::is_iterator_of_multibyte< T >
       
      struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
       
      class  nlohmann::detail::span_input_adapter
       
      struct  nlohmann::json_sax< BasicJsonType >
       SAX interface. More...
       
      class  nlohmann::detail::json_sax_dom_parser< BasicJsonType >
       SAX implementation to create a JSON value from SAX events. More...
       
      class  nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
       
      class  nlohmann::detail::json_sax_acceptor< BasicJsonType >
       
      class  nlohmann::detail::lexer_base< BasicJsonType >
       
      class  nlohmann::detail::lexer< BasicJsonType >
       lexical analysis More...
       
      struct  nlohmann::detail::is_sax< SAX, BasicJsonType >
       
      struct  nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
       
      class  nlohmann::detail::binary_reader< BasicJsonType, SAX >
       deserialization of CBOR, MessagePack, and UBJSON values More...
       
      class  nlohmann::detail::parser< BasicJsonType >
       syntax analysis More...
       
      class  nlohmann::detail::primitive_iterator_t
       
      struct  nlohmann::detail::internal_iterator< BasicJsonType >
       an iterator value More...
       
      class  nlohmann::detail::iteration_proxy< IteratorType >
       proxy class for the items() function More...
       
      class  nlohmann::detail::iteration_proxy_value< IteratorType >
       
      class  nlohmann::detail::iter_impl< BasicJsonType >
       a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
       
      class  nlohmann::detail::json_reverse_iterator< Base >
       a template for a reverse iterator class More...
       
      class  nlohmann::json_pointer< BasicJsonType >
       JSON Pointer. More...
       
      class  nlohmann::detail::json_ref< BasicJsonType >
       
      struct  nlohmann::detail::output_adapter_protocol< CharType >
       abstract output adapter interface More...
       
      class  nlohmann::detail::output_vector_adapter< CharType >
       output adapter for byte vectors More...
       
      class  nlohmann::detail::output_stream_adapter< CharType >
       output adapter for output streams More...
       
      class  nlohmann::detail::output_string_adapter< CharType, StringType >
       output adapter for basic_string More...
       
      class  nlohmann::detail::output_adapter< CharType, StringType >
       
      class  nlohmann::detail::binary_writer< BasicJsonType, CharType >
       serialization to CBOR and MessagePack values More...
       
      struct  nlohmann::detail::dtoa_impl::diyfp
       
      struct  nlohmann::detail::dtoa_impl::boundaries
       
      struct  nlohmann::detail::dtoa_impl::cached_power
       
      class  nlohmann::detail::serializer< BasicJsonType >
       
      struct  nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
       
      class  nlohmann::basic_json
       a class to store JSON values More...
       
      struct  std::hash< nlohmann::json >
       hash value for JSON objects More...
       
      struct  std::less<::nlohmann::detail::value_t >
       
      + + + + + + + + + + + + +

      +Namespaces

       nlohmann
       namespace for Niels Lohmann
       
       nlohmann::detail
       detail namespace with internal helper functions
       
       std
       
       nlohmann::detail::dtoa_impl
       implements the Grisu2 algorithm for binary to decimal floating-point conversion.
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Macros

      #define NLOHMANN_JSON_VERSION_MAJOR   3
       
      #define NLOHMANN_JSON_VERSION_MINOR   9
       
      #define NLOHMANN_JSON_VERSION_PATCH   1
       
      #define JSON_HEDLEY_VERSION   13
       
      #define JSON_HEDLEY_STRINGIFY_EX(x)   #x
       
      #define JSON_HEDLEY_STRINGIFY(x)   JSON_HEDLEY_STRINGIFY_EX(x)
       
      #define JSON_HEDLEY_CONCAT_EX(a, b)   a##b
       
      #define JSON_HEDLEY_CONCAT(a, b)   JSON_HEDLEY_CONCAT_EX(a,b)
       
      #define JSON_HEDLEY_CONCAT3_EX(a, b, c)   a##b##c
       
      #define JSON_HEDLEY_CONCAT3(a, b, c)   JSON_HEDLEY_CONCAT3_EX(a,b,c)
       
      #define JSON_HEDLEY_VERSION_ENCODE(major, minor, revision)   (((major) * 1000000) + ((minor) * 1000) + (revision))
       
      #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version)   ((version) / 1000000)
       
      #define JSON_HEDLEY_VERSION_DECODE_MINOR(version)   (((version) % 1000000) / 1000)
       
      #define JSON_HEDLEY_VERSION_DECODE_REVISION(version)   ((version) % 1000)
       
      #define JSON_HEDLEY_GNUC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_MSVC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_INTEL_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_PGI_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_ARM_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_IBM_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_CRAY_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_IAR_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_TINYC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_DMC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_PELLES_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_GCC_VERSION_CHECK(major, minor, patch)   (0)
       
      #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns, attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_BUILTIN(builtin)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_FEATURE(feature)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_EXTENSION(extension)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_HAS_WARNING(warning)   (0)
       
      #define JSON_HEDLEY_GNUC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_GCC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)   x
       
      #define JSON_HEDLEY_CONST_CAST(T, expr)   ((T) (expr))
       
      #define JSON_HEDLEY_REINTERPRET_CAST(T, expr)   ((T) (expr))
       
      #define JSON_HEDLEY_STATIC_CAST(T, expr)   ((T) (expr))
       
      #define JSON_HEDLEY_CPP_CAST(T, expr)   (expr)
       
      #define JSON_HEDLEY_PRAGMA(value)
       
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
       
      #define JSON_HEDLEY_DIAGNOSTIC_POP
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
       
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
       
      #define JSON_HEDLEY_DEPRECATED(since)
       
      #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
       
      #define JSON_HEDLEY_UNAVAILABLE(available_since)
       
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
       
      #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
       
      #define JSON_HEDLEY_SENTINEL(position)
       
      #define JSON_HEDLEY_NO_RETURN
       
      #define JSON_HEDLEY_NO_ESCAPE
       
      #define JSON_HEDLEY_ASSUME(expr)   JSON_HEDLEY_STATIC_CAST(void, expr)
       
      #define JSON_HEDLEY_UNREACHABLE_RETURN(value)   return (value)
       
      #define JSON_HEDLEY_UNREACHABLE()   JSON_HEDLEY_ASSUME(0)
       
      #define JSON_HEDLEY_NON_NULL(...)
       
      #define JSON_HEDLEY_PRINTF_FORMAT(string_idx, first_to_check)
       
      #define JSON_HEDLEY_CONSTEXPR
       
      #define JSON_HEDLEY_PREDICT(expr, expected, probability)   (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
       
      #define JSON_HEDLEY_PREDICT_TRUE(expr, probability)   (!!(expr))
       
      #define JSON_HEDLEY_PREDICT_FALSE(expr, probability)   (!!(expr))
       
      #define JSON_HEDLEY_LIKELY(expr)   (!!(expr))
       
      #define JSON_HEDLEY_UNLIKELY(expr)   (!!(expr))
       
      #define JSON_HEDLEY_UNPREDICTABLE(expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
       
      #define JSON_HEDLEY_MALLOC
       
      #define JSON_HEDLEY_PURE
       
      #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
       
      #define JSON_HEDLEY_RESTRICT
       
      #define JSON_HEDLEY_INLINE
       
      #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
       
      #define JSON_HEDLEY_NEVER_INLINE
       
      #define JSON_HEDLEY_PRIVATE
       
      #define JSON_HEDLEY_PUBLIC
       
      #define JSON_HEDLEY_IMPORT   extern
       
      #define JSON_HEDLEY_NO_THROW
       
      #define JSON_HEDLEY_FALL_THROUGH
       
      #define JSON_HEDLEY_RETURNS_NON_NULL
       
      #define JSON_HEDLEY_ARRAY_PARAM(name)
       
      #define JSON_HEDLEY_IS_CONSTANT(expr)   (0)
       
      #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)   (expr)
       
      #define JSON_HEDLEY_BEGIN_C_DECLS
       
      #define JSON_HEDLEY_END_C_DECLS
       
      #define JSON_HEDLEY_C_DECL
       
      #define JSON_HEDLEY_STATIC_ASSERT(expr, message)
       
      #define JSON_HEDLEY_NULL   ((void*) 0)
       
      #define JSON_HEDLEY_MESSAGE(msg)
       
      #define JSON_HEDLEY_WARNING(msg)   JSON_HEDLEY_MESSAGE(msg)
       
      #define JSON_HEDLEY_REQUIRE(expr)
       
      #define JSON_HEDLEY_REQUIRE_MSG(expr, msg)
       
      #define JSON_HEDLEY_FLAGS_CAST(T, expr)   JSON_HEDLEY_STATIC_CAST(T, expr)
       
      #define JSON_HEDLEY_EMPTY_BASES
       
      #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
       
      #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
       
      #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature)   JSON_HEDLEY_HAS_FEATURE(feature)
       
      #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
       
      #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
       
      #define JSON_HEDLEY_CLANG_HAS_WARNING(warning)   JSON_HEDLEY_HAS_WARNING(warning)
       
      #define JSON_THROW(exception)   std::abort()
       
      #define JSON_TRY   if(true)
       
      #define JSON_CATCH(exception)   if(false)
       
      #define JSON_INTERNAL_CATCH(exception)   if(false)
       
      #define JSON_ASSERT(x)   assert(x)
       
      #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
       macro to briefly define a mapping between an enum and JSON More...
       
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
       
      #define NLOHMANN_BASIC_JSON_TPL
       
      #define NLOHMANN_JSON_EXPAND(x)   x
       
      #define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME, ...)   NAME
       
      #define NLOHMANN_JSON_PASTE(...)
       
      #define NLOHMANN_JSON_PASTE2(func, v1)   func(v1)
       
      #define NLOHMANN_JSON_PASTE3(func, v1, v2)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
       
      #define NLOHMANN_JSON_PASTE4(func, v1, v2, v3)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
       
      #define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
       
      #define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
       
      #define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
       
      #define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
       
      #define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
       
      #define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
       
      #define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
       
      #define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
       
      #define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
       
      #define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
       
      #define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
       
      #define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
       
      #define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
       
      #define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
       
      #define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
       
      #define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
       
      #define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
       
      #define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
       
      #define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
       
      #define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
       
      #define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
       
      #define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
       
      #define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
       
      #define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
       
      #define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
       
      #define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
       
      #define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
       
      #define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
       
      #define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
       
      #define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
       
      #define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
       
      #define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
       
      #define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
       
      #define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
       
      #define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
       
      #define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
       
      #define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
       
      #define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
       
      #define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
       
      #define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
       
      #define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
       
      #define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
       
      #define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
       
      #define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
       
      #define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
       
      #define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
       
      #define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
       
      #define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
       
      #define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
       
      #define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
       
      #define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
       
      #define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
       
      #define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
       
      #define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
       
      #define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
       
      #define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
       
      #define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
       
      #define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
       
      #define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
       
      #define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
       
      #define NLOHMANN_JSON_TO(v1)   nlohmann_json_j[#v1] = nlohmann_json_t.v1;
       
      #define NLOHMANN_JSON_FROM(v1)   nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
       
      #define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...)
       macro More...
       
      #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...)
       macro More...
       
      #define JSON_USE_IMPLICIT_CONVERSIONS   1
       
      #define JSON_EXPLICIT
       
      #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
       
      + + + + + + + + + + + + +

      +Typedefs

      using nlohmann::ordered_json = basic_json< nlohmann::ordered_map >
       ordered JSON class More...
       
      using nlohmann::detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
       
      template<typename T , typename Binary >
      using nlohmann::detail::binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
       
      template<typename BasicJsonType >
      using nlohmann::detail::parser_callback_t = std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)>
       
      + + + + + + + + + + + + + + + +

      +Enumerations

      enum  nlohmann::detail::value_t : std::uint8_t {
      +  nlohmann::detail::value_t::null, +nlohmann::detail::value_t::object, +nlohmann::detail::value_t::array, +nlohmann::detail::value_t::string, +
      +  nlohmann::detail::value_t::boolean, +nlohmann::detail::value_t::number_integer, +nlohmann::detail::value_t::number_unsigned, +nlohmann::detail::value_t::number_float, +
      +  nlohmann::detail::value_t::discarded, +nlohmann::detail::value_t::null, +nlohmann::detail::value_t::object, +nlohmann::detail::value_t::array, +
      +  nlohmann::detail::value_t::string, +nlohmann::detail::value_t::boolean, +nlohmann::detail::value_t::number_integer, +nlohmann::detail::value_t::number_unsigned, +
      +  nlohmann::detail::value_t::number_float, +nlohmann::detail::value_t::binary, +nlohmann::detail::value_t::discarded +
      + }
       the JSON type enumeration More...
       
      enum  nlohmann::detail::input_format_t {
      +  nlohmann::detail::input_format_t::json, +nlohmann::detail::input_format_t::cbor, +nlohmann::detail::input_format_t::msgpack, +nlohmann::detail::input_format_t::ubjson, +
      +  nlohmann::detail::input_format_t::bson, +nlohmann::detail::input_format_t::json, +nlohmann::detail::input_format_t::cbor, +nlohmann::detail::input_format_t::msgpack, +
      +  nlohmann::detail::input_format_t::ubjson, +nlohmann::detail::input_format_t::bson +
      + }
       the supported input formats More...
       
      enum  nlohmann::detail::cbor_tag_handler_t { nlohmann::detail::cbor_tag_handler_t::error, +nlohmann::detail::cbor_tag_handler_t::ignore + }
       how to treat CBOR tags More...
       
      enum  nlohmann::detail::parse_event_t : uint8_t {
      +  nlohmann::detail::parse_event_t::object_start, +nlohmann::detail::parse_event_t::object_end, +nlohmann::detail::parse_event_t::array_start, +nlohmann::detail::parse_event_t::array_end, +
      +  nlohmann::detail::parse_event_t::key, +nlohmann::detail::parse_event_t::value +
      + }
       
      enum  nlohmann::detail::error_handler_t {
      +  nlohmann::detail::error_handler_t::strict, +nlohmann::detail::error_handler_t::replace, +nlohmann::detail::error_handler_t::ignore, +nlohmann::detail::error_handler_t::strict, +
      +  nlohmann::detail::error_handler_t::replace, +nlohmann::detail::error_handler_t::ignore +
      + }
       how to treat decoding errors More...
       
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Functions

      bool nlohmann::detail::operator< (const value_t lhs, const value_t rhs) noexcept
       comparison operator for JSON types More...
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename std::nullptr_t &n)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
       
      template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value and not std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleStringType &s)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, EnumType &e)
       
      template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto nlohmann::detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
       
      template<typename BasicJsonType , typename T , std::size_t N>
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
       
      template<typename BasicJsonType , typename ConstructibleArrayType >
      void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
       
      template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value and not is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value and not is_basic_json< ConstructibleArrayType >::value, int > = 0>
      auto nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
       
      j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
       
      j template nlohmann::detail::void ())
       
      template<typename BasicJsonType >
      void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
       
      template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
       
      template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::from_json (const BasicJsonType &j, ArithmeticType &val)
       
      template<typename BasicJsonType , typename A1 , typename A2 >
      void nlohmann::detail::from_json (const BasicJsonType &j, std::pair< A1, A2 > &p)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void nlohmann::detail::from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
       
      template<typename BasicJsonType , typename... Args>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::tuple< Args... > &t)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
       
      template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t<not std::is_constructible< typename BasicJsonType::string_t, Key>::value>>
      void nlohmann::detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
       
      template<typename string_type >
      void nlohmann::detail::int_to_string (string_type &target, std::size_t value)
       
      template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
      auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, T b) noexcept
       
      template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleString &s)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
       
      template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, FloatType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
       
      template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
       
      template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, EnumType e) noexcept
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, const std::vector< bool > &e)
       
      template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value and not is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value and not is_basic_json< CompatibleArrayType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
       
      template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value and not is_basic_json< CompatibleObjectType >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
       
      template<typename BasicJsonType >
      void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
       
      template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const T(&arr)[N])
       
      template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
       
      template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
      void nlohmann::detail::to_json (BasicJsonType &j, const T &b)
       
      template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
      void nlohmann::detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
       
      std::size_t nlohmann::detail::combine (std::size_t seed, std::size_t h) noexcept
       
      template<typename BasicJsonType >
      std::size_t nlohmann::detail::hash (const BasicJsonType &j)
       hash a JSON value More...
       
      template<typename IteratorType >
      iterator_input_adapter_factory< IteratorType >::adapter_type nlohmann::detail::input_adapter (IteratorType first, IteratorType last)
       
      template<typename ContainerType >
      auto nlohmann::detail::input_adapter (const ContainerType &container) -> decltype(input_adapter(begin(container), end(container)))
       
      file_input_adapter nlohmann::detail::input_adapter (std::FILE *file)
       
      input_stream_adapter nlohmann::detail::input_adapter (std::istream &stream)
       
      input_stream_adapter nlohmann::detail::input_adapter (std::istream &&stream)
       
      template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
      contiguous_bytes_input_adapter nlohmann::detail::input_adapter (CharT b)
       
      template<typename T , std::size_t N>
      auto nlohmann::detail::input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
       
      template<typename Target , typename Source >
      Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
       
      template<typename FloatType >
      boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
       
      cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
       
      int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
       
      void nlohmann::detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
       
      void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
       
      void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
       
      template<typename FloatType >
      void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
       
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::append_exponent (char *buf, int e)
       appends a decimal representation of e to buf More...
       
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
       prettify v = buf * 10^decimal_exponent More...
       
      template<typename FloatType >
      JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars (char *first, const char *last, FloatType value)
       generates a decimal representation of the floating-point number value in [first, last). More...
       
      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPL &j)
       user-defined to_string function for JSON values More...
       
      template<>
      void std::swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value and is_nothrow_move_assignable< nlohmann::json >::value)
       exchanges the values of two JSON objects More...
       
      nlohmann::json operator""_json (const char *s, std::size_t n)
       user-defined string literal for JSON values More...
       
      nlohmann::json::json_pointer operator""_json_pointer (const char *s, std::size_t n)
       user-defined string literal for JSON pointer More...
       
      +

      Macro Definition Documentation

      + +

      ◆ INCLUDE_NLOHMANN_JSON_FWD_HPP_

      + +
      +
      + + + + +
      #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      + +
      +
      + +

      ◆ JSON_ASSERT

      + +
      +
      + + + + + + + + +
      #define JSON_ASSERT( x)   assert(x)
      +
      + +
      +
      + +

      ◆ JSON_CATCH

      + +
      +
      + + + + + + + + +
      #define JSON_CATCH( exception)   if(false)
      +
      + +
      +
      + +

      ◆ JSON_EXPLICIT

      + +
      +
      + + + + +
      #define JSON_EXPLICIT
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ALWAYS_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ARM_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_ARM_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ARRAY_PARAM

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_ARRAY_PARAM( name)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_ASSUME

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_ASSUME( expr)   JSON_HEDLEY_STATIC_CAST(void, expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_BEGIN_C_DECLS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_BEGIN_C_DECLS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_C_DECL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_C_DECL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_BUILTIN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_BUILTIN( builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_EXTENSION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_EXTENSION( extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_FEATURE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_FEATURE( feature)   JSON_HEDLEY_HAS_FEATURE(feature)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CLANG_HAS_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_CLANG_HAS_WARNING( warning)   JSON_HEDLEY_HAS_WARNING(warning)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_COMPCERT_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_COMPCERT_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT( a,
       
      )   JSON_HEDLEY_CONCAT_EX(a,b)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT3

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT3( a,
       b,
       
      )   JSON_HEDLEY_CONCAT3_EX(a,b,c)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT3_EX

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT3_EX( a,
       b,
       
      )   a##b##c
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONCAT_EX

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONCAT_EX( a,
       
      )   a##b
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONST

      + +
      +
      + + + + +
      #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONST_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CONST_CAST( T,
       expr 
      )   ((T) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CONSTEXPR

      + +
      +
      + + + + +
      #define JSON_HEDLEY_CONSTEXPR
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CPP_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CPP_CAST( T,
       expr 
      )   (expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_CRAY_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_CRAY_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DEPRECATED

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_DEPRECATED( since)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DEPRECATED_FOR

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_DEPRECATED_FOR( since,
       replacement 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_( x)   x
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_POP

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_POP
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DIAGNOSTIC_PUSH

      + +
      +
      + + + + +
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_DMC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_DMC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_EMPTY_BASES

      + +
      +
      + + + + +
      #define JSON_HEDLEY_EMPTY_BASES
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_END_C_DECLS

      + +
      +
      + + + + +
      #define JSON_HEDLEY_END_C_DECLS
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_FALL_THROUGH

      + +
      +
      + + + + +
      #define JSON_HEDLEY_FALL_THROUGH
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_FLAGS_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_FLAGS_CAST( T,
       expr 
      )   JSON_HEDLEY_STATIC_CAST(T, expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_BUILTIN

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_BUILTIN( builtin,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_EXTENSION

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_EXTENSION( extension,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_FEATURE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_FEATURE( feature,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_HAS_WARNING

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_HAS_WARNING( warning,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK( major,
       minor,
       patch 
      )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GCC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GCC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_BUILTIN

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_BUILTIN( builtin,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE( attribute,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_EXTENSION

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_EXTENSION( extension,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_FEATURE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_FEATURE( feature,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_HAS_WARNING

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_HAS_WARNING( warning,
       major,
       minor,
       patch 
      )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_GNUC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_GNUC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_BUILTIN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_BUILTIN( builtin)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS( ns,
       attribute 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE( attribute)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_EXTENSION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_EXTENSION( extension)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_FEATURE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_FEATURE( feature)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_HAS_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_HAS_WARNING( warning)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IAR_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_IAR_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IBM_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_IBM_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IMPORT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_IMPORT   extern
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_INTEL_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_INTEL_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_IS_CONSTANT

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_IS_CONSTANT( expr)   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_LIKELY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_LIKELY( expr)   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MALLOC

      + +
      +
      + + + + +
      #define JSON_HEDLEY_MALLOC
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MESSAGE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_MESSAGE( msg)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_MSVC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_MSVC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NEVER_INLINE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NEVER_INLINE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_ESCAPE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_ESCAPE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_RETURN

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_RETURN
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NO_THROW

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NO_THROW
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NON_NULL

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_NON_NULL( ...)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_NULL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_NULL   ((void*) 0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PELLES_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PELLES_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PGI_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PGI_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRAGMA

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_PRAGMA( value)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT( expr,
       expected,
       probability 
      )   (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT_FALSE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT_FALSE( expr,
       probability 
      )   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PREDICT_TRUE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PREDICT_TRUE( expr,
       probability 
      )   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRINTF_FORMAT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_PRINTF_FORMAT( string_idx,
       first_to_check 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PRIVATE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PRIVATE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PUBLIC

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PUBLIC
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_PURE

      + +
      +
      + + + + +
      #define JSON_HEDLEY_PURE
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REINTERPRET_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_REINTERPRET_CAST( T,
       expr 
      )   ((T) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE( expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE_CONSTEXPR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE_CONSTEXPR( expr)   (expr)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_REQUIRE_MSG

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_REQUIRE_MSG( expr,
       msg 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_RESTRICT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_RESTRICT
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_RETURNS_NON_NULL

      + +
      +
      + + + + +
      #define JSON_HEDLEY_RETURNS_NON_NULL
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_SENTINEL

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_SENTINEL( position)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STATIC_ASSERT

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_STATIC_ASSERT( expr,
       message 
      )
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STATIC_CAST

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_STATIC_CAST( T,
       expr 
      )   ((T) (expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STRINGIFY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_STRINGIFY( x)   JSON_HEDLEY_STRINGIFY_EX(x)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_STRINGIFY_EX

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_STRINGIFY_EX( x)   #x
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_SUNPRO_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_SUNPRO_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_ARMCL_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_CL2000_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_CL430_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_CL430_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_CL6X_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_CL7X_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_CLPRU_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TI_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TI_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_TINYC_VERSION_CHECK

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_TINYC_VERSION_CHECK( major,
       minor,
       patch 
      )   (0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNAVAILABLE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNAVAILABLE( available_since)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNLIKELY

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNLIKELY( expr)   (!!(expr))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNPREDICTABLE

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNPREDICTABLE( expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNREACHABLE

      + +
      +
      + + + + + + + +
      #define JSON_HEDLEY_UNREACHABLE()   JSON_HEDLEY_ASSUME(0)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_UNREACHABLE_RETURN

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_UNREACHABLE_RETURN( value)   return (value)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION

      + +
      +
      + + + + +
      #define JSON_HEDLEY_VERSION   13
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_MAJOR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_MAJOR( version)   ((version) / 1000000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_MINOR

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_MINOR( version)   (((version) % 1000000) / 1000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_DECODE_REVISION

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_VERSION_DECODE_REVISION( version)   ((version) % 1000)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_VERSION_ENCODE

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define JSON_HEDLEY_VERSION_ENCODE( major,
       minor,
       revision 
      )   (((major) * 1000000) + ((minor) * 1000) + (revision))
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_WARN_UNUSED_RESULT

      + +
      +
      + + + + +
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_WARN_UNUSED_RESULT_MSG

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG( msg)
      +
      + +
      +
      + +

      ◆ JSON_HEDLEY_WARNING

      + +
      +
      + + + + + + + + +
      #define JSON_HEDLEY_WARNING( msg)   JSON_HEDLEY_MESSAGE(msg)
      +
      + +
      +
      + +

      ◆ JSON_INTERNAL_CATCH

      + +
      +
      + + + + + + + + +
      #define JSON_INTERNAL_CATCH( exception)   if(false)
      +
      + +
      +
      + +

      ◆ JSON_THROW

      + +
      +
      + + + + + + + + +
      #define JSON_THROW( exception)   std::abort()
      +
      + +
      +
      + +

      ◆ JSON_TRY

      + +
      +
      + + + + +
      #define JSON_TRY   if(true)
      +
      + +
      +
      + +

      ◆ JSON_USE_IMPLICIT_CONVERSIONS

      + +
      +
      + + + + +
      #define JSON_USE_IMPLICIT_CONVERSIONS   1
      +
      + +
      +
      + +

      ◆ NLOHMANN_BASIC_JSON_TPL

      + +
      +
      + + + + +
      #define NLOHMANN_BASIC_JSON_TPL
      +
      +Value:
      basic_json<ObjectType, ArrayType, StringType, BooleanType, \
      +
      NumberIntegerType, NumberUnsignedType, NumberFloatType, \
      +
      AllocatorType, JSONSerializer, BinaryType>
      +
      +
      +
      + +

      ◆ NLOHMANN_BASIC_JSON_TPL_DECLARATION

      + +
      +
      + + + + +
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
      +
      +Value:
      template<template<typename, typename, typename...> class ObjectType, \
      +
      template<typename, typename...> class ArrayType, \
      +
      class StringType, class BooleanType, class NumberIntegerType, \
      +
      class NumberUnsignedType, class NumberFloatType, \
      +
      template<typename> class AllocatorType, \
      +
      template<typename, typename = void> class JSONSerializer, \
      +
      class BinaryType>
      +
      +
      +
      + +

      ◆ NLOHMANN_DEFINE_TYPE_INTRUSIVE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_DEFINE_TYPE_INTRUSIVE( Type,
       ... 
      )
      +
      +Value:
      friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
      +
      friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
      +
      +

      macro

      +
      Since
      version 3.9.0
      + +
      +
      + +

      ◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE( Type,
       ... 
      )
      +
      +Value:
      inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
      +
      inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
      +
      +

      macro

      +
      Since
      version 3.9.0
      + +
      +
      + +

      ◆ NLOHMANN_JSON_EXPAND

      + +
      +
      + + + + + + + + +
      #define NLOHMANN_JSON_EXPAND( x)   x
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_FROM

      + +
      +
      + + + + + + + + +
      #define NLOHMANN_JSON_FROM( v1)   nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_GET_MACRO

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_GET_MACRO( _1,
       _2,
       _3,
       _4,
       _5,
       _6,
       _7,
       _8,
       _9,
       _10,
       _11,
       _12,
       _13,
       _14,
       _15,
       _16,
       _17,
       _18,
       _19,
       _20,
       _21,
       _22,
       _23,
       _24,
       _25,
       _26,
       _27,
       _28,
       _29,
       _30,
       _31,
       _32,
       _33,
       _34,
       _35,
       _36,
       _37,
       _38,
       _39,
       _40,
       _41,
       _42,
       _43,
       _44,
       _45,
       _46,
       _47,
       _48,
       _49,
       _50,
       _51,
       _52,
       _53,
       _54,
       _55,
       _56,
       _57,
       _58,
       _59,
       _60,
       _61,
       _62,
       _63,
       _64,
       NAME,
       ... 
      )   NAME
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE

      + +
      +
      + + + + + + + + +
      #define NLOHMANN_JSON_PASTE( ...)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE10

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE10( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE11

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE11( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE12

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE12( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE13

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE13( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE14

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE14( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE15

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE15( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE16

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE16( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE17

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE17( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE18

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE18( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE19

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE19( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE2

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE2( func,
       v1 
      )   func(v1)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE20

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE20( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE21

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE21( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE22

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE22( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE23

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE23( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE24

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE24( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE25

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE25( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE26

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE26( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE27

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE27( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE28

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE28( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE29

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE29( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE3

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE3( func,
       v1,
       v2 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE30

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE30( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE31

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE31( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE32

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE32( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE33

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE33( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE34

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE34( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE35

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE35( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE36

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE36( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE37

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE37( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE38

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE38( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE39

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE39( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE4

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE4( func,
       v1,
       v2,
       v3 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE40

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE40( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE41

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE41( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE42

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE42( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE43

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE43( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE44

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE44( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE45

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE45( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE46

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE46( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE47

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE47( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE48

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE48( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE49

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE49( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE5

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE5( func,
       v1,
       v2,
       v3,
       v4 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE50

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE50( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE51

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE51( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE52

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE52( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE53

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE53( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE54

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE54( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE55

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE55( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE56

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE56( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE57

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE57( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE58

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE58( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE59

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE59( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE6

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE6( func,
       v1,
       v2,
       v3,
       v4,
       v5 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE60

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE60( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58,
       v59 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE61

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE61( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58,
       v59,
       v60 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE62

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE62( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58,
       v59,
       v60,
       v61 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE63

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE63( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58,
       v59,
       v60,
       v61,
       v62 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE64

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE64( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8,
       v9,
       v10,
       v11,
       v12,
       v13,
       v14,
       v15,
       v16,
       v17,
       v18,
       v19,
       v20,
       v21,
       v22,
       v23,
       v24,
       v25,
       v26,
       v27,
       v28,
       v29,
       v30,
       v31,
       v32,
       v33,
       v34,
       v35,
       v36,
       v37,
       v38,
       v39,
       v40,
       v41,
       v42,
       v43,
       v44,
       v45,
       v46,
       v47,
       v48,
       v49,
       v50,
       v51,
       v52,
       v53,
       v54,
       v55,
       v56,
       v57,
       v58,
       v59,
       v60,
       v61,
       v62,
       v63 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE7

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE7( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE8

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE8( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_PASTE9

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_PASTE9( func,
       v1,
       v2,
       v3,
       v4,
       v5,
       v6,
       v7,
       v8 
      )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_SERIALIZE_ENUM

      + +
      +
      + + + + + + + + + + + + + + + + + + +
      #define NLOHMANN_JSON_SERIALIZE_ENUM( ENUM_TYPE,
       ... 
      )
      +
      +Value:
      template<typename BasicJsonType> \
      +
      inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
      +
      { \
      +
      static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      auto it = std::find_if(std::begin(m), std::end(m), \
      +
      [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      { \
      +
      return ej_pair.first == e; \
      +
      }); \
      +
      j = ((it != std::end(m)) ? it : std::begin(m))->second; \
      +
      } \
      +
      template<typename BasicJsonType> \
      +
      inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
      +
      { \
      +
      static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      auto it = std::find_if(std::begin(m), std::end(m), \
      +
      [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      { \
      +
      return ej_pair.second == j; \
      +
      }); \
      +
      e = ((it != std::end(m)) ? it : std::begin(m))->first; \
      +
      }
      +
      +

      macro to briefly define a mapping between an enum and JSON

      +
      Since
      version 3.4.0
      + +
      +
      + +

      ◆ NLOHMANN_JSON_TO

      + +
      +
      + + + + + + + + +
      #define NLOHMANN_JSON_TO( v1)   nlohmann_json_j[#v1] = nlohmann_json_t.v1;
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_MAJOR

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_MAJOR   3
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_MINOR

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_MINOR   9
      +
      + +
      +
      + +

      ◆ NLOHMANN_JSON_VERSION_PATCH

      + +
      +
      + + + + +
      #define NLOHMANN_JSON_VERSION_PATCH   1
      +
      + +
      +
      +

      Function Documentation

      + +

      ◆ operator""_json()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::json operator""_json (const char * s,
      std::size_t n 
      )
      +
      +inline
      +
      + +

      user-defined string literal for JSON values

      +

      This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

      +
      Parameters
      + + + +
      [in]sa string representation of a JSON object
      [in]nthe length of string s
      +
      +
      +
      Returns
      a JSON object
      +
      Since
      version 1.0.0
      + +
      +
      + +

      ◆ operator""_json_pointer()

      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + +
      nlohmann::json::json_pointer operator""_json_pointer (const char * s,
      std::size_t n 
      )
      +
      +inline
      +
      + +

      user-defined string literal for JSON pointer

      +

      This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

      +
      Parameters
      + + + +
      [in]sa string representation of a JSON Pointer
      [in]nthe length of string s
      +
      +
      +
      Returns
      a JSON pointer object
      +
      Since
      version 2.0.0
      + +
      +
      +
      +
      void from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
      Definition: json.hpp:3652
      +
      #define NLOHMANN_JSON_TO(v1)
      Definition: json.hpp:2284
      +
      #define NLOHMANN_JSON_FROM(v1)
      Definition: json.hpp:2285
      +
      void to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
      Definition: json.hpp:4280
      +
      a class to store JSON values
      Definition: json.hpp:2421
      +
      #define NLOHMANN_JSON_PASTE(...)
      Definition: json.hpp:2155
      +
      #define NLOHMANN_JSON_EXPAND(x)
      Definition: json.hpp:2153
      + + + + diff --git a/help/html/third_2nlohmann_2json_8hpp__dep__incl.map b/help/html/third_2nlohmann_2json_8hpp__dep__incl.map new file mode 100644 index 0000000..c03684b --- /dev/null +++ b/help/html/third_2nlohmann_2json_8hpp__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/third_2nlohmann_2json_8hpp__dep__incl.md5 b/help/html/third_2nlohmann_2json_8hpp__dep__incl.md5 new file mode 100644 index 0000000..34590e5 --- /dev/null +++ b/help/html/third_2nlohmann_2json_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +817d009baa26e6ce41036dc8756506a2 \ No newline at end of file diff --git a/help/html/third_2nlohmann_2json_8hpp__dep__incl.png b/help/html/third_2nlohmann_2json_8hpp__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..fae1d58e897105e64fe26c0a9205222d13244f2e GIT binary patch literal 7914 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/third_2nlohmann_2json_8hpp__incl.md5 b/help/html/third_2nlohmann_2json_8hpp__incl.md5 new file mode 100644 index 0000000..bdc3cec --- /dev/null +++ b/help/html/third_2nlohmann_2json_8hpp__incl.md5 @@ -0,0 +1 @@ +79ca85fc8f4a67f660c25da73120fb31 \ No newline at end of file diff --git a/help/html/third_2nlohmann_2json_8hpp__incl.png b/help/html/third_2nlohmann_2json_8hpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff0fa4f0a9876e5ace9ec1b0b26b39dfbfdff77 GIT binary patch literal 76013 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ΝTmB2x4!HeHfKJc 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 literal 0 HcmV?d00001 diff --git a/help/html/third_2nlohmann_2json_8hpp_source.html b/help/html/third_2nlohmann_2json_8hpp_source.html new file mode 100644 index 0000000..ef5fa52 --- /dev/null +++ b/help/html/third_2nlohmann_2json_8hpp_source.html @@ -0,0 +1,19297 @@ + + + + + + + +CocoaTweet: third/nlohmann/json.hpp Source File + + + + + + + + + + +
      +
      +
      json.hpp
      +
      +
      +Go to the documentation of this file.
      1 /*
      +
      2  __ _____ _____ _____
      +
      3  __| | __| | | | JSON for Modern C++
      +
      4 | | |__ | | | | | | version 3.9.1
      +
      5 |_____|_____|_____|_|___| https://github.com/nlohmann/json
      +
      6 
      +
      7 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
      +
      8 SPDX-License-Identifier: MIT
      +
      9 Copyright (c) 2013-2019 Niels Lohmann <http://nlohmann.me>.
      +
      10 
      +
      11 Permission is hereby granted, free of charge, to any person obtaining a copy
      +
      12 of this software and associated documentation files (the "Software"), to deal
      +
      13 in the Software without restriction, including without limitation the rights
      +
      14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      +
      15 copies of the Software, and to permit persons to whom the Software is
      +
      16 furnished to do so, subject to the following conditions:
      +
      17 
      +
      18 The above copyright notice and this permission notice shall be included in all
      +
      19 copies or substantial portions of the Software.
      +
      20 
      +
      21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      +
      22 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      +
      23 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      +
      24 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      +
      25 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      +
      26 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      +
      27 SOFTWARE.
      +
      28 */
      +
      29 
      +
      30 #ifndef INCLUDE_NLOHMANN_JSON_HPP_
      +
      31 #define INCLUDE_NLOHMANN_JSON_HPP_
      +
      32 
      +
      33 #define NLOHMANN_JSON_VERSION_MAJOR 3
      +
      34 #define NLOHMANN_JSON_VERSION_MINOR 9
      +
      35 #define NLOHMANN_JSON_VERSION_PATCH 1
      +
      36 
      +
      37 #include <algorithm> // all_of, find, for_each
      +
      38 #include <cstddef> // nullptr_t, ptrdiff_t, size_t
      +
      39 #include <functional> // hash, less
      +
      40 #include <initializer_list> // initializer_list
      +
      41 #include <iosfwd> // istream, ostream
      +
      42 #include <iterator> // random_access_iterator_tag
      +
      43 #include <memory> // unique_ptr
      +
      44 #include <numeric> // accumulate
      +
      45 #include <string> // string, stoi, to_string
      +
      46 #include <utility> // declval, forward, move, pair, swap
      +
      47 #include <vector> // vector
      +
      48 
      +
      49 // #include <nlohmann/adl_serializer.hpp>
      +
      50 
      +
      51 
      +
      52 #include <utility>
      +
      53 
      +
      54 // #include <nlohmann/detail/conversions/from_json.hpp>
      +
      55 
      +
      56 
      +
      57 #include <algorithm> // transform
      +
      58 #include <array> // array
      +
      59 #include <forward_list> // forward_list
      +
      60 #include <iterator> // inserter, front_inserter, end
      +
      61 #include <map> // map
      +
      62 #include <string> // string
      +
      63 #include <tuple> // tuple, make_tuple
      +
      64 #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
      +
      65 #include <unordered_map> // unordered_map
      +
      66 #include <utility> // pair, declval
      +
      67 #include <valarray> // valarray
      +
      68 
      +
      69 // #include <nlohmann/detail/exceptions.hpp>
      +
      70 
      +
      71 
      +
      72 #include <exception> // exception
      +
      73 #include <stdexcept> // runtime_error
      +
      74 #include <string> // to_string
      +
      75 
      +
      76 // #include <nlohmann/detail/input/position_t.hpp>
      +
      77 
      +
      78 
      +
      79 #include <cstddef> // size_t
      +
      80 
      +
      81 namespace nlohmann
      +
      82 {
      +
      83 namespace detail
      +
      84 {
      +
      86 struct position_t
      +
      87 {
      +
      89  std::size_t chars_read_total = 0;
      +
      91  std::size_t chars_read_current_line = 0;
      +
      93  std::size_t lines_read = 0;
      +
      94 
      +
      96  constexpr operator size_t() const
      +
      97  {
      +
      98  return chars_read_total;
      +
      99  }
      +
      100 };
      +
      101 
      +
      102 } // namespace detail
      +
      103 } // namespace nlohmann
      +
      104 
      +
      105 // #include <nlohmann/detail/macro_scope.hpp>
      +
      106 
      +
      107 
      +
      108 #include <utility> // pair
      +
      109 // #include <nlohmann/thirdparty/hedley/hedley.hpp>
      +
      110 /* Hedley - https://nemequ.github.io/hedley
      +
      111  * Created by Evan Nemerson <evan@nemerson.com>
      +
      112  *
      +
      113  * To the extent possible under law, the author(s) have dedicated all
      +
      114  * copyright and related and neighboring rights to this software to
      +
      115  * the public domain worldwide. This software is distributed without
      +
      116  * any warranty.
      +
      117  *
      +
      118  * For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
      +
      119  * SPDX-License-Identifier: CC0-1.0
      +
      120  */
      +
      121 
      +
      122 #if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 13)
      +
      123 #if defined(JSON_HEDLEY_VERSION)
      +
      124  #undef JSON_HEDLEY_VERSION
      +
      125 #endif
      +
      126 #define JSON_HEDLEY_VERSION 13
      +
      127 
      +
      128 #if defined(JSON_HEDLEY_STRINGIFY_EX)
      +
      129  #undef JSON_HEDLEY_STRINGIFY_EX
      +
      130 #endif
      +
      131 #define JSON_HEDLEY_STRINGIFY_EX(x) #x
      +
      132 
      +
      133 #if defined(JSON_HEDLEY_STRINGIFY)
      +
      134  #undef JSON_HEDLEY_STRINGIFY
      +
      135 #endif
      +
      136 #define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x)
      +
      137 
      +
      138 #if defined(JSON_HEDLEY_CONCAT_EX)
      +
      139  #undef JSON_HEDLEY_CONCAT_EX
      +
      140 #endif
      +
      141 #define JSON_HEDLEY_CONCAT_EX(a,b) a##b
      +
      142 
      +
      143 #if defined(JSON_HEDLEY_CONCAT)
      +
      144  #undef JSON_HEDLEY_CONCAT
      +
      145 #endif
      +
      146 #define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b)
      +
      147 
      +
      148 #if defined(JSON_HEDLEY_CONCAT3_EX)
      +
      149  #undef JSON_HEDLEY_CONCAT3_EX
      +
      150 #endif
      +
      151 #define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c
      +
      152 
      +
      153 #if defined(JSON_HEDLEY_CONCAT3)
      +
      154  #undef JSON_HEDLEY_CONCAT3
      +
      155 #endif
      +
      156 #define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c)
      +
      157 
      +
      158 #if defined(JSON_HEDLEY_VERSION_ENCODE)
      +
      159  #undef JSON_HEDLEY_VERSION_ENCODE
      +
      160 #endif
      +
      161 #define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision))
      +
      162 
      +
      163 #if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR)
      +
      164  #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
      +
      165 #endif
      +
      166 #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000)
      +
      167 
      +
      168 #if defined(JSON_HEDLEY_VERSION_DECODE_MINOR)
      +
      169  #undef JSON_HEDLEY_VERSION_DECODE_MINOR
      +
      170 #endif
      +
      171 #define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000)
      +
      172 
      +
      173 #if defined(JSON_HEDLEY_VERSION_DECODE_REVISION)
      +
      174  #undef JSON_HEDLEY_VERSION_DECODE_REVISION
      +
      175 #endif
      +
      176 #define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000)
      +
      177 
      +
      178 #if defined(JSON_HEDLEY_GNUC_VERSION)
      +
      179  #undef JSON_HEDLEY_GNUC_VERSION
      +
      180 #endif
      +
      181 #if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
      +
      182  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
      +
      183 #elif defined(__GNUC__)
      +
      184  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
      +
      185 #endif
      +
      186 
      +
      187 #if defined(JSON_HEDLEY_GNUC_VERSION_CHECK)
      +
      188  #undef JSON_HEDLEY_GNUC_VERSION_CHECK
      +
      189 #endif
      +
      190 #if defined(JSON_HEDLEY_GNUC_VERSION)
      +
      191  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      192 #else
      +
      193  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0)
      +
      194 #endif
      +
      195 
      +
      196 #if defined(JSON_HEDLEY_MSVC_VERSION)
      +
      197  #undef JSON_HEDLEY_MSVC_VERSION
      +
      198 #endif
      +
      199 #if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000)
      +
      200  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
      +
      201 #elif defined(_MSC_FULL_VER)
      +
      202  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
      +
      203 #elif defined(_MSC_VER)
      +
      204  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
      +
      205 #endif
      +
      206 
      +
      207 #if defined(JSON_HEDLEY_MSVC_VERSION_CHECK)
      +
      208  #undef JSON_HEDLEY_MSVC_VERSION_CHECK
      +
      209 #endif
      +
      210 #if !defined(_MSC_VER)
      +
      211  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0)
      +
      212 #elif defined(_MSC_VER) && (_MSC_VER >= 1400)
      +
      213  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
      +
      214 #elif defined(_MSC_VER) && (_MSC_VER >= 1200)
      +
      215  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
      +
      216 #else
      +
      217  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor)))
      +
      218 #endif
      +
      219 
      +
      220 #if defined(JSON_HEDLEY_INTEL_VERSION)
      +
      221  #undef JSON_HEDLEY_INTEL_VERSION
      +
      222 #endif
      +
      223 #if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE)
      +
      224  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE)
      +
      225 #elif defined(__INTEL_COMPILER)
      +
      226  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
      +
      227 #endif
      +
      228 
      +
      229 #if defined(JSON_HEDLEY_INTEL_VERSION_CHECK)
      +
      230  #undef JSON_HEDLEY_INTEL_VERSION_CHECK
      +
      231 #endif
      +
      232 #if defined(JSON_HEDLEY_INTEL_VERSION)
      +
      233  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      234 #else
      +
      235  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0)
      +
      236 #endif
      +
      237 
      +
      238 #if defined(JSON_HEDLEY_PGI_VERSION)
      +
      239  #undef JSON_HEDLEY_PGI_VERSION
      +
      240 #endif
      +
      241 #if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
      +
      242  #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
      +
      243 #endif
      +
      244 
      +
      245 #if defined(JSON_HEDLEY_PGI_VERSION_CHECK)
      +
      246  #undef JSON_HEDLEY_PGI_VERSION_CHECK
      +
      247 #endif
      +
      248 #if defined(JSON_HEDLEY_PGI_VERSION)
      +
      249  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      250 #else
      +
      251  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0)
      +
      252 #endif
      +
      253 
      +
      254 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
      +
      255  #undef JSON_HEDLEY_SUNPRO_VERSION
      +
      256 #endif
      +
      257 #if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
      +
      258  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
      +
      259 #elif defined(__SUNPRO_C)
      +
      260  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf)
      +
      261 #elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
      +
      262  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
      +
      263 #elif defined(__SUNPRO_CC)
      +
      264  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
      +
      265 #endif
      +
      266 
      +
      267 #if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK)
      +
      268  #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
      +
      269 #endif
      +
      270 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
      +
      271  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      272 #else
      +
      273  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)
      +
      274 #endif
      +
      275 
      +
      276 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
      +
      277  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
      +
      278 #endif
      +
      279 #if defined(__EMSCRIPTEN__)
      +
      280  #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__)
      +
      281 #endif
      +
      282 
      +
      283 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK)
      +
      284  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
      +
      285 #endif
      +
      286 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
      +
      287  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      288 #else
      +
      289  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0)
      +
      290 #endif
      +
      291 
      +
      292 #if defined(JSON_HEDLEY_ARM_VERSION)
      +
      293  #undef JSON_HEDLEY_ARM_VERSION
      +
      294 #endif
      +
      295 #if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
      +
      296  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
      +
      297 #elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
      +
      298  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
      +
      299 #endif
      +
      300 
      +
      301 #if defined(JSON_HEDLEY_ARM_VERSION_CHECK)
      +
      302  #undef JSON_HEDLEY_ARM_VERSION_CHECK
      +
      303 #endif
      +
      304 #if defined(JSON_HEDLEY_ARM_VERSION)
      +
      305  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      306 #else
      +
      307  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0)
      +
      308 #endif
      +
      309 
      +
      310 #if defined(JSON_HEDLEY_IBM_VERSION)
      +
      311  #undef JSON_HEDLEY_IBM_VERSION
      +
      312 #endif
      +
      313 #if defined(__ibmxl__)
      +
      314  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__)
      +
      315 #elif defined(__xlC__) && defined(__xlC_ver__)
      +
      316  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
      +
      317 #elif defined(__xlC__)
      +
      318  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
      +
      319 #endif
      +
      320 
      +
      321 #if defined(JSON_HEDLEY_IBM_VERSION_CHECK)
      +
      322  #undef JSON_HEDLEY_IBM_VERSION_CHECK
      +
      323 #endif
      +
      324 #if defined(JSON_HEDLEY_IBM_VERSION)
      +
      325  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      326 #else
      +
      327  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0)
      +
      328 #endif
      +
      329 
      +
      330 #if defined(JSON_HEDLEY_TI_VERSION)
      +
      331  #undef JSON_HEDLEY_TI_VERSION
      +
      332 #endif
      +
      333 #if \
      +
      334  defined(__TI_COMPILER_VERSION__) && \
      +
      335  ( \
      +
      336  defined(__TMS470__) || defined(__TI_ARM__) || \
      +
      337  defined(__MSP430__) || \
      +
      338  defined(__TMS320C2000__) \
      +
      339  )
      +
      340 #if (__TI_COMPILER_VERSION__ >= 16000000)
      +
      341  #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      342 #endif
      +
      343 #endif
      +
      344 
      +
      345 #if defined(JSON_HEDLEY_TI_VERSION_CHECK)
      +
      346  #undef JSON_HEDLEY_TI_VERSION_CHECK
      +
      347 #endif
      +
      348 #if defined(JSON_HEDLEY_TI_VERSION)
      +
      349  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      350 #else
      +
      351  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0)
      +
      352 #endif
      +
      353 
      +
      354 #if defined(JSON_HEDLEY_TI_CL2000_VERSION)
      +
      355  #undef JSON_HEDLEY_TI_CL2000_VERSION
      +
      356 #endif
      +
      357 #if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__)
      +
      358  #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      359 #endif
      +
      360 
      +
      361 #if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK)
      +
      362  #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK
      +
      363 #endif
      +
      364 #if defined(JSON_HEDLEY_TI_CL2000_VERSION)
      +
      365  #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      366 #else
      +
      367  #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0)
      +
      368 #endif
      +
      369 
      +
      370 #if defined(JSON_HEDLEY_TI_CL430_VERSION)
      +
      371  #undef JSON_HEDLEY_TI_CL430_VERSION
      +
      372 #endif
      +
      373 #if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__)
      +
      374  #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      375 #endif
      +
      376 
      +
      377 #if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK)
      +
      378  #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK
      +
      379 #endif
      +
      380 #if defined(JSON_HEDLEY_TI_CL430_VERSION)
      +
      381  #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      382 #else
      +
      383  #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0)
      +
      384 #endif
      +
      385 
      +
      386 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION)
      +
      387  #undef JSON_HEDLEY_TI_ARMCL_VERSION
      +
      388 #endif
      +
      389 #if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__))
      +
      390  #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      391 #endif
      +
      392 
      +
      393 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK)
      +
      394  #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
      +
      395 #endif
      +
      396 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION)
      +
      397  #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      398 #else
      +
      399  #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0)
      +
      400 #endif
      +
      401 
      +
      402 #if defined(JSON_HEDLEY_TI_CL6X_VERSION)
      +
      403  #undef JSON_HEDLEY_TI_CL6X_VERSION
      +
      404 #endif
      +
      405 #if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__)
      +
      406  #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      407 #endif
      +
      408 
      +
      409 #if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK)
      +
      410  #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK
      +
      411 #endif
      +
      412 #if defined(JSON_HEDLEY_TI_CL6X_VERSION)
      +
      413  #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      414 #else
      +
      415  #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0)
      +
      416 #endif
      +
      417 
      +
      418 #if defined(JSON_HEDLEY_TI_CL7X_VERSION)
      +
      419  #undef JSON_HEDLEY_TI_CL7X_VERSION
      +
      420 #endif
      +
      421 #if defined(__TI_COMPILER_VERSION__) && defined(__C7000__)
      +
      422  #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      423 #endif
      +
      424 
      +
      425 #if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK)
      +
      426  #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK
      +
      427 #endif
      +
      428 #if defined(JSON_HEDLEY_TI_CL7X_VERSION)
      +
      429  #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      430 #else
      +
      431  #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0)
      +
      432 #endif
      +
      433 
      +
      434 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION)
      +
      435  #undef JSON_HEDLEY_TI_CLPRU_VERSION
      +
      436 #endif
      +
      437 #if defined(__TI_COMPILER_VERSION__) && defined(__PRU__)
      +
      438  #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
      +
      439 #endif
      +
      440 
      +
      441 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK)
      +
      442  #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
      +
      443 #endif
      +
      444 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION)
      +
      445  #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      446 #else
      +
      447  #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0)
      +
      448 #endif
      +
      449 
      +
      450 #if defined(JSON_HEDLEY_CRAY_VERSION)
      +
      451  #undef JSON_HEDLEY_CRAY_VERSION
      +
      452 #endif
      +
      453 #if defined(_CRAYC)
      +
      454  #if defined(_RELEASE_PATCHLEVEL)
      +
      455  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
      +
      456  #else
      +
      457  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
      +
      458  #endif
      +
      459 #endif
      +
      460 
      +
      461 #if defined(JSON_HEDLEY_CRAY_VERSION_CHECK)
      +
      462  #undef JSON_HEDLEY_CRAY_VERSION_CHECK
      +
      463 #endif
      +
      464 #if defined(JSON_HEDLEY_CRAY_VERSION)
      +
      465  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      466 #else
      +
      467  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0)
      +
      468 #endif
      +
      469 
      +
      470 #if defined(JSON_HEDLEY_IAR_VERSION)
      +
      471  #undef JSON_HEDLEY_IAR_VERSION
      +
      472 #endif
      +
      473 #if defined(__IAR_SYSTEMS_ICC__)
      +
      474  #if __VER__ > 1000
      +
      475  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000))
      +
      476  #else
      +
      477  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0)
      +
      478  #endif
      +
      479 #endif
      +
      480 
      +
      481 #if defined(JSON_HEDLEY_IAR_VERSION_CHECK)
      +
      482  #undef JSON_HEDLEY_IAR_VERSION_CHECK
      +
      483 #endif
      +
      484 #if defined(JSON_HEDLEY_IAR_VERSION)
      +
      485  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      486 #else
      +
      487  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0)
      +
      488 #endif
      +
      489 
      +
      490 #if defined(JSON_HEDLEY_TINYC_VERSION)
      +
      491  #undef JSON_HEDLEY_TINYC_VERSION
      +
      492 #endif
      +
      493 #if defined(__TINYC__)
      +
      494  #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
      +
      495 #endif
      +
      496 
      +
      497 #if defined(JSON_HEDLEY_TINYC_VERSION_CHECK)
      +
      498  #undef JSON_HEDLEY_TINYC_VERSION_CHECK
      +
      499 #endif
      +
      500 #if defined(JSON_HEDLEY_TINYC_VERSION)
      +
      501  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      502 #else
      +
      503  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0)
      +
      504 #endif
      +
      505 
      +
      506 #if defined(JSON_HEDLEY_DMC_VERSION)
      +
      507  #undef JSON_HEDLEY_DMC_VERSION
      +
      508 #endif
      +
      509 #if defined(__DMC__)
      +
      510  #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf)
      +
      511 #endif
      +
      512 
      +
      513 #if defined(JSON_HEDLEY_DMC_VERSION_CHECK)
      +
      514  #undef JSON_HEDLEY_DMC_VERSION_CHECK
      +
      515 #endif
      +
      516 #if defined(JSON_HEDLEY_DMC_VERSION)
      +
      517  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      518 #else
      +
      519  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0)
      +
      520 #endif
      +
      521 
      +
      522 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
      +
      523  #undef JSON_HEDLEY_COMPCERT_VERSION
      +
      524 #endif
      +
      525 #if defined(__COMPCERT_VERSION__)
      +
      526  #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100)
      +
      527 #endif
      +
      528 
      +
      529 #if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK)
      +
      530  #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
      +
      531 #endif
      +
      532 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
      +
      533  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      534 #else
      +
      535  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0)
      +
      536 #endif
      +
      537 
      +
      538 #if defined(JSON_HEDLEY_PELLES_VERSION)
      +
      539  #undef JSON_HEDLEY_PELLES_VERSION
      +
      540 #endif
      +
      541 #if defined(__POCC__)
      +
      542  #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
      +
      543 #endif
      +
      544 
      +
      545 #if defined(JSON_HEDLEY_PELLES_VERSION_CHECK)
      +
      546  #undef JSON_HEDLEY_PELLES_VERSION_CHECK
      +
      547 #endif
      +
      548 #if defined(JSON_HEDLEY_PELLES_VERSION)
      +
      549  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      550 #else
      +
      551  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0)
      +
      552 #endif
      +
      553 
      +
      554 #if defined(JSON_HEDLEY_GCC_VERSION)
      +
      555  #undef JSON_HEDLEY_GCC_VERSION
      +
      556 #endif
      +
      557 #if \
      +
      558  defined(JSON_HEDLEY_GNUC_VERSION) && \
      +
      559  !defined(__clang__) && \
      +
      560  !defined(JSON_HEDLEY_INTEL_VERSION) && \
      +
      561  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      562  !defined(JSON_HEDLEY_ARM_VERSION) && \
      +
      563  !defined(JSON_HEDLEY_TI_VERSION) && \
      +
      564  !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \
      +
      565  !defined(JSON_HEDLEY_TI_CL430_VERSION) && \
      +
      566  !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \
      +
      567  !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \
      +
      568  !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \
      +
      569  !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \
      +
      570  !defined(__COMPCERT__)
      +
      571  #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION
      +
      572 #endif
      +
      573 
      +
      574 #if defined(JSON_HEDLEY_GCC_VERSION_CHECK)
      +
      575  #undef JSON_HEDLEY_GCC_VERSION_CHECK
      +
      576 #endif
      +
      577 #if defined(JSON_HEDLEY_GCC_VERSION)
      +
      578  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
      +
      579 #else
      +
      580  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0)
      +
      581 #endif
      +
      582 
      +
      583 #if defined(JSON_HEDLEY_HAS_ATTRIBUTE)
      +
      584  #undef JSON_HEDLEY_HAS_ATTRIBUTE
      +
      585 #endif
      +
      586 #if defined(__has_attribute)
      +
      587  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute)
      +
      588 #else
      +
      589  #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0)
      +
      590 #endif
      +
      591 
      +
      592 #if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE)
      +
      593  #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
      +
      594 #endif
      +
      595 #if defined(__has_attribute)
      +
      596  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
      +
      597 #else
      +
      598  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      599 #endif
      +
      600 
      +
      601 #if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE)
      +
      602  #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
      +
      603 #endif
      +
      604 #if defined(__has_attribute)
      +
      605  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute)
      +
      606 #else
      +
      607  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      608 #endif
      +
      609 
      +
      610 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE)
      +
      611  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
      +
      612 #endif
      +
      613 #if \
      +
      614  defined(__has_cpp_attribute) && \
      +
      615  defined(__cplusplus) && \
      +
      616  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))
      +
      617  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute)
      +
      618 #else
      +
      619  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0)
      +
      620 #endif
      +
      621 
      +
      622 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS)
      +
      623  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
      +
      624 #endif
      +
      625 #if !defined(__cplusplus) || !defined(__has_cpp_attribute)
      +
      626  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
      +
      627 #elif \
      +
      628  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      629  !defined(JSON_HEDLEY_IAR_VERSION) && \
      +
      630  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \
      +
      631  (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0))
      +
      632  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute)
      +
      633 #else
      +
      634  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
      +
      635 #endif
      +
      636 
      +
      637 #if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE)
      +
      638  #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
      +
      639 #endif
      +
      640 #if defined(__has_cpp_attribute) && defined(__cplusplus)
      +
      641  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
      +
      642 #else
      +
      643  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      644 #endif
      +
      645 
      +
      646 #if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE)
      +
      647  #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
      +
      648 #endif
      +
      649 #if defined(__has_cpp_attribute) && defined(__cplusplus)
      +
      650  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
      +
      651 #else
      +
      652  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      653 #endif
      +
      654 
      +
      655 #if defined(JSON_HEDLEY_HAS_BUILTIN)
      +
      656  #undef JSON_HEDLEY_HAS_BUILTIN
      +
      657 #endif
      +
      658 #if defined(__has_builtin)
      +
      659  #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin)
      +
      660 #else
      +
      661  #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0)
      +
      662 #endif
      +
      663 
      +
      664 #if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN)
      +
      665  #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
      +
      666 #endif
      +
      667 #if defined(__has_builtin)
      +
      668  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
      +
      669 #else
      +
      670  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      671 #endif
      +
      672 
      +
      673 #if defined(JSON_HEDLEY_GCC_HAS_BUILTIN)
      +
      674  #undef JSON_HEDLEY_GCC_HAS_BUILTIN
      +
      675 #endif
      +
      676 #if defined(__has_builtin)
      +
      677  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
      +
      678 #else
      +
      679  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      680 #endif
      +
      681 
      +
      682 #if defined(JSON_HEDLEY_HAS_FEATURE)
      +
      683  #undef JSON_HEDLEY_HAS_FEATURE
      +
      684 #endif
      +
      685 #if defined(__has_feature)
      +
      686  #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature)
      +
      687 #else
      +
      688  #define JSON_HEDLEY_HAS_FEATURE(feature) (0)
      +
      689 #endif
      +
      690 
      +
      691 #if defined(JSON_HEDLEY_GNUC_HAS_FEATURE)
      +
      692  #undef JSON_HEDLEY_GNUC_HAS_FEATURE
      +
      693 #endif
      +
      694 #if defined(__has_feature)
      +
      695  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
      +
      696 #else
      +
      697  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      698 #endif
      +
      699 
      +
      700 #if defined(JSON_HEDLEY_GCC_HAS_FEATURE)
      +
      701  #undef JSON_HEDLEY_GCC_HAS_FEATURE
      +
      702 #endif
      +
      703 #if defined(__has_feature)
      +
      704  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
      +
      705 #else
      +
      706  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      707 #endif
      +
      708 
      +
      709 #if defined(JSON_HEDLEY_HAS_EXTENSION)
      +
      710  #undef JSON_HEDLEY_HAS_EXTENSION
      +
      711 #endif
      +
      712 #if defined(__has_extension)
      +
      713  #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension)
      +
      714 #else
      +
      715  #define JSON_HEDLEY_HAS_EXTENSION(extension) (0)
      +
      716 #endif
      +
      717 
      +
      718 #if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION)
      +
      719  #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
      +
      720 #endif
      +
      721 #if defined(__has_extension)
      +
      722  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
      +
      723 #else
      +
      724  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      725 #endif
      +
      726 
      +
      727 #if defined(JSON_HEDLEY_GCC_HAS_EXTENSION)
      +
      728  #undef JSON_HEDLEY_GCC_HAS_EXTENSION
      +
      729 #endif
      +
      730 #if defined(__has_extension)
      +
      731  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
      +
      732 #else
      +
      733  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      734 #endif
      +
      735 
      +
      736 #if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE)
      +
      737  #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
      +
      738 #endif
      +
      739 #if defined(__has_declspec_attribute)
      +
      740  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute)
      +
      741 #else
      +
      742  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0)
      +
      743 #endif
      +
      744 
      +
      745 #if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE)
      +
      746  #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
      +
      747 #endif
      +
      748 #if defined(__has_declspec_attribute)
      +
      749  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
      +
      750 #else
      +
      751  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      752 #endif
      +
      753 
      +
      754 #if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE)
      +
      755  #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
      +
      756 #endif
      +
      757 #if defined(__has_declspec_attribute)
      +
      758  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
      +
      759 #else
      +
      760  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      761 #endif
      +
      762 
      +
      763 #if defined(JSON_HEDLEY_HAS_WARNING)
      +
      764  #undef JSON_HEDLEY_HAS_WARNING
      +
      765 #endif
      +
      766 #if defined(__has_warning)
      +
      767  #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning)
      +
      768 #else
      +
      769  #define JSON_HEDLEY_HAS_WARNING(warning) (0)
      +
      770 #endif
      +
      771 
      +
      772 #if defined(JSON_HEDLEY_GNUC_HAS_WARNING)
      +
      773  #undef JSON_HEDLEY_GNUC_HAS_WARNING
      +
      774 #endif
      +
      775 #if defined(__has_warning)
      +
      776  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
      +
      777 #else
      +
      778  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
      +
      779 #endif
      +
      780 
      +
      781 #if defined(JSON_HEDLEY_GCC_HAS_WARNING)
      +
      782  #undef JSON_HEDLEY_GCC_HAS_WARNING
      +
      783 #endif
      +
      784 #if defined(__has_warning)
      +
      785  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
      +
      786 #else
      +
      787  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      788 #endif
      +
      789 
      +
      790 /* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for
      +
      791  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
      +
      792 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
      +
      793  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
      +
      794 #endif
      +
      795 #if defined(__cplusplus)
      +
      796 # if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat")
      +
      797 # if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions")
      +
      798 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
      +
      799  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      800  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
      +
      801  _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \
      +
      802  xpr \
      +
      803  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      804 # else
      +
      805 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
      +
      806  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      807  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
      +
      808  xpr \
      +
      809  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      810 # endif
      +
      811 # endif
      +
      812 #endif
      +
      813 #if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
      +
      814  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x
      +
      815 #endif
      +
      816 
      +
      817 #if defined(JSON_HEDLEY_CONST_CAST)
      +
      818  #undef JSON_HEDLEY_CONST_CAST
      +
      819 #endif
      +
      820 #if defined(__cplusplus)
      +
      821 # define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast<T>(expr))
      +
      822 #elif \
      +
      823  JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \
      +
      824  JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \
      +
      825  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      826 # define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \
      +
      827  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      828  JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \
      +
      829  ((T) (expr)); \
      +
      830  JSON_HEDLEY_DIAGNOSTIC_POP \
      +
      831  }))
      +
      832 #else
      +
      833 # define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr))
      +
      834 #endif
      +
      835 
      +
      836 #if defined(JSON_HEDLEY_REINTERPRET_CAST)
      +
      837  #undef JSON_HEDLEY_REINTERPRET_CAST
      +
      838 #endif
      +
      839 #if defined(__cplusplus)
      +
      840  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast<T>(expr))
      +
      841 #else
      +
      842  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr))
      +
      843 #endif
      +
      844 
      +
      845 #if defined(JSON_HEDLEY_STATIC_CAST)
      +
      846  #undef JSON_HEDLEY_STATIC_CAST
      +
      847 #endif
      +
      848 #if defined(__cplusplus)
      +
      849  #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast<T>(expr))
      +
      850 #else
      +
      851  #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr))
      +
      852 #endif
      +
      853 
      +
      854 #if defined(JSON_HEDLEY_CPP_CAST)
      +
      855  #undef JSON_HEDLEY_CPP_CAST
      +
      856 #endif
      +
      857 #if defined(__cplusplus)
      +
      858 # if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast")
      +
      859 # define JSON_HEDLEY_CPP_CAST(T, expr) \
      +
      860  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      861  _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \
      +
      862  ((T) (expr)) \
      +
      863  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      864 # elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0)
      +
      865 # define JSON_HEDLEY_CPP_CAST(T, expr) \
      +
      866  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      867  _Pragma("diag_suppress=Pe137") \
      +
      868  JSON_HEDLEY_DIAGNOSTIC_POP \
      +
      869 # else
      +
      870 # define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr))
      +
      871 # endif
      +
      872 #else
      +
      873 # define JSON_HEDLEY_CPP_CAST(T, expr) (expr)
      +
      874 #endif
      +
      875 
      +
      876 #if \
      +
      877  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
      +
      878  defined(__clang__) || \
      +
      879  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
      +
      880  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      881  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
      +
      882  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
      +
      883  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      884  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      885  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
      +
      886  JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
      +
      887  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
      +
      888  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \
      +
      889  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      890  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
      +
      891  JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \
      +
      892  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \
      +
      893  JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \
      +
      894  (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR))
      +
      895  #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value)
      +
      896 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      897  #define JSON_HEDLEY_PRAGMA(value) __pragma(value)
      +
      898 #else
      +
      899  #define JSON_HEDLEY_PRAGMA(value)
      +
      900 #endif
      +
      901 
      +
      902 #if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH)
      +
      903  #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      904 #endif
      +
      905 #if defined(JSON_HEDLEY_DIAGNOSTIC_POP)
      +
      906  #undef JSON_HEDLEY_DIAGNOSTIC_POP
      +
      907 #endif
      +
      908 #if defined(__clang__)
      +
      909  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
      +
      910  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
      +
      911 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      912  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
      +
      913  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
      +
      914 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
      +
      915  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
      +
      916  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
      +
      917 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      918  #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push))
      +
      919  #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop))
      +
      920 #elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)
      +
      921  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push")
      +
      922  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop")
      +
      923 #elif \
      +
      924  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      925  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      926  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \
      +
      927  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
      +
      928  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      929  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      930  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push")
      +
      931  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop")
      +
      932 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
      +
      933  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
      +
      934  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
      +
      935 #else
      +
      936  #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      937  #define JSON_HEDLEY_DIAGNOSTIC_POP
      +
      938 #endif
      +
      939 
      +
      940 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED)
      +
      941  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      942 #endif
      +
      943 #if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations")
      +
      944  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      945 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      946  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)")
      +
      947 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      948  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
      +
      949 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
      +
      950  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      951 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      952  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996))
      +
      953 #elif \
      +
      954  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      955  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      956  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      957  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      958  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      959  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      960  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      961  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      962  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      963  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      964  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      965  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718")
      +
      966 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus)
      +
      967  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
      +
      968 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus)
      +
      969  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
      +
      970 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      971  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215")
      +
      972 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
      +
      973  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)")
      +
      974 #else
      +
      975  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      976 #endif
      +
      977 
      +
      978 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS)
      +
      979  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      980 #endif
      +
      981 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      982  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
      +
      983 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      984  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)")
      +
      985 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      986  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675")
      +
      987 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
      +
      988  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
      +
      989 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      990  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068))
      +
      991 #elif \
      +
      992  JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \
      +
      993  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
      +
      994  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      995  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0)
      +
      996  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
      +
      997 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0)
      +
      998  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
      +
      999 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1000  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161")
      +
      1001 #else
      +
      1002  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      1003 #endif
      +
      1004 
      +
      1005 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES)
      +
      1006  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      1007 #endif
      +
      1008 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes")
      +
      1009  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
      +
      1010 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
      +
      1011  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
      +
      1012 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0)
      +
      1013  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)")
      +
      1014 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0)
      +
      1015  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030))
      +
      1016 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1017  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
      +
      1018 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)
      +
      1019  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)")
      +
      1020 #elif \
      +
      1021  JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \
      +
      1022  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
      +
      1023  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)
      +
      1024  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173")
      +
      1025 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1026  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097")
      +
      1027 #else
      +
      1028  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      1029 #endif
      +
      1030 
      +
      1031 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL)
      +
      1032  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      1033 #endif
      +
      1034 #if JSON_HEDLEY_HAS_WARNING("-Wcast-qual")
      +
      1035  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
      +
      1036 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1037  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)")
      +
      1038 #elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)
      +
      1039  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
      +
      1040 #else
      +
      1041  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      1042 #endif
      +
      1043 
      +
      1044 #if defined(JSON_HEDLEY_DEPRECATED)
      +
      1045  #undef JSON_HEDLEY_DEPRECATED
      +
      1046 #endif
      +
      1047 #if defined(JSON_HEDLEY_DEPRECATED_FOR)
      +
      1048  #undef JSON_HEDLEY_DEPRECATED_FOR
      +
      1049 #endif
      +
      1050 #if JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)
      +
      1051  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since))
      +
      1052  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement))
      +
      1053 #elif defined(__cplusplus) && (__cplusplus >= 201402L)
      +
      1054  #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]])
      +
      1055  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]])
      +
      1056 #elif \
      +
      1057  JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) || \
      +
      1058  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
      +
      1059  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1060  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
      +
      1061  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
      +
      1062  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
      +
      1063  JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \
      +
      1064  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \
      +
      1065  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
      +
      1066  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1067  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0)
      +
      1068  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since)))
      +
      1069  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement)))
      +
      1070 #elif \
      +
      1071  JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \
      +
      1072  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1073  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1074  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1075  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1076  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1077  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1078  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1079  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1080  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1081  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1082  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1083  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1084  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1085  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__))
      +
      1086  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__))
      +
      1087 #elif \
      +
      1088  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
      +
      1089  JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0)
      +
      1090  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated)
      +
      1091  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated)
      +
      1092 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1093  #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated")
      +
      1094  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated")
      +
      1095 #else
      +
      1096  #define JSON_HEDLEY_DEPRECATED(since)
      +
      1097  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
      +
      1098 #endif
      +
      1099 
      +
      1100 #if defined(JSON_HEDLEY_UNAVAILABLE)
      +
      1101  #undef JSON_HEDLEY_UNAVAILABLE
      +
      1102 #endif
      +
      1103 #if \
      +
      1104  JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \
      +
      1105  JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
      +
      1106  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1107  #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since)))
      +
      1108 #else
      +
      1109  #define JSON_HEDLEY_UNAVAILABLE(available_since)
      +
      1110 #endif
      +
      1111 
      +
      1112 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT)
      +
      1113  #undef JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      1114 #endif
      +
      1115 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG)
      +
      1116  #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
      +
      1117 #endif
      +
      1118 #if (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L)
      +
      1119  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
      +
      1120  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]])
      +
      1121 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard)
      +
      1122  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
      +
      1123  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
      +
      1124 #elif \
      +
      1125  JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \
      +
      1126  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      1127  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1128  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1129  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1130  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1131  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1132  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1133  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1134  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1135  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1136  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1137  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1138  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
      +
      1139  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
      +
      1140  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1141  #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
      +
      1142  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__))
      +
      1143 #elif defined(_Check_return_) /* SAL */
      +
      1144  #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_
      +
      1145  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_
      +
      1146 #else
      +
      1147  #define JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      1148  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
      +
      1149 #endif
      +
      1150 
      +
      1151 #if defined(JSON_HEDLEY_SENTINEL)
      +
      1152  #undef JSON_HEDLEY_SENTINEL
      +
      1153 #endif
      +
      1154 #if \
      +
      1155  JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \
      +
      1156  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      1157  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1158  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0)
      +
      1159  #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position)))
      +
      1160 #else
      +
      1161  #define JSON_HEDLEY_SENTINEL(position)
      +
      1162 #endif
      +
      1163 
      +
      1164 #if defined(JSON_HEDLEY_NO_RETURN)
      +
      1165  #undef JSON_HEDLEY_NO_RETURN
      +
      1166 #endif
      +
      1167 #if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1168  #define JSON_HEDLEY_NO_RETURN __noreturn
      +
      1169 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1170  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
      +
      1171 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
      +
      1172  #define JSON_HEDLEY_NO_RETURN _Noreturn
      +
      1173 #elif defined(__cplusplus) && (__cplusplus >= 201103L)
      +
      1174  #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
      +
      1175 #elif \
      +
      1176  JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \
      +
      1177  JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \
      +
      1178  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1179  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1180  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1181  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1182  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1183  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1184  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1185  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1186  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1187  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1188  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1189  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1190  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1191  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1192  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
      +
      1193 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1194  #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return")
      +
      1195 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
      +
      1196  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
      +
      1197 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
      +
      1198  #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;")
      +
      1199 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
      +
      1200  #define JSON_HEDLEY_NO_RETURN __attribute((noreturn))
      +
      1201 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
      +
      1202  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
      +
      1203 #else
      +
      1204  #define JSON_HEDLEY_NO_RETURN
      +
      1205 #endif
      +
      1206 
      +
      1207 #if defined(JSON_HEDLEY_NO_ESCAPE)
      +
      1208  #undef JSON_HEDLEY_NO_ESCAPE
      +
      1209 #endif
      +
      1210 #if JSON_HEDLEY_HAS_ATTRIBUTE(noescape)
      +
      1211  #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__))
      +
      1212 #else
      +
      1213  #define JSON_HEDLEY_NO_ESCAPE
      +
      1214 #endif
      +
      1215 
      +
      1216 #if defined(JSON_HEDLEY_UNREACHABLE)
      +
      1217  #undef JSON_HEDLEY_UNREACHABLE
      +
      1218 #endif
      +
      1219 #if defined(JSON_HEDLEY_UNREACHABLE_RETURN)
      +
      1220  #undef JSON_HEDLEY_UNREACHABLE_RETURN
      +
      1221 #endif
      +
      1222 #if defined(JSON_HEDLEY_ASSUME)
      +
      1223  #undef JSON_HEDLEY_ASSUME
      +
      1224 #endif
      +
      1225 #if \
      +
      1226  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
      +
      1227  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1228  #define JSON_HEDLEY_ASSUME(expr) __assume(expr)
      +
      1229 #elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume)
      +
      1230  #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr)
      +
      1231 #elif \
      +
      1232  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
      +
      1233  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
      +
      1234  #if defined(__cplusplus)
      +
      1235  #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr)
      +
      1236  #else
      +
      1237  #define JSON_HEDLEY_ASSUME(expr) _nassert(expr)
      +
      1238  #endif
      +
      1239 #endif
      +
      1240 #if \
      +
      1241  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \
      +
      1242  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
      +
      1243  JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \
      +
      1244  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1245  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)
      +
      1246  #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable()
      +
      1247 #elif defined(JSON_HEDLEY_ASSUME)
      +
      1248  #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0)
      +
      1249 #endif
      +
      1250 #if !defined(JSON_HEDLEY_ASSUME)
      +
      1251  #if defined(JSON_HEDLEY_UNREACHABLE)
      +
      1252  #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1)))
      +
      1253  #else
      +
      1254  #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr)
      +
      1255  #endif
      +
      1256 #endif
      +
      1257 #if defined(JSON_HEDLEY_UNREACHABLE)
      +
      1258  #if \
      +
      1259  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
      +
      1260  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
      +
      1261  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value))
      +
      1262  #else
      +
      1263  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE()
      +
      1264  #endif
      +
      1265 #else
      +
      1266  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value)
      +
      1267 #endif
      +
      1268 #if !defined(JSON_HEDLEY_UNREACHABLE)
      +
      1269  #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0)
      +
      1270 #endif
      +
      1271 
      + +
      1273 #if JSON_HEDLEY_HAS_WARNING("-Wpedantic")
      +
      1274  #pragma clang diagnostic ignored "-Wpedantic"
      +
      1275 #endif
      +
      1276 #if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus)
      +
      1277  #pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
      +
      1278 #endif
      +
      1279 #if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0)
      +
      1280  #if defined(__clang__)
      +
      1281  #pragma clang diagnostic ignored "-Wvariadic-macros"
      +
      1282  #elif defined(JSON_HEDLEY_GCC_VERSION)
      +
      1283  #pragma GCC diagnostic ignored "-Wvariadic-macros"
      +
      1284  #endif
      +
      1285 #endif
      +
      1286 #if defined(JSON_HEDLEY_NON_NULL)
      +
      1287  #undef JSON_HEDLEY_NON_NULL
      +
      1288 #endif
      +
      1289 #if \
      +
      1290  JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \
      +
      1291  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1292  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1293  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
      +
      1294  #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
      +
      1295 #else
      +
      1296  #define JSON_HEDLEY_NON_NULL(...)
      +
      1297 #endif
      + +
      1299 
      +
      1300 #if defined(JSON_HEDLEY_PRINTF_FORMAT)
      +
      1301  #undef JSON_HEDLEY_PRINTF_FORMAT
      +
      1302 #endif
      +
      1303 #if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO)
      +
      1304  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check)))
      +
      1305 #elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO)
      +
      1306  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check)))
      +
      1307 #elif \
      +
      1308  JSON_HEDLEY_HAS_ATTRIBUTE(format) || \
      +
      1309  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1310  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1311  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
      +
      1312  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1313  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1314  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1315  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1316  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1317  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1318  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1319  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1320  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1321  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1322  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1323  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1324  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check)))
      +
      1325 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0)
      +
      1326  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check))
      +
      1327 #else
      +
      1328  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
      +
      1329 #endif
      +
      1330 
      +
      1331 #if defined(JSON_HEDLEY_CONSTEXPR)
      +
      1332  #undef JSON_HEDLEY_CONSTEXPR
      +
      1333 #endif
      +
      1334 #if defined(__cplusplus)
      +
      1335  #if __cplusplus >= 201103L
      +
      1336  #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
      +
      1337  #endif
      +
      1338 #endif
      +
      1339 #if !defined(JSON_HEDLEY_CONSTEXPR)
      +
      1340  #define JSON_HEDLEY_CONSTEXPR
      +
      1341 #endif
      +
      1342 
      +
      1343 #if defined(JSON_HEDLEY_PREDICT)
      +
      1344  #undef JSON_HEDLEY_PREDICT
      +
      1345 #endif
      +
      1346 #if defined(JSON_HEDLEY_LIKELY)
      +
      1347  #undef JSON_HEDLEY_LIKELY
      +
      1348 #endif
      +
      1349 #if defined(JSON_HEDLEY_UNLIKELY)
      +
      1350  #undef JSON_HEDLEY_UNLIKELY
      +
      1351 #endif
      +
      1352 #if defined(JSON_HEDLEY_UNPREDICTABLE)
      +
      1353  #undef JSON_HEDLEY_UNPREDICTABLE
      +
      1354 #endif
      +
      1355 #if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable)
      +
      1356  #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr))
      +
      1357 #endif
      +
      1358 #if \
      +
      1359  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) || \
      +
      1360  JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0)
      +
      1361 # define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability))
      +
      1362 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability))
      +
      1363 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability))
      +
      1364 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 )
      +
      1365 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 )
      +
      1366 #elif \
      +
      1367  JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) || \
      +
      1368  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
      +
      1369  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1370  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
      +
      1371  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1372  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1373  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1374  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
      +
      1375  JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
      +
      1376  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
      +
      1377  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
      +
      1378  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1379  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
      +
      1380  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \
      +
      1381  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)
      +
      1382 # define JSON_HEDLEY_PREDICT(expr, expected, probability) \
      +
      1383  (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)))
      +
      1384 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \
      +
      1385  (__extension__ ({ \
      +
      1386  double hedley_probability_ = (probability); \
      +
      1387  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \
      +
      1388  }))
      +
      1389 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \
      +
      1390  (__extension__ ({ \
      +
      1391  double hedley_probability_ = (probability); \
      +
      1392  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \
      +
      1393  }))
      +
      1394 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
      +
      1395 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
      +
      1396 #else
      +
      1397 # define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
      +
      1398 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr))
      +
      1399 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr))
      +
      1400 # define JSON_HEDLEY_LIKELY(expr) (!!(expr))
      +
      1401 # define JSON_HEDLEY_UNLIKELY(expr) (!!(expr))
      +
      1402 #endif
      +
      1403 #if !defined(JSON_HEDLEY_UNPREDICTABLE)
      +
      1404  #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5)
      +
      1405 #endif
      +
      1406 
      +
      1407 #if defined(JSON_HEDLEY_MALLOC)
      +
      1408  #undef JSON_HEDLEY_MALLOC
      +
      1409 #endif
      +
      1410 #if \
      +
      1411  JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \
      +
      1412  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1413  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1414  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1415  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1416  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
      +
      1417  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1418  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1419  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1420  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1421  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1422  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1423  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1424  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1425  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1426  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1427  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1428  #define JSON_HEDLEY_MALLOC __attribute__((__malloc__))
      +
      1429 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1430  #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory")
      +
      1431 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(14, 0, 0)
      +
      1432  #define JSON_HEDLEY_MALLOC __declspec(restrict)
      +
      1433 #else
      +
      1434  #define JSON_HEDLEY_MALLOC
      +
      1435 #endif
      +
      1436 
      +
      1437 #if defined(JSON_HEDLEY_PURE)
      +
      1438  #undef JSON_HEDLEY_PURE
      +
      1439 #endif
      +
      1440 #if \
      +
      1441  JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \
      +
      1442  JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \
      +
      1443  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1444  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1445  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1446  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1447  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1448  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1449  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1450  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1451  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1452  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1453  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1454  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1455  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1456  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1457  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
      +
      1458  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1459 # define JSON_HEDLEY_PURE __attribute__((__pure__))
      +
      1460 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1461 # define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data")
      +
      1462 #elif defined(__cplusplus) && \
      +
      1463  ( \
      +
      1464  JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
      +
      1465  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \
      +
      1466  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \
      +
      1467  )
      +
      1468 # define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;")
      +
      1469 #else
      +
      1470 # define JSON_HEDLEY_PURE
      +
      1471 #endif
      +
      1472 
      +
      1473 #if defined(JSON_HEDLEY_CONST)
      +
      1474  #undef JSON_HEDLEY_CONST
      +
      1475 #endif
      +
      1476 #if \
      +
      1477  JSON_HEDLEY_HAS_ATTRIBUTE(const) || \
      +
      1478  JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \
      +
      1479  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1480  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1481  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1482  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1483  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1484  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1485  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1486  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1487  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1488  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1489  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1490  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1491  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1492  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1493  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
      +
      1494  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
      +
      1495  #define JSON_HEDLEY_CONST __attribute__((__const__))
      +
      1496 #elif \
      +
      1497  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
      +
      1498  #define JSON_HEDLEY_CONST _Pragma("no_side_effect")
      +
      1499 #else
      +
      1500  #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE
      +
      1501 #endif
      +
      1502 
      +
      1503 #if defined(JSON_HEDLEY_RESTRICT)
      +
      1504  #undef JSON_HEDLEY_RESTRICT
      +
      1505 #endif
      +
      1506 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus)
      +
      1507  #define JSON_HEDLEY_RESTRICT restrict
      +
      1508 #elif \
      +
      1509  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
      +
      1510  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
      +
      1511  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1512  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1513  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1514  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
      +
      1515  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1516  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \
      +
      1517  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
      +
      1518  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1519  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \
      +
      1520  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
      +
      1521  defined(__clang__)
      +
      1522  #define JSON_HEDLEY_RESTRICT __restrict
      +
      1523 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus)
      +
      1524  #define JSON_HEDLEY_RESTRICT _Restrict
      +
      1525 #else
      +
      1526  #define JSON_HEDLEY_RESTRICT
      +
      1527 #endif
      +
      1528 
      +
      1529 #if defined(JSON_HEDLEY_INLINE)
      +
      1530  #undef JSON_HEDLEY_INLINE
      +
      1531 #endif
      +
      1532 #if \
      +
      1533  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
      +
      1534  (defined(__cplusplus) && (__cplusplus >= 199711L))
      +
      1535  #define JSON_HEDLEY_INLINE inline
      +
      1536 #elif \
      +
      1537  defined(JSON_HEDLEY_GCC_VERSION) || \
      +
      1538  JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0)
      +
      1539  #define JSON_HEDLEY_INLINE __inline__
      +
      1540 #elif \
      +
      1541  JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
      +
      1542  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1543  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \
      +
      1544  JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
      +
      1545  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
      +
      1546  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
      +
      1547  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1548  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1549  #define JSON_HEDLEY_INLINE __inline
      +
      1550 #else
      +
      1551  #define JSON_HEDLEY_INLINE
      +
      1552 #endif
      +
      1553 
      +
      1554 #if defined(JSON_HEDLEY_ALWAYS_INLINE)
      +
      1555  #undef JSON_HEDLEY_ALWAYS_INLINE
      +
      1556 #endif
      +
      1557 #if \
      +
      1558  JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \
      +
      1559  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      1560  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1561  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1562  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1563  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1564  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1565  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1566  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1567  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1568  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1569  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1570  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1571  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1572  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1573  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1574  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1575 # define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
      +
      1576 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0)
      +
      1577 # define JSON_HEDLEY_ALWAYS_INLINE __forceinline
      +
      1578 #elif defined(__cplusplus) && \
      +
      1579  ( \
      +
      1580  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1581  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1582  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1583  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
      +
      1584  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1585  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \
      +
      1586  )
      +
      1587 # define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
      +
      1588 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1589 # define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced")
      +
      1590 #else
      +
      1591 # define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE
      +
      1592 #endif
      +
      1593 
      +
      1594 #if defined(JSON_HEDLEY_NEVER_INLINE)
      +
      1595  #undef JSON_HEDLEY_NEVER_INLINE
      +
      1596 #endif
      +
      1597 #if \
      +
      1598  JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \
      +
      1599  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
      +
      1600  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1601  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1602  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1603  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
      +
      1604  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
      +
      1605  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1606  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
      +
      1607  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1608  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
      +
      1609  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1610  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
      +
      1611  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1612  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
      +
      1613  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
      +
      1614  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
      +
      1615  #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__))
      +
      1616 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)
      +
      1617  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
      +
      1618 #elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0)
      +
      1619  #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline")
      +
      1620 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
      +
      1621  #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;")
      +
      1622 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1623  #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never")
      +
      1624 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
      +
      1625  #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline))
      +
      1626 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
      +
      1627  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
      +
      1628 #else
      +
      1629  #define JSON_HEDLEY_NEVER_INLINE
      +
      1630 #endif
      +
      1631 
      +
      1632 #if defined(JSON_HEDLEY_PRIVATE)
      +
      1633  #undef JSON_HEDLEY_PRIVATE
      +
      1634 #endif
      +
      1635 #if defined(JSON_HEDLEY_PUBLIC)
      +
      1636  #undef JSON_HEDLEY_PUBLIC
      +
      1637 #endif
      +
      1638 #if defined(JSON_HEDLEY_IMPORT)
      +
      1639  #undef JSON_HEDLEY_IMPORT
      +
      1640 #endif
      +
      1641 #if defined(_WIN32) || defined(__CYGWIN__)
      +
      1642 # define JSON_HEDLEY_PRIVATE
      +
      1643 # define JSON_HEDLEY_PUBLIC __declspec(dllexport)
      +
      1644 # define JSON_HEDLEY_IMPORT __declspec(dllimport)
      +
      1645 #else
      +
      1646 # if \
      +
      1647  JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \
      +
      1648  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1649  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
      +
      1650  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1651  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1652  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1653  ( \
      +
      1654  defined(__TI_EABI__) && \
      +
      1655  ( \
      +
      1656  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
      +
      1657  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \
      +
      1658  ) \
      +
      1659  )
      +
      1660 # define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden")))
      +
      1661 # define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default")))
      +
      1662 # else
      +
      1663 # define JSON_HEDLEY_PRIVATE
      +
      1664 # define JSON_HEDLEY_PUBLIC
      +
      1665 # endif
      +
      1666 # define JSON_HEDLEY_IMPORT extern
      +
      1667 #endif
      +
      1668 
      +
      1669 #if defined(JSON_HEDLEY_NO_THROW)
      +
      1670  #undef JSON_HEDLEY_NO_THROW
      +
      1671 #endif
      +
      1672 #if \
      +
      1673  JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \
      +
      1674  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
      +
      1675  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1676  #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__))
      +
      1677 #elif \
      +
      1678  JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \
      +
      1679  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
      +
      1680  #define JSON_HEDLEY_NO_THROW __declspec(nothrow)
      +
      1681 #else
      +
      1682  #define JSON_HEDLEY_NO_THROW
      +
      1683 #endif
      +
      1684 
      +
      1685 #if defined(JSON_HEDLEY_FALL_THROUGH)
      +
      1686  #undef JSON_HEDLEY_FALL_THROUGH
      +
      1687 #endif
      +
      1688 #if \
      +
      1689  JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \
      +
      1690  JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0)
      +
      1691  #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__))
      +
      1692 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough)
      +
      1693  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
      +
      1694 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough)
      +
      1695  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
      +
      1696 #elif defined(__fallthrough) /* SAL */
      +
      1697  #define JSON_HEDLEY_FALL_THROUGH __fallthrough
      +
      1698 #else
      +
      1699  #define JSON_HEDLEY_FALL_THROUGH
      +
      1700 #endif
      +
      1701 
      +
      1702 #if defined(JSON_HEDLEY_RETURNS_NON_NULL)
      +
      1703  #undef JSON_HEDLEY_RETURNS_NON_NULL
      +
      1704 #endif
      +
      1705 #if \
      +
      1706  JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \
      +
      1707  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0)
      +
      1708  #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__))
      +
      1709 #elif defined(_Ret_notnull_) /* SAL */
      +
      1710  #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_
      +
      1711 #else
      +
      1712  #define JSON_HEDLEY_RETURNS_NON_NULL
      +
      1713 #endif
      +
      1714 
      +
      1715 #if defined(JSON_HEDLEY_ARRAY_PARAM)
      +
      1716  #undef JSON_HEDLEY_ARRAY_PARAM
      +
      1717 #endif
      +
      1718 #if \
      +
      1719  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
      +
      1720  !defined(__STDC_NO_VLA__) && \
      +
      1721  !defined(__cplusplus) && \
      +
      1722  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      1723  !defined(JSON_HEDLEY_TINYC_VERSION)
      +
      1724  #define JSON_HEDLEY_ARRAY_PARAM(name) (name)
      +
      1725 #else
      +
      1726  #define JSON_HEDLEY_ARRAY_PARAM(name)
      +
      1727 #endif
      +
      1728 
      +
      1729 #if defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1730  #undef JSON_HEDLEY_IS_CONSTANT
      +
      1731 #endif
      +
      1732 #if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR)
      +
      1733  #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
      +
      1734 #endif
      +
      1735 /* JSON_HEDLEY_IS_CONSTEXPR_ is for
      +
      1736  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
      +
      1737 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
      +
      1738  #undef JSON_HEDLEY_IS_CONSTEXPR_
      +
      1739 #endif
      +
      1740 #if \
      +
      1741  JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
      +
      1742  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      1743  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1744  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
      +
      1745  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
      +
      1746  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1747  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
      +
      1748  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
      +
      1749  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)
      +
      1750  #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr)
      +
      1751 #endif
      +
      1752 #if !defined(__cplusplus)
      +
      1753 # if \
      +
      1754  JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \
      +
      1755  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
      +
      1756  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1757  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
      +
      1758  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
      +
      1759  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
      +
      1760  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24)
      +
      1761 #if defined(__INTPTR_TYPE__)
      +
      1762  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*)
      +
      1763 #else
      +
      1764  #include <stdint.h>
      +
      1765  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*)
      +
      1766 #endif
      +
      1767 # elif \
      +
      1768  ( \
      +
      1769  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
      +
      1770  !defined(JSON_HEDLEY_SUNPRO_VERSION) && \
      +
      1771  !defined(JSON_HEDLEY_PGI_VERSION) && \
      +
      1772  !defined(JSON_HEDLEY_IAR_VERSION)) || \
      +
      1773  JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) || \
      +
      1774  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
      +
      1775  JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
      +
      1776  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
      +
      1777  JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0)
      +
      1778 #if defined(__INTPTR_TYPE__)
      +
      1779  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0)
      +
      1780 #else
      +
      1781  #include <stdint.h>
      +
      1782  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0)
      +
      1783 #endif
      +
      1784 # elif \
      +
      1785  defined(JSON_HEDLEY_GCC_VERSION) || \
      +
      1786  defined(JSON_HEDLEY_INTEL_VERSION) || \
      +
      1787  defined(JSON_HEDLEY_TINYC_VERSION) || \
      +
      1788  defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \
      +
      1789  JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \
      +
      1790  defined(JSON_HEDLEY_TI_CL2000_VERSION) || \
      +
      1791  defined(JSON_HEDLEY_TI_CL6X_VERSION) || \
      +
      1792  defined(JSON_HEDLEY_TI_CL7X_VERSION) || \
      +
      1793  defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \
      +
      1794  defined(__clang__)
      +
      1795 # define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \
      +
      1796  sizeof(void) != \
      +
      1797  sizeof(*( \
      +
      1798  1 ? \
      +
      1799  ((void*) ((expr) * 0L) ) : \
      +
      1800 ((struct { char v[sizeof(void) * 2]; } *) 1) \
      +
      1801  ) \
      +
      1802  ) \
      +
      1803  )
      +
      1804 # endif
      +
      1805 #endif
      +
      1806 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
      +
      1807  #if !defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1808  #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr)
      +
      1809  #endif
      +
      1810  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1))
      +
      1811 #else
      +
      1812  #if !defined(JSON_HEDLEY_IS_CONSTANT)
      +
      1813  #define JSON_HEDLEY_IS_CONSTANT(expr) (0)
      +
      1814  #endif
      +
      1815  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr)
      +
      1816 #endif
      +
      1817 
      +
      1818 #if defined(JSON_HEDLEY_BEGIN_C_DECLS)
      +
      1819  #undef JSON_HEDLEY_BEGIN_C_DECLS
      +
      1820 #endif
      +
      1821 #if defined(JSON_HEDLEY_END_C_DECLS)
      +
      1822  #undef JSON_HEDLEY_END_C_DECLS
      +
      1823 #endif
      +
      1824 #if defined(JSON_HEDLEY_C_DECL)
      +
      1825  #undef JSON_HEDLEY_C_DECL
      +
      1826 #endif
      +
      1827 #if defined(__cplusplus)
      +
      1828  #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" {
      +
      1829  #define JSON_HEDLEY_END_C_DECLS }
      +
      1830  #define JSON_HEDLEY_C_DECL extern "C"
      +
      1831 #else
      +
      1832  #define JSON_HEDLEY_BEGIN_C_DECLS
      +
      1833  #define JSON_HEDLEY_END_C_DECLS
      +
      1834  #define JSON_HEDLEY_C_DECL
      +
      1835 #endif
      +
      1836 
      +
      1837 #if defined(JSON_HEDLEY_STATIC_ASSERT)
      +
      1838  #undef JSON_HEDLEY_STATIC_ASSERT
      +
      1839 #endif
      +
      1840 #if \
      +
      1841  !defined(__cplusplus) && ( \
      +
      1842  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
      +
      1843  JSON_HEDLEY_HAS_FEATURE(c_static_assert) || \
      +
      1844  JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
      +
      1845  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
      +
      1846  defined(_Static_assert) \
      +
      1847  )
      +
      1848 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
      +
      1849 #elif \
      +
      1850  (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
      +
      1851  JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0)
      +
      1852 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
      +
      1853 #else
      +
      1854 # define JSON_HEDLEY_STATIC_ASSERT(expr, message)
      +
      1855 #endif
      +
      1856 
      +
      1857 #if defined(JSON_HEDLEY_NULL)
      +
      1858  #undef JSON_HEDLEY_NULL
      +
      1859 #endif
      +
      1860 #if defined(__cplusplus)
      +
      1861  #if __cplusplus >= 201103L
      +
      1862  #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
      +
      1863  #elif defined(NULL)
      +
      1864  #define JSON_HEDLEY_NULL NULL
      +
      1865  #else
      +
      1866  #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0)
      +
      1867  #endif
      +
      1868 #elif defined(NULL)
      +
      1869  #define JSON_HEDLEY_NULL NULL
      +
      1870 #else
      +
      1871  #define JSON_HEDLEY_NULL ((void*) 0)
      +
      1872 #endif
      +
      1873 
      +
      1874 #if defined(JSON_HEDLEY_MESSAGE)
      +
      1875  #undef JSON_HEDLEY_MESSAGE
      +
      1876 #endif
      +
      1877 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      1878 # define JSON_HEDLEY_MESSAGE(msg) \
      +
      1879  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1880  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
      +
      1881  JSON_HEDLEY_PRAGMA(message msg) \
      +
      1882  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1883 #elif \
      +
      1884  JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \
      +
      1885  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1886 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg)
      +
      1887 #elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0)
      +
      1888 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg)
      +
      1889 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
      +
      1890 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1891 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0)
      +
      1892 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1893 #else
      +
      1894 # define JSON_HEDLEY_MESSAGE(msg)
      +
      1895 #endif
      +
      1896 
      +
      1897 #if defined(JSON_HEDLEY_WARNING)
      +
      1898  #undef JSON_HEDLEY_WARNING
      +
      1899 #endif
      +
      1900 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
      +
      1901 # define JSON_HEDLEY_WARNING(msg) \
      +
      1902  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1903  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
      +
      1904  JSON_HEDLEY_PRAGMA(clang warning msg) \
      +
      1905  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1906 #elif \
      +
      1907  JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \
      +
      1908  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
      +
      1909  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
      +
      1910 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg)
      +
      1911 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
      +
      1912 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg))
      +
      1913 #else
      +
      1914 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg)
      +
      1915 #endif
      +
      1916 
      +
      1917 #if defined(JSON_HEDLEY_REQUIRE)
      +
      1918  #undef JSON_HEDLEY_REQUIRE
      +
      1919 #endif
      +
      1920 #if defined(JSON_HEDLEY_REQUIRE_MSG)
      +
      1921  #undef JSON_HEDLEY_REQUIRE_MSG
      +
      1922 #endif
      +
      1923 #if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if)
      +
      1924 # if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat")
      +
      1925 # define JSON_HEDLEY_REQUIRE(expr) \
      +
      1926  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1927  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
      +
      1928  __attribute__((diagnose_if(!(expr), #expr, "error"))) \
      +
      1929  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1930 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \
      +
      1931  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1932  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
      +
      1933  __attribute__((diagnose_if(!(expr), msg, "error"))) \
      +
      1934  JSON_HEDLEY_DIAGNOSTIC_POP
      +
      1935 # else
      +
      1936 # define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error")))
      +
      1937 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error")))
      +
      1938 # endif
      +
      1939 #else
      +
      1940 # define JSON_HEDLEY_REQUIRE(expr)
      +
      1941 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg)
      +
      1942 #endif
      +
      1943 
      +
      1944 #if defined(JSON_HEDLEY_FLAGS)
      +
      1945  #undef JSON_HEDLEY_FLAGS
      +
      1946 #endif
      +
      1947 #if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum)
      +
      1948  #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__))
      +
      1949 #endif
      +
      1950 
      +
      1951 #if defined(JSON_HEDLEY_FLAGS_CAST)
      +
      1952  #undef JSON_HEDLEY_FLAGS_CAST
      +
      1953 #endif
      +
      1954 #if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0)
      +
      1955 # define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \
      +
      1956  JSON_HEDLEY_DIAGNOSTIC_PUSH \
      +
      1957  _Pragma("warning(disable:188)") \
      +
      1958  ((T) (expr)); \
      +
      1959  JSON_HEDLEY_DIAGNOSTIC_POP \
      +
      1960  }))
      +
      1961 #else
      +
      1962 # define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr)
      +
      1963 #endif
      +
      1964 
      +
      1965 #if defined(JSON_HEDLEY_EMPTY_BASES)
      +
      1966  #undef JSON_HEDLEY_EMPTY_BASES
      +
      1967 #endif
      +
      1968 #if JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)
      +
      1969  #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases)
      +
      1970 #else
      +
      1971  #define JSON_HEDLEY_EMPTY_BASES
      +
      1972 #endif
      +
      1973 
      +
      1974 /* Remaining macros are deprecated. */
      +
      1975 
      +
      1976 #if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK)
      +
      1977  #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
      +
      1978 #endif
      +
      1979 #if defined(__clang__)
      +
      1980  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0)
      +
      1981 #else
      +
      1982  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
      +
      1983 #endif
      +
      1984 
      +
      1985 #if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE)
      +
      1986  #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
      +
      1987 #endif
      +
      1988 #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
      +
      1989 
      +
      1990 #if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE)
      +
      1991  #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
      +
      1992 #endif
      +
      1993 #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
      +
      1994 
      +
      1995 #if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN)
      +
      1996  #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
      +
      1997 #endif
      +
      1998 #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin)
      +
      1999 
      +
      2000 #if defined(JSON_HEDLEY_CLANG_HAS_FEATURE)
      +
      2001  #undef JSON_HEDLEY_CLANG_HAS_FEATURE
      +
      2002 #endif
      +
      2003 #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature)
      +
      2004 
      +
      2005 #if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION)
      +
      2006  #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
      +
      2007 #endif
      +
      2008 #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension)
      +
      2009 
      +
      2010 #if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE)
      +
      2011  #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
      +
      2012 #endif
      +
      2013 #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
      +
      2014 
      +
      2015 #if defined(JSON_HEDLEY_CLANG_HAS_WARNING)
      +
      2016  #undef JSON_HEDLEY_CLANG_HAS_WARNING
      +
      2017 #endif
      +
      2018 #define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning)
      +
      2019 
      +
      2020 #endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */
      +
      2021 
      +
      2022 
      +
      2023 // This file contains all internal macro definitions
      +
      2024 // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them
      +
      2025 
      +
      2026 // exclude unsupported compilers
      +
      2027 #if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK)
      +
      2028  #if defined(__clang__)
      +
      2029  #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
      +
      2030  #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
      +
      2031  #endif
      +
      2032  #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
      +
      2033  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800
      +
      2034  #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
      +
      2035  #endif
      +
      2036  #endif
      +
      2037 #endif
      +
      2038 
      +
      2039 // C++ language standard detection
      +
      2040 #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
      +
      2041  #define JSON_HAS_CPP_20
      +
      2042  #define JSON_HAS_CPP_17
      +
      2043  #define JSON_HAS_CPP_14
      +
      2044 #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464
      +
      2045  #define JSON_HAS_CPP_17
      +
      2046  #define JSON_HAS_CPP_14
      +
      2047 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
      +
      2048  #define JSON_HAS_CPP_14
      +
      2049 #endif
      +
      2050 
      +
      2051 // disable float-equal warnings on GCC/clang
      +
      2052 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
      +
      2053  #pragma GCC diagnostic push
      +
      2054  #pragma GCC diagnostic ignored "-Wfloat-equal"
      +
      2055 #endif
      +
      2056 
      +
      2057 // disable documentation warnings on clang
      +
      2058 #if defined(__clang__)
      +
      2059  #pragma GCC diagnostic push
      +
      2060  #pragma GCC diagnostic ignored "-Wdocumentation"
      +
      2061 #endif
      +
      2062 
      +
      2063 // allow to disable exceptions
      +
      2064 #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
      +
      2065  #define JSON_THROW(exception) throw exception
      +
      2066  #define JSON_TRY try
      +
      2067  #define JSON_CATCH(exception) catch(exception)
      +
      2068  #define JSON_INTERNAL_CATCH(exception) catch(exception)
      +
      2069 #else
      +
      2070  #include <cstdlib>
      +
      2071  #define JSON_THROW(exception) std::abort()
      +
      2072  #define JSON_TRY if(true)
      +
      2073  #define JSON_CATCH(exception) if(false)
      +
      2074  #define JSON_INTERNAL_CATCH(exception) if(false)
      +
      2075 #endif
      +
      2076 
      +
      2077 // override exception macros
      +
      2078 #if defined(JSON_THROW_USER)
      +
      2079  #undef JSON_THROW
      +
      2080  #define JSON_THROW JSON_THROW_USER
      +
      2081 #endif
      +
      2082 #if defined(JSON_TRY_USER)
      +
      2083  #undef JSON_TRY
      +
      2084  #define JSON_TRY JSON_TRY_USER
      +
      2085 #endif
      +
      2086 #if defined(JSON_CATCH_USER)
      +
      2087  #undef JSON_CATCH
      +
      2088  #define JSON_CATCH JSON_CATCH_USER
      +
      2089  #undef JSON_INTERNAL_CATCH
      +
      2090  #define JSON_INTERNAL_CATCH JSON_CATCH_USER
      +
      2091 #endif
      +
      2092 #if defined(JSON_INTERNAL_CATCH_USER)
      +
      2093  #undef JSON_INTERNAL_CATCH
      +
      2094  #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER
      +
      2095 #endif
      +
      2096 
      +
      2097 // allow to override assert
      +
      2098 #if !defined(JSON_ASSERT)
      +
      2099  #include <cassert> // assert
      +
      2100  #define JSON_ASSERT(x) assert(x)
      +
      2101 #endif
      +
      2102 
      +
      2108 #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \
      +
      2109  template<typename BasicJsonType> \
      +
      2110  inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
      +
      2111  { \
      +
      2112  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      2113  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      2114  auto it = std::find_if(std::begin(m), std::end(m), \
      +
      2115  [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      2116  { \
      +
      2117  return ej_pair.first == e; \
      +
      2118  }); \
      +
      2119  j = ((it != std::end(m)) ? it : std::begin(m))->second; \
      +
      2120  } \
      +
      2121  template<typename BasicJsonType> \
      +
      2122  inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
      +
      2123  { \
      +
      2124  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
      +
      2125  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
      +
      2126  auto it = std::find_if(std::begin(m), std::end(m), \
      +
      2127  [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
      +
      2128  { \
      +
      2129  return ej_pair.second == j; \
      +
      2130  }); \
      +
      2131  e = ((it != std::end(m)) ? it : std::begin(m))->first; \
      +
      2132  }
      +
      2133 
      +
      2134 // Ugly macros to avoid uglier copy-paste when specializing basic_json. They
      +
      2135 // may be removed in the future once the class is split.
      +
      2136 
      +
      2137 #define NLOHMANN_BASIC_JSON_TPL_DECLARATION \
      +
      2138  template<template<typename, typename, typename...> class ObjectType, \
      +
      2139  template<typename, typename...> class ArrayType, \
      +
      2140  class StringType, class BooleanType, class NumberIntegerType, \
      +
      2141  class NumberUnsignedType, class NumberFloatType, \
      +
      2142  template<typename> class AllocatorType, \
      +
      2143  template<typename, typename = void> class JSONSerializer, \
      +
      2144  class BinaryType>
      +
      2145 
      +
      2146 #define NLOHMANN_BASIC_JSON_TPL \
      +
      2147  basic_json<ObjectType, ArrayType, StringType, BooleanType, \
      +
      2148  NumberIntegerType, NumberUnsignedType, NumberFloatType, \
      +
      2149  AllocatorType, JSONSerializer, BinaryType>
      +
      2150 
      +
      2151 // Macros to simplify conversion from/to types
      +
      2152 
      +
      2153 #define NLOHMANN_JSON_EXPAND( x ) x
      +
      2154 #define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME
      +
      2155 #define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \
      +
      2156  NLOHMANN_JSON_PASTE64, \
      +
      2157  NLOHMANN_JSON_PASTE63, \
      +
      2158  NLOHMANN_JSON_PASTE62, \
      +
      2159  NLOHMANN_JSON_PASTE61, \
      +
      2160  NLOHMANN_JSON_PASTE60, \
      +
      2161  NLOHMANN_JSON_PASTE59, \
      +
      2162  NLOHMANN_JSON_PASTE58, \
      +
      2163  NLOHMANN_JSON_PASTE57, \
      +
      2164  NLOHMANN_JSON_PASTE56, \
      +
      2165  NLOHMANN_JSON_PASTE55, \
      +
      2166  NLOHMANN_JSON_PASTE54, \
      +
      2167  NLOHMANN_JSON_PASTE53, \
      +
      2168  NLOHMANN_JSON_PASTE52, \
      +
      2169  NLOHMANN_JSON_PASTE51, \
      +
      2170  NLOHMANN_JSON_PASTE50, \
      +
      2171  NLOHMANN_JSON_PASTE49, \
      +
      2172  NLOHMANN_JSON_PASTE48, \
      +
      2173  NLOHMANN_JSON_PASTE47, \
      +
      2174  NLOHMANN_JSON_PASTE46, \
      +
      2175  NLOHMANN_JSON_PASTE45, \
      +
      2176  NLOHMANN_JSON_PASTE44, \
      +
      2177  NLOHMANN_JSON_PASTE43, \
      +
      2178  NLOHMANN_JSON_PASTE42, \
      +
      2179  NLOHMANN_JSON_PASTE41, \
      +
      2180  NLOHMANN_JSON_PASTE40, \
      +
      2181  NLOHMANN_JSON_PASTE39, \
      +
      2182  NLOHMANN_JSON_PASTE38, \
      +
      2183  NLOHMANN_JSON_PASTE37, \
      +
      2184  NLOHMANN_JSON_PASTE36, \
      +
      2185  NLOHMANN_JSON_PASTE35, \
      +
      2186  NLOHMANN_JSON_PASTE34, \
      +
      2187  NLOHMANN_JSON_PASTE33, \
      +
      2188  NLOHMANN_JSON_PASTE32, \
      +
      2189  NLOHMANN_JSON_PASTE31, \
      +
      2190  NLOHMANN_JSON_PASTE30, \
      +
      2191  NLOHMANN_JSON_PASTE29, \
      +
      2192  NLOHMANN_JSON_PASTE28, \
      +
      2193  NLOHMANN_JSON_PASTE27, \
      +
      2194  NLOHMANN_JSON_PASTE26, \
      +
      2195  NLOHMANN_JSON_PASTE25, \
      +
      2196  NLOHMANN_JSON_PASTE24, \
      +
      2197  NLOHMANN_JSON_PASTE23, \
      +
      2198  NLOHMANN_JSON_PASTE22, \
      +
      2199  NLOHMANN_JSON_PASTE21, \
      +
      2200  NLOHMANN_JSON_PASTE20, \
      +
      2201  NLOHMANN_JSON_PASTE19, \
      +
      2202  NLOHMANN_JSON_PASTE18, \
      +
      2203  NLOHMANN_JSON_PASTE17, \
      +
      2204  NLOHMANN_JSON_PASTE16, \
      +
      2205  NLOHMANN_JSON_PASTE15, \
      +
      2206  NLOHMANN_JSON_PASTE14, \
      +
      2207  NLOHMANN_JSON_PASTE13, \
      +
      2208  NLOHMANN_JSON_PASTE12, \
      +
      2209  NLOHMANN_JSON_PASTE11, \
      +
      2210  NLOHMANN_JSON_PASTE10, \
      +
      2211  NLOHMANN_JSON_PASTE9, \
      +
      2212  NLOHMANN_JSON_PASTE8, \
      +
      2213  NLOHMANN_JSON_PASTE7, \
      +
      2214  NLOHMANN_JSON_PASTE6, \
      +
      2215  NLOHMANN_JSON_PASTE5, \
      +
      2216  NLOHMANN_JSON_PASTE4, \
      +
      2217  NLOHMANN_JSON_PASTE3, \
      +
      2218  NLOHMANN_JSON_PASTE2, \
      +
      2219  NLOHMANN_JSON_PASTE1)(__VA_ARGS__))
      +
      2220 #define NLOHMANN_JSON_PASTE2(func, v1) func(v1)
      +
      2221 #define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
      +
      2222 #define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
      +
      2223 #define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
      +
      2224 #define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
      +
      2225 #define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
      +
      2226 #define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
      +
      2227 #define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
      +
      2228 #define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
      +
      2229 #define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
      +
      2230 #define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
      +
      2231 #define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
      +
      2232 #define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
      +
      2233 #define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
      +
      2234 #define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
      +
      2235 #define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
      +
      2236 #define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
      +
      2237 #define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
      +
      2238 #define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
      +
      2239 #define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
      +
      2240 #define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
      +
      2241 #define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
      +
      2242 #define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
      +
      2243 #define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
      +
      2244 #define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
      +
      2245 #define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
      +
      2246 #define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
      +
      2247 #define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
      +
      2248 #define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
      +
      2249 #define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
      +
      2250 #define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
      +
      2251 #define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
      +
      2252 #define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
      +
      2253 #define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
      +
      2254 #define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
      +
      2255 #define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
      +
      2256 #define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
      +
      2257 #define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
      +
      2258 #define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
      +
      2259 #define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
      +
      2260 #define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
      +
      2261 #define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
      +
      2262 #define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
      +
      2263 #define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
      +
      2264 #define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
      +
      2265 #define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
      +
      2266 #define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
      +
      2267 #define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
      +
      2268 #define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
      +
      2269 #define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
      +
      2270 #define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
      +
      2271 #define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
      +
      2272 #define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
      +
      2273 #define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
      +
      2274 #define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
      +
      2275 #define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
      +
      2276 #define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
      +
      2277 #define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
      +
      2278 #define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
      +
      2279 #define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
      +
      2280 #define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
      +
      2281 #define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
      +
      2282 #define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
      +
      2283 
      +
      2284 #define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1;
      +
      2285 #define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
      +
      2286 
      +
      2292 #define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \
      +
      2293  friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
      +
      2294  friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
      +
      2295 
      +
      2301 #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \
      +
      2302  inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
      +
      2303  inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
      +
      2304 
      +
      2305 #ifndef JSON_USE_IMPLICIT_CONVERSIONS
      +
      2306  #define JSON_USE_IMPLICIT_CONVERSIONS 1
      +
      2307 #endif
      +
      2308 
      +
      2309 #if JSON_USE_IMPLICIT_CONVERSIONS
      +
      2310  #define JSON_EXPLICIT
      +
      2311 #else
      +
      2312  #define JSON_EXPLICIT explicit
      +
      2313 #endif
      +
      2314 
      +
      2315 
      +
      2316 namespace nlohmann
      +
      2317 {
      +
      2318 namespace detail
      +
      2319 {
      +
      2321 // exceptions //
      +
      2323 
      +
      2352 class exception : public std::exception
      +
      2353 {
      +
      2354  public:
      + +
      2357  const char* what() const noexcept override
      +
      2358  {
      +
      2359  return m.what();
      +
      2360  }
      +
      2361 
      +
      2363  const int id;
      +
      2364 
      +
      2365  protected:
      + +
      2367  exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
      +
      2368 
      +
      2369  static std::string name(const std::string& ename, int id_)
      +
      2370  {
      +
      2371  return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
      +
      2372  }
      +
      2373 
      +
      2374  private:
      +
      2376  std::runtime_error m;
      +
      2377 };
      +
      2378 
      +
      2424 class parse_error : public exception
      +
      2425 {
      +
      2426  public:
      +
      2436  static parse_error create(int id_, const position_t& pos, const std::string& what_arg)
      +
      2437  {
      +
      2438  std::string w = exception::name("parse_error", id_) + "parse error" +
      +
      2439  position_string(pos) + ": " + what_arg;
      +
      2440  return parse_error(id_, pos.chars_read_total, w.c_str());
      +
      2441  }
      +
      2442 
      +
      2443  static parse_error create(int id_, std::size_t byte_, const std::string& what_arg)
      +
      2444  {
      +
      2445  std::string w = exception::name("parse_error", id_) + "parse error" +
      +
      2446  (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") +
      +
      2447  ": " + what_arg;
      +
      2448  return parse_error(id_, byte_, w.c_str());
      +
      2449  }
      +
      2450 
      +
      2460  const std::size_t byte;
      +
      2461 
      +
      2462  private:
      +
      2463  parse_error(int id_, std::size_t byte_, const char* what_arg)
      +
      2464  : exception(id_, what_arg), byte(byte_) {}
      +
      2465 
      +
      2466  static std::string position_string(const position_t& pos)
      +
      2467  {
      +
      2468  return " at line " + std::to_string(pos.lines_read + 1) +
      +
      2469  ", column " + std::to_string(pos.chars_read_current_line);
      +
      2470  }
      +
      2471 };
      +
      2472 
      +
      2510 class invalid_iterator : public exception
      +
      2511 {
      +
      2512  public:
      +
      2513  static invalid_iterator create(int id_, const std::string& what_arg)
      +
      2514  {
      +
      2515  std::string w = exception::name("invalid_iterator", id_) + what_arg;
      +
      2516  return invalid_iterator(id_, w.c_str());
      +
      2517  }
      +
      2518 
      +
      2519  private:
      + +
      2521  invalid_iterator(int id_, const char* what_arg)
      +
      2522  : exception(id_, what_arg) {}
      +
      2523 };
      +
      2524 
      +
      2564 class type_error : public exception
      +
      2565 {
      +
      2566  public:
      +
      2567  static type_error create(int id_, const std::string& what_arg)
      +
      2568  {
      +
      2569  std::string w = exception::name("type_error", id_) + what_arg;
      +
      2570  return type_error(id_, w.c_str());
      +
      2571  }
      +
      2572 
      +
      2573  private:
      + +
      2575  type_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2576 };
      +
      2577 
      +
      2611 class out_of_range : public exception
      +
      2612 {
      +
      2613  public:
      +
      2614  static out_of_range create(int id_, const std::string& what_arg)
      +
      2615  {
      +
      2616  std::string w = exception::name("out_of_range", id_) + what_arg;
      +
      2617  return out_of_range(id_, w.c_str());
      +
      2618  }
      +
      2619 
      +
      2620  private:
      + +
      2622  out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2623 };
      +
      2624 
      +
      2649 class other_error : public exception
      +
      2650 {
      +
      2651  public:
      +
      2652  static other_error create(int id_, const std::string& what_arg)
      +
      2653  {
      +
      2654  std::string w = exception::name("other_error", id_) + what_arg;
      +
      2655  return other_error(id_, w.c_str());
      +
      2656  }
      +
      2657 
      +
      2658  private:
      + +
      2660  other_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
      +
      2661 };
      +
      2662 } // namespace detail
      +
      2663 } // namespace nlohmann
      +
      2664 
      +
      2665 // #include <nlohmann/detail/macro_scope.hpp>
      +
      2666 
      +
      2667 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2668 
      +
      2669 
      +
      2670 #include <cstddef> // size_t
      +
      2671 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
      +
      2672 
      +
      2673 namespace nlohmann
      +
      2674 {
      +
      2675 namespace detail
      +
      2676 {
      +
      2677 // alias templates to reduce boilerplate
      +
      2678 template<bool B, typename T = void>
      +
      2679 using enable_if_t = typename std::enable_if<B, T>::type;
      +
      2680 
      +
      2681 template<typename T>
      +
      2682 using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
      +
      2683 
      +
      2684 // implementation of C++14 index_sequence and affiliates
      +
      2685 // source: https://stackoverflow.com/a/32223343
      +
      2686 template<std::size_t... Ints>
      +
      2687 struct index_sequence
      +
      2688 {
      + +
      2690  using value_type = std::size_t;
      +
      2691  static constexpr std::size_t size() noexcept
      +
      2692  {
      +
      2693  return sizeof...(Ints);
      +
      2694  }
      +
      2695 };
      +
      2696 
      +
      2697 template<class Sequence1, class Sequence2>
      +
      2698 struct merge_and_renumber;
      +
      2699 
      +
      2700 template<std::size_t... I1, std::size_t... I2>
      +
      2701 struct merge_and_renumber<index_sequence<I1...>, index_sequence<I2...>>
      +
      2702  : index_sequence < I1..., (sizeof...(I1) + I2)... > {};
      +
      2703 
      +
      2704 template<std::size_t N>
      +
      2705 struct make_index_sequence
      +
      2706  : merge_and_renumber < typename make_index_sequence < N / 2 >::type,
      +
      2707  typename make_index_sequence < N - N / 2 >::type > {};
      +
      2708 
      +
      2709 template<> struct make_index_sequence<0> : index_sequence<> {};
      +
      2710 template<> struct make_index_sequence<1> : index_sequence<0> {};
      +
      2711 
      +
      2712 template<typename... Ts>
      +
      2713 using index_sequence_for = make_index_sequence<sizeof...(Ts)>;
      +
      2714 
      +
      2715 // dispatch utility (taken from ranges-v3)
      +
      2716 template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
      +
      2717 template<> struct priority_tag<0> {};
      +
      2718 
      +
      2719 // taken from ranges-v3
      +
      2720 template<typename T>
      +
      2721 struct static_const
      +
      2722 {
      +
      2723  static constexpr T value{};
      +
      2724 };
      +
      2725 
      +
      2726 template<typename T>
      +
      2727 constexpr T static_const<T>::value;
      +
      2728 } // namespace detail
      +
      2729 } // namespace nlohmann
      +
      2730 
      +
      2731 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      2732 
      +
      2733 
      +
      2734 #include <limits> // numeric_limits
      +
      2735 #include <type_traits> // false_type, is_constructible, is_integral, is_same, true_type
      +
      2736 #include <utility> // declval
      +
      2737 
      +
      2738 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
      +
      2739 
      +
      2740 
      +
      2741 #include <iterator> // random_access_iterator_tag
      +
      2742 
      +
      2743 // #include <nlohmann/detail/meta/void_t.hpp>
      +
      2744 
      +
      2745 
      +
      2746 namespace nlohmann
      +
      2747 {
      +
      2748 namespace detail
      +
      2749 {
      +
      2750 template<typename ...Ts> struct make_void
      +
      2751 {
      +
      2752  using type = void;
      +
      2753 };
      +
      2754 template<typename ...Ts> using void_t = typename make_void<Ts...>::type;
      +
      2755 } // namespace detail
      +
      2756 } // namespace nlohmann
      +
      2757 
      +
      2758 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2759 
      +
      2760 
      +
      2761 namespace nlohmann
      +
      2762 {
      +
      2763 namespace detail
      +
      2764 {
      +
      2765 template<typename It, typename = void>
      +
      2766 struct iterator_types {};
      +
      2767 
      +
      2768 template<typename It>
      +
      2769 struct iterator_types <
      +
      2770  It,
      +
      2771  void_t<typename It::difference_type, typename It::value_type, typename It::pointer,
      +
      2772  typename It::reference, typename It::iterator_category >>
      +
      2773 {
      +
      2774  using difference_type = typename It::difference_type;
      +
      2775  using value_type = typename It::value_type;
      +
      2776  using pointer = typename It::pointer;
      +
      2777  using reference = typename It::reference;
      +
      2778  using iterator_category = typename It::iterator_category;
      +
      2779 };
      +
      2780 
      +
      2781 // This is required as some compilers implement std::iterator_traits in a way that
      +
      2782 // doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341.
      +
      2783 template<typename T, typename = void>
      +
      2784 struct iterator_traits
      +
      2785 {
      +
      2786 };
      +
      2787 
      +
      2788 template<typename T>
      +
      2789 struct iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      +
      2790  : iterator_types<T>
      +
      2791 {
      +
      2792 };
      +
      2793 
      +
      2794 template<typename T>
      +
      2795 struct iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      +
      2796 {
      +
      2797  using iterator_category = std::random_access_iterator_tag;
      +
      2798  using value_type = T;
      +
      2799  using difference_type = ptrdiff_t;
      +
      2800  using pointer = T*;
      +
      2801  using reference = T&;
      +
      2802 };
      +
      2803 } // namespace detail
      +
      2804 } // namespace nlohmann
      +
      2805 
      +
      2806 // #include <nlohmann/detail/macro_scope.hpp>
      +
      2807 
      +
      2808 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      2809 
      +
      2810 // #include <nlohmann/detail/meta/detected.hpp>
      +
      2811 
      +
      2812 
      +
      2813 #include <type_traits>
      +
      2814 
      +
      2815 // #include <nlohmann/detail/meta/void_t.hpp>
      +
      2816 
      +
      2817 
      +
      2818 // https://en.cppreference.com/w/cpp/experimental/is_detected
      +
      2819 namespace nlohmann
      +
      2820 {
      +
      2821 namespace detail
      +
      2822 {
      +
      2823 struct nonesuch
      +
      2824 {
      +
      2825  nonesuch() = delete;
      +
      2826  ~nonesuch() = delete;
      +
      2827  nonesuch(nonesuch const&) = delete;
      +
      2828  nonesuch(nonesuch const&&) = delete;
      +
      2829  void operator=(nonesuch const&) = delete;
      +
      2830  void operator=(nonesuch&&) = delete;
      +
      2831 };
      +
      2832 
      +
      2833 template<class Default,
      +
      2834  class AlwaysVoid,
      +
      2835  template<class...> class Op,
      +
      2836  class... Args>
      +
      2837 struct detector
      +
      2838 {
      +
      2839  using value_t = std::false_type;
      +
      2840  using type = Default;
      +
      2841 };
      +
      2842 
      +
      2843 template<class Default, template<class...> class Op, class... Args>
      +
      2844 struct detector<Default, void_t<Op<Args...>>, Op, Args...>
      +
      2845 {
      +
      2846  using value_t = std::true_type;
      +
      2847  using type = Op<Args...>;
      +
      2848 };
      +
      2849 
      +
      2850 template<template<class...> class Op, class... Args>
      +
      2851 using is_detected = typename detector<nonesuch, void, Op, Args...>::value_t;
      +
      2852 
      +
      2853 template<template<class...> class Op, class... Args>
      +
      2854 using detected_t = typename detector<nonesuch, void, Op, Args...>::type;
      +
      2855 
      +
      2856 template<class Default, template<class...> class Op, class... Args>
      +
      2857 using detected_or = detector<Default, void, Op, Args...>;
      +
      2858 
      +
      2859 template<class Default, template<class...> class Op, class... Args>
      +
      2860 using detected_or_t = typename detected_or<Default, Op, Args...>::type;
      +
      2861 
      +
      2862 template<class Expected, template<class...> class Op, class... Args>
      +
      2863 using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>;
      +
      2864 
      +
      2865 template<class To, template<class...> class Op, class... Args>
      + +
      2867  std::is_convertible<detected_t<Op, Args...>, To>;
      +
      2868 } // namespace detail
      +
      2869 } // namespace nlohmann
      +
      2870 
      +
      2871 // #include <nlohmann/json_fwd.hpp>
      +
      2872 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2873 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2874 
      +
      2875 #include <cstdint> // int64_t, uint64_t
      +
      2876 #include <map> // map
      +
      2877 #include <memory> // allocator
      +
      2878 #include <string> // string
      +
      2879 #include <vector> // vector
      +
      2880 
      +
      2886 namespace nlohmann
      +
      2887 {
      +
      2895 template<typename T = void, typename SFINAE = void>
      +
      2896 struct adl_serializer;
      +
      2897 
      +
      2898 template<template<typename U, typename V, typename... Args> class ObjectType =
      +
      2899  std::map,
      +
      2900  template<typename U, typename... Args> class ArrayType = std::vector,
      +
      2901  class StringType = std::string, class BooleanType = bool,
      +
      2902  class NumberIntegerType = std::int64_t,
      +
      2903  class NumberUnsignedType = std::uint64_t,
      +
      2904  class NumberFloatType = double,
      +
      2905  template<typename U> class AllocatorType = std::allocator,
      +
      2906  template<typename T, typename SFINAE = void> class JSONSerializer =
      +
      2907  adl_serializer,
      +
      2908  class BinaryType = std::vector<std::uint8_t>>
      +
      2909 class basic_json;
      +
      2910 
      +
      2922 template<typename BasicJsonType>
      +
      2923 class json_pointer;
      +
      2924 
      +
      2933 using json = basic_json<>;
      +
      2934 
      +
      2935 template<class Key, class T, class IgnoredLess, class Allocator>
      + +
      2937 
      + +
      2946 
      +
      2947 } // namespace nlohmann
      +
      2948 
      +
      2949 #endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
      +
      2950 
      +
      2951 
      +
      2952 namespace nlohmann
      +
      2953 {
      +
      2962 namespace detail
      +
      2963 {
      +
      2965 // helpers //
      +
      2967 
      +
      2968 // Note to maintainers:
      +
      2969 //
      +
      2970 // Every trait in this file expects a non CV-qualified type.
      +
      2971 // The only exceptions are in the 'aliases for detected' section
      +
      2972 // (i.e. those of the form: decltype(T::member_function(std::declval<T>())))
      +
      2973 //
      +
      2974 // In this case, T has to be properly CV-qualified to constraint the function arguments
      +
      2975 // (e.g. to_json(BasicJsonType&, const T&))
      +
      2976 
      +
      2977 template<typename> struct is_basic_json : std::false_type {};
      +
      2978 
      + +
      2980 struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
      +
      2981 
      +
      2983 // json_ref helpers //
      +
      2985 
      +
      2986 template<typename>
      +
      2987 class json_ref;
      +
      2988 
      +
      2989 template<typename>
      +
      2990 struct is_json_ref : std::false_type {};
      +
      2991 
      +
      2992 template<typename T>
      +
      2993 struct is_json_ref<json_ref<T>> : std::true_type {};
      +
      2994 
      +
      2996 // aliases for detected //
      +
      2998 
      +
      2999 template<typename T>
      +
      3000 using mapped_type_t = typename T::mapped_type;
      +
      3001 
      +
      3002 template<typename T>
      +
      3003 using key_type_t = typename T::key_type;
      +
      3004 
      +
      3005 template<typename T>
      +
      3006 using value_type_t = typename T::value_type;
      +
      3007 
      +
      3008 template<typename T>
      +
      3009 using difference_type_t = typename T::difference_type;
      +
      3010 
      +
      3011 template<typename T>
      +
      3012 using pointer_t = typename T::pointer;
      +
      3013 
      +
      3014 template<typename T>
      +
      3015 using reference_t = typename T::reference;
      +
      3016 
      +
      3017 template<typename T>
      +
      3018 using iterator_category_t = typename T::iterator_category;
      +
      3019 
      +
      3020 template<typename T>
      +
      3021 using iterator_t = typename T::iterator;
      +
      3022 
      +
      3023 template<typename T, typename... Args>
      +
      3024 using to_json_function = decltype(T::to_json(std::declval<Args>()...));
      +
      3025 
      +
      3026 template<typename T, typename... Args>
      +
      3027 using from_json_function = decltype(T::from_json(std::declval<Args>()...));
      +
      3028 
      +
      3029 template<typename T, typename U>
      +
      3030 using get_template_function = decltype(std::declval<T>().template get<U>());
      +
      3031 
      +
      3032 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
      +
      3033 template<typename BasicJsonType, typename T, typename = void>
      +
      3034 struct has_from_json : std::false_type {};
      +
      3035 
      +
      3036 // trait checking if j.get<T> is valid
      +
      3037 // use this trait instead of std::is_constructible or std::is_convertible,
      +
      3038 // both rely on, or make use of implicit conversions, and thus fail when T
      +
      3039 // has several constructors/operator= (see https://github.com/nlohmann/json/issues/958)
      +
      3040 template <typename BasicJsonType, typename T>
      + +
      3042 {
      + +
      3044 };
      +
      3045 
      +
      3046 template<typename BasicJsonType, typename T>
      +
      3047 struct has_from_json < BasicJsonType, T,
      +
      3048  enable_if_t < !is_basic_json<T>::value >>
      +
      3049 {
      +
      3050  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      3051 
      +
      3052  static constexpr bool value =
      + +
      3054  const BasicJsonType&, T&>::value;
      +
      3055 };
      +
      3056 
      +
      3057 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
      +
      3058 // this overload is used for non-default-constructible user-defined-types
      +
      3059 template<typename BasicJsonType, typename T, typename = void>
      +
      3060 struct has_non_default_from_json : std::false_type {};
      +
      3061 
      +
      3062 template<typename BasicJsonType, typename T>
      +
      3063 struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value >>
      +
      3064 {
      +
      3065  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      3066 
      +
      3067  static constexpr bool value =
      + +
      3069  const BasicJsonType&>::value;
      +
      3070 };
      +
      3071 
      +
      3072 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
      +
      3073 // Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion.
      +
      3074 template<typename BasicJsonType, typename T, typename = void>
      +
      3075 struct has_to_json : std::false_type {};
      +
      3076 
      +
      3077 template<typename BasicJsonType, typename T>
      +
      3078 struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value >>
      +
      3079 {
      +
      3080  using serializer = typename BasicJsonType::template json_serializer<T, void>;
      +
      3081 
      +
      3082  static constexpr bool value =
      + +
      3084  T>::value;
      +
      3085 };
      +
      3086 
      +
      3087 
      +
      3089 // is_ functions //
      +
      3091 
      +
      3092 template<typename T, typename = void>
      +
      3093 struct is_iterator_traits : std::false_type {};
      +
      3094 
      +
      3095 template<typename T>
      +
      3096 struct is_iterator_traits<iterator_traits<T>>
      +
      3097 {
      +
      3098  private:
      +
      3099  using traits = iterator_traits<T>;
      +
      3100 
      +
      3101  public:
      +
      3102  static constexpr auto value =
      +
      3103  is_detected<value_type_t, traits>::value &&
      +
      3104  is_detected<difference_type_t, traits>::value &&
      +
      3105  is_detected<pointer_t, traits>::value &&
      +
      3106  is_detected<iterator_category_t, traits>::value &&
      +
      3107  is_detected<reference_t, traits>::value;
      +
      3108 };
      +
      3109 
      +
      3110 // source: https://stackoverflow.com/a/37193089/4116453
      +
      3111 
      +
      3112 template<typename T, typename = void>
      +
      3113 struct is_complete_type : std::false_type {};
      +
      3114 
      +
      3115 template<typename T>
      +
      3116 struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {};
      +
      3117 
      +
      3118 template<typename BasicJsonType, typename CompatibleObjectType,
      +
      3119  typename = void>
      +
      3120 struct is_compatible_object_type_impl : std::false_type {};
      +
      3121 
      +
      3122 template<typename BasicJsonType, typename CompatibleObjectType>
      + +
      3124  BasicJsonType, CompatibleObjectType,
      +
      3125  enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&
      +
      3126  is_detected<key_type_t, CompatibleObjectType>::value >>
      +
      3127 {
      +
      3128 
      +
      3129  using object_t = typename BasicJsonType::object_t;
      +
      3130 
      +
      3131  // macOS's is_constructible does not play well with nonesuch...
      +
      3132  static constexpr bool value =
      +
      3133  std::is_constructible<typename object_t::key_type,
      +
      3134  typename CompatibleObjectType::key_type>::value &&
      +
      3135  std::is_constructible<typename object_t::mapped_type,
      +
      3136  typename CompatibleObjectType::mapped_type>::value;
      +
      3137 };
      +
      3138 
      +
      3139 template<typename BasicJsonType, typename CompatibleObjectType>
      + +
      3141  : is_compatible_object_type_impl<BasicJsonType, CompatibleObjectType> {};
      +
      3142 
      +
      3143 template<typename BasicJsonType, typename ConstructibleObjectType,
      +
      3144  typename = void>
      +
      3145 struct is_constructible_object_type_impl : std::false_type {};
      +
      3146 
      +
      3147 template<typename BasicJsonType, typename ConstructibleObjectType>
      + +
      3149  BasicJsonType, ConstructibleObjectType,
      +
      3150  enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&
      +
      3151  is_detected<key_type_t, ConstructibleObjectType>::value >>
      +
      3152 {
      +
      3153  using object_t = typename BasicJsonType::object_t;
      +
      3154 
      +
      3155  static constexpr bool value =
      +
      3156  (std::is_default_constructible<ConstructibleObjectType>::value &&
      +
      3157  (std::is_move_assignable<ConstructibleObjectType>::value ||
      +
      3158  std::is_copy_assignable<ConstructibleObjectType>::value) &&
      +
      3159  (std::is_constructible<typename ConstructibleObjectType::key_type,
      +
      3160  typename object_t::key_type>::value &&
      +
      3161  std::is_same <
      +
      3162  typename object_t::mapped_type,
      +
      3163  typename ConstructibleObjectType::mapped_type >::value)) ||
      +
      3164  (has_from_json<BasicJsonType,
      +
      3165  typename ConstructibleObjectType::mapped_type>::value ||
      + +
      3167  BasicJsonType,
      +
      3168  typename ConstructibleObjectType::mapped_type >::value);
      +
      3169 };
      +
      3170 
      +
      3171 template<typename BasicJsonType, typename ConstructibleObjectType>
      + +
      3173  : is_constructible_object_type_impl<BasicJsonType,
      +
      3174  ConstructibleObjectType> {};
      +
      3175 
      +
      3176 template<typename BasicJsonType, typename CompatibleStringType,
      +
      3177  typename = void>
      +
      3178 struct is_compatible_string_type_impl : std::false_type {};
      +
      3179 
      +
      3180 template<typename BasicJsonType, typename CompatibleStringType>
      +
      3181 struct is_compatible_string_type_impl <
      +
      3182  BasicJsonType, CompatibleStringType,
      +
      3183  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
      +
      3184  value_type_t, CompatibleStringType>::value >>
      +
      3185 {
      +
      3186  static constexpr auto value =
      +
      3187  std::is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value;
      +
      3188 };
      +
      3189 
      +
      3190 template<typename BasicJsonType, typename ConstructibleStringType>
      +
      3191 struct is_compatible_string_type
      +
      3192  : is_compatible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
      +
      3193 
      +
      3194 template<typename BasicJsonType, typename ConstructibleStringType,
      +
      3195  typename = void>
      +
      3196 struct is_constructible_string_type_impl : std::false_type {};
      +
      3197 
      +
      3198 template<typename BasicJsonType, typename ConstructibleStringType>
      +
      3199 struct is_constructible_string_type_impl <
      +
      3200  BasicJsonType, ConstructibleStringType,
      +
      3201  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
      +
      3202  value_type_t, ConstructibleStringType>::value >>
      +
      3203 {
      +
      3204  static constexpr auto value =
      +
      3205  std::is_constructible<ConstructibleStringType,
      +
      3206  typename BasicJsonType::string_t>::value;
      +
      3207 };
      +
      3208 
      +
      3209 template<typename BasicJsonType, typename ConstructibleStringType>
      +
      3210 struct is_constructible_string_type
      +
      3211  : is_constructible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
      +
      3212 
      +
      3213 template<typename BasicJsonType, typename CompatibleArrayType, typename = void>
      +
      3214 struct is_compatible_array_type_impl : std::false_type {};
      +
      3215 
      +
      3216 template<typename BasicJsonType, typename CompatibleArrayType>
      + +
      3218  BasicJsonType, CompatibleArrayType,
      +
      3219  enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&
      +
      3220  is_detected<iterator_t, CompatibleArrayType>::value&&
      +
      3221 // This is needed because json_reverse_iterator has a ::iterator type...
      +
      3222 // Therefore it is detected as a CompatibleArrayType.
      +
      3223 // The real fix would be to have an Iterable concept.
      + +
      3225  iterator_traits<CompatibleArrayType >>::value >>
      +
      3226 {
      +
      3227  static constexpr bool value =
      +
      3228  std::is_constructible<BasicJsonType,
      +
      3229  typename CompatibleArrayType::value_type>::value;
      +
      3230 };
      +
      3231 
      +
      3232 template<typename BasicJsonType, typename CompatibleArrayType>
      + +
      3234  : is_compatible_array_type_impl<BasicJsonType, CompatibleArrayType> {};
      +
      3235 
      +
      3236 template<typename BasicJsonType, typename ConstructibleArrayType, typename = void>
      +
      3237 struct is_constructible_array_type_impl : std::false_type {};
      +
      3238 
      +
      3239 template<typename BasicJsonType, typename ConstructibleArrayType>
      +
      3240 struct is_constructible_array_type_impl <
      +
      3241  BasicJsonType, ConstructibleArrayType,
      +
      3242  enable_if_t<std::is_same<ConstructibleArrayType,
      +
      3243  typename BasicJsonType::value_type>::value >>
      +
      3244  : std::true_type {};
      +
      3245 
      +
      3246 template<typename BasicJsonType, typename ConstructibleArrayType>
      + +
      3248  BasicJsonType, ConstructibleArrayType,
      +
      3249  enable_if_t < !std::is_same<ConstructibleArrayType,
      +
      3250  typename BasicJsonType::value_type>::value&&
      +
      3251  std::is_default_constructible<ConstructibleArrayType>::value&&
      +
      3252 (std::is_move_assignable<ConstructibleArrayType>::value ||
      +
      3253  std::is_copy_assignable<ConstructibleArrayType>::value)&&
      +
      3254 is_detected<value_type_t, ConstructibleArrayType>::value&&
      +
      3255 is_detected<iterator_t, ConstructibleArrayType>::value&&
      + +
      3257 detected_t<value_type_t, ConstructibleArrayType >>::value >>
      +
      3258 {
      +
      3259  static constexpr bool value =
      +
      3260  // This is needed because json_reverse_iterator has a ::iterator type,
      +
      3261  // furthermore, std::back_insert_iterator (and other iterators) have a
      +
      3262  // base class `iterator`... Therefore it is detected as a
      +
      3263  // ConstructibleArrayType. The real fix would be to have an Iterable
      +
      3264  // concept.
      + +
      3266 
      +
      3267  (std::is_same<typename ConstructibleArrayType::value_type,
      +
      3268  typename BasicJsonType::array_t::value_type>::value ||
      +
      3269  has_from_json<BasicJsonType,
      +
      3270  typename ConstructibleArrayType::value_type>::value ||
      + +
      3272  BasicJsonType, typename ConstructibleArrayType::value_type >::value);
      +
      3273 };
      +
      3274 
      +
      3275 template<typename BasicJsonType, typename ConstructibleArrayType>
      + +
      3277  : is_constructible_array_type_impl<BasicJsonType, ConstructibleArrayType> {};
      +
      3278 
      +
      3279 template<typename RealIntegerType, typename CompatibleNumberIntegerType,
      +
      3280  typename = void>
      +
      3281 struct is_compatible_integer_type_impl : std::false_type {};
      +
      3282 
      +
      3283 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
      + +
      3285  RealIntegerType, CompatibleNumberIntegerType,
      +
      3286  enable_if_t < std::is_integral<RealIntegerType>::value&&
      +
      3287  std::is_integral<CompatibleNumberIntegerType>::value&&
      +
      3288  !std::is_same<bool, CompatibleNumberIntegerType>::value >>
      +
      3289 {
      +
      3290  // is there an assert somewhere on overflows?
      +
      3291  using RealLimits = std::numeric_limits<RealIntegerType>;
      +
      3292  using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
      +
      3293 
      +
      3294  static constexpr auto value =
      +
      3295  std::is_constructible<RealIntegerType,
      +
      3296  CompatibleNumberIntegerType>::value &&
      +
      3297  CompatibleLimits::is_integer &&
      +
      3298  RealLimits::is_signed == CompatibleLimits::is_signed;
      +
      3299 };
      +
      3300 
      +
      3301 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
      + +
      3303  : is_compatible_integer_type_impl<RealIntegerType,
      +
      3304  CompatibleNumberIntegerType> {};
      +
      3305 
      +
      3306 template<typename BasicJsonType, typename CompatibleType, typename = void>
      +
      3307 struct is_compatible_type_impl: std::false_type {};
      +
      3308 
      +
      3309 template<typename BasicJsonType, typename CompatibleType>
      +
      3310 struct is_compatible_type_impl <
      +
      3311  BasicJsonType, CompatibleType,
      +
      3312  enable_if_t<is_complete_type<CompatibleType>::value >>
      +
      3313 {
      +
      3314  static constexpr bool value =
      +
      3315  has_to_json<BasicJsonType, CompatibleType>::value;
      +
      3316 };
      +
      3317 
      +
      3318 template<typename BasicJsonType, typename CompatibleType>
      +
      3319 struct is_compatible_type
      +
      3320  : is_compatible_type_impl<BasicJsonType, CompatibleType> {};
      +
      3321 
      +
      3322 // https://en.cppreference.com/w/cpp/types/conjunction
      +
      3323 template<class...> struct conjunction : std::true_type { };
      +
      3324 template<class B1> struct conjunction<B1> : B1 { };
      +
      3325 template<class B1, class... Bn>
      +
      3326 struct conjunction<B1, Bn...>
      +
      3327 : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
      +
      3328 
      +
      3329 template<typename T1, typename T2>
      +
      3330 struct is_constructible_tuple : std::false_type {};
      +
      3331 
      +
      3332 template<typename T1, typename... Args>
      +
      3333 struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_constructible<T1, Args>...> {};
      +
      3334 } // namespace detail
      +
      3335 } // namespace nlohmann
      +
      3336 
      +
      3337 // #include <nlohmann/detail/value_t.hpp>
      +
      3338 
      +
      3339 
      +
      3340 #include <array> // array
      +
      3341 #include <cstddef> // size_t
      +
      3342 #include <cstdint> // uint8_t
      +
      3343 #include <string> // string
      +
      3344 
      +
      3345 namespace nlohmann
      +
      3346 {
      +
      3347 namespace detail
      +
      3348 {
      +
      3350 // JSON type enumeration //
      +
      3352 
      +
      3377 enum class value_t : std::uint8_t
      +
      3378 {
      +
      3379  null,
      +
      3380  object,
      +
      3381  array,
      +
      3382  string,
      +
      3383  boolean,
      +
      3384  number_integer,
      +
      3385  number_unsigned,
      +
      3386  number_float,
      +
      3387  binary,
      +
      3388  discarded
      +
      3389 };
      +
      3390 
      +
      3404 inline bool operator<(const value_t lhs, const value_t rhs) noexcept
      +
      3405 {
      +
      3406  static constexpr std::array<std::uint8_t, 9> order = {{
      +
      3407  0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
      +
      3408  1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */,
      +
      3409  6 /* binary */
      +
      3410  }
      +
      3411  };
      +
      3412 
      +
      3413  const auto l_index = static_cast<std::size_t>(lhs);
      +
      3414  const auto r_index = static_cast<std::size_t>(rhs);
      +
      3415  return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index];
      +
      3416 }
      +
      3417 } // namespace detail
      +
      3418 } // namespace nlohmann
      +
      3419 
      +
      3420 
      +
      3421 namespace nlohmann
      +
      3422 {
      +
      3423 namespace detail
      +
      3424 {
      +
      3425 template<typename BasicJsonType>
      +
      3426 void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
      +
      3427 {
      +
      3428  if (JSON_HEDLEY_UNLIKELY(!j.is_null()))
      +
      3429  {
      +
      3430  JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name())));
      +
      3431  }
      +
      3432  n = nullptr;
      +
      3433 }
      +
      3434 
      +
      3435 // overloads for basic_json template parameters
      +
      3436 template < typename BasicJsonType, typename ArithmeticType,
      +
      3437  enable_if_t < std::is_arithmetic<ArithmeticType>::value&&
      +
      3438  !std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
      +
      3439  int > = 0 >
      +
      3440 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
      +
      3441 {
      +
      3442  switch (static_cast<value_t>(j))
      +
      3443  {
      + +
      3445  {
      +
      3446  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
      +
      3447  break;
      +
      3448  }
      + +
      3450  {
      +
      3451  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
      +
      3452  break;
      +
      3453  }
      +
      3454  case value_t::number_float:
      +
      3455  {
      +
      3456  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
      +
      3457  break;
      +
      3458  }
      +
      3459 
      +
      3460  default:
      +
      3461  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
      +
      3462  }
      +
      3463 }
      +
      3464 
      +
      3465 template<typename BasicJsonType>
      +
      3466 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
      +
      3467 {
      +
      3468  if (JSON_HEDLEY_UNLIKELY(!j.is_boolean()))
      +
      3469  {
      +
      3470  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name())));
      +
      3471  }
      +
      3472  b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
      +
      3473 }
      +
      3474 
      +
      3475 template<typename BasicJsonType>
      +
      3476 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
      +
      3477 {
      +
      3478  if (JSON_HEDLEY_UNLIKELY(!j.is_string()))
      +
      3479  {
      +
      3480  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
      +
      3481  }
      +
      3482  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
      +
      3483 }
      +
      3484 
      +
      3485 template <
      +
      3486  typename BasicJsonType, typename ConstructibleStringType,
      +
      3487  enable_if_t <
      +
      3488  is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value&&
      +
      3489  !std::is_same<typename BasicJsonType::string_t,
      +
      3490  ConstructibleStringType>::value,
      +
      3491  int > = 0 >
      +
      3492 void from_json(const BasicJsonType& j, ConstructibleStringType& s)
      +
      3493 {
      +
      3494  if (JSON_HEDLEY_UNLIKELY(!j.is_string()))
      +
      3495  {
      +
      3496  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name())));
      +
      3497  }
      +
      3498 
      +
      3499  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
      +
      3500 }
      +
      3501 
      +
      3502 template<typename BasicJsonType>
      +
      3503 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
      +
      3504 {
      +
      3505  get_arithmetic_value(j, val);
      +
      3506 }
      +
      3507 
      +
      3508 template<typename BasicJsonType>
      +
      3509 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
      +
      3510 {
      +
      3511  get_arithmetic_value(j, val);
      +
      3512 }
      +
      3513 
      +
      3514 template<typename BasicJsonType>
      +
      3515 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
      +
      3516 {
      +
      3517  get_arithmetic_value(j, val);
      +
      3518 }
      +
      3519 
      +
      3520 template<typename BasicJsonType, typename EnumType,
      +
      3521  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
      +
      3522 void from_json(const BasicJsonType& j, EnumType& e)
      +
      3523 {
      +
      3524  typename std::underlying_type<EnumType>::type val;
      +
      3525  get_arithmetic_value(j, val);
      +
      3526  e = static_cast<EnumType>(val);
      +
      3527 }
      +
      3528 
      +
      3529 // forward_list doesn't have an insert method
      +
      3530 template<typename BasicJsonType, typename T, typename Allocator,
      +
      3531  enable_if_t<is_getable<BasicJsonType, T>::value, int> = 0>
      +
      3532 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
      +
      3533 {
      +
      3534  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
      +
      3535  {
      +
      3536  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3537  }
      +
      3538  l.clear();
      +
      3539  std::transform(j.rbegin(), j.rend(),
      +
      3540  std::front_inserter(l), [](const BasicJsonType & i)
      +
      3541  {
      +
      3542  return i.template get<T>();
      +
      3543  });
      +
      3544 }
      +
      3545 
      +
      3546 // valarray doesn't have an insert method
      +
      3547 template<typename BasicJsonType, typename T,
      +
      3548  enable_if_t<is_getable<BasicJsonType, T>::value, int> = 0>
      +
      3549 void from_json(const BasicJsonType& j, std::valarray<T>& l)
      +
      3550 {
      +
      3551  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
      +
      3552  {
      +
      3553  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3554  }
      +
      3555  l.resize(j.size());
      +
      3556  std::transform(j.begin(), j.end(), std::begin(l),
      +
      3557  [](const BasicJsonType & elem)
      +
      3558  {
      +
      3559  return elem.template get<T>();
      +
      3560  });
      +
      3561 }
      +
      3562 
      +
      3563 template<typename BasicJsonType, typename T, std::size_t N>
      +
      3564 auto from_json(const BasicJsonType& j, T (&arr)[N])
      +
      3565 -> decltype(j.template get<T>(), void())
      +
      3566 {
      +
      3567  for (std::size_t i = 0; i < N; ++i)
      +
      3568  {
      +
      3569  arr[i] = j.at(i).template get<T>();
      +
      3570  }
      +
      3571 }
      +
      3572 
      +
      3573 template<typename BasicJsonType>
      +
      3574 void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/)
      +
      3575 {
      +
      3576  arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
      +
      3577 }
      +
      3578 
      +
      3579 template<typename BasicJsonType, typename T, std::size_t N>
      +
      3580 auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& arr,
      +
      3581  priority_tag<2> /*unused*/)
      +
      3582 -> decltype(j.template get<T>(), void())
      +
      3583 {
      +
      3584  for (std::size_t i = 0; i < N; ++i)
      +
      3585  {
      +
      3586  arr[i] = j.at(i).template get<T>();
      +
      3587  }
      +
      3588 }
      +
      3589 
      +
      3590 template<typename BasicJsonType, typename ConstructibleArrayType>
      +
      3591 auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/)
      +
      3592 -> decltype(
      +
      3593  arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()),
      +
      3594  j.template get<typename ConstructibleArrayType::value_type>(),
      +
      3595  void())
      +
      3596 {
      +
      3597  using std::end;
      +
      3598 
      +
      3599  ConstructibleArrayType ret;
      +
      3600  ret.reserve(j.size());
      +
      3601  std::transform(j.begin(), j.end(),
      +
      3602  std::inserter(ret, end(ret)), [](const BasicJsonType & i)
      +
      3603  {
      +
      3604  // get<BasicJsonType>() returns *this, this won't call a from_json
      +
      3605  // method when value_type is BasicJsonType
      +
      3606  return i.template get<typename ConstructibleArrayType::value_type>();
      +
      3607  });
      +
      3608  arr = std::move(ret);
      +
      3609 }
      +
      3610 
      +
      3611 template<typename BasicJsonType, typename ConstructibleArrayType>
      +
      3612 void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr,
      +
      3613  priority_tag<0> /*unused*/)
      +
      3614 {
      +
      3615  using std::end;
      +
      3616 
      +
      3617  ConstructibleArrayType ret;
      +
      3618  std::transform(
      +
      3619  j.begin(), j.end(), std::inserter(ret, end(ret)),
      +
      3620  [](const BasicJsonType & i)
      +
      3621  {
      +
      3622  // get<BasicJsonType>() returns *this, this won't call a from_json
      +
      3623  // method when value_type is BasicJsonType
      +
      3624  return i.template get<typename ConstructibleArrayType::value_type>();
      +
      3625  });
      +
      3626  arr = std::move(ret);
      +
      3627 }
      +
      3628 
      +
      3629 template < typename BasicJsonType, typename ConstructibleArrayType,
      +
      3630  enable_if_t <
      +
      3631  is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value&&
      +
      3632  !is_constructible_object_type<BasicJsonType, ConstructibleArrayType>::value&&
      +
      3633  !is_constructible_string_type<BasicJsonType, ConstructibleArrayType>::value&&
      +
      3634  !std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value&&
      +
      3635  !is_basic_json<ConstructibleArrayType>::value,
      +
      3636  int > = 0 >
      +
      3637 auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
      +
      3638 -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),
      +
      3639 j.template get<typename ConstructibleArrayType::value_type>(),
      +
      3640 void())
      +
      3641 {
      +
      3642  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
      +
      3643  {
      +
      3644  JSON_THROW(type_error::create(302, "type must be array, but is " +
      +
      3645  std::string(j.type_name())));
      +
      3646  }
      +
      3647 
      +
      3648  from_json_array_impl(j, arr, priority_tag<3> {});
      +
      3649 }
      +
      3650 
      +
      3651 template<typename BasicJsonType>
      +
      3652 void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t& bin)
      +
      3653 {
      +
      3654  if (JSON_HEDLEY_UNLIKELY(!j.is_binary()))
      +
      3655  {
      +
      3656  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(j.type_name())));
      +
      3657  }
      +
      3658 
      +
      3659  bin = *j.template get_ptr<const typename BasicJsonType::binary_t*>();
      +
      3660 }
      +
      3661 
      +
      3662 template<typename BasicJsonType, typename ConstructibleObjectType,
      +
      3663  enable_if_t<is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value, int> = 0>
      +
      3664 void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
      +
      3665 {
      +
      3666  if (JSON_HEDLEY_UNLIKELY(!j.is_object()))
      +
      3667  {
      +
      3668  JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name())));
      +
      3669  }
      +
      3670 
      +
      3671  ConstructibleObjectType ret;
      +
      3672  auto inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
      +
      3673  using value_type = typename ConstructibleObjectType::value_type;
      +
      3674  std::transform(
      +
      3675  inner_object->begin(), inner_object->end(),
      +
      3676  std::inserter(ret, ret.begin()),
      +
      3677  [](typename BasicJsonType::object_t::value_type const & p)
      +
      3678  {
      +
      3679  return value_type(p.first, p.second.template get<typename ConstructibleObjectType::mapped_type>());
      +
      3680  });
      +
      3681  obj = std::move(ret);
      +
      3682 }
      +
      3683 
      +
      3684 // overload for arithmetic types, not chosen for basic_json template arguments
      +
      3685 // (BooleanType, etc..); note: Is it really necessary to provide explicit
      +
      3686 // overloads for boolean_t etc. in case of a custom BooleanType which is not
      +
      3687 // an arithmetic type?
      +
      3688 template < typename BasicJsonType, typename ArithmeticType,
      +
      3689  enable_if_t <
      +
      3690  std::is_arithmetic<ArithmeticType>::value&&
      +
      3691  !std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value&&
      +
      3692  !std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value&&
      +
      3693  !std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value&&
      +
      3694  !std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
      +
      3695  int > = 0 >
      +
      3696 void from_json(const BasicJsonType& j, ArithmeticType& val)
      +
      3697 {
      +
      3698  switch (static_cast<value_t>(j))
      +
      3699  {
      + +
      3701  {
      +
      3702  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
      +
      3703  break;
      +
      3704  }
      + +
      3706  {
      +
      3707  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
      +
      3708  break;
      +
      3709  }
      +
      3710  case value_t::number_float:
      +
      3711  {
      +
      3712  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
      +
      3713  break;
      +
      3714  }
      +
      3715  case value_t::boolean:
      +
      3716  {
      +
      3717  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
      +
      3718  break;
      +
      3719  }
      +
      3720 
      +
      3721  default:
      +
      3722  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name())));
      +
      3723  }
      +
      3724 }
      +
      3725 
      +
      3726 template<typename BasicJsonType, typename A1, typename A2>
      +
      3727 void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
      +
      3728 {
      +
      3729  p = {j.at(0).template get<A1>(), j.at(1).template get<A2>()};
      +
      3730 }
      +
      3731 
      +
      3732 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
      +
      3733 void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence<Idx...> /*unused*/)
      +
      3734 {
      +
      3735  t = std::make_tuple(j.at(Idx).template get<typename std::tuple_element<Idx, Tuple>::type>()...);
      +
      3736 }
      +
      3737 
      +
      3738 template<typename BasicJsonType, typename... Args>
      +
      3739 void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
      +
      3740 {
      +
      3741  from_json_tuple_impl(j, t, index_sequence_for<Args...> {});
      +
      3742 }
      +
      3743 
      +
      3744 template < typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator,
      +
      3745  typename = enable_if_t < !std::is_constructible <
      +
      3746  typename BasicJsonType::string_t, Key >::value >>
      +
      3747 void from_json(const BasicJsonType& j, std::map<Key, Value, Compare, Allocator>& m)
      +
      3748 {
      +
      3749  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
      +
      3750  {
      +
      3751  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3752  }
      +
      3753  m.clear();
      +
      3754  for (const auto& p : j)
      +
      3755  {
      +
      3756  if (JSON_HEDLEY_UNLIKELY(!p.is_array()))
      +
      3757  {
      +
      3758  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
      +
      3759  }
      +
      3760  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
      +
      3761  }
      +
      3762 }
      +
      3763 
      +
      3764 template < typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator,
      +
      3765  typename = enable_if_t < !std::is_constructible <
      +
      3766  typename BasicJsonType::string_t, Key >::value >>
      +
      3767 void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
      +
      3768 {
      +
      3769  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
      +
      3770  {
      +
      3771  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name())));
      +
      3772  }
      +
      3773  m.clear();
      +
      3774  for (const auto& p : j)
      +
      3775  {
      +
      3776  if (JSON_HEDLEY_UNLIKELY(!p.is_array()))
      +
      3777  {
      +
      3778  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name())));
      +
      3779  }
      +
      3780  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
      +
      3781  }
      +
      3782 }
      +
      3783 
      +
      3784 struct from_json_fn
      +
      3785 {
      +
      3786  template<typename BasicJsonType, typename T>
      +
      3787  auto operator()(const BasicJsonType& j, T& val) const
      +
      3788  noexcept(noexcept(from_json(j, val)))
      +
      3789  -> decltype(from_json(j, val), void())
      +
      3790  {
      +
      3791  return from_json(j, val);
      +
      3792  }
      +
      3793 };
      +
      3794 } // namespace detail
      +
      3795 
      +
      3799 namespace
      +
      3800 {
      + +
      3802 } // namespace
      +
      3803 } // namespace nlohmann
      +
      3804 
      +
      3805 // #include <nlohmann/detail/conversions/to_json.hpp>
      +
      3806 
      +
      3807 
      +
      3808 #include <algorithm> // copy
      +
      3809 #include <iterator> // begin, end
      +
      3810 #include <string> // string
      +
      3811 #include <tuple> // tuple, get
      +
      3812 #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
      +
      3813 #include <utility> // move, forward, declval, pair
      +
      3814 #include <valarray> // valarray
      +
      3815 #include <vector> // vector
      +
      3816 
      +
      3817 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
      +
      3818 
      +
      3819 
      +
      3820 #include <cstddef> // size_t
      +
      3821 #include <iterator> // input_iterator_tag
      +
      3822 #include <string> // string, to_string
      +
      3823 #include <tuple> // tuple_size, get, tuple_element
      +
      3824 
      +
      3825 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      3826 
      +
      3827 // #include <nlohmann/detail/value_t.hpp>
      +
      3828 
      +
      3829 
      +
      3830 namespace nlohmann
      +
      3831 {
      +
      3832 namespace detail
      +
      3833 {
      +
      3834 template<typename string_type>
      +
      3835 void int_to_string( string_type& target, std::size_t value )
      +
      3836 {
      +
      3837  // For ADL
      +
      3838  using std::to_string;
      +
      3839  target = to_string(value);
      +
      3840 }
      +
      3841 template<typename IteratorType> class iteration_proxy_value
      +
      3842 {
      +
      3843  public:
      +
      3844  using difference_type = std::ptrdiff_t;
      + +
      3846  using pointer = value_type * ;
      +
      3847  using reference = value_type & ;
      +
      3848  using iterator_category = std::input_iterator_tag;
      +
      3849  using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
      +
      3850 
      +
      3851  private:
      +
      3853  IteratorType anchor;
      +
      3855  std::size_t array_index = 0;
      +
      3857  mutable std::size_t array_index_last = 0;
      +
      3859  mutable string_type array_index_str = "0";
      +
      3861  const string_type empty_str = "";
      +
      3862 
      +
      3863  public:
      +
      3864  explicit iteration_proxy_value(IteratorType it) noexcept : anchor(it) {}
      +
      3865 
      + +
      3868  {
      +
      3869  return *this;
      +
      3870  }
      +
      3871 
      + +
      3874  {
      +
      3875  ++anchor;
      +
      3876  ++array_index;
      +
      3877 
      +
      3878  return *this;
      +
      3879  }
      +
      3880 
      +
      3882  bool operator==(const iteration_proxy_value& o) const
      +
      3883  {
      +
      3884  return anchor == o.anchor;
      +
      3885  }
      +
      3886 
      +
      3888  bool operator!=(const iteration_proxy_value& o) const
      +
      3889  {
      +
      3890  return anchor != o.anchor;
      +
      3891  }
      +
      3892 
      +
      3894  const string_type& key() const
      +
      3895  {
      +
      3896  JSON_ASSERT(anchor.m_object != nullptr);
      +
      3897 
      +
      3898  switch (anchor.m_object->type())
      +
      3899  {
      +
      3900  // use integer array index as key
      +
      3901  case value_t::array:
      +
      3902  {
      +
      3903  if (array_index != array_index_last)
      +
      3904  {
      +
      3905  int_to_string( array_index_str, array_index );
      +
      3906  array_index_last = array_index;
      +
      3907  }
      +
      3908  return array_index_str;
      +
      3909  }
      +
      3910 
      +
      3911  // use key from the object
      +
      3912  case value_t::object:
      +
      3913  return anchor.key();
      +
      3914 
      +
      3915  // use an empty key for all primitive types
      +
      3916  default:
      +
      3917  return empty_str;
      +
      3918  }
      +
      3919  }
      +
      3920 
      +
      3922  typename IteratorType::reference value() const
      +
      3923  {
      +
      3924  return anchor.value();
      +
      3925  }
      +
      3926 };
      +
      3927 
      +
      3929 template<typename IteratorType> class iteration_proxy
      +
      3930 {
      +
      3931  private:
      +
      3933  typename IteratorType::reference container;
      +
      3934 
      +
      3935  public:
      +
      3937  explicit iteration_proxy(typename IteratorType::reference cont) noexcept
      +
      3938  : container(cont) {}
      +
      3939 
      + +
      3942  {
      +
      3943  return iteration_proxy_value<IteratorType>(container.begin());
      +
      3944  }
      +
      3945 
      + +
      3948  {
      +
      3949  return iteration_proxy_value<IteratorType>(container.end());
      +
      3950  }
      +
      3951 };
      +
      3952 // Structured Bindings Support
      +
      3953 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3954 // And see https://github.com/nlohmann/json/pull/1391
      +
      3955 template<std::size_t N, typename IteratorType, enable_if_t<N == 0, int> = 0>
      +
      3956 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.key())
      +
      3957 {
      +
      3958  return i.key();
      +
      3959 }
      +
      3960 // Structured Bindings Support
      +
      3961 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3962 // And see https://github.com/nlohmann/json/pull/1391
      +
      3963 template<std::size_t N, typename IteratorType, enable_if_t<N == 1, int> = 0>
      +
      3964 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.value())
      +
      3965 {
      +
      3966  return i.value();
      +
      3967 }
      +
      3968 } // namespace detail
      +
      3969 } // namespace nlohmann
      +
      3970 
      +
      3971 // The Addition to the STD Namespace is required to add
      +
      3972 // Structured Bindings Support to the iteration_proxy_value class
      +
      3973 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
      +
      3974 // And see https://github.com/nlohmann/json/pull/1391
      +
      3975 namespace std
      +
      3976 {
      +
      3977 #if defined(__clang__)
      +
      3978  // Fix: https://github.com/nlohmann/json/issues/1401
      +
      3979  #pragma clang diagnostic push
      +
      3980  #pragma clang diagnostic ignored "-Wmismatched-tags"
      +
      3981 #endif
      +
      3982 template<typename IteratorType>
      +
      3983 class tuple_size<::nlohmann::detail::iteration_proxy_value<IteratorType>>
      +
      3984  : public std::integral_constant<std::size_t, 2> {};
      +
      3985 
      +
      3986 template<std::size_t N, typename IteratorType>
      +
      3987 class tuple_element<N, ::nlohmann::detail::iteration_proxy_value<IteratorType >>
      +
      3988 {
      +
      3989  public:
      +
      3990  using type = decltype(
      +
      3991  get<N>(std::declval <
      + +
      3993 };
      +
      3994 #if defined(__clang__)
      +
      3995  #pragma clang diagnostic pop
      +
      3996 #endif
      +
      3997 } // namespace std
      +
      3998 
      +
      3999 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      4000 
      +
      4001 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      4002 
      +
      4003 // #include <nlohmann/detail/value_t.hpp>
      +
      4004 
      +
      4005 
      +
      4006 namespace nlohmann
      +
      4007 {
      +
      4008 namespace detail
      +
      4009 {
      +
      4011 // constructors //
      +
      4013 
      +
      4014 template<value_t> struct external_constructor;
      +
      4015 
      +
      4016 template<>
      +
      4017 struct external_constructor<value_t::boolean>
      +
      4018 {
      +
      4019  template<typename BasicJsonType>
      +
      4020  static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
      +
      4021  {
      +
      4022  j.m_type = value_t::boolean;
      +
      4023  j.m_value = b;
      +
      4024  j.assert_invariant();
      +
      4025  }
      +
      4026 };
      +
      4027 
      +
      4028 template<>
      +
      4029 struct external_constructor<value_t::string>
      +
      4030 {
      +
      4031  template<typename BasicJsonType>
      +
      4032  static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
      +
      4033  {
      +
      4034  j.m_type = value_t::string;
      +
      4035  j.m_value = s;
      +
      4036  j.assert_invariant();
      +
      4037  }
      +
      4038 
      +
      4039  template<typename BasicJsonType>
      +
      4040  static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
      +
      4041  {
      +
      4042  j.m_type = value_t::string;
      +
      4043  j.m_value = std::move(s);
      +
      4044  j.assert_invariant();
      +
      4045  }
      +
      4046 
      +
      4047  template < typename BasicJsonType, typename CompatibleStringType,
      + +
      4049  int > = 0 >
      +
      4050  static void construct(BasicJsonType& j, const CompatibleStringType& str)
      +
      4051  {
      +
      4052  j.m_type = value_t::string;
      +
      4053  j.m_value.string = j.template create<typename BasicJsonType::string_t>(str);
      +
      4054  j.assert_invariant();
      +
      4055  }
      +
      4056 };
      +
      4057 
      +
      4058 template<>
      + +
      4060 {
      +
      4061  template<typename BasicJsonType>
      +
      4062  static void construct(BasicJsonType& j, const typename BasicJsonType::binary_t& b)
      +
      4063  {
      +
      4064  j.m_type = value_t::binary;
      +
      4065  typename BasicJsonType::binary_t value{b};
      +
      4066  j.m_value = value;
      +
      4067  j.assert_invariant();
      +
      4068  }
      +
      4069 
      +
      4070  template<typename BasicJsonType>
      +
      4071  static void construct(BasicJsonType& j, typename BasicJsonType::binary_t&& b)
      +
      4072  {
      +
      4073  j.m_type = value_t::binary;
      +
      4074  typename BasicJsonType::binary_t value{std::move(b)};
      +
      4075  j.m_value = value;
      +
      4076  j.assert_invariant();
      +
      4077  }
      +
      4078 };
      +
      4079 
      +
      4080 template<>
      +
      4081 struct external_constructor<value_t::number_float>
      +
      4082 {
      +
      4083  template<typename BasicJsonType>
      +
      4084  static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
      +
      4085  {
      +
      4086  j.m_type = value_t::number_float;
      +
      4087  j.m_value = val;
      +
      4088  j.assert_invariant();
      +
      4089  }
      +
      4090 };
      +
      4091 
      +
      4092 template<>
      +
      4093 struct external_constructor<value_t::number_unsigned>
      +
      4094 {
      +
      4095  template<typename BasicJsonType>
      +
      4096  static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
      +
      4097  {
      +
      4098  j.m_type = value_t::number_unsigned;
      +
      4099  j.m_value = val;
      +
      4100  j.assert_invariant();
      +
      4101  }
      +
      4102 };
      +
      4103 
      +
      4104 template<>
      +
      4105 struct external_constructor<value_t::number_integer>
      +
      4106 {
      +
      4107  template<typename BasicJsonType>
      +
      4108  static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
      +
      4109  {
      +
      4110  j.m_type = value_t::number_integer;
      +
      4111  j.m_value = val;
      +
      4112  j.assert_invariant();
      +
      4113  }
      +
      4114 };
      +
      4115 
      +
      4116 template<>
      +
      4117 struct external_constructor<value_t::array>
      +
      4118 {
      +
      4119  template<typename BasicJsonType>
      +
      4120  static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
      +
      4121  {
      +
      4122  j.m_type = value_t::array;
      +
      4123  j.m_value = arr;
      +
      4124  j.assert_invariant();
      +
      4125  }
      +
      4126 
      +
      4127  template<typename BasicJsonType>
      +
      4128  static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
      +
      4129  {
      +
      4130  j.m_type = value_t::array;
      +
      4131  j.m_value = std::move(arr);
      +
      4132  j.assert_invariant();
      +
      4133  }
      +
      4134 
      +
      4135  template < typename BasicJsonType, typename CompatibleArrayType,
      + +
      4137  int > = 0 >
      +
      4138  static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
      +
      4139  {
      +
      4140  using std::begin;
      +
      4141  using std::end;
      +
      4142  j.m_type = value_t::array;
      +
      4143  j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
      +
      4144  j.assert_invariant();
      +
      4145  }
      +
      4146 
      +
      4147  template<typename BasicJsonType>
      +
      4148  static void construct(BasicJsonType& j, const std::vector<bool>& arr)
      +
      4149  {
      +
      4150  j.m_type = value_t::array;
      +
      4151  j.m_value = value_t::array;
      +
      4152  j.m_value.array->reserve(arr.size());
      +
      4153  for (const bool x : arr)
      +
      4154  {
      +
      4155  j.m_value.array->push_back(x);
      +
      4156  }
      +
      4157  j.assert_invariant();
      +
      4158  }
      +
      4159 
      +
      4160  template<typename BasicJsonType, typename T,
      + +
      4162  static void construct(BasicJsonType& j, const std::valarray<T>& arr)
      +
      4163  {
      +
      4164  j.m_type = value_t::array;
      +
      4165  j.m_value = value_t::array;
      +
      4166  j.m_value.array->resize(arr.size());
      +
      4167  if (arr.size() > 0)
      +
      4168  {
      +
      4169  std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
      +
      4170  }
      +
      4171  j.assert_invariant();
      +
      4172  }
      +
      4173 };
      +
      4174 
      +
      4175 template<>
      +
      4176 struct external_constructor<value_t::object>
      +
      4177 {
      +
      4178  template<typename BasicJsonType>
      +
      4179  static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
      +
      4180  {
      +
      4181  j.m_type = value_t::object;
      +
      4182  j.m_value = obj;
      +
      4183  j.assert_invariant();
      +
      4184  }
      +
      4185 
      +
      4186  template<typename BasicJsonType>
      +
      4187  static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
      +
      4188  {
      +
      4189  j.m_type = value_t::object;
      +
      4190  j.m_value = std::move(obj);
      +
      4191  j.assert_invariant();
      +
      4192  }
      +
      4193 
      +
      4194  template < typename BasicJsonType, typename CompatibleObjectType,
      + +
      4196  static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
      +
      4197  {
      +
      4198  using std::begin;
      +
      4199  using std::end;
      +
      4200 
      +
      4201  j.m_type = value_t::object;
      +
      4202  j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
      +
      4203  j.assert_invariant();
      +
      4204  }
      +
      4205 };
      +
      4206 
      +
      4208 // to_json //
      +
      4210 
      +
      4211 template<typename BasicJsonType, typename T,
      +
      4212  enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0>
      +
      4213 void to_json(BasicJsonType& j, T b) noexcept
      +
      4214 {
      + +
      4216 }
      +
      4217 
      +
      4218 template<typename BasicJsonType, typename CompatibleString,
      +
      4219  enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value, int> = 0>
      +
      4220 void to_json(BasicJsonType& j, const CompatibleString& s)
      +
      4221 {
      + +
      4223 }
      +
      4224 
      +
      4225 template<typename BasicJsonType>
      +
      4226 void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
      +
      4227 {
      + +
      4229 }
      +
      4230 
      +
      4231 template<typename BasicJsonType, typename FloatType,
      +
      4232  enable_if_t<std::is_floating_point<FloatType>::value, int> = 0>
      +
      4233 void to_json(BasicJsonType& j, FloatType val) noexcept
      +
      4234 {
      +
      4235  external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
      +
      4236 }
      +
      4237 
      +
      4238 template<typename BasicJsonType, typename CompatibleNumberUnsignedType,
      +
      4239  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value, int> = 0>
      +
      4240 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
      +
      4241 {
      +
      4242  external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
      +
      4243 }
      +
      4244 
      +
      4245 template<typename BasicJsonType, typename CompatibleNumberIntegerType,
      +
      4246  enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value, int> = 0>
      +
      4247 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
      +
      4248 {
      +
      4249  external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
      +
      4250 }
      +
      4251 
      +
      4252 template<typename BasicJsonType, typename EnumType,
      +
      4253  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
      +
      4254 void to_json(BasicJsonType& j, EnumType e) noexcept
      +
      4255 {
      +
      4256  using underlying_type = typename std::underlying_type<EnumType>::type;
      +
      4257  external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
      +
      4258 }
      +
      4259 
      +
      4260 template<typename BasicJsonType>
      +
      4261 void to_json(BasicJsonType& j, const std::vector<bool>& e)
      +
      4262 {
      + +
      4264 }
      +
      4265 
      +
      4266 template < typename BasicJsonType, typename CompatibleArrayType,
      +
      4267  enable_if_t < is_compatible_array_type<BasicJsonType,
      +
      4268  CompatibleArrayType>::value&&
      +
      4269  !is_compatible_object_type<BasicJsonType, CompatibleArrayType>::value&&
      +
      4270  !is_compatible_string_type<BasicJsonType, CompatibleArrayType>::value&&
      +
      4271  !std::is_same<typename BasicJsonType::binary_t, CompatibleArrayType>::value&&
      +
      4272  !is_basic_json<CompatibleArrayType>::value,
      +
      4273  int > = 0 >
      +
      4274 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
      +
      4275 {
      + +
      4277 }
      +
      4278 
      +
      4279 template<typename BasicJsonType>
      +
      4280 void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t& bin)
      +
      4281 {
      + +
      4283 }
      +
      4284 
      +
      4285 template<typename BasicJsonType, typename T,
      +
      4286  enable_if_t<std::is_convertible<T, BasicJsonType>::value, int> = 0>
      +
      4287 void to_json(BasicJsonType& j, const std::valarray<T>& arr)
      +
      4288 {
      + +
      4290 }
      +
      4291 
      +
      4292 template<typename BasicJsonType>
      +
      4293 void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
      +
      4294 {
      + +
      4296 }
      +
      4297 
      +
      4298 template < typename BasicJsonType, typename CompatibleObjectType,
      +
      4299  enable_if_t < is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value&& !is_basic_json<CompatibleObjectType>::value, int > = 0 >
      +
      4300 void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
      +
      4301 {
      + +
      4303 }
      +
      4304 
      +
      4305 template<typename BasicJsonType>
      +
      4306 void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
      +
      4307 {
      + +
      4309 }
      +
      4310 
      +
      4311 template <
      +
      4312  typename BasicJsonType, typename T, std::size_t N,
      +
      4313  enable_if_t < !std::is_constructible<typename BasicJsonType::string_t,
      +
      4314  const T(&)[N]>::value,
      +
      4315  int > = 0 >
      +
      4316 void to_json(BasicJsonType& j, const T(&arr)[N])
      +
      4317 {
      + +
      4319 }
      +
      4320 
      +
      4321 template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible<BasicJsonType, T1>::value&& std::is_constructible<BasicJsonType, T2>::value, int > = 0 >
      +
      4322 void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
      +
      4323 {
      +
      4324  j = { p.first, p.second };
      +
      4325 }
      +
      4326 
      +
      4327 // for https://github.com/nlohmann/json/pull/1134
      +
      4328 template<typename BasicJsonType, typename T,
      +
      4329  enable_if_t<std::is_same<T, iteration_proxy_value<typename BasicJsonType::iterator>>::value, int> = 0>
      +
      4330 void to_json(BasicJsonType& j, const T& b)
      +
      4331 {
      +
      4332  j = { {b.key(), b.value()} };
      +
      4333 }
      +
      4334 
      +
      4335 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
      +
      4336 void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...> /*unused*/)
      +
      4337 {
      +
      4338  j = { std::get<Idx>(t)... };
      +
      4339 }
      +
      4340 
      +
      4341 template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value, int > = 0>
      +
      4342 void to_json(BasicJsonType& j, const T& t)
      +
      4343 {
      +
      4344  to_json_tuple_impl(j, t, make_index_sequence<std::tuple_size<T>::value> {});
      +
      4345 }
      +
      4346 
      +
      4347 struct to_json_fn
      +
      4348 {
      +
      4349  template<typename BasicJsonType, typename T>
      +
      4350  auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
      +
      4351  -> decltype(to_json(j, std::forward<T>(val)), void())
      +
      4352  {
      +
      4353  return to_json(j, std::forward<T>(val));
      +
      4354  }
      +
      4355 };
      +
      4356 } // namespace detail
      +
      4357 
      +
      4359 namespace
      +
      4360 {
      + +
      4362 } // namespace
      +
      4363 } // namespace nlohmann
      +
      4364 
      +
      4365 
      +
      4366 namespace nlohmann
      +
      4367 {
      +
      4368 
      +
      4369 template<typename, typename>
      +
      4370 struct adl_serializer
      +
      4371 {
      +
      4381  template<typename BasicJsonType, typename ValueType>
      +
      4382  static auto from_json(BasicJsonType&& j, ValueType& val) noexcept(
      +
      4383  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
      +
      4384  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void())
      +
      4385  {
      +
      4386  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
      +
      4387  }
      +
      4388 
      +
      4398  template<typename BasicJsonType, typename ValueType>
      +
      4399  static auto to_json(BasicJsonType& j, ValueType&& val) noexcept(
      +
      4400  noexcept(::nlohmann::to_json(j, std::forward<ValueType>(val))))
      +
      4401  -> decltype(::nlohmann::to_json(j, std::forward<ValueType>(val)), void())
      +
      4402  {
      +
      4403  ::nlohmann::to_json(j, std::forward<ValueType>(val));
      +
      4404  }
      +
      4405 };
      +
      4406 
      +
      4407 } // namespace nlohmann
      +
      4408 
      +
      4409 // #include <nlohmann/byte_container_with_subtype.hpp>
      +
      4410 
      +
      4411 
      +
      4412 #include <cstdint> // uint8_t
      +
      4413 #include <tuple> // tie
      +
      4414 #include <utility> // move
      +
      4415 
      +
      4416 namespace nlohmann
      +
      4417 {
      +
      4418 
      +
      4432 template<typename BinaryType>
      +
      4433 class byte_container_with_subtype : public BinaryType
      +
      4434 {
      +
      4435  public:
      +
      4437  using container_type = BinaryType;
      +
      4438 
      + +
      4440  : container_type()
      +
      4441  {}
      +
      4442 
      + +
      4444  : container_type(b)
      +
      4445  {}
      +
      4446 
      +
      4447  byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b))))
      +
      4448  : container_type(std::move(b))
      +
      4449  {}
      +
      4450 
      +
      4451  byte_container_with_subtype(const container_type& b, std::uint8_t subtype) noexcept(noexcept(container_type(b)))
      +
      4452  : container_type(b)
      +
      4453  , m_subtype(subtype)
      +
      4454  , m_has_subtype(true)
      +
      4455  {}
      +
      4456 
      +
      4457  byte_container_with_subtype(container_type&& b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b))))
      +
      4458  : container_type(std::move(b))
      +
      4459  , m_subtype(subtype)
      +
      4460  , m_has_subtype(true)
      +
      4461  {}
      +
      4462 
      + +
      4464  {
      +
      4465  return std::tie(static_cast<const BinaryType&>(*this), m_subtype, m_has_subtype) ==
      +
      4466  std::tie(static_cast<const BinaryType&>(rhs), rhs.m_subtype, rhs.m_has_subtype);
      +
      4467  }
      +
      4468 
      + +
      4470  {
      +
      4471  return !(rhs == *this);
      +
      4472  }
      +
      4473 
      +
      4492  void set_subtype(std::uint8_t subtype) noexcept
      +
      4493  {
      +
      4494  m_subtype = subtype;
      +
      4495  m_has_subtype = true;
      +
      4496  }
      +
      4497 
      +
      4519  constexpr std::uint8_t subtype() const noexcept
      +
      4520  {
      +
      4521  return m_subtype;
      +
      4522  }
      +
      4523 
      +
      4540  constexpr bool has_subtype() const noexcept
      +
      4541  {
      +
      4542  return m_has_subtype;
      +
      4543  }
      +
      4544 
      +
      4564  void clear_subtype() noexcept
      +
      4565  {
      +
      4566  m_subtype = 0;
      +
      4567  m_has_subtype = false;
      +
      4568  }
      +
      4569 
      +
      4570  private:
      +
      4571  std::uint8_t m_subtype = 0;
      +
      4572  bool m_has_subtype = false;
      +
      4573 };
      +
      4574 
      +
      4575 } // namespace nlohmann
      +
      4576 
      +
      4577 // #include <nlohmann/detail/conversions/from_json.hpp>
      +
      4578 
      +
      4579 // #include <nlohmann/detail/conversions/to_json.hpp>
      +
      4580 
      +
      4581 // #include <nlohmann/detail/exceptions.hpp>
      +
      4582 
      +
      4583 // #include <nlohmann/detail/hash.hpp>
      +
      4584 
      +
      4585 
      +
      4586 #include <cstddef> // size_t, uint8_t
      +
      4587 #include <functional> // hash
      +
      4588 
      +
      4589 namespace nlohmann
      +
      4590 {
      +
      4591 namespace detail
      +
      4592 {
      +
      4593 
      +
      4594 // boost::hash_combine
      +
      4595 inline std::size_t combine(std::size_t seed, std::size_t h) noexcept
      +
      4596 {
      +
      4597  seed ^= h + 0x9e3779b9 + (seed << 6U) + (seed >> 2U);
      +
      4598  return seed;
      +
      4599 }
      +
      4600 
      +
      4612 template<typename BasicJsonType>
      +
      4613 std::size_t hash(const BasicJsonType& j)
      +
      4614 {
      +
      4615  using string_t = typename BasicJsonType::string_t;
      +
      4616  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      4617  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      4618  using number_float_t = typename BasicJsonType::number_float_t;
      +
      4619 
      +
      4620  const auto type = static_cast<std::size_t>(j.type());
      +
      4621  switch (j.type())
      +
      4622  {
      +
      4623  case BasicJsonType::value_t::null:
      +
      4624  case BasicJsonType::value_t::discarded:
      +
      4625  {
      +
      4626  return combine(type, 0);
      +
      4627  }
      +
      4628 
      +
      4629  case BasicJsonType::value_t::object:
      +
      4630  {
      +
      4631  auto seed = combine(type, j.size());
      +
      4632  for (const auto& element : j.items())
      +
      4633  {
      +
      4634  const auto h = std::hash<string_t> {}(element.key());
      +
      4635  seed = combine(seed, h);
      +
      4636  seed = combine(seed, hash(element.value()));
      +
      4637  }
      +
      4638  return seed;
      +
      4639  }
      +
      4640 
      +
      4641  case BasicJsonType::value_t::array:
      +
      4642  {
      +
      4643  auto seed = combine(type, j.size());
      +
      4644  for (const auto& element : j)
      +
      4645  {
      +
      4646  seed = combine(seed, hash(element));
      +
      4647  }
      +
      4648  return seed;
      +
      4649  }
      +
      4650 
      +
      4651  case BasicJsonType::value_t::string:
      +
      4652  {
      +
      4653  const auto h = std::hash<string_t> {}(j.template get_ref<const string_t&>());
      +
      4654  return combine(type, h);
      +
      4655  }
      +
      4656 
      +
      4657  case BasicJsonType::value_t::boolean:
      +
      4658  {
      +
      4659  const auto h = std::hash<bool> {}(j.template get<bool>());
      +
      4660  return combine(type, h);
      +
      4661  }
      +
      4662 
      +
      4663  case BasicJsonType::value_t::number_integer:
      +
      4664  {
      +
      4665  const auto h = std::hash<number_integer_t> {}(j.template get<number_integer_t>());
      +
      4666  return combine(type, h);
      +
      4667  }
      +
      4668 
      + +
      4670  {
      +
      4671  const auto h = std::hash<number_unsigned_t> {}(j.template get<number_unsigned_t>());
      +
      4672  return combine(type, h);
      +
      4673  }
      +
      4674 
      + +
      4676  {
      +
      4677  const auto h = std::hash<number_float_t> {}(j.template get<number_float_t>());
      +
      4678  return combine(type, h);
      +
      4679  }
      +
      4680 
      + +
      4682  {
      +
      4683  auto seed = combine(type, j.get_binary().size());
      +
      4684  const auto h = std::hash<bool> {}(j.get_binary().has_subtype());
      +
      4685  seed = combine(seed, h);
      +
      4686  seed = combine(seed, j.get_binary().subtype());
      +
      4687  for (const auto byte : j.get_binary())
      +
      4688  {
      +
      4689  seed = combine(seed, std::hash<std::uint8_t> {}(byte));
      +
      4690  }
      +
      4691  return seed;
      +
      4692  }
      +
      4693 
      +
      4694  default: // LCOV_EXCL_LINE
      +
      4695  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      4696  }
      +
      4697 }
      +
      4698 
      +
      4699 } // namespace detail
      +
      4700 } // namespace nlohmann
      +
      4701 
      +
      4702 // #include <nlohmann/detail/input/binary_reader.hpp>
      +
      4703 
      +
      4704 
      +
      4705 #include <algorithm> // generate_n
      +
      4706 #include <array> // array
      +
      4707 #include <cmath> // ldexp
      +
      4708 #include <cstddef> // size_t
      +
      4709 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
      +
      4710 #include <cstdio> // snprintf
      +
      4711 #include <cstring> // memcpy
      +
      4712 #include <iterator> // back_inserter
      +
      4713 #include <limits> // numeric_limits
      +
      4714 #include <string> // char_traits, string
      +
      4715 #include <utility> // make_pair, move
      +
      4716 
      +
      4717 // #include <nlohmann/detail/exceptions.hpp>
      +
      4718 
      +
      4719 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      4720 
      +
      4721 
      +
      4722 #include <array> // array
      +
      4723 #include <cstddef> // size_t
      +
      4724 #include <cstdio> //FILE *
      +
      4725 #include <cstring> // strlen
      +
      4726 #include <istream> // istream
      +
      4727 #include <iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
      +
      4728 #include <memory> // shared_ptr, make_shared, addressof
      +
      4729 #include <numeric> // accumulate
      +
      4730 #include <string> // string, char_traits
      +
      4731 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
      +
      4732 #include <utility> // pair, declval
      +
      4733 
      +
      4734 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
      +
      4735 
      +
      4736 // #include <nlohmann/detail/macro_scope.hpp>
      +
      4737 
      +
      4738 
      +
      4739 namespace nlohmann
      +
      4740 {
      +
      4741 namespace detail
      +
      4742 {
      + +
      4745 
      +
      4747 // input adapters //
      +
      4749 
      +
      4754 class file_input_adapter
      +
      4755 {
      +
      4756  public:
      +
      4757  using char_type = char;
      +
      4758 
      + +
      4760  explicit file_input_adapter(std::FILE* f) noexcept
      +
      4761  : m_file(f)
      +
      4762  {}
      +
      4763 
      +
      4764  // make class move-only
      +
      4765  file_input_adapter(const file_input_adapter&) = delete;
      + + + +
      4769 
      +
      4770  std::char_traits<char>::int_type get_character() noexcept
      +
      4771  {
      +
      4772  return std::fgetc(m_file);
      +
      4773  }
      +
      4774 
      +
      4775  private:
      +
      4777  std::FILE* m_file;
      +
      4778 };
      +
      4779 
      +
      4780 
      +
      4790 class input_stream_adapter
      +
      4791 {
      +
      4792  public:
      +
      4793  using char_type = char;
      +
      4794 
      + +
      4796  {
      +
      4797  // clear stream flags; we use underlying streambuf I/O, do not
      +
      4798  // maintain ifstream flags, except eof
      +
      4799  if (is != nullptr)
      +
      4800  {
      +
      4801  is->clear(is->rdstate() & std::ios::eofbit);
      +
      4802  }
      +
      4803  }
      +
      4804 
      +
      4805  explicit input_stream_adapter(std::istream& i)
      +
      4806  : is(&i), sb(i.rdbuf())
      +
      4807  {}
      +
      4808 
      +
      4809  // delete because of pointer members
      +
      4810  input_stream_adapter(const input_stream_adapter&) = delete;
      + + +
      4813 
      +
      4814  input_stream_adapter(input_stream_adapter&& rhs) noexcept : is(rhs.is), sb(rhs.sb)
      +
      4815  {
      +
      4816  rhs.is = nullptr;
      +
      4817  rhs.sb = nullptr;
      +
      4818  }
      +
      4819 
      +
      4820  // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
      +
      4821  // ensure that std::char_traits<char>::eof() and the character 0xFF do not
      +
      4822  // end up as the same value, eg. 0xFFFFFFFF.
      +
      4823  std::char_traits<char>::int_type get_character()
      +
      4824  {
      +
      4825  auto res = sb->sbumpc();
      +
      4826  // set eof manually, as we don't use the istream interface.
      +
      4827  if (JSON_HEDLEY_UNLIKELY(res == EOF))
      +
      4828  {
      +
      4829  is->clear(is->rdstate() | std::ios::eofbit);
      +
      4830  }
      +
      4831  return res;
      +
      4832  }
      +
      4833 
      +
      4834  private:
      +
      4836  std::istream* is = nullptr;
      +
      4837  std::streambuf* sb = nullptr;
      +
      4838 };
      +
      4839 
      +
      4840 // General-purpose iterator-based adapter. It might not be as fast as
      +
      4841 // theoretically possible for some containers, but it is extremely versatile.
      +
      4842 template<typename IteratorType>
      + +
      4844 {
      +
      4845  public:
      +
      4846  using char_type = typename std::iterator_traits<IteratorType>::value_type;
      +
      4847 
      +
      4848  iterator_input_adapter(IteratorType first, IteratorType last)
      +
      4849  : current(std::move(first)), end(std::move(last)) {}
      +
      4850 
      +
      4851  typename std::char_traits<char_type>::int_type get_character()
      +
      4852  {
      +
      4853  if (JSON_HEDLEY_LIKELY(current != end))
      +
      4854  {
      +
      4855  auto result = std::char_traits<char_type>::to_int_type(*current);
      +
      4856  std::advance(current, 1);
      +
      4857  return result;
      +
      4858  }
      +
      4859  else
      +
      4860  {
      +
      4861  return std::char_traits<char_type>::eof();
      +
      4862  }
      +
      4863  }
      +
      4864 
      +
      4865  private:
      +
      4866  IteratorType current;
      +
      4867  IteratorType end;
      +
      4868 
      +
      4869  template<typename BaseInputAdapter, size_t T>
      + +
      4871 
      +
      4872  bool empty() const
      +
      4873  {
      +
      4874  return current == end;
      +
      4875  }
      +
      4876 
      +
      4877 };
      +
      4878 
      +
      4879 
      +
      4880 template<typename BaseInputAdapter, size_t T>
      +
      4881 struct wide_string_input_helper;
      +
      4882 
      +
      4883 template<typename BaseInputAdapter>
      +
      4884 struct wide_string_input_helper<BaseInputAdapter, 4>
      +
      4885 {
      +
      4886  // UTF-32
      +
      4887  static void fill_buffer(BaseInputAdapter& input,
      +
      4888  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
      +
      4889  size_t& utf8_bytes_index,
      +
      4890  size_t& utf8_bytes_filled)
      +
      4891  {
      +
      4892  utf8_bytes_index = 0;
      +
      4893 
      +
      4894  if (JSON_HEDLEY_UNLIKELY(input.empty()))
      +
      4895  {
      +
      4896  utf8_bytes[0] = std::char_traits<char>::eof();
      +
      4897  utf8_bytes_filled = 1;
      +
      4898  }
      +
      4899  else
      +
      4900  {
      +
      4901  // get the current character
      +
      4902  const auto wc = input.get_character();
      +
      4903 
      +
      4904  // UTF-32 to UTF-8 encoding
      +
      4905  if (wc < 0x80)
      +
      4906  {
      +
      4907  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4908  utf8_bytes_filled = 1;
      +
      4909  }
      +
      4910  else if (wc <= 0x7FF)
      +
      4911  {
      +
      4912  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u) & 0x1Fu));
      +
      4913  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
      +
      4914  utf8_bytes_filled = 2;
      +
      4915  }
      +
      4916  else if (wc <= 0xFFFF)
      +
      4917  {
      +
      4918  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u) & 0x0Fu));
      +
      4919  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
      +
      4920  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
      +
      4921  utf8_bytes_filled = 3;
      +
      4922  }
      +
      4923  else if (wc <= 0x10FFFF)
      +
      4924  {
      +
      4925  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((static_cast<unsigned int>(wc) >> 18u) & 0x07u));
      +
      4926  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 12u) & 0x3Fu));
      +
      4927  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
      +
      4928  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
      +
      4929  utf8_bytes_filled = 4;
      +
      4930  }
      +
      4931  else
      +
      4932  {
      +
      4933  // unknown character
      +
      4934  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4935  utf8_bytes_filled = 1;
      +
      4936  }
      +
      4937  }
      +
      4938  }
      +
      4939 };
      +
      4940 
      +
      4941 template<typename BaseInputAdapter>
      +
      4942 struct wide_string_input_helper<BaseInputAdapter, 2>
      +
      4943 {
      +
      4944  // UTF-16
      +
      4945  static void fill_buffer(BaseInputAdapter& input,
      +
      4946  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
      +
      4947  size_t& utf8_bytes_index,
      +
      4948  size_t& utf8_bytes_filled)
      +
      4949  {
      +
      4950  utf8_bytes_index = 0;
      +
      4951 
      +
      4952  if (JSON_HEDLEY_UNLIKELY(input.empty()))
      +
      4953  {
      +
      4954  utf8_bytes[0] = std::char_traits<char>::eof();
      +
      4955  utf8_bytes_filled = 1;
      +
      4956  }
      +
      4957  else
      +
      4958  {
      +
      4959  // get the current character
      +
      4960  const auto wc = input.get_character();
      +
      4961 
      +
      4962  // UTF-16 to UTF-8 encoding
      +
      4963  if (wc < 0x80)
      +
      4964  {
      +
      4965  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4966  utf8_bytes_filled = 1;
      +
      4967  }
      +
      4968  else if (wc <= 0x7FF)
      +
      4969  {
      +
      4970  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u)));
      +
      4971  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
      +
      4972  utf8_bytes_filled = 2;
      +
      4973  }
      +
      4974  else if (0xD800 > wc || wc >= 0xE000)
      +
      4975  {
      +
      4976  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u)));
      +
      4977  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
      +
      4978  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
      +
      4979  utf8_bytes_filled = 3;
      +
      4980  }
      +
      4981  else
      +
      4982  {
      +
      4983  if (JSON_HEDLEY_UNLIKELY(!input.empty()))
      +
      4984  {
      +
      4985  const auto wc2 = static_cast<unsigned int>(input.get_character());
      +
      4986  const auto charcode = 0x10000u + (((static_cast<unsigned int>(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu));
      +
      4987  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | (charcode >> 18u));
      +
      4988  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu));
      +
      4989  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu));
      +
      4990  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (charcode & 0x3Fu));
      +
      4991  utf8_bytes_filled = 4;
      +
      4992  }
      +
      4993  else
      +
      4994  {
      +
      4995  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
      +
      4996  utf8_bytes_filled = 1;
      +
      4997  }
      +
      4998  }
      +
      4999  }
      +
      5000  }
      +
      5001 };
      +
      5002 
      +
      5003 // Wraps another input apdater to convert wide character types into individual bytes.
      +
      5004 template<typename BaseInputAdapter, typename WideCharType>
      +
      5005 class wide_string_input_adapter
      +
      5006 {
      +
      5007  public:
      +
      5008  using char_type = char;
      +
      5009 
      +
      5010  wide_string_input_adapter(BaseInputAdapter base)
      +
      5011  : base_adapter(base) {}
      +
      5012 
      +
      5013  typename std::char_traits<char>::int_type get_character() noexcept
      +
      5014  {
      +
      5015  // check if buffer needs to be filled
      +
      5016  if (utf8_bytes_index == utf8_bytes_filled)
      +
      5017  {
      +
      5018  fill_buffer<sizeof(WideCharType)>();
      +
      5019 
      +
      5020  JSON_ASSERT(utf8_bytes_filled > 0);
      +
      5021  JSON_ASSERT(utf8_bytes_index == 0);
      +
      5022  }
      +
      5023 
      +
      5024  // use buffer
      +
      5025  JSON_ASSERT(utf8_bytes_filled > 0);
      +
      5026  JSON_ASSERT(utf8_bytes_index < utf8_bytes_filled);
      +
      5027  return utf8_bytes[utf8_bytes_index++];
      +
      5028  }
      +
      5029 
      +
      5030  private:
      +
      5031  BaseInputAdapter base_adapter;
      +
      5032 
      +
      5033  template<size_t T>
      +
      5034  void fill_buffer()
      +
      5035  {
      +
      5036  wide_string_input_helper<BaseInputAdapter, T>::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled);
      +
      5037  }
      +
      5038 
      +
      5040  std::array<std::char_traits<char>::int_type, 4> utf8_bytes = {{0, 0, 0, 0}};
      +
      5041 
      +
      5043  std::size_t utf8_bytes_index = 0;
      +
      5045  std::size_t utf8_bytes_filled = 0;
      +
      5046 };
      +
      5047 
      +
      5048 
      +
      5049 template<typename IteratorType, typename Enable = void>
      + +
      5051 {
      +
      5052  using iterator_type = IteratorType;
      +
      5053  using char_type = typename std::iterator_traits<iterator_type>::value_type;
      + +
      5055 
      +
      5056  static adapter_type create(IteratorType first, IteratorType last)
      +
      5057  {
      +
      5058  return adapter_type(std::move(first), std::move(last));
      +
      5059  }
      +
      5060 };
      +
      5061 
      +
      5062 template<typename T>
      + +
      5064 {
      +
      5065  using value_type = typename std::iterator_traits<T>::value_type;
      +
      5066  enum
      +
      5067  {
      +
      5068  value = sizeof(value_type) > 1
      +
      5069  };
      +
      5070 };
      +
      5071 
      +
      5072 template<typename IteratorType>
      + +
      5074 {
      +
      5075  using iterator_type = IteratorType;
      +
      5076  using char_type = typename std::iterator_traits<iterator_type>::value_type;
      + + +
      5079 
      +
      5080  static adapter_type create(IteratorType first, IteratorType last)
      +
      5081  {
      +
      5082  return adapter_type(base_adapter_type(std::move(first), std::move(last)));
      +
      5083  }
      +
      5084 };
      +
      5085 
      +
      5086 // General purpose iterator-based input
      +
      5087 template<typename IteratorType>
      +
      5088 typename iterator_input_adapter_factory<IteratorType>::adapter_type input_adapter(IteratorType first, IteratorType last)
      +
      5089 {
      +
      5090  using factory_type = iterator_input_adapter_factory<IteratorType>;
      +
      5091  return factory_type::create(first, last);
      +
      5092 }
      +
      5093 
      +
      5094 // Convenience shorthand from container to iterator
      +
      5095 template<typename ContainerType>
      +
      5096 auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container)))
      +
      5097 {
      +
      5098  // Enable ADL
      +
      5099  using std::begin;
      +
      5100  using std::end;
      +
      5101 
      +
      5102  return input_adapter(begin(container), end(container));
      +
      5103 }
      +
      5104 
      +
      5105 // Special cases with fast paths
      +
      5106 inline file_input_adapter input_adapter(std::FILE* file)
      +
      5107 {
      +
      5108  return file_input_adapter(file);
      +
      5109 }
      +
      5110 
      +
      5111 inline input_stream_adapter input_adapter(std::istream& stream)
      +
      5112 {
      +
      5113  return input_stream_adapter(stream);
      +
      5114 }
      +
      5115 
      +
      5116 inline input_stream_adapter input_adapter(std::istream&& stream)
      +
      5117 {
      +
      5118  return input_stream_adapter(stream);
      +
      5119 }
      +
      5120 
      +
      5121 using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>()));
      +
      5122 
      +
      5123 // Null-delimited strings, and the like.
      +
      5124 template < typename CharT,
      +
      5125  typename std::enable_if <
      +
      5126  std::is_pointer<CharT>::value&&
      +
      5127  !std::is_array<CharT>::value&&
      +
      5128  std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
      +
      5129  sizeof(typename std::remove_pointer<CharT>::type) == 1,
      +
      5130  int >::type = 0 >
      + +
      5132 {
      +
      5133  auto length = std::strlen(reinterpret_cast<const char*>(b));
      +
      5134  const auto* ptr = reinterpret_cast<const char*>(b);
      +
      5135  return input_adapter(ptr, ptr + length);
      +
      5136 }
      +
      5137 
      +
      5138 template<typename T, std::size_t N>
      +
      5139 auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N))
      +
      5140 {
      +
      5141  return input_adapter(array, array + N);
      +
      5142 }
      +
      5143 
      +
      5144 // This class only handles inputs of input_buffer_adapter type.
      +
      5145 // It's required so that expressions like {ptr, len} can be implicitely casted
      +
      5146 // to the correct adapter.
      + +
      5148 {
      +
      5149  public:
      +
      5150  template < typename CharT,
      +
      5151  typename std::enable_if <
      +
      5152  std::is_pointer<CharT>::value&&
      +
      5153  std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
      +
      5154  sizeof(typename std::remove_pointer<CharT>::type) == 1,
      +
      5155  int >::type = 0 >
      +
      5156  span_input_adapter(CharT b, std::size_t l)
      +
      5157  : ia(reinterpret_cast<const char*>(b), reinterpret_cast<const char*>(b) + l) {}
      +
      5158 
      +
      5159  template<class IteratorType,
      +
      5160  typename std::enable_if<
      +
      5161  std::is_same<typename iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
      +
      5162  int>::type = 0>
      +
      5163  span_input_adapter(IteratorType first, IteratorType last)
      +
      5164  : ia(input_adapter(first, last)) {}
      +
      5165 
      + +
      5167  {
      +
      5168  return std::move(ia);
      +
      5169  }
      +
      5170 
      +
      5171  private:
      + +
      5173 };
      +
      5174 } // namespace detail
      +
      5175 } // namespace nlohmann
      +
      5176 
      +
      5177 // #include <nlohmann/detail/input/json_sax.hpp>
      +
      5178 
      +
      5179 
      +
      5180 #include <cstddef>
      +
      5181 #include <string> // string
      +
      5182 #include <utility> // move
      +
      5183 #include <vector> // vector
      +
      5184 
      +
      5185 // #include <nlohmann/detail/exceptions.hpp>
      +
      5186 
      +
      5187 // #include <nlohmann/detail/macro_scope.hpp>
      +
      5188 
      +
      5189 
      +
      5190 namespace nlohmann
      +
      5191 {
      +
      5192 
      +
      5201 template<typename BasicJsonType>
      +
      5202 struct json_sax
      +
      5203 {
      +
      5204  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5205  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5206  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5207  using string_t = typename BasicJsonType::string_t;
      +
      5208  using binary_t = typename BasicJsonType::binary_t;
      +
      5209 
      +
      5214  virtual bool null() = 0;
      +
      5215 
      +
      5221  virtual bool boolean(bool val) = 0;
      +
      5222 
      +
      5228  virtual bool number_integer(number_integer_t val) = 0;
      +
      5229 
      +
      5235  virtual bool number_unsigned(number_unsigned_t val) = 0;
      +
      5236 
      +
      5243  virtual bool number_float(number_float_t val, const string_t& s) = 0;
      +
      5244 
      +
      5251  virtual bool string(string_t& val) = 0;
      +
      5252 
      +
      5259  virtual bool binary(binary_t& val) = 0;
      +
      5260 
      +
      5267  virtual bool start_object(std::size_t elements) = 0;
      +
      5268 
      +
      5275  virtual bool key(string_t& val) = 0;
      +
      5276 
      +
      5281  virtual bool end_object() = 0;
      +
      5282 
      +
      5289  virtual bool start_array(std::size_t elements) = 0;
      +
      5290 
      +
      5295  virtual bool end_array() = 0;
      +
      5296 
      +
      5304  virtual bool parse_error(std::size_t position,
      +
      5305  const std::string& last_token,
      +
      5306  const detail::exception& ex) = 0;
      +
      5307 
      +
      5308  virtual ~json_sax() = default;
      +
      5309 };
      +
      5310 
      +
      5311 
      +
      5312 namespace detail
      +
      5313 {
      +
      5327 template<typename BasicJsonType>
      +
      5328 class json_sax_dom_parser
      +
      5329 {
      +
      5330  public:
      +
      5331  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5332  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5333  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5334  using string_t = typename BasicJsonType::string_t;
      +
      5335  using binary_t = typename BasicJsonType::binary_t;
      +
      5336 
      +
      5342  explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true)
      +
      5343  : root(r), allow_exceptions(allow_exceptions_)
      +
      5344  {}
      +
      5345 
      +
      5346  // make class move-only
      +
      5347  json_sax_dom_parser(const json_sax_dom_parser&) = delete;
      + + + +
      5351  ~json_sax_dom_parser() = default;
      +
      5352 
      +
      5353  bool null()
      +
      5354  {
      +
      5355  handle_value(nullptr);
      +
      5356  return true;
      +
      5357  }
      +
      5358 
      +
      5359  bool boolean(bool val)
      +
      5360  {
      +
      5361  handle_value(val);
      +
      5362  return true;
      +
      5363  }
      +
      5364 
      + +
      5366  {
      +
      5367  handle_value(val);
      +
      5368  return true;
      +
      5369  }
      +
      5370 
      + +
      5372  {
      +
      5373  handle_value(val);
      +
      5374  return true;
      +
      5375  }
      +
      5376 
      +
      5377  bool number_float(number_float_t val, const string_t& /*unused*/)
      +
      5378  {
      +
      5379  handle_value(val);
      +
      5380  return true;
      +
      5381  }
      +
      5382 
      +
      5383  bool string(string_t& val)
      +
      5384  {
      +
      5385  handle_value(val);
      +
      5386  return true;
      +
      5387  }
      +
      5388 
      +
      5389  bool binary(binary_t& val)
      +
      5390  {
      +
      5391  handle_value(std::move(val));
      +
      5392  return true;
      +
      5393  }
      +
      5394 
      +
      5395  bool start_object(std::size_t len)
      +
      5396  {
      +
      5397  ref_stack.push_back(handle_value(BasicJsonType::value_t::object));
      +
      5398 
      +
      5399  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
      +
      5400  {
      + +
      5402  "excessive object size: " + std::to_string(len)));
      +
      5403  }
      +
      5404 
      +
      5405  return true;
      +
      5406  }
      +
      5407 
      +
      5408  bool key(string_t& val)
      +
      5409  {
      +
      5410  // add null at given key and store the reference for later
      +
      5411  object_element = &(ref_stack.back()->m_value.object->operator[](val));
      +
      5412  return true;
      +
      5413  }
      +
      5414 
      +
      5415  bool end_object()
      +
      5416  {
      +
      5417  ref_stack.pop_back();
      +
      5418  return true;
      +
      5419  }
      +
      5420 
      +
      5421  bool start_array(std::size_t len)
      +
      5422  {
      +
      5423  ref_stack.push_back(handle_value(BasicJsonType::value_t::array));
      +
      5424 
      +
      5425  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
      +
      5426  {
      + +
      5428  "excessive array size: " + std::to_string(len)));
      +
      5429  }
      +
      5430 
      +
      5431  return true;
      +
      5432  }
      +
      5433 
      +
      5434  bool end_array()
      +
      5435  {
      +
      5436  ref_stack.pop_back();
      +
      5437  return true;
      +
      5438  }
      +
      5439 
      +
      5440  template<class Exception>
      +
      5441  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      +
      5442  const Exception& ex)
      +
      5443  {
      +
      5444  errored = true;
      +
      5445  static_cast<void>(ex);
      +
      5446  if (allow_exceptions)
      +
      5447  {
      +
      5448  JSON_THROW(ex);
      +
      5449  }
      +
      5450  return false;
      +
      5451  }
      +
      5452 
      +
      5453  constexpr bool is_errored() const
      +
      5454  {
      +
      5455  return errored;
      +
      5456  }
      +
      5457 
      +
      5458  private:
      +
      5465  template<typename Value>
      + +
      5467  BasicJsonType* handle_value(Value&& v)
      +
      5468  {
      +
      5469  if (ref_stack.empty())
      +
      5470  {
      +
      5471  root = BasicJsonType(std::forward<Value>(v));
      +
      5472  return &root;
      +
      5473  }
      +
      5474 
      +
      5475  JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
      +
      5476 
      +
      5477  if (ref_stack.back()->is_array())
      +
      5478  {
      +
      5479  ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v));
      +
      5480  return &(ref_stack.back()->m_value.array->back());
      +
      5481  }
      +
      5482 
      +
      5483  JSON_ASSERT(ref_stack.back()->is_object());
      +
      5484  JSON_ASSERT(object_element);
      +
      5485  *object_element = BasicJsonType(std::forward<Value>(v));
      +
      5486  return object_element;
      +
      5487  }
      +
      5488 
      +
      5490  BasicJsonType& root;
      +
      5492  std::vector<BasicJsonType*> ref_stack {};
      +
      5494  BasicJsonType* object_element = nullptr;
      +
      5496  bool errored = false;
      +
      5498  const bool allow_exceptions = true;
      +
      5499 };
      +
      5500 
      +
      5501 template<typename BasicJsonType>
      +
      5502 class json_sax_dom_callback_parser
      +
      5503 {
      +
      5504  public:
      +
      5505  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5506  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5507  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5508  using string_t = typename BasicJsonType::string_t;
      +
      5509  using binary_t = typename BasicJsonType::binary_t;
      + + +
      5512 
      + +
      5514  const parser_callback_t cb,
      +
      5515  const bool allow_exceptions_ = true)
      +
      5516  : root(r), callback(cb), allow_exceptions(allow_exceptions_)
      +
      5517  {
      +
      5518  keep_stack.push_back(true);
      +
      5519  }
      +
      5520 
      +
      5521  // make class move-only
      + + + + +
      5526  ~json_sax_dom_callback_parser() = default;
      +
      5527 
      +
      5528  bool null()
      +
      5529  {
      +
      5530  handle_value(nullptr);
      +
      5531  return true;
      +
      5532  }
      +
      5533 
      +
      5534  bool boolean(bool val)
      +
      5535  {
      +
      5536  handle_value(val);
      +
      5537  return true;
      +
      5538  }
      +
      5539 
      + +
      5541  {
      +
      5542  handle_value(val);
      +
      5543  return true;
      +
      5544  }
      +
      5545 
      + +
      5547  {
      +
      5548  handle_value(val);
      +
      5549  return true;
      +
      5550  }
      +
      5551 
      +
      5552  bool number_float(number_float_t val, const string_t& /*unused*/)
      +
      5553  {
      +
      5554  handle_value(val);
      +
      5555  return true;
      +
      5556  }
      +
      5557 
      +
      5558  bool string(string_t& val)
      +
      5559  {
      +
      5560  handle_value(val);
      +
      5561  return true;
      +
      5562  }
      +
      5563 
      +
      5564  bool binary(binary_t& val)
      +
      5565  {
      +
      5566  handle_value(std::move(val));
      +
      5567  return true;
      +
      5568  }
      +
      5569 
      +
      5570  bool start_object(std::size_t len)
      +
      5571  {
      +
      5572  // check callback for object start
      +
      5573  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::object_start, discarded);
      +
      5574  keep_stack.push_back(keep);
      +
      5575 
      +
      5576  auto val = handle_value(BasicJsonType::value_t::object, true);
      +
      5577  ref_stack.push_back(val.second);
      +
      5578 
      +
      5579  // check object limit
      +
      5580  if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
      +
      5581  {
      +
      5582  JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len)));
      +
      5583  }
      +
      5584 
      +
      5585  return true;
      +
      5586  }
      +
      5587 
      +
      5588  bool key(string_t& val)
      +
      5589  {
      +
      5590  BasicJsonType k = BasicJsonType(val);
      +
      5591 
      +
      5592  // check callback for key
      +
      5593  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::key, k);
      +
      5594  key_keep_stack.push_back(keep);
      +
      5595 
      +
      5596  // add discarded value at given key and store the reference for later
      +
      5597  if (keep && ref_stack.back())
      +
      5598  {
      +
      5599  object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded);
      +
      5600  }
      +
      5601 
      +
      5602  return true;
      +
      5603  }
      +
      5604 
      +
      5605  bool end_object()
      +
      5606  {
      +
      5607  if (ref_stack.back() && !callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back()))
      +
      5608  {
      +
      5609  // discard object
      +
      5610  *ref_stack.back() = discarded;
      +
      5611  }
      +
      5612 
      +
      5613  JSON_ASSERT(!ref_stack.empty());
      +
      5614  JSON_ASSERT(!keep_stack.empty());
      +
      5615  ref_stack.pop_back();
      +
      5616  keep_stack.pop_back();
      +
      5617 
      +
      5618  if (!ref_stack.empty() && ref_stack.back() && ref_stack.back()->is_structured())
      +
      5619  {
      +
      5620  // remove discarded value
      +
      5621  for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it)
      +
      5622  {
      +
      5623  if (it->is_discarded())
      +
      5624  {
      +
      5625  ref_stack.back()->erase(it);
      +
      5626  break;
      +
      5627  }
      +
      5628  }
      +
      5629  }
      +
      5630 
      +
      5631  return true;
      +
      5632  }
      +
      5633 
      +
      5634  bool start_array(std::size_t len)
      +
      5635  {
      +
      5636  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::array_start, discarded);
      +
      5637  keep_stack.push_back(keep);
      +
      5638 
      +
      5639  auto val = handle_value(BasicJsonType::value_t::array, true);
      +
      5640  ref_stack.push_back(val.second);
      +
      5641 
      +
      5642  // check array limit
      +
      5643  if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
      +
      5644  {
      +
      5645  JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len)));
      +
      5646  }
      +
      5647 
      +
      5648  return true;
      +
      5649  }
      +
      5650 
      +
      5651  bool end_array()
      +
      5652  {
      +
      5653  bool keep = true;
      +
      5654 
      +
      5655  if (ref_stack.back())
      +
      5656  {
      +
      5657  keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back());
      +
      5658  if (!keep)
      +
      5659  {
      +
      5660  // discard array
      +
      5661  *ref_stack.back() = discarded;
      +
      5662  }
      +
      5663  }
      +
      5664 
      +
      5665  JSON_ASSERT(!ref_stack.empty());
      +
      5666  JSON_ASSERT(!keep_stack.empty());
      +
      5667  ref_stack.pop_back();
      +
      5668  keep_stack.pop_back();
      +
      5669 
      +
      5670  // remove discarded value
      +
      5671  if (!keep && !ref_stack.empty() && ref_stack.back()->is_array())
      +
      5672  {
      +
      5673  ref_stack.back()->m_value.array->pop_back();
      +
      5674  }
      +
      5675 
      +
      5676  return true;
      +
      5677  }
      +
      5678 
      +
      5679  template<class Exception>
      +
      5680  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      +
      5681  const Exception& ex)
      +
      5682  {
      +
      5683  errored = true;
      +
      5684  static_cast<void>(ex);
      +
      5685  if (allow_exceptions)
      +
      5686  {
      +
      5687  JSON_THROW(ex);
      +
      5688  }
      +
      5689  return false;
      +
      5690  }
      +
      5691 
      +
      5692  constexpr bool is_errored() const
      +
      5693  {
      +
      5694  return errored;
      +
      5695  }
      +
      5696 
      +
      5697  private:
      +
      5713  template<typename Value>
      +
      5714  std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool skip_callback = false)
      +
      5715  {
      +
      5716  JSON_ASSERT(!keep_stack.empty());
      +
      5717 
      +
      5718  // do not handle this value if we know it would be added to a discarded
      +
      5719  // container
      +
      5720  if (!keep_stack.back())
      +
      5721  {
      +
      5722  return {false, nullptr};
      +
      5723  }
      +
      5724 
      +
      5725  // create value
      +
      5726  auto value = BasicJsonType(std::forward<Value>(v));
      +
      5727 
      +
      5728  // check callback
      +
      5729  const bool keep = skip_callback || callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value);
      +
      5730 
      +
      5731  // do not handle this value if we just learnt it shall be discarded
      +
      5732  if (!keep)
      +
      5733  {
      +
      5734  return {false, nullptr};
      +
      5735  }
      +
      5736 
      +
      5737  if (ref_stack.empty())
      +
      5738  {
      +
      5739  root = std::move(value);
      +
      5740  return {true, &root};
      +
      5741  }
      +
      5742 
      +
      5743  // skip this value if we already decided to skip the parent
      +
      5744  // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360)
      +
      5745  if (!ref_stack.back())
      +
      5746  {
      +
      5747  return {false, nullptr};
      +
      5748  }
      +
      5749 
      +
      5750  // we now only expect arrays and objects
      +
      5751  JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
      +
      5752 
      +
      5753  // array
      +
      5754  if (ref_stack.back()->is_array())
      +
      5755  {
      +
      5756  ref_stack.back()->m_value.array->push_back(std::move(value));
      +
      5757  return {true, &(ref_stack.back()->m_value.array->back())};
      +
      5758  }
      +
      5759 
      +
      5760  // object
      +
      5761  JSON_ASSERT(ref_stack.back()->is_object());
      +
      5762  // check if we should store an element for the current key
      +
      5763  JSON_ASSERT(!key_keep_stack.empty());
      +
      5764  const bool store_element = key_keep_stack.back();
      +
      5765  key_keep_stack.pop_back();
      +
      5766 
      +
      5767  if (!store_element)
      +
      5768  {
      +
      5769  return {false, nullptr};
      +
      5770  }
      +
      5771 
      +
      5772  JSON_ASSERT(object_element);
      +
      5773  *object_element = std::move(value);
      +
      5774  return {true, object_element};
      +
      5775  }
      +
      5776 
      +
      5778  BasicJsonType& root;
      +
      5780  std::vector<BasicJsonType*> ref_stack {};
      +
      5782  std::vector<bool> keep_stack {};
      +
      5784  std::vector<bool> key_keep_stack {};
      +
      5786  BasicJsonType* object_element = nullptr;
      +
      5788  bool errored = false;
      +
      5790  const parser_callback_t callback = nullptr;
      +
      5792  const bool allow_exceptions = true;
      +
      5794  BasicJsonType discarded = BasicJsonType::value_t::discarded;
      +
      5795 };
      +
      5796 
      +
      5797 template<typename BasicJsonType>
      +
      5798 class json_sax_acceptor
      +
      5799 {
      +
      5800  public:
      +
      5801  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5802  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5803  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5804  using string_t = typename BasicJsonType::string_t;
      +
      5805  using binary_t = typename BasicJsonType::binary_t;
      +
      5806 
      +
      5807  bool null()
      +
      5808  {
      +
      5809  return true;
      +
      5810  }
      +
      5811 
      +
      5812  bool boolean(bool /*unused*/)
      +
      5813  {
      +
      5814  return true;
      +
      5815  }
      +
      5816 
      + +
      5818  {
      +
      5819  return true;
      +
      5820  }
      +
      5821 
      + +
      5823  {
      +
      5824  return true;
      +
      5825  }
      +
      5826 
      +
      5827  bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
      +
      5828  {
      +
      5829  return true;
      +
      5830  }
      +
      5831 
      +
      5832  bool string(string_t& /*unused*/)
      +
      5833  {
      +
      5834  return true;
      +
      5835  }
      +
      5836 
      +
      5837  bool binary(binary_t& /*unused*/)
      +
      5838  {
      +
      5839  return true;
      +
      5840  }
      +
      5841 
      +
      5842  bool start_object(std::size_t /*unused*/ = std::size_t(-1))
      +
      5843  {
      +
      5844  return true;
      +
      5845  }
      +
      5846 
      +
      5847  bool key(string_t& /*unused*/)
      +
      5848  {
      +
      5849  return true;
      +
      5850  }
      +
      5851 
      +
      5852  bool end_object()
      +
      5853  {
      +
      5854  return true;
      +
      5855  }
      +
      5856 
      +
      5857  bool start_array(std::size_t /*unused*/ = std::size_t(-1))
      +
      5858  {
      +
      5859  return true;
      +
      5860  }
      +
      5861 
      +
      5862  bool end_array()
      +
      5863  {
      +
      5864  return true;
      +
      5865  }
      +
      5866 
      +
      5867  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/)
      +
      5868  {
      +
      5869  return false;
      +
      5870  }
      +
      5871 };
      +
      5872 } // namespace detail
      +
      5873 
      +
      5874 } // namespace nlohmann
      +
      5875 
      +
      5876 // #include <nlohmann/detail/input/lexer.hpp>
      +
      5877 
      +
      5878 
      +
      5879 #include <array> // array
      +
      5880 #include <clocale> // localeconv
      +
      5881 #include <cstddef> // size_t
      +
      5882 #include <cstdio> // snprintf
      +
      5883 #include <cstdlib> // strtof, strtod, strtold, strtoll, strtoull
      +
      5884 #include <initializer_list> // initializer_list
      +
      5885 #include <string> // char_traits, string
      +
      5886 #include <utility> // move
      +
      5887 #include <vector> // vector
      +
      5888 
      +
      5889 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      5890 
      +
      5891 // #include <nlohmann/detail/input/position_t.hpp>
      +
      5892 
      +
      5893 // #include <nlohmann/detail/macro_scope.hpp>
      +
      5894 
      +
      5895 
      +
      5896 namespace nlohmann
      +
      5897 {
      +
      5898 namespace detail
      +
      5899 {
      +
      5901 // lexer //
      +
      5903 
      +
      5904 template<typename BasicJsonType>
      + +
      5906 {
      +
      5907  public:
      +
      5909  enum class token_type
      +
      5910  {
      +
      5911  uninitialized,
      +
      5912  literal_true,
      +
      5913  literal_false,
      +
      5914  literal_null,
      +
      5915  value_string,
      +
      5916  value_unsigned,
      +
      5917  value_integer,
      +
      5918  value_float,
      +
      5919  begin_array,
      +
      5920  begin_object,
      +
      5921  end_array,
      +
      5922  end_object,
      +
      5923  name_separator,
      +
      5924  value_separator,
      +
      5925  parse_error,
      +
      5926  end_of_input,
      + +
      5928  };
      +
      5929 
      + + +
      5933  static const char* token_type_name(const token_type t) noexcept
      +
      5934  {
      +
      5935  switch (t)
      +
      5936  {
      + +
      5938  return "<uninitialized>";
      + +
      5940  return "true literal";
      + +
      5942  return "false literal";
      + +
      5944  return "null literal";
      + +
      5946  return "string literal";
      + + + +
      5950  return "number literal";
      + +
      5952  return "'['";
      + +
      5954  return "'{'";
      +
      5955  case token_type::end_array:
      +
      5956  return "']'";
      + +
      5958  return "'}'";
      + +
      5960  return "':'";
      + +
      5962  return "','";
      + +
      5964  return "<parse error>";
      + +
      5966  return "end of input";
      + +
      5968  return "'[', '{', or a literal";
      +
      5969  // LCOV_EXCL_START
      +
      5970  default: // catch non-enum values
      +
      5971  return "unknown token";
      +
      5972  // LCOV_EXCL_STOP
      +
      5973  }
      +
      5974  }
      +
      5975 };
      +
      5981 template<typename BasicJsonType, typename InputAdapterType>
      +
      5982 class lexer : public lexer_base<BasicJsonType>
      +
      5983 {
      +
      5984  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      5985  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      5986  using number_float_t = typename BasicJsonType::number_float_t;
      +
      5987  using string_t = typename BasicJsonType::string_t;
      +
      5988  using char_type = typename InputAdapterType::char_type;
      +
      5989  using char_int_type = typename std::char_traits<char_type>::int_type;
      +
      5990 
      +
      5991  public:
      + +
      5993 
      +
      5994  explicit lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
      +
      5995  : ia(std::move(adapter))
      +
      5996  , ignore_comments(ignore_comments_)
      +
      5997  , decimal_point_char(static_cast<char_int_type>(get_decimal_point()))
      +
      5998  {}
      +
      5999 
      +
      6000  // delete because of pointer members
      +
      6001  lexer(const lexer&) = delete;
      +
      6002  lexer(lexer&&) = default;
      +
      6003  lexer& operator=(lexer&) = delete;
      +
      6004  lexer& operator=(lexer&&) = default;
      +
      6005  ~lexer() = default;
      +
      6006 
      +
      6007  private:
      +
      6009  // locales
      +
      6011 
      + +
      6014  static char get_decimal_point() noexcept
      +
      6015  {
      +
      6016  const auto* loc = localeconv();
      +
      6017  JSON_ASSERT(loc != nullptr);
      +
      6018  return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
      +
      6019  }
      +
      6020 
      +
      6022  // scan functions
      +
      6024 
      +
      6040  int get_codepoint()
      +
      6041  {
      +
      6042  // this function only makes sense after reading `\u`
      +
      6043  JSON_ASSERT(current == 'u');
      +
      6044  int codepoint = 0;
      +
      6045 
      +
      6046  const auto factors = { 12u, 8u, 4u, 0u };
      +
      6047  for (const auto factor : factors)
      +
      6048  {
      +
      6049  get();
      +
      6050 
      +
      6051  if (current >= '0' && current <= '9')
      +
      6052  {
      +
      6053  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x30u) << factor);
      +
      6054  }
      +
      6055  else if (current >= 'A' && current <= 'F')
      +
      6056  {
      +
      6057  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x37u) << factor);
      +
      6058  }
      +
      6059  else if (current >= 'a' && current <= 'f')
      +
      6060  {
      +
      6061  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x57u) << factor);
      +
      6062  }
      +
      6063  else
      +
      6064  {
      +
      6065  return -1;
      +
      6066  }
      +
      6067  }
      +
      6068 
      +
      6069  JSON_ASSERT(0x0000 <= codepoint && codepoint <= 0xFFFF);
      +
      6070  return codepoint;
      +
      6071  }
      +
      6072 
      +
      6088  bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
      +
      6089  {
      +
      6090  JSON_ASSERT(ranges.size() == 2 || ranges.size() == 4 || ranges.size() == 6);
      +
      6091  add(current);
      +
      6092 
      +
      6093  for (auto range = ranges.begin(); range != ranges.end(); ++range)
      +
      6094  {
      +
      6095  get();
      +
      6096  if (JSON_HEDLEY_LIKELY(*range <= current && current <= *(++range)))
      +
      6097  {
      +
      6098  add(current);
      +
      6099  }
      +
      6100  else
      +
      6101  {
      +
      6102  error_message = "invalid string: ill-formed UTF-8 byte";
      +
      6103  return false;
      +
      6104  }
      +
      6105  }
      +
      6106 
      +
      6107  return true;
      +
      6108  }
      +
      6109 
      +
      6125  token_type scan_string()
      +
      6126  {
      +
      6127  // reset token_buffer (ignore opening quote)
      +
      6128  reset();
      +
      6129 
      +
      6130  // we entered the function by reading an open quote
      +
      6131  JSON_ASSERT(current == '\"');
      +
      6132 
      +
      6133  while (true)
      +
      6134  {
      +
      6135  // get next character
      +
      6136  switch (get())
      +
      6137  {
      +
      6138  // end of file while parsing string
      +
      6139  case std::char_traits<char_type>::eof():
      +
      6140  {
      +
      6141  error_message = "invalid string: missing closing quote";
      +
      6142  return token_type::parse_error;
      +
      6143  }
      +
      6144 
      +
      6145  // closing quote
      +
      6146  case '\"':
      +
      6147  {
      +
      6148  return token_type::value_string;
      +
      6149  }
      +
      6150 
      +
      6151  // escapes
      +
      6152  case '\\':
      +
      6153  {
      +
      6154  switch (get())
      +
      6155  {
      +
      6156  // quotation mark
      +
      6157  case '\"':
      +
      6158  add('\"');
      +
      6159  break;
      +
      6160  // reverse solidus
      +
      6161  case '\\':
      +
      6162  add('\\');
      +
      6163  break;
      +
      6164  // solidus
      +
      6165  case '/':
      +
      6166  add('/');
      +
      6167  break;
      +
      6168  // backspace
      +
      6169  case 'b':
      +
      6170  add('\b');
      +
      6171  break;
      +
      6172  // form feed
      +
      6173  case 'f':
      +
      6174  add('\f');
      +
      6175  break;
      +
      6176  // line feed
      +
      6177  case 'n':
      +
      6178  add('\n');
      +
      6179  break;
      +
      6180  // carriage return
      +
      6181  case 'r':
      +
      6182  add('\r');
      +
      6183  break;
      +
      6184  // tab
      +
      6185  case 't':
      +
      6186  add('\t');
      +
      6187  break;
      +
      6188 
      +
      6189  // unicode escapes
      +
      6190  case 'u':
      +
      6191  {
      +
      6192  const int codepoint1 = get_codepoint();
      +
      6193  int codepoint = codepoint1; // start with codepoint1
      +
      6194 
      +
      6195  if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1))
      +
      6196  {
      +
      6197  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
      +
      6198  return token_type::parse_error;
      +
      6199  }
      +
      6200 
      +
      6201  // check if code point is a high surrogate
      +
      6202  if (0xD800 <= codepoint1 && codepoint1 <= 0xDBFF)
      +
      6203  {
      +
      6204  // expect next \uxxxx entry
      +
      6205  if (JSON_HEDLEY_LIKELY(get() == '\\' && get() == 'u'))
      +
      6206  {
      +
      6207  const int codepoint2 = get_codepoint();
      +
      6208 
      +
      6209  if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1))
      +
      6210  {
      +
      6211  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
      +
      6212  return token_type::parse_error;
      +
      6213  }
      +
      6214 
      +
      6215  // check if codepoint2 is a low surrogate
      +
      6216  if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 && codepoint2 <= 0xDFFF))
      +
      6217  {
      +
      6218  // overwrite codepoint
      +
      6219  codepoint = static_cast<int>(
      +
      6220  // high surrogate occupies the most significant 22 bits
      +
      6221  (static_cast<unsigned int>(codepoint1) << 10u)
      +
      6222  // low surrogate occupies the least significant 15 bits
      +
      6223  + static_cast<unsigned int>(codepoint2)
      +
      6224  // there is still the 0xD800, 0xDC00 and 0x10000 noise
      +
      6225  // in the result so we have to subtract with:
      +
      6226  // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
      +
      6227  - 0x35FDC00u);
      +
      6228  }
      +
      6229  else
      +
      6230  {
      +
      6231  error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF";
      +
      6232  return token_type::parse_error;
      +
      6233  }
      +
      6234  }
      +
      6235  else
      +
      6236  {
      +
      6237  error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF";
      +
      6238  return token_type::parse_error;
      +
      6239  }
      +
      6240  }
      +
      6241  else
      +
      6242  {
      +
      6243  if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 && codepoint1 <= 0xDFFF))
      +
      6244  {
      +
      6245  error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
      +
      6246  return token_type::parse_error;
      +
      6247  }
      +
      6248  }
      +
      6249 
      +
      6250  // result of the above calculation yields a proper codepoint
      +
      6251  JSON_ASSERT(0x00 <= codepoint && codepoint <= 0x10FFFF);
      +
      6252 
      +
      6253  // translate codepoint into bytes
      +
      6254  if (codepoint < 0x80)
      +
      6255  {
      +
      6256  // 1-byte characters: 0xxxxxxx (ASCII)
      +
      6257  add(static_cast<char_int_type>(codepoint));
      +
      6258  }
      +
      6259  else if (codepoint <= 0x7FF)
      +
      6260  {
      +
      6261  // 2-byte characters: 110xxxxx 10xxxxxx
      +
      6262  add(static_cast<char_int_type>(0xC0u | (static_cast<unsigned int>(codepoint) >> 6u)));
      +
      6263  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      6264  }
      +
      6265  else if (codepoint <= 0xFFFF)
      +
      6266  {
      +
      6267  // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
      +
      6268  add(static_cast<char_int_type>(0xE0u | (static_cast<unsigned int>(codepoint) >> 12u)));
      +
      6269  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
      +
      6270  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      6271  }
      +
      6272  else
      +
      6273  {
      +
      6274  // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
      +
      6275  add(static_cast<char_int_type>(0xF0u | (static_cast<unsigned int>(codepoint) >> 18u)));
      +
      6276  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 12u) & 0x3Fu)));
      +
      6277  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
      +
      6278  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
      +
      6279  }
      +
      6280 
      +
      6281  break;
      +
      6282  }
      +
      6283 
      +
      6284  // other characters after escape
      +
      6285  default:
      +
      6286  error_message = "invalid string: forbidden character after backslash";
      +
      6287  return token_type::parse_error;
      +
      6288  }
      +
      6289 
      +
      6290  break;
      +
      6291  }
      +
      6292 
      +
      6293  // invalid control characters
      +
      6294  case 0x00:
      +
      6295  {
      +
      6296  error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000";
      +
      6297  return token_type::parse_error;
      +
      6298  }
      +
      6299 
      +
      6300  case 0x01:
      +
      6301  {
      +
      6302  error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001";
      +
      6303  return token_type::parse_error;
      +
      6304  }
      +
      6305 
      +
      6306  case 0x02:
      +
      6307  {
      +
      6308  error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002";
      +
      6309  return token_type::parse_error;
      +
      6310  }
      +
      6311 
      +
      6312  case 0x03:
      +
      6313  {
      +
      6314  error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003";
      +
      6315  return token_type::parse_error;
      +
      6316  }
      +
      6317 
      +
      6318  case 0x04:
      +
      6319  {
      +
      6320  error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004";
      +
      6321  return token_type::parse_error;
      +
      6322  }
      +
      6323 
      +
      6324  case 0x05:
      +
      6325  {
      +
      6326  error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005";
      +
      6327  return token_type::parse_error;
      +
      6328  }
      +
      6329 
      +
      6330  case 0x06:
      +
      6331  {
      +
      6332  error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006";
      +
      6333  return token_type::parse_error;
      +
      6334  }
      +
      6335 
      +
      6336  case 0x07:
      +
      6337  {
      +
      6338  error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007";
      +
      6339  return token_type::parse_error;
      +
      6340  }
      +
      6341 
      +
      6342  case 0x08:
      +
      6343  {
      +
      6344  error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b";
      +
      6345  return token_type::parse_error;
      +
      6346  }
      +
      6347 
      +
      6348  case 0x09:
      +
      6349  {
      +
      6350  error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t";
      +
      6351  return token_type::parse_error;
      +
      6352  }
      +
      6353 
      +
      6354  case 0x0A:
      +
      6355  {
      +
      6356  error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n";
      +
      6357  return token_type::parse_error;
      +
      6358  }
      +
      6359 
      +
      6360  case 0x0B:
      +
      6361  {
      +
      6362  error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B";
      +
      6363  return token_type::parse_error;
      +
      6364  }
      +
      6365 
      +
      6366  case 0x0C:
      +
      6367  {
      +
      6368  error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f";
      +
      6369  return token_type::parse_error;
      +
      6370  }
      +
      6371 
      +
      6372  case 0x0D:
      +
      6373  {
      +
      6374  error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r";
      +
      6375  return token_type::parse_error;
      +
      6376  }
      +
      6377 
      +
      6378  case 0x0E:
      +
      6379  {
      +
      6380  error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E";
      +
      6381  return token_type::parse_error;
      +
      6382  }
      +
      6383 
      +
      6384  case 0x0F:
      +
      6385  {
      +
      6386  error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F";
      +
      6387  return token_type::parse_error;
      +
      6388  }
      +
      6389 
      +
      6390  case 0x10:
      +
      6391  {
      +
      6392  error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010";
      +
      6393  return token_type::parse_error;
      +
      6394  }
      +
      6395 
      +
      6396  case 0x11:
      +
      6397  {
      +
      6398  error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011";
      +
      6399  return token_type::parse_error;
      +
      6400  }
      +
      6401 
      +
      6402  case 0x12:
      +
      6403  {
      +
      6404  error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012";
      +
      6405  return token_type::parse_error;
      +
      6406  }
      +
      6407 
      +
      6408  case 0x13:
      +
      6409  {
      +
      6410  error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013";
      +
      6411  return token_type::parse_error;
      +
      6412  }
      +
      6413 
      +
      6414  case 0x14:
      +
      6415  {
      +
      6416  error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014";
      +
      6417  return token_type::parse_error;
      +
      6418  }
      +
      6419 
      +
      6420  case 0x15:
      +
      6421  {
      +
      6422  error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015";
      +
      6423  return token_type::parse_error;
      +
      6424  }
      +
      6425 
      +
      6426  case 0x16:
      +
      6427  {
      +
      6428  error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016";
      +
      6429  return token_type::parse_error;
      +
      6430  }
      +
      6431 
      +
      6432  case 0x17:
      +
      6433  {
      +
      6434  error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017";
      +
      6435  return token_type::parse_error;
      +
      6436  }
      +
      6437 
      +
      6438  case 0x18:
      +
      6439  {
      +
      6440  error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018";
      +
      6441  return token_type::parse_error;
      +
      6442  }
      +
      6443 
      +
      6444  case 0x19:
      +
      6445  {
      +
      6446  error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019";
      +
      6447  return token_type::parse_error;
      +
      6448  }
      +
      6449 
      +
      6450  case 0x1A:
      +
      6451  {
      +
      6452  error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A";
      +
      6453  return token_type::parse_error;
      +
      6454  }
      +
      6455 
      +
      6456  case 0x1B:
      +
      6457  {
      +
      6458  error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B";
      +
      6459  return token_type::parse_error;
      +
      6460  }
      +
      6461 
      +
      6462  case 0x1C:
      +
      6463  {
      +
      6464  error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C";
      +
      6465  return token_type::parse_error;
      +
      6466  }
      +
      6467 
      +
      6468  case 0x1D:
      +
      6469  {
      +
      6470  error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D";
      +
      6471  return token_type::parse_error;
      +
      6472  }
      +
      6473 
      +
      6474  case 0x1E:
      +
      6475  {
      +
      6476  error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E";
      +
      6477  return token_type::parse_error;
      +
      6478  }
      +
      6479 
      +
      6480  case 0x1F:
      +
      6481  {
      +
      6482  error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F";
      +
      6483  return token_type::parse_error;
      +
      6484  }
      +
      6485 
      +
      6486  // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
      +
      6487  case 0x20:
      +
      6488  case 0x21:
      +
      6489  case 0x23:
      +
      6490  case 0x24:
      +
      6491  case 0x25:
      +
      6492  case 0x26:
      +
      6493  case 0x27:
      +
      6494  case 0x28:
      +
      6495  case 0x29:
      +
      6496  case 0x2A:
      +
      6497  case 0x2B:
      +
      6498  case 0x2C:
      +
      6499  case 0x2D:
      +
      6500  case 0x2E:
      +
      6501  case 0x2F:
      +
      6502  case 0x30:
      +
      6503  case 0x31:
      +
      6504  case 0x32:
      +
      6505  case 0x33:
      +
      6506  case 0x34:
      +
      6507  case 0x35:
      +
      6508  case 0x36:
      +
      6509  case 0x37:
      +
      6510  case 0x38:
      +
      6511  case 0x39:
      +
      6512  case 0x3A:
      +
      6513  case 0x3B:
      +
      6514  case 0x3C:
      +
      6515  case 0x3D:
      +
      6516  case 0x3E:
      +
      6517  case 0x3F:
      +
      6518  case 0x40:
      +
      6519  case 0x41:
      +
      6520  case 0x42:
      +
      6521  case 0x43:
      +
      6522  case 0x44:
      +
      6523  case 0x45:
      +
      6524  case 0x46:
      +
      6525  case 0x47:
      +
      6526  case 0x48:
      +
      6527  case 0x49:
      +
      6528  case 0x4A:
      +
      6529  case 0x4B:
      +
      6530  case 0x4C:
      +
      6531  case 0x4D:
      +
      6532  case 0x4E:
      +
      6533  case 0x4F:
      +
      6534  case 0x50:
      +
      6535  case 0x51:
      +
      6536  case 0x52:
      +
      6537  case 0x53:
      +
      6538  case 0x54:
      +
      6539  case 0x55:
      +
      6540  case 0x56:
      +
      6541  case 0x57:
      +
      6542  case 0x58:
      +
      6543  case 0x59:
      +
      6544  case 0x5A:
      +
      6545  case 0x5B:
      +
      6546  case 0x5D:
      +
      6547  case 0x5E:
      +
      6548  case 0x5F:
      +
      6549  case 0x60:
      +
      6550  case 0x61:
      +
      6551  case 0x62:
      +
      6552  case 0x63:
      +
      6553  case 0x64:
      +
      6554  case 0x65:
      +
      6555  case 0x66:
      +
      6556  case 0x67:
      +
      6557  case 0x68:
      +
      6558  case 0x69:
      +
      6559  case 0x6A:
      +
      6560  case 0x6B:
      +
      6561  case 0x6C:
      +
      6562  case 0x6D:
      +
      6563  case 0x6E:
      +
      6564  case 0x6F:
      +
      6565  case 0x70:
      +
      6566  case 0x71:
      +
      6567  case 0x72:
      +
      6568  case 0x73:
      +
      6569  case 0x74:
      +
      6570  case 0x75:
      +
      6571  case 0x76:
      +
      6572  case 0x77:
      +
      6573  case 0x78:
      +
      6574  case 0x79:
      +
      6575  case 0x7A:
      +
      6576  case 0x7B:
      +
      6577  case 0x7C:
      +
      6578  case 0x7D:
      +
      6579  case 0x7E:
      +
      6580  case 0x7F:
      +
      6581  {
      +
      6582  add(current);
      +
      6583  break;
      +
      6584  }
      +
      6585 
      +
      6586  // U+0080..U+07FF: bytes C2..DF 80..BF
      +
      6587  case 0xC2:
      +
      6588  case 0xC3:
      +
      6589  case 0xC4:
      +
      6590  case 0xC5:
      +
      6591  case 0xC6:
      +
      6592  case 0xC7:
      +
      6593  case 0xC8:
      +
      6594  case 0xC9:
      +
      6595  case 0xCA:
      +
      6596  case 0xCB:
      +
      6597  case 0xCC:
      +
      6598  case 0xCD:
      +
      6599  case 0xCE:
      +
      6600  case 0xCF:
      +
      6601  case 0xD0:
      +
      6602  case 0xD1:
      +
      6603  case 0xD2:
      +
      6604  case 0xD3:
      +
      6605  case 0xD4:
      +
      6606  case 0xD5:
      +
      6607  case 0xD6:
      +
      6608  case 0xD7:
      +
      6609  case 0xD8:
      +
      6610  case 0xD9:
      +
      6611  case 0xDA:
      +
      6612  case 0xDB:
      +
      6613  case 0xDC:
      +
      6614  case 0xDD:
      +
      6615  case 0xDE:
      +
      6616  case 0xDF:
      +
      6617  {
      +
      6618  if (JSON_HEDLEY_UNLIKELY(!next_byte_in_range({0x80, 0xBF})))
      +
      6619  {
      +
      6620  return token_type::parse_error;
      +
      6621  }
      +
      6622  break;
      +
      6623  }
      +
      6624 
      +
      6625  // U+0800..U+0FFF: bytes E0 A0..BF 80..BF
      +
      6626  case 0xE0:
      +
      6627  {
      +
      6628  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF}))))
      +
      6629  {
      +
      6630  return token_type::parse_error;
      +
      6631  }
      +
      6632  break;
      +
      6633  }
      +
      6634 
      +
      6635  // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
      +
      6636  // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
      +
      6637  case 0xE1:
      +
      6638  case 0xE2:
      +
      6639  case 0xE3:
      +
      6640  case 0xE4:
      +
      6641  case 0xE5:
      +
      6642  case 0xE6:
      +
      6643  case 0xE7:
      +
      6644  case 0xE8:
      +
      6645  case 0xE9:
      +
      6646  case 0xEA:
      +
      6647  case 0xEB:
      +
      6648  case 0xEC:
      +
      6649  case 0xEE:
      +
      6650  case 0xEF:
      +
      6651  {
      +
      6652  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF}))))
      +
      6653  {
      +
      6654  return token_type::parse_error;
      +
      6655  }
      +
      6656  break;
      +
      6657  }
      +
      6658 
      +
      6659  // U+D000..U+D7FF: bytes ED 80..9F 80..BF
      +
      6660  case 0xED:
      +
      6661  {
      +
      6662  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x9F, 0x80, 0xBF}))))
      +
      6663  {
      +
      6664  return token_type::parse_error;
      +
      6665  }
      +
      6666  break;
      +
      6667  }
      +
      6668 
      +
      6669  // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
      +
      6670  case 0xF0:
      +
      6671  {
      +
      6672  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      6673  {
      +
      6674  return token_type::parse_error;
      +
      6675  }
      +
      6676  break;
      +
      6677  }
      +
      6678 
      +
      6679  // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
      +
      6680  case 0xF1:
      +
      6681  case 0xF2:
      +
      6682  case 0xF3:
      +
      6683  {
      +
      6684  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      6685  {
      +
      6686  return token_type::parse_error;
      +
      6687  }
      +
      6688  break;
      +
      6689  }
      +
      6690 
      +
      6691  // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
      +
      6692  case 0xF4:
      +
      6693  {
      +
      6694  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF}))))
      +
      6695  {
      +
      6696  return token_type::parse_error;
      +
      6697  }
      +
      6698  break;
      +
      6699  }
      +
      6700 
      +
      6701  // remaining bytes (80..C1 and F5..FF) are ill-formed
      +
      6702  default:
      +
      6703  {
      +
      6704  error_message = "invalid string: ill-formed UTF-8 byte";
      +
      6705  return token_type::parse_error;
      +
      6706  }
      +
      6707  }
      +
      6708  }
      +
      6709  }
      +
      6710 
      +
      6715  bool scan_comment()
      +
      6716  {
      +
      6717  switch (get())
      +
      6718  {
      +
      6719  // single-line comments skip input until a newline or EOF is read
      +
      6720  case '/':
      +
      6721  {
      +
      6722  while (true)
      +
      6723  {
      +
      6724  switch (get())
      +
      6725  {
      +
      6726  case '\n':
      +
      6727  case '\r':
      +
      6728  case std::char_traits<char_type>::eof():
      +
      6729  case '\0':
      +
      6730  return true;
      +
      6731 
      +
      6732  default:
      +
      6733  break;
      +
      6734  }
      +
      6735  }
      +
      6736  }
      +
      6737 
      +
      6738  // multi-line comments skip input until */ is read
      +
      6739  case '*':
      +
      6740  {
      +
      6741  while (true)
      +
      6742  {
      +
      6743  switch (get())
      +
      6744  {
      +
      6745  case std::char_traits<char_type>::eof():
      +
      6746  case '\0':
      +
      6747  {
      +
      6748  error_message = "invalid comment; missing closing '*/'";
      +
      6749  return false;
      +
      6750  }
      +
      6751 
      +
      6752  case '*':
      +
      6753  {
      +
      6754  switch (get())
      +
      6755  {
      +
      6756  case '/':
      +
      6757  return true;
      +
      6758 
      +
      6759  default:
      +
      6760  {
      +
      6761  unget();
      +
      6762  continue;
      +
      6763  }
      +
      6764  }
      +
      6765  }
      +
      6766 
      +
      6767  default:
      +
      6768  continue;
      +
      6769  }
      +
      6770  }
      +
      6771  }
      +
      6772 
      +
      6773  // unexpected character after reading '/'
      +
      6774  default:
      +
      6775  {
      +
      6776  error_message = "invalid comment; expecting '/' or '*' after '/'";
      +
      6777  return false;
      +
      6778  }
      +
      6779  }
      +
      6780  }
      +
      6781 
      + +
      6783  static void strtof(float& f, const char* str, char** endptr) noexcept
      +
      6784  {
      +
      6785  f = std::strtof(str, endptr);
      +
      6786  }
      +
      6787 
      + +
      6789  static void strtof(double& f, const char* str, char** endptr) noexcept
      +
      6790  {
      +
      6791  f = std::strtod(str, endptr);
      +
      6792  }
      +
      6793 
      + +
      6795  static void strtof(long double& f, const char* str, char** endptr) noexcept
      +
      6796  {
      +
      6797  f = std::strtold(str, endptr);
      +
      6798  }
      +
      6799 
      +
      6840  token_type scan_number() // lgtm [cpp/use-of-goto]
      +
      6841  {
      +
      6842  // reset token_buffer to store the number's bytes
      +
      6843  reset();
      +
      6844 
      +
      6845  // the type of the parsed number; initially set to unsigned; will be
      +
      6846  // changed if minus sign, decimal point or exponent is read
      +
      6847  token_type number_type = token_type::value_unsigned;
      +
      6848 
      +
      6849  // state (init): we just found out we need to scan a number
      +
      6850  switch (current)
      +
      6851  {
      +
      6852  case '-':
      +
      6853  {
      +
      6854  add(current);
      +
      6855  goto scan_number_minus;
      +
      6856  }
      +
      6857 
      +
      6858  case '0':
      +
      6859  {
      +
      6860  add(current);
      +
      6861  goto scan_number_zero;
      +
      6862  }
      +
      6863 
      +
      6864  case '1':
      +
      6865  case '2':
      +
      6866  case '3':
      +
      6867  case '4':
      +
      6868  case '5':
      +
      6869  case '6':
      +
      6870  case '7':
      +
      6871  case '8':
      +
      6872  case '9':
      +
      6873  {
      +
      6874  add(current);
      +
      6875  goto scan_number_any1;
      +
      6876  }
      +
      6877 
      +
      6878  // all other characters are rejected outside scan_number()
      +
      6879  default: // LCOV_EXCL_LINE
      +
      6880  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      6881  }
      +
      6882 
      +
      6883 scan_number_minus:
      +
      6884  // state: we just parsed a leading minus sign
      +
      6885  number_type = token_type::value_integer;
      +
      6886  switch (get())
      +
      6887  {
      +
      6888  case '0':
      +
      6889  {
      +
      6890  add(current);
      +
      6891  goto scan_number_zero;
      +
      6892  }
      +
      6893 
      +
      6894  case '1':
      +
      6895  case '2':
      +
      6896  case '3':
      +
      6897  case '4':
      +
      6898  case '5':
      +
      6899  case '6':
      +
      6900  case '7':
      +
      6901  case '8':
      +
      6902  case '9':
      +
      6903  {
      +
      6904  add(current);
      +
      6905  goto scan_number_any1;
      +
      6906  }
      +
      6907 
      +
      6908  default:
      +
      6909  {
      +
      6910  error_message = "invalid number; expected digit after '-'";
      +
      6911  return token_type::parse_error;
      +
      6912  }
      +
      6913  }
      +
      6914 
      +
      6915 scan_number_zero:
      +
      6916  // state: we just parse a zero (maybe with a leading minus sign)
      +
      6917  switch (get())
      +
      6918  {
      +
      6919  case '.':
      +
      6920  {
      +
      6921  add(decimal_point_char);
      +
      6922  goto scan_number_decimal1;
      +
      6923  }
      +
      6924 
      +
      6925  case 'e':
      +
      6926  case 'E':
      +
      6927  {
      +
      6928  add(current);
      +
      6929  goto scan_number_exponent;
      +
      6930  }
      +
      6931 
      +
      6932  default:
      +
      6933  goto scan_number_done;
      +
      6934  }
      +
      6935 
      +
      6936 scan_number_any1:
      +
      6937  // state: we just parsed a number 0-9 (maybe with a leading minus sign)
      +
      6938  switch (get())
      +
      6939  {
      +
      6940  case '0':
      +
      6941  case '1':
      +
      6942  case '2':
      +
      6943  case '3':
      +
      6944  case '4':
      +
      6945  case '5':
      +
      6946  case '6':
      +
      6947  case '7':
      +
      6948  case '8':
      +
      6949  case '9':
      +
      6950  {
      +
      6951  add(current);
      +
      6952  goto scan_number_any1;
      +
      6953  }
      +
      6954 
      +
      6955  case '.':
      +
      6956  {
      +
      6957  add(decimal_point_char);
      +
      6958  goto scan_number_decimal1;
      +
      6959  }
      +
      6960 
      +
      6961  case 'e':
      +
      6962  case 'E':
      +
      6963  {
      +
      6964  add(current);
      +
      6965  goto scan_number_exponent;
      +
      6966  }
      +
      6967 
      +
      6968  default:
      +
      6969  goto scan_number_done;
      +
      6970  }
      +
      6971 
      +
      6972 scan_number_decimal1:
      +
      6973  // state: we just parsed a decimal point
      +
      6974  number_type = token_type::value_float;
      +
      6975  switch (get())
      +
      6976  {
      +
      6977  case '0':
      +
      6978  case '1':
      +
      6979  case '2':
      +
      6980  case '3':
      +
      6981  case '4':
      +
      6982  case '5':
      +
      6983  case '6':
      +
      6984  case '7':
      +
      6985  case '8':
      +
      6986  case '9':
      +
      6987  {
      +
      6988  add(current);
      +
      6989  goto scan_number_decimal2;
      +
      6990  }
      +
      6991 
      +
      6992  default:
      +
      6993  {
      +
      6994  error_message = "invalid number; expected digit after '.'";
      +
      6995  return token_type::parse_error;
      +
      6996  }
      +
      6997  }
      +
      6998 
      +
      6999 scan_number_decimal2:
      +
      7000  // we just parsed at least one number after a decimal point
      +
      7001  switch (get())
      +
      7002  {
      +
      7003  case '0':
      +
      7004  case '1':
      +
      7005  case '2':
      +
      7006  case '3':
      +
      7007  case '4':
      +
      7008  case '5':
      +
      7009  case '6':
      +
      7010  case '7':
      +
      7011  case '8':
      +
      7012  case '9':
      +
      7013  {
      +
      7014  add(current);
      +
      7015  goto scan_number_decimal2;
      +
      7016  }
      +
      7017 
      +
      7018  case 'e':
      +
      7019  case 'E':
      +
      7020  {
      +
      7021  add(current);
      +
      7022  goto scan_number_exponent;
      +
      7023  }
      +
      7024 
      +
      7025  default:
      +
      7026  goto scan_number_done;
      +
      7027  }
      +
      7028 
      +
      7029 scan_number_exponent:
      +
      7030  // we just parsed an exponent
      +
      7031  number_type = token_type::value_float;
      +
      7032  switch (get())
      +
      7033  {
      +
      7034  case '+':
      +
      7035  case '-':
      +
      7036  {
      +
      7037  add(current);
      +
      7038  goto scan_number_sign;
      +
      7039  }
      +
      7040 
      +
      7041  case '0':
      +
      7042  case '1':
      +
      7043  case '2':
      +
      7044  case '3':
      +
      7045  case '4':
      +
      7046  case '5':
      +
      7047  case '6':
      +
      7048  case '7':
      +
      7049  case '8':
      +
      7050  case '9':
      +
      7051  {
      +
      7052  add(current);
      +
      7053  goto scan_number_any2;
      +
      7054  }
      +
      7055 
      +
      7056  default:
      +
      7057  {
      +
      7058  error_message =
      +
      7059  "invalid number; expected '+', '-', or digit after exponent";
      +
      7060  return token_type::parse_error;
      +
      7061  }
      +
      7062  }
      +
      7063 
      +
      7064 scan_number_sign:
      +
      7065  // we just parsed an exponent sign
      +
      7066  switch (get())
      +
      7067  {
      +
      7068  case '0':
      +
      7069  case '1':
      +
      7070  case '2':
      +
      7071  case '3':
      +
      7072  case '4':
      +
      7073  case '5':
      +
      7074  case '6':
      +
      7075  case '7':
      +
      7076  case '8':
      +
      7077  case '9':
      +
      7078  {
      +
      7079  add(current);
      +
      7080  goto scan_number_any2;
      +
      7081  }
      +
      7082 
      +
      7083  default:
      +
      7084  {
      +
      7085  error_message = "invalid number; expected digit after exponent sign";
      +
      7086  return token_type::parse_error;
      +
      7087  }
      +
      7088  }
      +
      7089 
      +
      7090 scan_number_any2:
      +
      7091  // we just parsed a number after the exponent or exponent sign
      +
      7092  switch (get())
      +
      7093  {
      +
      7094  case '0':
      +
      7095  case '1':
      +
      7096  case '2':
      +
      7097  case '3':
      +
      7098  case '4':
      +
      7099  case '5':
      +
      7100  case '6':
      +
      7101  case '7':
      +
      7102  case '8':
      +
      7103  case '9':
      +
      7104  {
      +
      7105  add(current);
      +
      7106  goto scan_number_any2;
      +
      7107  }
      +
      7108 
      +
      7109  default:
      +
      7110  goto scan_number_done;
      +
      7111  }
      +
      7112 
      +
      7113 scan_number_done:
      +
      7114  // unget the character after the number (we only read it to know that
      +
      7115  // we are done scanning a number)
      +
      7116  unget();
      +
      7117 
      +
      7118  char* endptr = nullptr;
      +
      7119  errno = 0;
      +
      7120 
      +
      7121  // try to parse integers first and fall back to floats
      +
      7122  if (number_type == token_type::value_unsigned)
      +
      7123  {
      +
      7124  const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
      +
      7125 
      +
      7126  // we checked the number format before
      +
      7127  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
      +
      7128 
      +
      7129  if (errno == 0)
      +
      7130  {
      +
      7131  value_unsigned = static_cast<number_unsigned_t>(x);
      +
      7132  if (value_unsigned == x)
      +
      7133  {
      +
      7134  return token_type::value_unsigned;
      +
      7135  }
      +
      7136  }
      +
      7137  }
      +
      7138  else if (number_type == token_type::value_integer)
      +
      7139  {
      +
      7140  const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
      +
      7141 
      +
      7142  // we checked the number format before
      +
      7143  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
      +
      7144 
      +
      7145  if (errno == 0)
      +
      7146  {
      +
      7147  value_integer = static_cast<number_integer_t>(x);
      +
      7148  if (value_integer == x)
      +
      7149  {
      +
      7150  return token_type::value_integer;
      +
      7151  }
      +
      7152  }
      +
      7153  }
      +
      7154 
      +
      7155  // this code is reached if we parse a floating-point number or if an
      +
      7156  // integer conversion above failed
      +
      7157  strtof(value_float, token_buffer.data(), &endptr);
      +
      7158 
      +
      7159  // we checked the number format before
      +
      7160  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
      +
      7161 
      +
      7162  return token_type::value_float;
      +
      7163  }
      +
      7164 
      + +
      7171  token_type scan_literal(const char_type* literal_text, const std::size_t length,
      +
      7172  token_type return_type)
      +
      7173  {
      +
      7174  JSON_ASSERT(std::char_traits<char_type>::to_char_type(current) == literal_text[0]);
      +
      7175  for (std::size_t i = 1; i < length; ++i)
      +
      7176  {
      +
      7177  if (JSON_HEDLEY_UNLIKELY(std::char_traits<char_type>::to_char_type(get()) != literal_text[i]))
      +
      7178  {
      +
      7179  error_message = "invalid literal";
      +
      7180  return token_type::parse_error;
      +
      7181  }
      +
      7182  }
      +
      7183  return return_type;
      +
      7184  }
      +
      7185 
      +
      7187  // input management
      +
      7189 
      +
      7191  void reset() noexcept
      +
      7192  {
      +
      7193  token_buffer.clear();
      +
      7194  token_string.clear();
      +
      7195  token_string.push_back(std::char_traits<char_type>::to_char_type(current));
      +
      7196  }
      +
      7197 
      +
      7198  /*
      +
      7199  @brief get next character from the input
      +
      7200 
      +
      7201  This function provides the interface to the used input adapter. It does
      +
      7202  not throw in case the input reached EOF, but returns a
      +
      7203  `std::char_traits<char>::eof()` in that case. Stores the scanned characters
      +
      7204  for use in error messages.
      +
      7205 
      +
      7206  @return character read from the input
      +
      7207  */
      +
      7208  char_int_type get()
      +
      7209  {
      +
      7210  ++position.chars_read_total;
      +
      7211  ++position.chars_read_current_line;
      +
      7212 
      +
      7213  if (next_unget)
      +
      7214  {
      +
      7215  // just reset the next_unget variable and work with current
      +
      7216  next_unget = false;
      +
      7217  }
      +
      7218  else
      +
      7219  {
      +
      7220  current = ia.get_character();
      +
      7221  }
      +
      7222 
      +
      7223  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char_type>::eof()))
      +
      7224  {
      +
      7225  token_string.push_back(std::char_traits<char_type>::to_char_type(current));
      +
      7226  }
      +
      7227 
      +
      7228  if (current == '\n')
      +
      7229  {
      +
      7230  ++position.lines_read;
      +
      7231  position.chars_read_current_line = 0;
      +
      7232  }
      +
      7233 
      +
      7234  return current;
      +
      7235  }
      +
      7236 
      +
      7245  void unget()
      +
      7246  {
      +
      7247  next_unget = true;
      +
      7248 
      +
      7249  --position.chars_read_total;
      +
      7250 
      +
      7251  // in case we "unget" a newline, we have to also decrement the lines_read
      +
      7252  if (position.chars_read_current_line == 0)
      +
      7253  {
      +
      7254  if (position.lines_read > 0)
      +
      7255  {
      +
      7256  --position.lines_read;
      +
      7257  }
      +
      7258  }
      +
      7259  else
      +
      7260  {
      +
      7261  --position.chars_read_current_line;
      +
      7262  }
      +
      7263 
      +
      7264  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char_type>::eof()))
      +
      7265  {
      +
      7266  JSON_ASSERT(!token_string.empty());
      +
      7267  token_string.pop_back();
      +
      7268  }
      +
      7269  }
      +
      7270 
      +
      7272  void add(char_int_type c)
      +
      7273  {
      +
      7274  token_buffer.push_back(static_cast<typename string_t::value_type>(c));
      +
      7275  }
      +
      7276 
      +
      7277  public:
      +
      7279  // value getters
      +
      7281 
      +
      7283  constexpr number_integer_t get_number_integer() const noexcept
      +
      7284  {
      +
      7285  return value_integer;
      +
      7286  }
      +
      7287 
      +
      7289  constexpr number_unsigned_t get_number_unsigned() const noexcept
      +
      7290  {
      +
      7291  return value_unsigned;
      +
      7292  }
      +
      7293 
      +
      7295  constexpr number_float_t get_number_float() const noexcept
      +
      7296  {
      +
      7297  return value_float;
      +
      7298  }
      +
      7299 
      +
      7301  string_t& get_string()
      +
      7302  {
      +
      7303  return token_buffer;
      +
      7304  }
      +
      7305 
      +
      7307  // diagnostics
      +
      7309 
      +
      7311  constexpr position_t get_position() const noexcept
      +
      7312  {
      +
      7313  return position;
      +
      7314  }
      +
      7315 
      +
      7319  std::string get_token_string() const
      +
      7320  {
      +
      7321  // escape control characters
      +
      7322  std::string result;
      +
      7323  for (const auto c : token_string)
      +
      7324  {
      +
      7325  if (static_cast<unsigned char>(c) <= '\x1F')
      +
      7326  {
      +
      7327  // escape control characters
      +
      7328  std::array<char, 9> cs{{}};
      +
      7329  (std::snprintf)(cs.data(), cs.size(), "<U+%.4X>", static_cast<unsigned char>(c));
      +
      7330  result += cs.data();
      +
      7331  }
      +
      7332  else
      +
      7333  {
      +
      7334  // add character as is
      +
      7335  result.push_back(static_cast<std::string::value_type>(c));
      +
      7336  }
      +
      7337  }
      +
      7338 
      +
      7339  return result;
      +
      7340  }
      +
      7341 
      + +
      7344  constexpr const char* get_error_message() const noexcept
      +
      7345  {
      +
      7346  return error_message;
      +
      7347  }
      +
      7348 
      +
      7350  // actual scanner
      +
      7352 
      +
      7357  bool skip_bom()
      +
      7358  {
      +
      7359  if (get() == 0xEF)
      +
      7360  {
      +
      7361  // check if we completely parse the BOM
      +
      7362  return get() == 0xBB && get() == 0xBF;
      +
      7363  }
      +
      7364 
      +
      7365  // the first character is not the beginning of the BOM; unget it to
      +
      7366  // process is later
      +
      7367  unget();
      +
      7368  return true;
      +
      7369  }
      +
      7370 
      + +
      7372  {
      +
      7373  do
      +
      7374  {
      +
      7375  get();
      +
      7376  }
      +
      7377  while (current == ' ' || current == '\t' || current == '\n' || current == '\r');
      +
      7378  }
      +
      7379 
      + +
      7381  {
      +
      7382  // initially, skip the BOM
      +
      7383  if (position.chars_read_total == 0 && !skip_bom())
      +
      7384  {
      +
      7385  error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given";
      +
      7386  return token_type::parse_error;
      +
      7387  }
      +
      7388 
      +
      7389  // read next character and ignore whitespace
      +
      7390  skip_whitespace();
      +
      7391 
      +
      7392  // ignore comments
      +
      7393  while (ignore_comments && current == '/')
      +
      7394  {
      +
      7395  if (!scan_comment())
      +
      7396  {
      +
      7397  return token_type::parse_error;
      +
      7398  }
      +
      7399 
      +
      7400  // skip following whitespace
      +
      7401  skip_whitespace();
      +
      7402  }
      +
      7403 
      +
      7404  switch (current)
      +
      7405  {
      +
      7406  // structural characters
      +
      7407  case '[':
      +
      7408  return token_type::begin_array;
      +
      7409  case ']':
      +
      7410  return token_type::end_array;
      +
      7411  case '{':
      +
      7412  return token_type::begin_object;
      +
      7413  case '}':
      +
      7414  return token_type::end_object;
      +
      7415  case ':':
      +
      7416  return token_type::name_separator;
      +
      7417  case ',':
      +
      7418  return token_type::value_separator;
      +
      7419 
      +
      7420  // literals
      +
      7421  case 't':
      +
      7422  {
      +
      7423  std::array<char_type, 4> true_literal = {{'t', 'r', 'u', 'e'}};
      +
      7424  return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true);
      +
      7425  }
      +
      7426  case 'f':
      +
      7427  {
      +
      7428  std::array<char_type, 5> false_literal = {{'f', 'a', 'l', 's', 'e'}};
      +
      7429  return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false);
      +
      7430  }
      +
      7431  case 'n':
      +
      7432  {
      +
      7433  std::array<char_type, 4> null_literal = {{'n', 'u', 'l', 'l'}};
      +
      7434  return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null);
      +
      7435  }
      +
      7436 
      +
      7437  // string
      +
      7438  case '\"':
      +
      7439  return scan_string();
      +
      7440 
      +
      7441  // number
      +
      7442  case '-':
      +
      7443  case '0':
      +
      7444  case '1':
      +
      7445  case '2':
      +
      7446  case '3':
      +
      7447  case '4':
      +
      7448  case '5':
      +
      7449  case '6':
      +
      7450  case '7':
      +
      7451  case '8':
      +
      7452  case '9':
      +
      7453  return scan_number();
      +
      7454 
      +
      7455  // end of input (the null byte is needed when parsing from
      +
      7456  // string literals)
      +
      7457  case '\0':
      +
      7458  case std::char_traits<char_type>::eof():
      +
      7459  return token_type::end_of_input;
      +
      7460 
      +
      7461  // error
      +
      7462  default:
      +
      7463  error_message = "invalid literal";
      +
      7464  return token_type::parse_error;
      +
      7465  }
      +
      7466  }
      +
      7467 
      +
      7468  private:
      +
      7470  InputAdapterType ia;
      +
      7471 
      +
      7473  const bool ignore_comments = false;
      +
      7474 
      +
      7476  char_int_type current = std::char_traits<char_type>::eof();
      +
      7477 
      +
      7479  bool next_unget = false;
      +
      7480 
      +
      7482  position_t position {};
      +
      7483 
      +
      7485  std::vector<char_type> token_string {};
      +
      7486 
      +
      7488  string_t token_buffer {};
      +
      7489 
      +
      7491  const char* error_message = "";
      +
      7492 
      +
      7493  // number values
      +
      7494  number_integer_t value_integer = 0;
      +
      7495  number_unsigned_t value_unsigned = 0;
      +
      7496  number_float_t value_float = 0;
      +
      7497 
      +
      7499  const char_int_type decimal_point_char = '.';
      +
      7500 };
      +
      7501 } // namespace detail
      +
      7502 } // namespace nlohmann
      +
      7503 
      +
      7504 // #include <nlohmann/detail/macro_scope.hpp>
      +
      7505 
      +
      7506 // #include <nlohmann/detail/meta/is_sax.hpp>
      +
      7507 
      +
      7508 
      +
      7509 #include <cstdint> // size_t
      +
      7510 #include <utility> // declval
      +
      7511 #include <string> // string
      +
      7512 
      +
      7513 // #include <nlohmann/detail/meta/detected.hpp>
      +
      7514 
      +
      7515 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      7516 
      +
      7517 
      +
      7518 namespace nlohmann
      +
      7519 {
      +
      7520 namespace detail
      +
      7521 {
      +
      7522 template<typename T>
      +
      7523 using null_function_t = decltype(std::declval<T&>().null());
      +
      7524 
      +
      7525 template<typename T>
      +
      7526 using boolean_function_t =
      +
      7527  decltype(std::declval<T&>().boolean(std::declval<bool>()));
      +
      7528 
      +
      7529 template<typename T, typename Integer>
      + +
      7531  decltype(std::declval<T&>().number_integer(std::declval<Integer>()));
      +
      7532 
      +
      7533 template<typename T, typename Unsigned>
      + +
      7535  decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()));
      +
      7536 
      +
      7537 template<typename T, typename Float, typename String>
      +
      7538 using number_float_function_t = decltype(std::declval<T&>().number_float(
      +
      7539  std::declval<Float>(), std::declval<const String&>()));
      +
      7540 
      +
      7541 template<typename T, typename String>
      +
      7542 using string_function_t =
      +
      7543  decltype(std::declval<T&>().string(std::declval<String&>()));
      +
      7544 
      +
      7545 template<typename T, typename Binary>
      +
      7546 using binary_function_t =
      +
      7547  decltype(std::declval<T&>().binary(std::declval<Binary&>()));
      +
      7548 
      +
      7549 template<typename T>
      + +
      7551  decltype(std::declval<T&>().start_object(std::declval<std::size_t>()));
      +
      7552 
      +
      7553 template<typename T, typename String>
      +
      7554 using key_function_t =
      +
      7555  decltype(std::declval<T&>().key(std::declval<String&>()));
      +
      7556 
      +
      7557 template<typename T>
      +
      7558 using end_object_function_t = decltype(std::declval<T&>().end_object());
      +
      7559 
      +
      7560 template<typename T>
      +
      7561 using start_array_function_t =
      +
      7562  decltype(std::declval<T&>().start_array(std::declval<std::size_t>()));
      +
      7563 
      +
      7564 template<typename T>
      +
      7565 using end_array_function_t = decltype(std::declval<T&>().end_array());
      +
      7566 
      +
      7567 template<typename T, typename Exception>
      +
      7568 using parse_error_function_t = decltype(std::declval<T&>().parse_error(
      +
      7569  std::declval<std::size_t>(), std::declval<const std::string&>(),
      +
      7570  std::declval<const Exception&>()));
      +
      7571 
      +
      7572 template<typename SAX, typename BasicJsonType>
      +
      7573 struct is_sax
      +
      7574 {
      +
      7575  private:
      + +
      7577  "BasicJsonType must be of type basic_json<...>");
      +
      7578 
      +
      7579  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      7580  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      7581  using number_float_t = typename BasicJsonType::number_float_t;
      +
      7582  using string_t = typename BasicJsonType::string_t;
      +
      7583  using binary_t = typename BasicJsonType::binary_t;
      +
      7584  using exception_t = typename BasicJsonType::exception;
      +
      7585 
      +
      7586  public:
      +
      7587  static constexpr bool value =
      + + + + + + + + + + + + + +
      7601 };
      +
      7602 
      +
      7603 template<typename SAX, typename BasicJsonType>
      +
      7604 struct is_sax_static_asserts
      +
      7605 {
      +
      7606  private:
      +
      7607  static_assert(is_basic_json<BasicJsonType>::value,
      +
      7608  "BasicJsonType must be of type basic_json<...>");
      +
      7609 
      +
      7610  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      7611  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      7612  using number_float_t = typename BasicJsonType::number_float_t;
      +
      7613  using string_t = typename BasicJsonType::string_t;
      +
      7614  using binary_t = typename BasicJsonType::binary_t;
      +
      7615  using exception_t = typename BasicJsonType::exception;
      +
      7616 
      +
      7617  public:
      +
      7618  static_assert(is_detected_exact<bool, null_function_t, SAX>::value,
      +
      7619  "Missing/invalid function: bool null()");
      +
      7620  static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
      +
      7621  "Missing/invalid function: bool boolean(bool)");
      +
      7622  static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value,
      +
      7623  "Missing/invalid function: bool boolean(bool)");
      +
      7624  static_assert(
      + +
      7626  number_integer_t>::value,
      +
      7627  "Missing/invalid function: bool number_integer(number_integer_t)");
      +
      7628  static_assert(
      + +
      7630  number_unsigned_t>::value,
      +
      7631  "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
      +
      7632  static_assert(is_detected_exact<bool, number_float_function_t, SAX,
      +
      7633  number_float_t, string_t>::value,
      +
      7634  "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
      +
      7635  static_assert(
      +
      7636  is_detected_exact<bool, string_function_t, SAX, string_t>::value,
      +
      7637  "Missing/invalid function: bool string(string_t&)");
      +
      7638  static_assert(
      +
      7639  is_detected_exact<bool, binary_function_t, SAX, binary_t>::value,
      +
      7640  "Missing/invalid function: bool binary(binary_t&)");
      +
      7641  static_assert(is_detected_exact<bool, start_object_function_t, SAX>::value,
      +
      7642  "Missing/invalid function: bool start_object(std::size_t)");
      +
      7643  static_assert(is_detected_exact<bool, key_function_t, SAX, string_t>::value,
      +
      7644  "Missing/invalid function: bool key(string_t&)");
      +
      7645  static_assert(is_detected_exact<bool, end_object_function_t, SAX>::value,
      +
      7646  "Missing/invalid function: bool end_object()");
      +
      7647  static_assert(is_detected_exact<bool, start_array_function_t, SAX>::value,
      +
      7648  "Missing/invalid function: bool start_array(std::size_t)");
      +
      7649  static_assert(is_detected_exact<bool, end_array_function_t, SAX>::value,
      +
      7650  "Missing/invalid function: bool end_array()");
      +
      7651  static_assert(
      +
      7652  is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value,
      +
      7653  "Missing/invalid function: bool parse_error(std::size_t, const "
      +
      7654  "std::string&, const exception&)");
      +
      7655 };
      +
      7656 } // namespace detail
      +
      7657 } // namespace nlohmann
      +
      7658 
      +
      7659 // #include <nlohmann/detail/value_t.hpp>
      +
      7660 
      +
      7661 
      +
      7662 namespace nlohmann
      +
      7663 {
      +
      7664 namespace detail
      +
      7665 {
      +
      7666 
      + +
      7669 {
      +
      7670  error,
      +
      7671  ignore
      +
      7672 };
      +
      7673 
      +
      7681 static inline bool little_endianess(int num = 1) noexcept
      +
      7682 {
      +
      7683  return *reinterpret_cast<char*>(&num) == 1;
      +
      7684 }
      +
      7685 
      +
      7686 
      +
      7688 // binary reader //
      +
      7690 
      +
      7694 template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>>
      +
      7695 class binary_reader
      +
      7696 {
      +
      7697  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      7698  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      7699  using number_float_t = typename BasicJsonType::number_float_t;
      +
      7700  using string_t = typename BasicJsonType::string_t;
      +
      7701  using binary_t = typename BasicJsonType::binary_t;
      +
      7702  using json_sax_t = SAX;
      +
      7703  using char_type = typename InputAdapterType::char_type;
      +
      7704  using char_int_type = typename std::char_traits<char_type>::int_type;
      +
      7705 
      +
      7706  public:
      +
      7712  explicit binary_reader(InputAdapterType&& adapter) : ia(std::move(adapter))
      +
      7713  {
      + +
      7715  }
      +
      7716 
      +
      7717  // make class move-only
      +
      7718  binary_reader(const binary_reader&) = delete;
      +
      7719  binary_reader(binary_reader&&) = default;
      +
      7720  binary_reader& operator=(const binary_reader&) = delete;
      +
      7721  binary_reader& operator=(binary_reader&&) = default;
      +
      7722  ~binary_reader() = default;
      +
      7723 
      + +
      7733  bool sax_parse(const input_format_t format,
      +
      7734  json_sax_t* sax_,
      +
      7735  const bool strict = true,
      +
      7736  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
      +
      7737  {
      +
      7738  sax = sax_;
      +
      7739  bool result = false;
      +
      7740 
      +
      7741  switch (format)
      +
      7742  {
      +
      7743  case input_format_t::bson:
      +
      7744  result = parse_bson_internal();
      +
      7745  break;
      +
      7746 
      +
      7747  case input_format_t::cbor:
      +
      7748  result = parse_cbor_internal(true, tag_handler);
      +
      7749  break;
      +
      7750 
      + +
      7752  result = parse_msgpack_internal();
      +
      7753  break;
      +
      7754 
      + +
      7756  result = parse_ubjson_internal();
      +
      7757  break;
      +
      7758 
      +
      7759  default: // LCOV_EXCL_LINE
      +
      7760  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      7761  }
      +
      7762 
      +
      7763  // strict mode: next byte must be EOF
      +
      7764  if (result && strict)
      +
      7765  {
      +
      7766  if (format == input_format_t::ubjson)
      +
      7767  {
      +
      7768  get_ignore_noop();
      +
      7769  }
      +
      7770  else
      +
      7771  {
      +
      7772  get();
      +
      7773  }
      +
      7774 
      +
      7775  if (JSON_HEDLEY_UNLIKELY(current != std::char_traits<char_type>::eof()))
      +
      7776  {
      +
      7777  return sax->parse_error(chars_read, get_token_string(),
      +
      7778  parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value")));
      +
      7779  }
      +
      7780  }
      +
      7781 
      +
      7782  return result;
      +
      7783  }
      +
      7784 
      +
      7785  private:
      +
      7787  // BSON //
      +
      7789 
      +
      7794  bool parse_bson_internal()
      +
      7795  {
      +
      7796  std::int32_t document_size{};
      +
      7797  get_number<std::int32_t, true>(input_format_t::bson, document_size);
      +
      7798 
      +
      7799  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
      +
      7800  {
      +
      7801  return false;
      +
      7802  }
      +
      7803 
      +
      7804  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/false)))
      +
      7805  {
      +
      7806  return false;
      +
      7807  }
      +
      7808 
      +
      7809  return sax->end_object();
      +
      7810  }
      +
      7811 
      +
      7819  bool get_bson_cstr(string_t& result)
      +
      7820  {
      +
      7821  auto out = std::back_inserter(result);
      +
      7822  while (true)
      +
      7823  {
      +
      7824  get();
      +
      7825  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "cstring")))
      +
      7826  {
      +
      7827  return false;
      +
      7828  }
      +
      7829  if (current == 0x00)
      +
      7830  {
      +
      7831  return true;
      +
      7832  }
      +
      7833  *out++ = static_cast<typename string_t::value_type>(current);
      +
      7834  }
      +
      7835  }
      +
      7836 
      +
      7848  template<typename NumberType>
      +
      7849  bool get_bson_string(const NumberType len, string_t& result)
      +
      7850  {
      +
      7851  if (JSON_HEDLEY_UNLIKELY(len < 1))
      +
      7852  {
      +
      7853  auto last_token = get_token_string();
      +
      7854  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string")));
      +
      7855  }
      +
      7856 
      +
      7857  return get_string(input_format_t::bson, len - static_cast<NumberType>(1), result) && get() != std::char_traits<char_type>::eof();
      +
      7858  }
      +
      7859 
      +
      7869  template<typename NumberType>
      +
      7870  bool get_bson_binary(const NumberType len, binary_t& result)
      +
      7871  {
      +
      7872  if (JSON_HEDLEY_UNLIKELY(len < 0))
      +
      7873  {
      +
      7874  auto last_token = get_token_string();
      +
      7875  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "byte array length cannot be negative, is " + std::to_string(len), "binary")));
      +
      7876  }
      +
      7877 
      +
      7878  // All BSON binary values have a subtype
      +
      7879  std::uint8_t subtype{};
      +
      7880  get_number<std::uint8_t>(input_format_t::bson, subtype);
      +
      7881  result.set_subtype(subtype);
      +
      7882 
      +
      7883  return get_binary(input_format_t::bson, len, result);
      +
      7884  }
      +
      7885 
      +
      7896  bool parse_bson_element_internal(const char_int_type element_type,
      +
      7897  const std::size_t element_type_parse_position)
      +
      7898  {
      +
      7899  switch (element_type)
      +
      7900  {
      +
      7901  case 0x01: // double
      +
      7902  {
      +
      7903  double number{};
      +
      7904  return get_number<double, true>(input_format_t::bson, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      7905  }
      +
      7906 
      +
      7907  case 0x02: // string
      +
      7908  {
      +
      7909  std::int32_t len{};
      +
      7910  string_t value;
      +
      7911  return get_number<std::int32_t, true>(input_format_t::bson, len) && get_bson_string(len, value) && sax->string(value);
      +
      7912  }
      +
      7913 
      +
      7914  case 0x03: // object
      +
      7915  {
      +
      7916  return parse_bson_internal();
      +
      7917  }
      +
      7918 
      +
      7919  case 0x04: // array
      +
      7920  {
      +
      7921  return parse_bson_array();
      +
      7922  }
      +
      7923 
      +
      7924  case 0x05: // binary
      +
      7925  {
      +
      7926  std::int32_t len{};
      +
      7927  binary_t value;
      +
      7928  return get_number<std::int32_t, true>(input_format_t::bson, len) && get_bson_binary(len, value) && sax->binary(value);
      +
      7929  }
      +
      7930 
      +
      7931  case 0x08: // boolean
      +
      7932  {
      +
      7933  return sax->boolean(get() != 0);
      +
      7934  }
      +
      7935 
      +
      7936  case 0x0A: // null
      +
      7937  {
      +
      7938  return sax->null();
      +
      7939  }
      +
      7940 
      +
      7941  case 0x10: // int32
      +
      7942  {
      +
      7943  std::int32_t value{};
      +
      7944  return get_number<std::int32_t, true>(input_format_t::bson, value) && sax->number_integer(value);
      +
      7945  }
      +
      7946 
      +
      7947  case 0x12: // int64
      +
      7948  {
      +
      7949  std::int64_t value{};
      +
      7950  return get_number<std::int64_t, true>(input_format_t::bson, value) && sax->number_integer(value);
      +
      7951  }
      +
      7952 
      +
      7953  default: // anything else not supported (yet)
      +
      7954  {
      +
      7955  std::array<char, 3> cr{{}};
      +
      7956  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(element_type));
      +
      7957  return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data())));
      +
      7958  }
      +
      7959  }
      +
      7960  }
      +
      7961 
      +
      7974  bool parse_bson_element_list(const bool is_array)
      +
      7975  {
      +
      7976  string_t key;
      +
      7977 
      +
      7978  while (auto element_type = get())
      +
      7979  {
      +
      7980  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "element list")))
      +
      7981  {
      +
      7982  return false;
      +
      7983  }
      +
      7984 
      +
      7985  const std::size_t element_type_parse_position = chars_read;
      +
      7986  if (JSON_HEDLEY_UNLIKELY(!get_bson_cstr(key)))
      +
      7987  {
      +
      7988  return false;
      +
      7989  }
      +
      7990 
      +
      7991  if (!is_array && !sax->key(key))
      +
      7992  {
      +
      7993  return false;
      +
      7994  }
      +
      7995 
      +
      7996  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_internal(element_type, element_type_parse_position)))
      +
      7997  {
      +
      7998  return false;
      +
      7999  }
      +
      8000 
      +
      8001  // get_bson_cstr only appends
      +
      8002  key.clear();
      +
      8003  }
      +
      8004 
      +
      8005  return true;
      +
      8006  }
      +
      8007 
      +
      8012  bool parse_bson_array()
      +
      8013  {
      +
      8014  std::int32_t document_size{};
      +
      8015  get_number<std::int32_t, true>(input_format_t::bson, document_size);
      +
      8016 
      +
      8017  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
      +
      8018  {
      +
      8019  return false;
      +
      8020  }
      +
      8021 
      +
      8022  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/true)))
      +
      8023  {
      +
      8024  return false;
      +
      8025  }
      +
      8026 
      +
      8027  return sax->end_array();
      +
      8028  }
      +
      8029 
      +
      8031  // CBOR //
      +
      8033 
      +
      8042  bool parse_cbor_internal(const bool get_char,
      +
      8043  const cbor_tag_handler_t tag_handler)
      +
      8044  {
      +
      8045  switch (get_char ? get() : current)
      +
      8046  {
      +
      8047  // EOF
      +
      8048  case std::char_traits<char_type>::eof():
      +
      8049  return unexpect_eof(input_format_t::cbor, "value");
      +
      8050 
      +
      8051  // Integer 0x00..0x17 (0..23)
      +
      8052  case 0x00:
      +
      8053  case 0x01:
      +
      8054  case 0x02:
      +
      8055  case 0x03:
      +
      8056  case 0x04:
      +
      8057  case 0x05:
      +
      8058  case 0x06:
      +
      8059  case 0x07:
      +
      8060  case 0x08:
      +
      8061  case 0x09:
      +
      8062  case 0x0A:
      +
      8063  case 0x0B:
      +
      8064  case 0x0C:
      +
      8065  case 0x0D:
      +
      8066  case 0x0E:
      +
      8067  case 0x0F:
      +
      8068  case 0x10:
      +
      8069  case 0x11:
      +
      8070  case 0x12:
      +
      8071  case 0x13:
      +
      8072  case 0x14:
      +
      8073  case 0x15:
      +
      8074  case 0x16:
      +
      8075  case 0x17:
      +
      8076  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
      +
      8077 
      +
      8078  case 0x18: // Unsigned integer (one-byte uint8_t follows)
      +
      8079  {
      +
      8080  std::uint8_t number{};
      +
      8081  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
      +
      8082  }
      +
      8083 
      +
      8084  case 0x19: // Unsigned integer (two-byte uint16_t follows)
      +
      8085  {
      +
      8086  std::uint16_t number{};
      +
      8087  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
      +
      8088  }
      +
      8089 
      +
      8090  case 0x1A: // Unsigned integer (four-byte uint32_t follows)
      +
      8091  {
      +
      8092  std::uint32_t number{};
      +
      8093  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
      +
      8094  }
      +
      8095 
      +
      8096  case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
      +
      8097  {
      +
      8098  std::uint64_t number{};
      +
      8099  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
      +
      8100  }
      +
      8101 
      +
      8102  // Negative integer -1-0x00..-1-0x17 (-1..-24)
      +
      8103  case 0x20:
      +
      8104  case 0x21:
      +
      8105  case 0x22:
      +
      8106  case 0x23:
      +
      8107  case 0x24:
      +
      8108  case 0x25:
      +
      8109  case 0x26:
      +
      8110  case 0x27:
      +
      8111  case 0x28:
      +
      8112  case 0x29:
      +
      8113  case 0x2A:
      +
      8114  case 0x2B:
      +
      8115  case 0x2C:
      +
      8116  case 0x2D:
      +
      8117  case 0x2E:
      +
      8118  case 0x2F:
      +
      8119  case 0x30:
      +
      8120  case 0x31:
      +
      8121  case 0x32:
      +
      8122  case 0x33:
      +
      8123  case 0x34:
      +
      8124  case 0x35:
      +
      8125  case 0x36:
      +
      8126  case 0x37:
      +
      8127  return sax->number_integer(static_cast<std::int8_t>(0x20 - 1 - current));
      +
      8128 
      +
      8129  case 0x38: // Negative integer (one-byte uint8_t follows)
      +
      8130  {
      +
      8131  std::uint8_t number{};
      +
      8132  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      8133  }
      +
      8134 
      +
      8135  case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
      +
      8136  {
      +
      8137  std::uint16_t number{};
      +
      8138  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      8139  }
      +
      8140 
      +
      8141  case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
      +
      8142  {
      +
      8143  std::uint32_t number{};
      +
      8144  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
      +
      8145  }
      +
      8146 
      +
      8147  case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
      +
      8148  {
      +
      8149  std::uint64_t number{};
      +
      8150  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1)
      +
      8151  - static_cast<number_integer_t>(number));
      +
      8152  }
      +
      8153 
      +
      8154  // Binary data (0x00..0x17 bytes follow)
      +
      8155  case 0x40:
      +
      8156  case 0x41:
      +
      8157  case 0x42:
      +
      8158  case 0x43:
      +
      8159  case 0x44:
      +
      8160  case 0x45:
      +
      8161  case 0x46:
      +
      8162  case 0x47:
      +
      8163  case 0x48:
      +
      8164  case 0x49:
      +
      8165  case 0x4A:
      +
      8166  case 0x4B:
      +
      8167  case 0x4C:
      +
      8168  case 0x4D:
      +
      8169  case 0x4E:
      +
      8170  case 0x4F:
      +
      8171  case 0x50:
      +
      8172  case 0x51:
      +
      8173  case 0x52:
      +
      8174  case 0x53:
      +
      8175  case 0x54:
      +
      8176  case 0x55:
      +
      8177  case 0x56:
      +
      8178  case 0x57:
      +
      8179  case 0x58: // Binary data (one-byte uint8_t for n follows)
      +
      8180  case 0x59: // Binary data (two-byte uint16_t for n follow)
      +
      8181  case 0x5A: // Binary data (four-byte uint32_t for n follow)
      +
      8182  case 0x5B: // Binary data (eight-byte uint64_t for n follow)
      +
      8183  case 0x5F: // Binary data (indefinite length)
      +
      8184  {
      +
      8185  binary_t b;
      +
      8186  return get_cbor_binary(b) && sax->binary(b);
      +
      8187  }
      +
      8188 
      +
      8189  // UTF-8 string (0x00..0x17 bytes follow)
      +
      8190  case 0x60:
      +
      8191  case 0x61:
      +
      8192  case 0x62:
      +
      8193  case 0x63:
      +
      8194  case 0x64:
      +
      8195  case 0x65:
      +
      8196  case 0x66:
      +
      8197  case 0x67:
      +
      8198  case 0x68:
      +
      8199  case 0x69:
      +
      8200  case 0x6A:
      +
      8201  case 0x6B:
      +
      8202  case 0x6C:
      +
      8203  case 0x6D:
      +
      8204  case 0x6E:
      +
      8205  case 0x6F:
      +
      8206  case 0x70:
      +
      8207  case 0x71:
      +
      8208  case 0x72:
      +
      8209  case 0x73:
      +
      8210  case 0x74:
      +
      8211  case 0x75:
      +
      8212  case 0x76:
      +
      8213  case 0x77:
      +
      8214  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
      +
      8215  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
      +
      8216  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
      +
      8217  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
      +
      8218  case 0x7F: // UTF-8 string (indefinite length)
      +
      8219  {
      +
      8220  string_t s;
      +
      8221  return get_cbor_string(s) && sax->string(s);
      +
      8222  }
      +
      8223 
      +
      8224  // array (0x00..0x17 data items follow)
      +
      8225  case 0x80:
      +
      8226  case 0x81:
      +
      8227  case 0x82:
      +
      8228  case 0x83:
      +
      8229  case 0x84:
      +
      8230  case 0x85:
      +
      8231  case 0x86:
      +
      8232  case 0x87:
      +
      8233  case 0x88:
      +
      8234  case 0x89:
      +
      8235  case 0x8A:
      +
      8236  case 0x8B:
      +
      8237  case 0x8C:
      +
      8238  case 0x8D:
      +
      8239  case 0x8E:
      +
      8240  case 0x8F:
      +
      8241  case 0x90:
      +
      8242  case 0x91:
      +
      8243  case 0x92:
      +
      8244  case 0x93:
      +
      8245  case 0x94:
      +
      8246  case 0x95:
      +
      8247  case 0x96:
      +
      8248  case 0x97:
      +
      8249  return get_cbor_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu), tag_handler);
      +
      8250 
      +
      8251  case 0x98: // array (one-byte uint8_t for n follows)
      +
      8252  {
      +
      8253  std::uint8_t len{};
      +
      8254  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
      +
      8255  }
      +
      8256 
      +
      8257  case 0x99: // array (two-byte uint16_t for n follow)
      +
      8258  {
      +
      8259  std::uint16_t len{};
      +
      8260  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
      +
      8261  }
      +
      8262 
      +
      8263  case 0x9A: // array (four-byte uint32_t for n follow)
      +
      8264  {
      +
      8265  std::uint32_t len{};
      +
      8266  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
      +
      8267  }
      +
      8268 
      +
      8269  case 0x9B: // array (eight-byte uint64_t for n follow)
      +
      8270  {
      +
      8271  std::uint64_t len{};
      +
      8272  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
      +
      8273  }
      +
      8274 
      +
      8275  case 0x9F: // array (indefinite length)
      +
      8276  return get_cbor_array(std::size_t(-1), tag_handler);
      +
      8277 
      +
      8278  // map (0x00..0x17 pairs of data items follow)
      +
      8279  case 0xA0:
      +
      8280  case 0xA1:
      +
      8281  case 0xA2:
      +
      8282  case 0xA3:
      +
      8283  case 0xA4:
      +
      8284  case 0xA5:
      +
      8285  case 0xA6:
      +
      8286  case 0xA7:
      +
      8287  case 0xA8:
      +
      8288  case 0xA9:
      +
      8289  case 0xAA:
      +
      8290  case 0xAB:
      +
      8291  case 0xAC:
      +
      8292  case 0xAD:
      +
      8293  case 0xAE:
      +
      8294  case 0xAF:
      +
      8295  case 0xB0:
      +
      8296  case 0xB1:
      +
      8297  case 0xB2:
      +
      8298  case 0xB3:
      +
      8299  case 0xB4:
      +
      8300  case 0xB5:
      +
      8301  case 0xB6:
      +
      8302  case 0xB7:
      +
      8303  return get_cbor_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu), tag_handler);
      +
      8304 
      +
      8305  case 0xB8: // map (one-byte uint8_t for n follows)
      +
      8306  {
      +
      8307  std::uint8_t len{};
      +
      8308  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
      +
      8309  }
      +
      8310 
      +
      8311  case 0xB9: // map (two-byte uint16_t for n follow)
      +
      8312  {
      +
      8313  std::uint16_t len{};
      +
      8314  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
      +
      8315  }
      +
      8316 
      +
      8317  case 0xBA: // map (four-byte uint32_t for n follow)
      +
      8318  {
      +
      8319  std::uint32_t len{};
      +
      8320  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
      +
      8321  }
      +
      8322 
      +
      8323  case 0xBB: // map (eight-byte uint64_t for n follow)
      +
      8324  {
      +
      8325  std::uint64_t len{};
      +
      8326  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
      +
      8327  }
      +
      8328 
      +
      8329  case 0xBF: // map (indefinite length)
      +
      8330  return get_cbor_object(std::size_t(-1), tag_handler);
      +
      8331 
      +
      8332  case 0xC6: // tagged item
      +
      8333  case 0xC7:
      +
      8334  case 0xC8:
      +
      8335  case 0xC9:
      +
      8336  case 0xCA:
      +
      8337  case 0xCB:
      +
      8338  case 0xCC:
      +
      8339  case 0xCD:
      +
      8340  case 0xCE:
      +
      8341  case 0xCF:
      +
      8342  case 0xD0:
      +
      8343  case 0xD1:
      +
      8344  case 0xD2:
      +
      8345  case 0xD3:
      +
      8346  case 0xD4:
      +
      8347  case 0xD8: // tagged item (1 bytes follow)
      +
      8348  case 0xD9: // tagged item (2 bytes follow)
      +
      8349  case 0xDA: // tagged item (4 bytes follow)
      +
      8350  case 0xDB: // tagged item (8 bytes follow)
      +
      8351  {
      +
      8352  switch (tag_handler)
      +
      8353  {
      + +
      8355  {
      +
      8356  auto last_token = get_token_string();
      +
      8357  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value")));
      +
      8358  }
      +
      8359 
      + +
      8361  {
      +
      8362  switch (current)
      +
      8363  {
      +
      8364  case 0xD8:
      +
      8365  {
      +
      8366  std::uint8_t len{};
      +
      8367  get_number(input_format_t::cbor, len);
      +
      8368  break;
      +
      8369  }
      +
      8370  case 0xD9:
      +
      8371  {
      +
      8372  std::uint16_t len{};
      +
      8373  get_number(input_format_t::cbor, len);
      +
      8374  break;
      +
      8375  }
      +
      8376  case 0xDA:
      +
      8377  {
      +
      8378  std::uint32_t len{};
      +
      8379  get_number(input_format_t::cbor, len);
      +
      8380  break;
      +
      8381  }
      +
      8382  case 0xDB:
      +
      8383  {
      +
      8384  std::uint64_t len{};
      +
      8385  get_number(input_format_t::cbor, len);
      +
      8386  break;
      +
      8387  }
      +
      8388  default:
      +
      8389  break;
      +
      8390  }
      +
      8391  return parse_cbor_internal(true, tag_handler);
      +
      8392  }
      +
      8393 
      +
      8394  default: // LCOV_EXCL_LINE
      +
      8395  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      8396  }
      +
      8397  }
      +
      8398 
      +
      8399  case 0xF4: // false
      +
      8400  return sax->boolean(false);
      +
      8401 
      +
      8402  case 0xF5: // true
      +
      8403  return sax->boolean(true);
      +
      8404 
      +
      8405  case 0xF6: // null
      +
      8406  return sax->null();
      +
      8407 
      +
      8408  case 0xF9: // Half-Precision Float (two-byte IEEE 754)
      +
      8409  {
      +
      8410  const auto byte1_raw = get();
      +
      8411  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))
      +
      8412  {
      +
      8413  return false;
      +
      8414  }
      +
      8415  const auto byte2_raw = get();
      +
      8416  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))
      +
      8417  {
      +
      8418  return false;
      +
      8419  }
      +
      8420 
      +
      8421  const auto byte1 = static_cast<unsigned char>(byte1_raw);
      +
      8422  const auto byte2 = static_cast<unsigned char>(byte2_raw);
      +
      8423 
      +
      8424  // code from RFC 7049, Appendix D, Figure 3:
      +
      8425  // As half-precision floating-point numbers were only added
      +
      8426  // to IEEE 754 in 2008, today's programming platforms often
      +
      8427  // still only have limited support for them. It is very
      +
      8428  // easy to include at least decoding support for them even
      +
      8429  // without such support. An example of a small decoder for
      +
      8430  // half-precision floating-point numbers in the C language
      +
      8431  // is shown in Fig. 3.
      +
      8432  const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);
      +
      8433  const double val = [&half]
      +
      8434  {
      +
      8435  const int exp = (half >> 10u) & 0x1Fu;
      +
      8436  const unsigned int mant = half & 0x3FFu;
      +
      8437  JSON_ASSERT(0 <= exp&& exp <= 32);
      +
      8438  JSON_ASSERT(mant <= 1024);
      +
      8439  switch (exp)
      +
      8440  {
      +
      8441  case 0:
      +
      8442  return std::ldexp(mant, -24);
      +
      8443  case 31:
      +
      8444  return (mant == 0)
      +
      8445  ? std::numeric_limits<double>::infinity()
      +
      8446  : std::numeric_limits<double>::quiet_NaN();
      +
      8447  default:
      +
      8448  return std::ldexp(mant + 1024, exp - 25);
      +
      8449  }
      +
      8450  }();
      +
      8451  return sax->number_float((half & 0x8000u) != 0
      +
      8452  ? static_cast<number_float_t>(-val)
      +
      8453  : static_cast<number_float_t>(val), "");
      +
      8454  }
      +
      8455 
      +
      8456  case 0xFA: // Single-Precision Float (four-byte IEEE 754)
      +
      8457  {
      +
      8458  float number{};
      +
      8459  return get_number(input_format_t::cbor, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      8460  }
      +
      8461 
      +
      8462  case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
      +
      8463  {
      +
      8464  double number{};
      +
      8465  return get_number(input_format_t::cbor, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      8466  }
      +
      8467 
      +
      8468  default: // anything else (0xFF is handled inside the other types)
      +
      8469  {
      +
      8470  auto last_token = get_token_string();
      +
      8471  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value")));
      +
      8472  }
      +
      8473  }
      +
      8474  }
      +
      8475 
      +
      8487  bool get_cbor_string(string_t& result)
      +
      8488  {
      +
      8489  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "string")))
      +
      8490  {
      +
      8491  return false;
      +
      8492  }
      +
      8493 
      +
      8494  switch (current)
      +
      8495  {
      +
      8496  // UTF-8 string (0x00..0x17 bytes follow)
      +
      8497  case 0x60:
      +
      8498  case 0x61:
      +
      8499  case 0x62:
      +
      8500  case 0x63:
      +
      8501  case 0x64:
      +
      8502  case 0x65:
      +
      8503  case 0x66:
      +
      8504  case 0x67:
      +
      8505  case 0x68:
      +
      8506  case 0x69:
      +
      8507  case 0x6A:
      +
      8508  case 0x6B:
      +
      8509  case 0x6C:
      +
      8510  case 0x6D:
      +
      8511  case 0x6E:
      +
      8512  case 0x6F:
      +
      8513  case 0x70:
      +
      8514  case 0x71:
      +
      8515  case 0x72:
      +
      8516  case 0x73:
      +
      8517  case 0x74:
      +
      8518  case 0x75:
      +
      8519  case 0x76:
      +
      8520  case 0x77:
      +
      8521  {
      +
      8522  return get_string(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
      +
      8523  }
      +
      8524 
      +
      8525  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
      +
      8526  {
      +
      8527  std::uint8_t len{};
      +
      8528  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
      +
      8529  }
      +
      8530 
      +
      8531  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
      +
      8532  {
      +
      8533  std::uint16_t len{};
      +
      8534  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
      +
      8535  }
      +
      8536 
      +
      8537  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
      +
      8538  {
      +
      8539  std::uint32_t len{};
      +
      8540  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
      +
      8541  }
      +
      8542 
      +
      8543  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
      +
      8544  {
      +
      8545  std::uint64_t len{};
      +
      8546  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
      +
      8547  }
      +
      8548 
      +
      8549  case 0x7F: // UTF-8 string (indefinite length)
      +
      8550  {
      +
      8551  while (get() != 0xFF)
      +
      8552  {
      +
      8553  string_t chunk;
      +
      8554  if (!get_cbor_string(chunk))
      +
      8555  {
      +
      8556  return false;
      +
      8557  }
      +
      8558  result.append(chunk);
      +
      8559  }
      +
      8560  return true;
      +
      8561  }
      +
      8562 
      +
      8563  default:
      +
      8564  {
      +
      8565  auto last_token = get_token_string();
      +
      8566  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string")));
      +
      8567  }
      +
      8568  }
      +
      8569  }
      +
      8570 
      +
      8582  bool get_cbor_binary(binary_t& result)
      +
      8583  {
      +
      8584  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "binary")))
      +
      8585  {
      +
      8586  return false;
      +
      8587  }
      +
      8588 
      +
      8589  switch (current)
      +
      8590  {
      +
      8591  // Binary data (0x00..0x17 bytes follow)
      +
      8592  case 0x40:
      +
      8593  case 0x41:
      +
      8594  case 0x42:
      +
      8595  case 0x43:
      +
      8596  case 0x44:
      +
      8597  case 0x45:
      +
      8598  case 0x46:
      +
      8599  case 0x47:
      +
      8600  case 0x48:
      +
      8601  case 0x49:
      +
      8602  case 0x4A:
      +
      8603  case 0x4B:
      +
      8604  case 0x4C:
      +
      8605  case 0x4D:
      +
      8606  case 0x4E:
      +
      8607  case 0x4F:
      +
      8608  case 0x50:
      +
      8609  case 0x51:
      +
      8610  case 0x52:
      +
      8611  case 0x53:
      +
      8612  case 0x54:
      +
      8613  case 0x55:
      +
      8614  case 0x56:
      +
      8615  case 0x57:
      +
      8616  {
      +
      8617  return get_binary(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
      +
      8618  }
      +
      8619 
      +
      8620  case 0x58: // Binary data (one-byte uint8_t for n follows)
      +
      8621  {
      +
      8622  std::uint8_t len{};
      +
      8623  return get_number(input_format_t::cbor, len) &&
      +
      8624  get_binary(input_format_t::cbor, len, result);
      +
      8625  }
      +
      8626 
      +
      8627  case 0x59: // Binary data (two-byte uint16_t for n follow)
      +
      8628  {
      +
      8629  std::uint16_t len{};
      +
      8630  return get_number(input_format_t::cbor, len) &&
      +
      8631  get_binary(input_format_t::cbor, len, result);
      +
      8632  }
      +
      8633 
      +
      8634  case 0x5A: // Binary data (four-byte uint32_t for n follow)
      +
      8635  {
      +
      8636  std::uint32_t len{};
      +
      8637  return get_number(input_format_t::cbor, len) &&
      +
      8638  get_binary(input_format_t::cbor, len, result);
      +
      8639  }
      +
      8640 
      +
      8641  case 0x5B: // Binary data (eight-byte uint64_t for n follow)
      +
      8642  {
      +
      8643  std::uint64_t len{};
      +
      8644  return get_number(input_format_t::cbor, len) &&
      +
      8645  get_binary(input_format_t::cbor, len, result);
      +
      8646  }
      +
      8647 
      +
      8648  case 0x5F: // Binary data (indefinite length)
      +
      8649  {
      +
      8650  while (get() != 0xFF)
      +
      8651  {
      +
      8652  binary_t chunk;
      +
      8653  if (!get_cbor_binary(chunk))
      +
      8654  {
      +
      8655  return false;
      +
      8656  }
      +
      8657  result.insert(result.end(), chunk.begin(), chunk.end());
      +
      8658  }
      +
      8659  return true;
      +
      8660  }
      +
      8661 
      +
      8662  default:
      +
      8663  {
      +
      8664  auto last_token = get_token_string();
      +
      8665  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x40-0x5B) or indefinite binary array type (0x5F); last byte: 0x" + last_token, "binary")));
      +
      8666  }
      +
      8667  }
      +
      8668  }
      +
      8669 
      +
      8676  bool get_cbor_array(const std::size_t len,
      +
      8677  const cbor_tag_handler_t tag_handler)
      +
      8678  {
      +
      8679  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len)))
      +
      8680  {
      +
      8681  return false;
      +
      8682  }
      +
      8683 
      +
      8684  if (len != std::size_t(-1))
      +
      8685  {
      +
      8686  for (std::size_t i = 0; i < len; ++i)
      +
      8687  {
      +
      8688  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
      +
      8689  {
      +
      8690  return false;
      +
      8691  }
      +
      8692  }
      +
      8693  }
      +
      8694  else
      +
      8695  {
      +
      8696  while (get() != 0xFF)
      +
      8697  {
      +
      8698  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(false, tag_handler)))
      +
      8699  {
      +
      8700  return false;
      +
      8701  }
      +
      8702  }
      +
      8703  }
      +
      8704 
      +
      8705  return sax->end_array();
      +
      8706  }
      +
      8707 
      +
      8714  bool get_cbor_object(const std::size_t len,
      +
      8715  const cbor_tag_handler_t tag_handler)
      +
      8716  {
      +
      8717  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len)))
      +
      8718  {
      +
      8719  return false;
      +
      8720  }
      +
      8721 
      +
      8722  string_t key;
      +
      8723  if (len != std::size_t(-1))
      +
      8724  {
      +
      8725  for (std::size_t i = 0; i < len; ++i)
      +
      8726  {
      +
      8727  get();
      +
      8728  if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key)))
      +
      8729  {
      +
      8730  return false;
      +
      8731  }
      +
      8732 
      +
      8733  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
      +
      8734  {
      +
      8735  return false;
      +
      8736  }
      +
      8737  key.clear();
      +
      8738  }
      +
      8739  }
      +
      8740  else
      +
      8741  {
      +
      8742  while (get() != 0xFF)
      +
      8743  {
      +
      8744  if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key)))
      +
      8745  {
      +
      8746  return false;
      +
      8747  }
      +
      8748 
      +
      8749  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
      +
      8750  {
      +
      8751  return false;
      +
      8752  }
      +
      8753  key.clear();
      +
      8754  }
      +
      8755  }
      +
      8756 
      +
      8757  return sax->end_object();
      +
      8758  }
      +
      8759 
      +
      8761  // MsgPack //
      +
      8763 
      +
      8767  bool parse_msgpack_internal()
      +
      8768  {
      +
      8769  switch (get())
      +
      8770  {
      +
      8771  // EOF
      +
      8772  case std::char_traits<char_type>::eof():
      +
      8773  return unexpect_eof(input_format_t::msgpack, "value");
      +
      8774 
      +
      8775  // positive fixint
      +
      8776  case 0x00:
      +
      8777  case 0x01:
      +
      8778  case 0x02:
      +
      8779  case 0x03:
      +
      8780  case 0x04:
      +
      8781  case 0x05:
      +
      8782  case 0x06:
      +
      8783  case 0x07:
      +
      8784  case 0x08:
      +
      8785  case 0x09:
      +
      8786  case 0x0A:
      +
      8787  case 0x0B:
      +
      8788  case 0x0C:
      +
      8789  case 0x0D:
      +
      8790  case 0x0E:
      +
      8791  case 0x0F:
      +
      8792  case 0x10:
      +
      8793  case 0x11:
      +
      8794  case 0x12:
      +
      8795  case 0x13:
      +
      8796  case 0x14:
      +
      8797  case 0x15:
      +
      8798  case 0x16:
      +
      8799  case 0x17:
      +
      8800  case 0x18:
      +
      8801  case 0x19:
      +
      8802  case 0x1A:
      +
      8803  case 0x1B:
      +
      8804  case 0x1C:
      +
      8805  case 0x1D:
      +
      8806  case 0x1E:
      +
      8807  case 0x1F:
      +
      8808  case 0x20:
      +
      8809  case 0x21:
      +
      8810  case 0x22:
      +
      8811  case 0x23:
      +
      8812  case 0x24:
      +
      8813  case 0x25:
      +
      8814  case 0x26:
      +
      8815  case 0x27:
      +
      8816  case 0x28:
      +
      8817  case 0x29:
      +
      8818  case 0x2A:
      +
      8819  case 0x2B:
      +
      8820  case 0x2C:
      +
      8821  case 0x2D:
      +
      8822  case 0x2E:
      +
      8823  case 0x2F:
      +
      8824  case 0x30:
      +
      8825  case 0x31:
      +
      8826  case 0x32:
      +
      8827  case 0x33:
      +
      8828  case 0x34:
      +
      8829  case 0x35:
      +
      8830  case 0x36:
      +
      8831  case 0x37:
      +
      8832  case 0x38:
      +
      8833  case 0x39:
      +
      8834  case 0x3A:
      +
      8835  case 0x3B:
      +
      8836  case 0x3C:
      +
      8837  case 0x3D:
      +
      8838  case 0x3E:
      +
      8839  case 0x3F:
      +
      8840  case 0x40:
      +
      8841  case 0x41:
      +
      8842  case 0x42:
      +
      8843  case 0x43:
      +
      8844  case 0x44:
      +
      8845  case 0x45:
      +
      8846  case 0x46:
      +
      8847  case 0x47:
      +
      8848  case 0x48:
      +
      8849  case 0x49:
      +
      8850  case 0x4A:
      +
      8851  case 0x4B:
      +
      8852  case 0x4C:
      +
      8853  case 0x4D:
      +
      8854  case 0x4E:
      +
      8855  case 0x4F:
      +
      8856  case 0x50:
      +
      8857  case 0x51:
      +
      8858  case 0x52:
      +
      8859  case 0x53:
      +
      8860  case 0x54:
      +
      8861  case 0x55:
      +
      8862  case 0x56:
      +
      8863  case 0x57:
      +
      8864  case 0x58:
      +
      8865  case 0x59:
      +
      8866  case 0x5A:
      +
      8867  case 0x5B:
      +
      8868  case 0x5C:
      +
      8869  case 0x5D:
      +
      8870  case 0x5E:
      +
      8871  case 0x5F:
      +
      8872  case 0x60:
      +
      8873  case 0x61:
      +
      8874  case 0x62:
      +
      8875  case 0x63:
      +
      8876  case 0x64:
      +
      8877  case 0x65:
      +
      8878  case 0x66:
      +
      8879  case 0x67:
      +
      8880  case 0x68:
      +
      8881  case 0x69:
      +
      8882  case 0x6A:
      +
      8883  case 0x6B:
      +
      8884  case 0x6C:
      +
      8885  case 0x6D:
      +
      8886  case 0x6E:
      +
      8887  case 0x6F:
      +
      8888  case 0x70:
      +
      8889  case 0x71:
      +
      8890  case 0x72:
      +
      8891  case 0x73:
      +
      8892  case 0x74:
      +
      8893  case 0x75:
      +
      8894  case 0x76:
      +
      8895  case 0x77:
      +
      8896  case 0x78:
      +
      8897  case 0x79:
      +
      8898  case 0x7A:
      +
      8899  case 0x7B:
      +
      8900  case 0x7C:
      +
      8901  case 0x7D:
      +
      8902  case 0x7E:
      +
      8903  case 0x7F:
      +
      8904  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
      +
      8905 
      +
      8906  // fixmap
      +
      8907  case 0x80:
      +
      8908  case 0x81:
      +
      8909  case 0x82:
      +
      8910  case 0x83:
      +
      8911  case 0x84:
      +
      8912  case 0x85:
      +
      8913  case 0x86:
      +
      8914  case 0x87:
      +
      8915  case 0x88:
      +
      8916  case 0x89:
      +
      8917  case 0x8A:
      +
      8918  case 0x8B:
      +
      8919  case 0x8C:
      +
      8920  case 0x8D:
      +
      8921  case 0x8E:
      +
      8922  case 0x8F:
      +
      8923  return get_msgpack_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
      +
      8924 
      +
      8925  // fixarray
      +
      8926  case 0x90:
      +
      8927  case 0x91:
      +
      8928  case 0x92:
      +
      8929  case 0x93:
      +
      8930  case 0x94:
      +
      8931  case 0x95:
      +
      8932  case 0x96:
      +
      8933  case 0x97:
      +
      8934  case 0x98:
      +
      8935  case 0x99:
      +
      8936  case 0x9A:
      +
      8937  case 0x9B:
      +
      8938  case 0x9C:
      +
      8939  case 0x9D:
      +
      8940  case 0x9E:
      +
      8941  case 0x9F:
      +
      8942  return get_msgpack_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
      +
      8943 
      +
      8944  // fixstr
      +
      8945  case 0xA0:
      +
      8946  case 0xA1:
      +
      8947  case 0xA2:
      +
      8948  case 0xA3:
      +
      8949  case 0xA4:
      +
      8950  case 0xA5:
      +
      8951  case 0xA6:
      +
      8952  case 0xA7:
      +
      8953  case 0xA8:
      +
      8954  case 0xA9:
      +
      8955  case 0xAA:
      +
      8956  case 0xAB:
      +
      8957  case 0xAC:
      +
      8958  case 0xAD:
      +
      8959  case 0xAE:
      +
      8960  case 0xAF:
      +
      8961  case 0xB0:
      +
      8962  case 0xB1:
      +
      8963  case 0xB2:
      +
      8964  case 0xB3:
      +
      8965  case 0xB4:
      +
      8966  case 0xB5:
      +
      8967  case 0xB6:
      +
      8968  case 0xB7:
      +
      8969  case 0xB8:
      +
      8970  case 0xB9:
      +
      8971  case 0xBA:
      +
      8972  case 0xBB:
      +
      8973  case 0xBC:
      +
      8974  case 0xBD:
      +
      8975  case 0xBE:
      +
      8976  case 0xBF:
      +
      8977  case 0xD9: // str 8
      +
      8978  case 0xDA: // str 16
      +
      8979  case 0xDB: // str 32
      +
      8980  {
      +
      8981  string_t s;
      +
      8982  return get_msgpack_string(s) && sax->string(s);
      +
      8983  }
      +
      8984 
      +
      8985  case 0xC0: // nil
      +
      8986  return sax->null();
      +
      8987 
      +
      8988  case 0xC2: // false
      +
      8989  return sax->boolean(false);
      +
      8990 
      +
      8991  case 0xC3: // true
      +
      8992  return sax->boolean(true);
      +
      8993 
      +
      8994  case 0xC4: // bin 8
      +
      8995  case 0xC5: // bin 16
      +
      8996  case 0xC6: // bin 32
      +
      8997  case 0xC7: // ext 8
      +
      8998  case 0xC8: // ext 16
      +
      8999  case 0xC9: // ext 32
      +
      9000  case 0xD4: // fixext 1
      +
      9001  case 0xD5: // fixext 2
      +
      9002  case 0xD6: // fixext 4
      +
      9003  case 0xD7: // fixext 8
      +
      9004  case 0xD8: // fixext 16
      +
      9005  {
      +
      9006  binary_t b;
      +
      9007  return get_msgpack_binary(b) && sax->binary(b);
      +
      9008  }
      +
      9009 
      +
      9010  case 0xCA: // float 32
      +
      9011  {
      +
      9012  float number{};
      +
      9013  return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      9014  }
      +
      9015 
      +
      9016  case 0xCB: // float 64
      +
      9017  {
      +
      9018  double number{};
      +
      9019  return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      9020  }
      +
      9021 
      +
      9022  case 0xCC: // uint 8
      +
      9023  {
      +
      9024  std::uint8_t number{};
      +
      9025  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
      +
      9026  }
      +
      9027 
      +
      9028  case 0xCD: // uint 16
      +
      9029  {
      +
      9030  std::uint16_t number{};
      +
      9031  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
      +
      9032  }
      +
      9033 
      +
      9034  case 0xCE: // uint 32
      +
      9035  {
      +
      9036  std::uint32_t number{};
      +
      9037  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
      +
      9038  }
      +
      9039 
      +
      9040  case 0xCF: // uint 64
      +
      9041  {
      +
      9042  std::uint64_t number{};
      +
      9043  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
      +
      9044  }
      +
      9045 
      +
      9046  case 0xD0: // int 8
      +
      9047  {
      +
      9048  std::int8_t number{};
      +
      9049  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
      +
      9050  }
      +
      9051 
      +
      9052  case 0xD1: // int 16
      +
      9053  {
      +
      9054  std::int16_t number{};
      +
      9055  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
      +
      9056  }
      +
      9057 
      +
      9058  case 0xD2: // int 32
      +
      9059  {
      +
      9060  std::int32_t number{};
      +
      9061  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
      +
      9062  }
      +
      9063 
      +
      9064  case 0xD3: // int 64
      +
      9065  {
      +
      9066  std::int64_t number{};
      +
      9067  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
      +
      9068  }
      +
      9069 
      +
      9070  case 0xDC: // array 16
      +
      9071  {
      +
      9072  std::uint16_t len{};
      +
      9073  return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast<std::size_t>(len));
      +
      9074  }
      +
      9075 
      +
      9076  case 0xDD: // array 32
      +
      9077  {
      +
      9078  std::uint32_t len{};
      +
      9079  return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast<std::size_t>(len));
      +
      9080  }
      +
      9081 
      +
      9082  case 0xDE: // map 16
      +
      9083  {
      +
      9084  std::uint16_t len{};
      +
      9085  return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast<std::size_t>(len));
      +
      9086  }
      +
      9087 
      +
      9088  case 0xDF: // map 32
      +
      9089  {
      +
      9090  std::uint32_t len{};
      +
      9091  return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast<std::size_t>(len));
      +
      9092  }
      +
      9093 
      +
      9094  // negative fixint
      +
      9095  case 0xE0:
      +
      9096  case 0xE1:
      +
      9097  case 0xE2:
      +
      9098  case 0xE3:
      +
      9099  case 0xE4:
      +
      9100  case 0xE5:
      +
      9101  case 0xE6:
      +
      9102  case 0xE7:
      +
      9103  case 0xE8:
      +
      9104  case 0xE9:
      +
      9105  case 0xEA:
      +
      9106  case 0xEB:
      +
      9107  case 0xEC:
      +
      9108  case 0xED:
      +
      9109  case 0xEE:
      +
      9110  case 0xEF:
      +
      9111  case 0xF0:
      +
      9112  case 0xF1:
      +
      9113  case 0xF2:
      +
      9114  case 0xF3:
      +
      9115  case 0xF4:
      +
      9116  case 0xF5:
      +
      9117  case 0xF6:
      +
      9118  case 0xF7:
      +
      9119  case 0xF8:
      +
      9120  case 0xF9:
      +
      9121  case 0xFA:
      +
      9122  case 0xFB:
      +
      9123  case 0xFC:
      +
      9124  case 0xFD:
      +
      9125  case 0xFE:
      +
      9126  case 0xFF:
      +
      9127  return sax->number_integer(static_cast<std::int8_t>(current));
      +
      9128 
      +
      9129  default: // anything else
      +
      9130  {
      +
      9131  auto last_token = get_token_string();
      +
      9132  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value")));
      +
      9133  }
      +
      9134  }
      +
      9135  }
      +
      9136 
      +
      9147  bool get_msgpack_string(string_t& result)
      +
      9148  {
      +
      9149  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::msgpack, "string")))
      +
      9150  {
      +
      9151  return false;
      +
      9152  }
      +
      9153 
      +
      9154  switch (current)
      +
      9155  {
      +
      9156  // fixstr
      +
      9157  case 0xA0:
      +
      9158  case 0xA1:
      +
      9159  case 0xA2:
      +
      9160  case 0xA3:
      +
      9161  case 0xA4:
      +
      9162  case 0xA5:
      +
      9163  case 0xA6:
      +
      9164  case 0xA7:
      +
      9165  case 0xA8:
      +
      9166  case 0xA9:
      +
      9167  case 0xAA:
      +
      9168  case 0xAB:
      +
      9169  case 0xAC:
      +
      9170  case 0xAD:
      +
      9171  case 0xAE:
      +
      9172  case 0xAF:
      +
      9173  case 0xB0:
      +
      9174  case 0xB1:
      +
      9175  case 0xB2:
      +
      9176  case 0xB3:
      +
      9177  case 0xB4:
      +
      9178  case 0xB5:
      +
      9179  case 0xB6:
      +
      9180  case 0xB7:
      +
      9181  case 0xB8:
      +
      9182  case 0xB9:
      +
      9183  case 0xBA:
      +
      9184  case 0xBB:
      +
      9185  case 0xBC:
      +
      9186  case 0xBD:
      +
      9187  case 0xBE:
      +
      9188  case 0xBF:
      +
      9189  {
      +
      9190  return get_string(input_format_t::msgpack, static_cast<unsigned int>(current) & 0x1Fu, result);
      +
      9191  }
      +
      9192 
      +
      9193  case 0xD9: // str 8
      +
      9194  {
      +
      9195  std::uint8_t len{};
      +
      9196  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
      +
      9197  }
      +
      9198 
      +
      9199  case 0xDA: // str 16
      +
      9200  {
      +
      9201  std::uint16_t len{};
      +
      9202  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
      +
      9203  }
      +
      9204 
      +
      9205  case 0xDB: // str 32
      +
      9206  {
      +
      9207  std::uint32_t len{};
      +
      9208  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
      +
      9209  }
      +
      9210 
      +
      9211  default:
      +
      9212  {
      +
      9213  auto last_token = get_token_string();
      +
      9214  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string")));
      +
      9215  }
      +
      9216  }
      +
      9217  }
      +
      9218 
      +
      9229  bool get_msgpack_binary(binary_t& result)
      +
      9230  {
      +
      9231  // helper function to set the subtype
      +
      9232  auto assign_and_return_true = [&result](std::int8_t subtype)
      +
      9233  {
      +
      9234  result.set_subtype(static_cast<std::uint8_t>(subtype));
      +
      9235  return true;
      +
      9236  };
      +
      9237 
      +
      9238  switch (current)
      +
      9239  {
      +
      9240  case 0xC4: // bin 8
      +
      9241  {
      +
      9242  std::uint8_t len{};
      +
      9243  return get_number(input_format_t::msgpack, len) &&
      +
      9244  get_binary(input_format_t::msgpack, len, result);
      +
      9245  }
      +
      9246 
      +
      9247  case 0xC5: // bin 16
      +
      9248  {
      +
      9249  std::uint16_t len{};
      +
      9250  return get_number(input_format_t::msgpack, len) &&
      +
      9251  get_binary(input_format_t::msgpack, len, result);
      +
      9252  }
      +
      9253 
      +
      9254  case 0xC6: // bin 32
      +
      9255  {
      +
      9256  std::uint32_t len{};
      +
      9257  return get_number(input_format_t::msgpack, len) &&
      +
      9258  get_binary(input_format_t::msgpack, len, result);
      +
      9259  }
      +
      9260 
      +
      9261  case 0xC7: // ext 8
      +
      9262  {
      +
      9263  std::uint8_t len{};
      +
      9264  std::int8_t subtype{};
      +
      9265  return get_number(input_format_t::msgpack, len) &&
      +
      9266  get_number(input_format_t::msgpack, subtype) &&
      +
      9267  get_binary(input_format_t::msgpack, len, result) &&
      +
      9268  assign_and_return_true(subtype);
      +
      9269  }
      +
      9270 
      +
      9271  case 0xC8: // ext 16
      +
      9272  {
      +
      9273  std::uint16_t len{};
      +
      9274  std::int8_t subtype{};
      +
      9275  return get_number(input_format_t::msgpack, len) &&
      +
      9276  get_number(input_format_t::msgpack, subtype) &&
      +
      9277  get_binary(input_format_t::msgpack, len, result) &&
      +
      9278  assign_and_return_true(subtype);
      +
      9279  }
      +
      9280 
      +
      9281  case 0xC9: // ext 32
      +
      9282  {
      +
      9283  std::uint32_t len{};
      +
      9284  std::int8_t subtype{};
      +
      9285  return get_number(input_format_t::msgpack, len) &&
      +
      9286  get_number(input_format_t::msgpack, subtype) &&
      +
      9287  get_binary(input_format_t::msgpack, len, result) &&
      +
      9288  assign_and_return_true(subtype);
      +
      9289  }
      +
      9290 
      +
      9291  case 0xD4: // fixext 1
      +
      9292  {
      +
      9293  std::int8_t subtype{};
      +
      9294  return get_number(input_format_t::msgpack, subtype) &&
      +
      9295  get_binary(input_format_t::msgpack, 1, result) &&
      +
      9296  assign_and_return_true(subtype);
      +
      9297  }
      +
      9298 
      +
      9299  case 0xD5: // fixext 2
      +
      9300  {
      +
      9301  std::int8_t subtype{};
      +
      9302  return get_number(input_format_t::msgpack, subtype) &&
      +
      9303  get_binary(input_format_t::msgpack, 2, result) &&
      +
      9304  assign_and_return_true(subtype);
      +
      9305  }
      +
      9306 
      +
      9307  case 0xD6: // fixext 4
      +
      9308  {
      +
      9309  std::int8_t subtype{};
      +
      9310  return get_number(input_format_t::msgpack, subtype) &&
      +
      9311  get_binary(input_format_t::msgpack, 4, result) &&
      +
      9312  assign_and_return_true(subtype);
      +
      9313  }
      +
      9314 
      +
      9315  case 0xD7: // fixext 8
      +
      9316  {
      +
      9317  std::int8_t subtype{};
      +
      9318  return get_number(input_format_t::msgpack, subtype) &&
      +
      9319  get_binary(input_format_t::msgpack, 8, result) &&
      +
      9320  assign_and_return_true(subtype);
      +
      9321  }
      +
      9322 
      +
      9323  case 0xD8: // fixext 16
      +
      9324  {
      +
      9325  std::int8_t subtype{};
      +
      9326  return get_number(input_format_t::msgpack, subtype) &&
      +
      9327  get_binary(input_format_t::msgpack, 16, result) &&
      +
      9328  assign_and_return_true(subtype);
      +
      9329  }
      +
      9330 
      +
      9331  default: // LCOV_EXCL_LINE
      +
      9332  return false; // LCOV_EXCL_LINE
      +
      9333  }
      +
      9334  }
      +
      9335 
      +
      9340  bool get_msgpack_array(const std::size_t len)
      +
      9341  {
      +
      9342  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len)))
      +
      9343  {
      +
      9344  return false;
      +
      9345  }
      +
      9346 
      +
      9347  for (std::size_t i = 0; i < len; ++i)
      +
      9348  {
      +
      9349  if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal()))
      +
      9350  {
      +
      9351  return false;
      +
      9352  }
      +
      9353  }
      +
      9354 
      +
      9355  return sax->end_array();
      +
      9356  }
      +
      9357 
      +
      9362  bool get_msgpack_object(const std::size_t len)
      +
      9363  {
      +
      9364  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len)))
      +
      9365  {
      +
      9366  return false;
      +
      9367  }
      +
      9368 
      +
      9369  string_t key;
      +
      9370  for (std::size_t i = 0; i < len; ++i)
      +
      9371  {
      +
      9372  get();
      +
      9373  if (JSON_HEDLEY_UNLIKELY(!get_msgpack_string(key) || !sax->key(key)))
      +
      9374  {
      +
      9375  return false;
      +
      9376  }
      +
      9377 
      +
      9378  if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal()))
      +
      9379  {
      +
      9380  return false;
      +
      9381  }
      +
      9382  key.clear();
      +
      9383  }
      +
      9384 
      +
      9385  return sax->end_object();
      +
      9386  }
      +
      9387 
      +
      9389  // UBJSON //
      +
      9391 
      +
      9399  bool parse_ubjson_internal(const bool get_char = true)
      +
      9400  {
      +
      9401  return get_ubjson_value(get_char ? get_ignore_noop() : current);
      +
      9402  }
      +
      9403 
      +
      9418  bool get_ubjson_string(string_t& result, const bool get_char = true)
      +
      9419  {
      +
      9420  if (get_char)
      +
      9421  {
      +
      9422  get(); // TODO(niels): may we ignore N here?
      +
      9423  }
      +
      9424 
      +
      9425  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value")))
      +
      9426  {
      +
      9427  return false;
      +
      9428  }
      +
      9429 
      +
      9430  switch (current)
      +
      9431  {
      +
      9432  case 'U':
      +
      9433  {
      +
      9434  std::uint8_t len{};
      +
      9435  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
      +
      9436  }
      +
      9437 
      +
      9438  case 'i':
      +
      9439  {
      +
      9440  std::int8_t len{};
      +
      9441  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
      +
      9442  }
      +
      9443 
      +
      9444  case 'I':
      +
      9445  {
      +
      9446  std::int16_t len{};
      +
      9447  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
      +
      9448  }
      +
      9449 
      +
      9450  case 'l':
      +
      9451  {
      +
      9452  std::int32_t len{};
      +
      9453  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
      +
      9454  }
      +
      9455 
      +
      9456  case 'L':
      +
      9457  {
      +
      9458  std::int64_t len{};
      +
      9459  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
      +
      9460  }
      +
      9461 
      +
      9462  default:
      +
      9463  auto last_token = get_token_string();
      +
      9464  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string")));
      +
      9465  }
      +
      9466  }
      +
      9467 
      +
      9472  bool get_ubjson_size_value(std::size_t& result)
      +
      9473  {
      +
      9474  switch (get_ignore_noop())
      +
      9475  {
      +
      9476  case 'U':
      +
      9477  {
      +
      9478  std::uint8_t number{};
      +
      9479  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
      +
      9480  {
      +
      9481  return false;
      +
      9482  }
      +
      9483  result = static_cast<std::size_t>(number);
      +
      9484  return true;
      +
      9485  }
      +
      9486 
      +
      9487  case 'i':
      +
      9488  {
      +
      9489  std::int8_t number{};
      +
      9490  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
      +
      9491  {
      +
      9492  return false;
      +
      9493  }
      +
      9494  result = static_cast<std::size_t>(number);
      +
      9495  return true;
      +
      9496  }
      +
      9497 
      +
      9498  case 'I':
      +
      9499  {
      +
      9500  std::int16_t number{};
      +
      9501  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
      +
      9502  {
      +
      9503  return false;
      +
      9504  }
      +
      9505  result = static_cast<std::size_t>(number);
      +
      9506  return true;
      +
      9507  }
      +
      9508 
      +
      9509  case 'l':
      +
      9510  {
      +
      9511  std::int32_t number{};
      +
      9512  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
      +
      9513  {
      +
      9514  return false;
      +
      9515  }
      +
      9516  result = static_cast<std::size_t>(number);
      +
      9517  return true;
      +
      9518  }
      +
      9519 
      +
      9520  case 'L':
      +
      9521  {
      +
      9522  std::int64_t number{};
      +
      9523  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
      +
      9524  {
      +
      9525  return false;
      +
      9526  }
      +
      9527  result = static_cast<std::size_t>(number);
      +
      9528  return true;
      +
      9529  }
      +
      9530 
      +
      9531  default:
      +
      9532  {
      +
      9533  auto last_token = get_token_string();
      +
      9534  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size")));
      +
      9535  }
      +
      9536  }
      +
      9537  }
      +
      9538 
      +
      9549  bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
      +
      9550  {
      +
      9551  result.first = string_t::npos; // size
      +
      9552  result.second = 0; // type
      +
      9553 
      +
      9554  get_ignore_noop();
      +
      9555 
      +
      9556  if (current == '$')
      +
      9557  {
      +
      9558  result.second = get(); // must not ignore 'N', because 'N' maybe the type
      +
      9559  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "type")))
      +
      9560  {
      +
      9561  return false;
      +
      9562  }
      +
      9563 
      +
      9564  get_ignore_noop();
      +
      9565  if (JSON_HEDLEY_UNLIKELY(current != '#'))
      +
      9566  {
      +
      9567  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value")))
      +
      9568  {
      +
      9569  return false;
      +
      9570  }
      +
      9571  auto last_token = get_token_string();
      +
      9572  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size")));
      +
      9573  }
      +
      9574 
      +
      9575  return get_ubjson_size_value(result.first);
      +
      9576  }
      +
      9577 
      +
      9578  if (current == '#')
      +
      9579  {
      +
      9580  return get_ubjson_size_value(result.first);
      +
      9581  }
      +
      9582 
      +
      9583  return true;
      +
      9584  }
      +
      9585 
      +
      9590  bool get_ubjson_value(const char_int_type prefix)
      +
      9591  {
      +
      9592  switch (prefix)
      +
      9593  {
      +
      9594  case std::char_traits<char_type>::eof(): // EOF
      +
      9595  return unexpect_eof(input_format_t::ubjson, "value");
      +
      9596 
      +
      9597  case 'T': // true
      +
      9598  return sax->boolean(true);
      +
      9599  case 'F': // false
      +
      9600  return sax->boolean(false);
      +
      9601 
      +
      9602  case 'Z': // null
      +
      9603  return sax->null();
      +
      9604 
      +
      9605  case 'U':
      +
      9606  {
      +
      9607  std::uint8_t number{};
      +
      9608  return get_number(input_format_t::ubjson, number) && sax->number_unsigned(number);
      +
      9609  }
      +
      9610 
      +
      9611  case 'i':
      +
      9612  {
      +
      9613  std::int8_t number{};
      +
      9614  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
      +
      9615  }
      +
      9616 
      +
      9617  case 'I':
      +
      9618  {
      +
      9619  std::int16_t number{};
      +
      9620  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
      +
      9621  }
      +
      9622 
      +
      9623  case 'l':
      +
      9624  {
      +
      9625  std::int32_t number{};
      +
      9626  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
      +
      9627  }
      +
      9628 
      +
      9629  case 'L':
      +
      9630  {
      +
      9631  std::int64_t number{};
      +
      9632  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
      +
      9633  }
      +
      9634 
      +
      9635  case 'd':
      +
      9636  {
      +
      9637  float number{};
      +
      9638  return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      9639  }
      +
      9640 
      +
      9641  case 'D':
      +
      9642  {
      +
      9643  double number{};
      +
      9644  return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
      +
      9645  }
      +
      9646 
      +
      9647  case 'H':
      +
      9648  {
      +
      9649  return get_ubjson_high_precision_number();
      +
      9650  }
      +
      9651 
      +
      9652  case 'C': // char
      +
      9653  {
      +
      9654  get();
      +
      9655  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "char")))
      +
      9656  {
      +
      9657  return false;
      +
      9658  }
      +
      9659  if (JSON_HEDLEY_UNLIKELY(current > 127))
      +
      9660  {
      +
      9661  auto last_token = get_token_string();
      +
      9662  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char")));
      +
      9663  }
      +
      9664  string_t s(1, static_cast<typename string_t::value_type>(current));
      +
      9665  return sax->string(s);
      +
      9666  }
      +
      9667 
      +
      9668  case 'S': // string
      +
      9669  {
      +
      9670  string_t s;
      +
      9671  return get_ubjson_string(s) && sax->string(s);
      +
      9672  }
      +
      9673 
      +
      9674  case '[': // array
      +
      9675  return get_ubjson_array();
      +
      9676 
      +
      9677  case '{': // object
      +
      9678  return get_ubjson_object();
      +
      9679 
      +
      9680  default: // anything else
      +
      9681  {
      +
      9682  auto last_token = get_token_string();
      +
      9683  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value")));
      +
      9684  }
      +
      9685  }
      +
      9686  }
      +
      9687 
      +
      9691  bool get_ubjson_array()
      +
      9692  {
      +
      9693  std::pair<std::size_t, char_int_type> size_and_type;
      +
      9694  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type)))
      +
      9695  {
      +
      9696  return false;
      +
      9697  }
      +
      9698 
      +
      9699  if (size_and_type.first != string_t::npos)
      +
      9700  {
      +
      9701  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first)))
      +
      9702  {
      +
      9703  return false;
      +
      9704  }
      +
      9705 
      +
      9706  if (size_and_type.second != 0)
      +
      9707  {
      +
      9708  if (size_and_type.second != 'N')
      +
      9709  {
      +
      9710  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      9711  {
      +
      9712  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second)))
      +
      9713  {
      +
      9714  return false;
      +
      9715  }
      +
      9716  }
      +
      9717  }
      +
      9718  }
      +
      9719  else
      +
      9720  {
      +
      9721  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      9722  {
      +
      9723  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
      +
      9724  {
      +
      9725  return false;
      +
      9726  }
      +
      9727  }
      +
      9728  }
      +
      9729  }
      +
      9730  else
      +
      9731  {
      +
      9732  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
      +
      9733  {
      +
      9734  return false;
      +
      9735  }
      +
      9736 
      +
      9737  while (current != ']')
      +
      9738  {
      +
      9739  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal(false)))
      +
      9740  {
      +
      9741  return false;
      +
      9742  }
      +
      9743  get_ignore_noop();
      +
      9744  }
      +
      9745  }
      +
      9746 
      +
      9747  return sax->end_array();
      +
      9748  }
      +
      9749 
      +
      9753  bool get_ubjson_object()
      +
      9754  {
      +
      9755  std::pair<std::size_t, char_int_type> size_and_type;
      +
      9756  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type)))
      +
      9757  {
      +
      9758  return false;
      +
      9759  }
      +
      9760 
      +
      9761  string_t key;
      +
      9762  if (size_and_type.first != string_t::npos)
      +
      9763  {
      +
      9764  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(size_and_type.first)))
      +
      9765  {
      +
      9766  return false;
      +
      9767  }
      +
      9768 
      +
      9769  if (size_and_type.second != 0)
      +
      9770  {
      +
      9771  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      9772  {
      +
      9773  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key)))
      +
      9774  {
      +
      9775  return false;
      +
      9776  }
      +
      9777  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second)))
      +
      9778  {
      +
      9779  return false;
      +
      9780  }
      +
      9781  key.clear();
      +
      9782  }
      +
      9783  }
      +
      9784  else
      +
      9785  {
      +
      9786  for (std::size_t i = 0; i < size_and_type.first; ++i)
      +
      9787  {
      +
      9788  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key)))
      +
      9789  {
      +
      9790  return false;
      +
      9791  }
      +
      9792  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
      +
      9793  {
      +
      9794  return false;
      +
      9795  }
      +
      9796  key.clear();
      +
      9797  }
      +
      9798  }
      +
      9799  }
      +
      9800  else
      +
      9801  {
      +
      9802  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
      +
      9803  {
      +
      9804  return false;
      +
      9805  }
      +
      9806 
      +
      9807  while (current != '}')
      +
      9808  {
      +
      9809  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key, false) || !sax->key(key)))
      +
      9810  {
      +
      9811  return false;
      +
      9812  }
      +
      9813  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
      +
      9814  {
      +
      9815  return false;
      +
      9816  }
      +
      9817  get_ignore_noop();
      +
      9818  key.clear();
      +
      9819  }
      +
      9820  }
      +
      9821 
      +
      9822  return sax->end_object();
      +
      9823  }
      +
      9824 
      +
      9825  // Note, no reader for UBJSON binary types is implemented because they do
      +
      9826  // not exist
      +
      9827 
      +
      9828  bool get_ubjson_high_precision_number()
      +
      9829  {
      +
      9830  // get size of following number string
      +
      9831  std::size_t size{};
      +
      9832  auto res = get_ubjson_size_value(size);
      +
      9833  if (JSON_HEDLEY_UNLIKELY(!res))
      +
      9834  {
      +
      9835  return res;
      +
      9836  }
      +
      9837 
      +
      9838  // get number string
      +
      9839  std::vector<char> number_vector;
      +
      9840  for (std::size_t i = 0; i < size; ++i)
      +
      9841  {
      +
      9842  get();
      +
      9843  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "number")))
      +
      9844  {
      +
      9845  return false;
      +
      9846  }
      +
      9847  number_vector.push_back(static_cast<char>(current));
      +
      9848  }
      +
      9849 
      +
      9850  // parse number string
      +
      9851  auto number_ia = detail::input_adapter(std::forward<decltype(number_vector)>(number_vector));
      +
      9852  auto number_lexer = detail::lexer<BasicJsonType, decltype(number_ia)>(std::move(number_ia), false);
      +
      9853  const auto result_number = number_lexer.scan();
      +
      9854  const auto number_string = number_lexer.get_token_string();
      +
      9855  const auto result_remainder = number_lexer.scan();
      +
      9856 
      +
      9857  using token_type = typename detail::lexer_base<BasicJsonType>::token_type;
      +
      9858 
      +
      9859  if (JSON_HEDLEY_UNLIKELY(result_remainder != token_type::end_of_input))
      +
      9860  {
      +
      9861  return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number")));
      +
      9862  }
      +
      9863 
      +
      9864  switch (result_number)
      +
      9865  {
      +
      9866  case token_type::value_integer:
      +
      9867  return sax->number_integer(number_lexer.get_number_integer());
      +
      9868  case token_type::value_unsigned:
      +
      9869  return sax->number_unsigned(number_lexer.get_number_unsigned());
      +
      9870  case token_type::value_float:
      +
      9871  return sax->number_float(number_lexer.get_number_float(), std::move(number_string));
      +
      9872  default:
      +
      9873  return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number")));
      +
      9874  }
      +
      9875  }
      +
      9876 
      +
      9878  // Utility functions //
      +
      9880 
      +
      9890  char_int_type get()
      +
      9891  {
      +
      9892  ++chars_read;
      +
      9893  return current = ia.get_character();
      +
      9894  }
      +
      9895 
      +
      9899  char_int_type get_ignore_noop()
      +
      9900  {
      +
      9901  do
      +
      9902  {
      +
      9903  get();
      +
      9904  }
      +
      9905  while (current == 'N');
      +
      9906 
      +
      9907  return current;
      +
      9908  }
      +
      9909 
      +
      9910  /*
      +
      9911  @brief read a number from the input
      +
      9912 
      +
      9913  @tparam NumberType the type of the number
      +
      9914  @param[in] format the current format (for diagnostics)
      +
      9915  @param[out] result number of type @a NumberType
      +
      9916 
      +
      9917  @return whether conversion completed
      +
      9918 
      +
      9919  @note This function needs to respect the system's endianess, because
      +
      9920  bytes in CBOR, MessagePack, and UBJSON are stored in network order
      +
      9921  (big endian) and therefore need reordering on little endian systems.
      +
      9922  */
      +
      9923  template<typename NumberType, bool InputIsLittleEndian = false>
      +
      9924  bool get_number(const input_format_t format, NumberType& result)
      +
      9925  {
      +
      9926  // step 1: read input into array with system's byte order
      +
      9927  std::array<std::uint8_t, sizeof(NumberType)> vec;
      +
      9928  for (std::size_t i = 0; i < sizeof(NumberType); ++i)
      +
      9929  {
      +
      9930  get();
      +
      9931  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number")))
      +
      9932  {
      +
      9933  return false;
      +
      9934  }
      +
      9935 
      +
      9936  // reverse byte order prior to conversion if necessary
      +
      9937  if (is_little_endian != InputIsLittleEndian)
      +
      9938  {
      +
      9939  vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current);
      +
      9940  }
      +
      9941  else
      +
      9942  {
      +
      9943  vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE
      +
      9944  }
      +
      9945  }
      +
      9946 
      +
      9947  // step 2: convert array into number of type T and return
      +
      9948  std::memcpy(&result, vec.data(), sizeof(NumberType));
      +
      9949  return true;
      +
      9950  }
      +
      9951 
      +
      9966  template<typename NumberType>
      +
      9967  bool get_string(const input_format_t format,
      +
      9968  const NumberType len,
      +
      9969  string_t& result)
      +
      9970  {
      +
      9971  bool success = true;
      +
      9972  for (NumberType i = 0; i < len; i++)
      +
      9973  {
      +
      9974  get();
      +
      9975  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "string")))
      +
      9976  {
      +
      9977  success = false;
      +
      9978  break;
      +
      9979  }
      +
      9980  result.push_back(static_cast<typename string_t::value_type>(current));
      +
      9981  };
      +
      9982  return success;
      +
      9983  }
      +
      9984 
      +
      9999  template<typename NumberType>
      +
      10000  bool get_binary(const input_format_t format,
      +
      10001  const NumberType len,
      +
      10002  binary_t& result)
      +
      10003  {
      +
      10004  bool success = true;
      +
      10005  for (NumberType i = 0; i < len; i++)
      +
      10006  {
      +
      10007  get();
      +
      10008  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "binary")))
      +
      10009  {
      +
      10010  success = false;
      +
      10011  break;
      +
      10012  }
      +
      10013  result.push_back(static_cast<std::uint8_t>(current));
      +
      10014  }
      +
      10015  return success;
      +
      10016  }
      +
      10017 
      + +
      10024  bool unexpect_eof(const input_format_t format, const char* context) const
      +
      10025  {
      +
      10026  if (JSON_HEDLEY_UNLIKELY(current == std::char_traits<char_type>::eof()))
      +
      10027  {
      +
      10028  return sax->parse_error(chars_read, "<end of file>",
      +
      10029  parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context)));
      +
      10030  }
      +
      10031  return true;
      +
      10032  }
      +
      10033 
      +
      10037  std::string get_token_string() const
      +
      10038  {
      +
      10039  std::array<char, 3> cr{{}};
      +
      10040  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(current));
      +
      10041  return std::string{cr.data()};
      +
      10042  }
      +
      10043 
      +
      10050  std::string exception_message(const input_format_t format,
      +
      10051  const std::string& detail,
      +
      10052  const std::string& context) const
      +
      10053  {
      +
      10054  std::string error_msg = "syntax error while parsing ";
      +
      10055 
      +
      10056  switch (format)
      +
      10057  {
      +
      10058  case input_format_t::cbor:
      +
      10059  error_msg += "CBOR";
      +
      10060  break;
      +
      10061 
      + +
      10063  error_msg += "MessagePack";
      +
      10064  break;
      +
      10065 
      + +
      10067  error_msg += "UBJSON";
      +
      10068  break;
      +
      10069 
      +
      10070  case input_format_t::bson:
      +
      10071  error_msg += "BSON";
      +
      10072  break;
      +
      10073 
      +
      10074  default: // LCOV_EXCL_LINE
      +
      10075  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      10076  }
      +
      10077 
      +
      10078  return error_msg + " " + context + ": " + detail;
      +
      10079  }
      +
      10080 
      +
      10081  private:
      +
      10083  InputAdapterType ia;
      +
      10084 
      +
      10086  char_int_type current = std::char_traits<char_type>::eof();
      +
      10087 
      +
      10089  std::size_t chars_read = 0;
      +
      10090 
      +
      10092  const bool is_little_endian = little_endianess();
      +
      10093 
      +
      10095  json_sax_t* sax = nullptr;
      +
      10096 };
      +
      10097 } // namespace detail
      +
      10098 } // namespace nlohmann
      +
      10099 
      +
      10100 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      10101 
      +
      10102 // #include <nlohmann/detail/input/lexer.hpp>
      +
      10103 
      +
      10104 // #include <nlohmann/detail/input/parser.hpp>
      +
      10105 
      +
      10106 
      +
      10107 #include <cmath> // isfinite
      +
      10108 #include <cstdint> // uint8_t
      +
      10109 #include <functional> // function
      +
      10110 #include <string> // string
      +
      10111 #include <utility> // move
      +
      10112 #include <vector> // vector
      +
      10113 
      +
      10114 // #include <nlohmann/detail/exceptions.hpp>
      +
      10115 
      +
      10116 // #include <nlohmann/detail/input/input_adapters.hpp>
      +
      10117 
      +
      10118 // #include <nlohmann/detail/input/json_sax.hpp>
      +
      10119 
      +
      10120 // #include <nlohmann/detail/input/lexer.hpp>
      +
      10121 
      +
      10122 // #include <nlohmann/detail/macro_scope.hpp>
      +
      10123 
      +
      10124 // #include <nlohmann/detail/meta/is_sax.hpp>
      +
      10125 
      +
      10126 // #include <nlohmann/detail/value_t.hpp>
      +
      10127 
      +
      10128 
      +
      10129 namespace nlohmann
      +
      10130 {
      +
      10131 namespace detail
      +
      10132 {
      +
      10134 // parser //
      +
      10136 
      +
      10137 enum class parse_event_t : uint8_t
      +
      10138 {
      +
      10140  object_start,
      +
      10142  object_end,
      +
      10144  array_start,
      +
      10146  array_end,
      +
      10148  key,
      +
      10150  value
      +
      10151 };
      +
      10152 
      +
      10153 template<typename BasicJsonType>
      +
      10154 using parser_callback_t =
      +
      10155  std::function<bool(int depth, parse_event_t event, BasicJsonType& parsed)>;
      +
      10156 
      +
      10162 template<typename BasicJsonType, typename InputAdapterType>
      +
      10163 class parser
      +
      10164 {
      +
      10165  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      10166  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      10167  using number_float_t = typename BasicJsonType::number_float_t;
      +
      10168  using string_t = typename BasicJsonType::string_t;
      + +
      10170  using token_type = typename lexer_t::token_type;
      +
      10171 
      +
      10172  public:
      +
      10174  explicit parser(InputAdapterType&& adapter,
      +
      10175  const parser_callback_t<BasicJsonType> cb = nullptr,
      +
      10176  const bool allow_exceptions_ = true,
      +
      10177  const bool skip_comments = false)
      +
      10178  : callback(cb)
      +
      10179  , m_lexer(std::move(adapter), skip_comments)
      +
      10180  , allow_exceptions(allow_exceptions_)
      +
      10181  {
      +
      10182  // read first token
      +
      10183  get_token();
      +
      10184  }
      +
      10185 
      +
      10196  void parse(const bool strict, BasicJsonType& result)
      +
      10197  {
      +
      10198  if (callback)
      +
      10199  {
      +
      10200  json_sax_dom_callback_parser<BasicJsonType> sdp(result, callback, allow_exceptions);
      +
      10201  sax_parse_internal(&sdp);
      +
      10202  result.assert_invariant();
      +
      10203 
      +
      10204  // in strict mode, input must be completely read
      +
      10205  if (strict && (get_token() != token_type::end_of_input))
      +
      10206  {
      +
      10207  sdp.parse_error(m_lexer.get_position(),
      +
      10208  m_lexer.get_token_string(),
      +
      10209  parse_error::create(101, m_lexer.get_position(),
      +
      10210  exception_message(token_type::end_of_input, "value")));
      +
      10211  }
      +
      10212 
      +
      10213  // in case of an error, return discarded value
      +
      10214  if (sdp.is_errored())
      +
      10215  {
      +
      10216  result = value_t::discarded;
      +
      10217  return;
      +
      10218  }
      +
      10219 
      +
      10220  // set top-level value to null if it was discarded by the callback
      +
      10221  // function
      +
      10222  if (result.is_discarded())
      +
      10223  {
      +
      10224  result = nullptr;
      +
      10225  }
      +
      10226  }
      +
      10227  else
      +
      10228  {
      +
      10229  json_sax_dom_parser<BasicJsonType> sdp(result, allow_exceptions);
      +
      10230  sax_parse_internal(&sdp);
      +
      10231  result.assert_invariant();
      +
      10232 
      +
      10233  // in strict mode, input must be completely read
      +
      10234  if (strict && (get_token() != token_type::end_of_input))
      +
      10235  {
      +
      10236  sdp.parse_error(m_lexer.get_position(),
      +
      10237  m_lexer.get_token_string(),
      +
      10238  parse_error::create(101, m_lexer.get_position(),
      +
      10239  exception_message(token_type::end_of_input, "value")));
      +
      10240  }
      +
      10241 
      +
      10242  // in case of an error, return discarded value
      +
      10243  if (sdp.is_errored())
      +
      10244  {
      +
      10245  result = value_t::discarded;
      +
      10246  return;
      +
      10247  }
      +
      10248  }
      +
      10249  }
      +
      10250 
      +
      10257  bool accept(const bool strict = true)
      +
      10258  {
      +
      10259  json_sax_acceptor<BasicJsonType> sax_acceptor;
      +
      10260  return sax_parse(&sax_acceptor, strict);
      +
      10261  }
      +
      10262 
      +
      10263  template<typename SAX>
      + +
      10265  bool sax_parse(SAX* sax, const bool strict = true)
      +
      10266  {
      + +
      10268  const bool result = sax_parse_internal(sax);
      +
      10269 
      +
      10270  // strict mode: next byte must be EOF
      +
      10271  if (result && strict && (get_token() != token_type::end_of_input))
      +
      10272  {
      +
      10273  return sax->parse_error(m_lexer.get_position(),
      +
      10274  m_lexer.get_token_string(),
      +
      10275  parse_error::create(101, m_lexer.get_position(),
      +
      10276  exception_message(token_type::end_of_input, "value")));
      +
      10277  }
      +
      10278 
      +
      10279  return result;
      +
      10280  }
      +
      10281 
      +
      10282  private:
      +
      10283  template<typename SAX>
      + +
      10285  bool sax_parse_internal(SAX* sax)
      +
      10286  {
      +
      10287  // stack to remember the hierarchy of structured values we are parsing
      +
      10288  // true = array; false = object
      +
      10289  std::vector<bool> states;
      +
      10290  // value to avoid a goto (see comment where set to true)
      +
      10291  bool skip_to_state_evaluation = false;
      +
      10292 
      +
      10293  while (true)
      +
      10294  {
      +
      10295  if (!skip_to_state_evaluation)
      +
      10296  {
      +
      10297  // invariant: get_token() was called before each iteration
      +
      10298  switch (last_token)
      +
      10299  {
      +
      10300  case token_type::begin_object:
      +
      10301  {
      +
      10302  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
      +
      10303  {
      +
      10304  return false;
      +
      10305  }
      +
      10306 
      +
      10307  // closing } -> we are done
      +
      10308  if (get_token() == token_type::end_object)
      +
      10309  {
      +
      10310  if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
      +
      10311  {
      +
      10312  return false;
      +
      10313  }
      +
      10314  break;
      +
      10315  }
      +
      10316 
      +
      10317  // parse key
      +
      10318  if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string))
      +
      10319  {
      +
      10320  return sax->parse_error(m_lexer.get_position(),
      +
      10321  m_lexer.get_token_string(),
      +
      10322  parse_error::create(101, m_lexer.get_position(),
      +
      10323  exception_message(token_type::value_string, "object key")));
      +
      10324  }
      +
      10325  if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
      +
      10326  {
      +
      10327  return false;
      +
      10328  }
      +
      10329 
      +
      10330  // parse separator (:)
      +
      10331  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
      +
      10332  {
      +
      10333  return sax->parse_error(m_lexer.get_position(),
      +
      10334  m_lexer.get_token_string(),
      +
      10335  parse_error::create(101, m_lexer.get_position(),
      +
      10336  exception_message(token_type::name_separator, "object separator")));
      +
      10337  }
      +
      10338 
      +
      10339  // remember we are now inside an object
      +
      10340  states.push_back(false);
      +
      10341 
      +
      10342  // parse values
      +
      10343  get_token();
      +
      10344  continue;
      +
      10345  }
      +
      10346 
      +
      10347  case token_type::begin_array:
      +
      10348  {
      +
      10349  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
      +
      10350  {
      +
      10351  return false;
      +
      10352  }
      +
      10353 
      +
      10354  // closing ] -> we are done
      +
      10355  if (get_token() == token_type::end_array)
      +
      10356  {
      +
      10357  if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
      +
      10358  {
      +
      10359  return false;
      +
      10360  }
      +
      10361  break;
      +
      10362  }
      +
      10363 
      +
      10364  // remember we are now inside an array
      +
      10365  states.push_back(true);
      +
      10366 
      +
      10367  // parse values (no need to call get_token)
      +
      10368  continue;
      +
      10369  }
      +
      10370 
      +
      10371  case token_type::value_float:
      +
      10372  {
      +
      10373  const auto res = m_lexer.get_number_float();
      +
      10374 
      +
      10375  if (JSON_HEDLEY_UNLIKELY(!std::isfinite(res)))
      +
      10376  {
      +
      10377  return sax->parse_error(m_lexer.get_position(),
      +
      10378  m_lexer.get_token_string(),
      +
      10379  out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'"));
      +
      10380  }
      +
      10381 
      +
      10382  if (JSON_HEDLEY_UNLIKELY(!sax->number_float(res, m_lexer.get_string())))
      +
      10383  {
      +
      10384  return false;
      +
      10385  }
      +
      10386 
      +
      10387  break;
      +
      10388  }
      +
      10389 
      +
      10390  case token_type::literal_false:
      +
      10391  {
      +
      10392  if (JSON_HEDLEY_UNLIKELY(!sax->boolean(false)))
      +
      10393  {
      +
      10394  return false;
      +
      10395  }
      +
      10396  break;
      +
      10397  }
      +
      10398 
      +
      10399  case token_type::literal_null:
      +
      10400  {
      +
      10401  if (JSON_HEDLEY_UNLIKELY(!sax->null()))
      +
      10402  {
      +
      10403  return false;
      +
      10404  }
      +
      10405  break;
      +
      10406  }
      +
      10407 
      +
      10408  case token_type::literal_true:
      +
      10409  {
      +
      10410  if (JSON_HEDLEY_UNLIKELY(!sax->boolean(true)))
      +
      10411  {
      +
      10412  return false;
      +
      10413  }
      +
      10414  break;
      +
      10415  }
      +
      10416 
      +
      10417  case token_type::value_integer:
      +
      10418  {
      +
      10419  if (JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer())))
      +
      10420  {
      +
      10421  return false;
      +
      10422  }
      +
      10423  break;
      +
      10424  }
      +
      10425 
      +
      10426  case token_type::value_string:
      +
      10427  {
      +
      10428  if (JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string())))
      +
      10429  {
      +
      10430  return false;
      +
      10431  }
      +
      10432  break;
      +
      10433  }
      +
      10434 
      +
      10435  case token_type::value_unsigned:
      +
      10436  {
      +
      10437  if (JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned())))
      +
      10438  {
      +
      10439  return false;
      +
      10440  }
      +
      10441  break;
      +
      10442  }
      +
      10443 
      +
      10444  case token_type::parse_error:
      +
      10445  {
      +
      10446  // using "uninitialized" to avoid "expected" message
      +
      10447  return sax->parse_error(m_lexer.get_position(),
      +
      10448  m_lexer.get_token_string(),
      +
      10449  parse_error::create(101, m_lexer.get_position(),
      +
      10450  exception_message(token_type::uninitialized, "value")));
      +
      10451  }
      +
      10452 
      +
      10453  default: // the last token was unexpected
      +
      10454  {
      +
      10455  return sax->parse_error(m_lexer.get_position(),
      +
      10456  m_lexer.get_token_string(),
      +
      10457  parse_error::create(101, m_lexer.get_position(),
      +
      10458  exception_message(token_type::literal_or_value, "value")));
      +
      10459  }
      +
      10460  }
      +
      10461  }
      +
      10462  else
      +
      10463  {
      +
      10464  skip_to_state_evaluation = false;
      +
      10465  }
      +
      10466 
      +
      10467  // we reached this line after we successfully parsed a value
      +
      10468  if (states.empty())
      +
      10469  {
      +
      10470  // empty stack: we reached the end of the hierarchy: done
      +
      10471  return true;
      +
      10472  }
      +
      10473 
      +
      10474  if (states.back()) // array
      +
      10475  {
      +
      10476  // comma -> next value
      +
      10477  if (get_token() == token_type::value_separator)
      +
      10478  {
      +
      10479  // parse a new value
      +
      10480  get_token();
      +
      10481  continue;
      +
      10482  }
      +
      10483 
      +
      10484  // closing ]
      +
      10485  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array))
      +
      10486  {
      +
      10487  if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
      +
      10488  {
      +
      10489  return false;
      +
      10490  }
      +
      10491 
      +
      10492  // We are done with this array. Before we can parse a
      +
      10493  // new value, we need to evaluate the new state first.
      +
      10494  // By setting skip_to_state_evaluation to false, we
      +
      10495  // are effectively jumping to the beginning of this if.
      +
      10496  JSON_ASSERT(!states.empty());
      +
      10497  states.pop_back();
      +
      10498  skip_to_state_evaluation = true;
      +
      10499  continue;
      +
      10500  }
      +
      10501 
      +
      10502  return sax->parse_error(m_lexer.get_position(),
      +
      10503  m_lexer.get_token_string(),
      +
      10504  parse_error::create(101, m_lexer.get_position(),
      +
      10505  exception_message(token_type::end_array, "array")));
      +
      10506  }
      +
      10507  else // object
      +
      10508  {
      +
      10509  // comma -> next value
      +
      10510  if (get_token() == token_type::value_separator)
      +
      10511  {
      +
      10512  // parse key
      +
      10513  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string))
      +
      10514  {
      +
      10515  return sax->parse_error(m_lexer.get_position(),
      +
      10516  m_lexer.get_token_string(),
      +
      10517  parse_error::create(101, m_lexer.get_position(),
      +
      10518  exception_message(token_type::value_string, "object key")));
      +
      10519  }
      +
      10520 
      +
      10521  if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
      +
      10522  {
      +
      10523  return false;
      +
      10524  }
      +
      10525 
      +
      10526  // parse separator (:)
      +
      10527  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
      +
      10528  {
      +
      10529  return sax->parse_error(m_lexer.get_position(),
      +
      10530  m_lexer.get_token_string(),
      +
      10531  parse_error::create(101, m_lexer.get_position(),
      +
      10532  exception_message(token_type::name_separator, "object separator")));
      +
      10533  }
      +
      10534 
      +
      10535  // parse values
      +
      10536  get_token();
      +
      10537  continue;
      +
      10538  }
      +
      10539 
      +
      10540  // closing }
      +
      10541  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object))
      +
      10542  {
      +
      10543  if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
      +
      10544  {
      +
      10545  return false;
      +
      10546  }
      +
      10547 
      +
      10548  // We are done with this object. Before we can parse a
      +
      10549  // new value, we need to evaluate the new state first.
      +
      10550  // By setting skip_to_state_evaluation to false, we
      +
      10551  // are effectively jumping to the beginning of this if.
      +
      10552  JSON_ASSERT(!states.empty());
      +
      10553  states.pop_back();
      +
      10554  skip_to_state_evaluation = true;
      +
      10555  continue;
      +
      10556  }
      +
      10557 
      +
      10558  return sax->parse_error(m_lexer.get_position(),
      +
      10559  m_lexer.get_token_string(),
      +
      10560  parse_error::create(101, m_lexer.get_position(),
      +
      10561  exception_message(token_type::end_object, "object")));
      +
      10562  }
      +
      10563  }
      +
      10564  }
      +
      10565 
      +
      10567  token_type get_token()
      +
      10568  {
      +
      10569  return last_token = m_lexer.scan();
      +
      10570  }
      +
      10571 
      +
      10572  std::string exception_message(const token_type expected, const std::string& context)
      +
      10573  {
      +
      10574  std::string error_msg = "syntax error ";
      +
      10575 
      +
      10576  if (!context.empty())
      +
      10577  {
      +
      10578  error_msg += "while parsing " + context + " ";
      +
      10579  }
      +
      10580 
      +
      10581  error_msg += "- ";
      +
      10582 
      +
      10583  if (last_token == token_type::parse_error)
      +
      10584  {
      +
      10585  error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
      +
      10586  m_lexer.get_token_string() + "'";
      +
      10587  }
      +
      10588  else
      +
      10589  {
      +
      10590  error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
      +
      10591  }
      +
      10592 
      +
      10593  if (expected != token_type::uninitialized)
      +
      10594  {
      +
      10595  error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
      +
      10596  }
      +
      10597 
      +
      10598  return error_msg;
      +
      10599  }
      +
      10600 
      +
      10601  private:
      +
      10603  const parser_callback_t<BasicJsonType> callback = nullptr;
      +
      10605  token_type last_token = token_type::uninitialized;
      +
      10607  lexer_t m_lexer;
      +
      10609  const bool allow_exceptions = true;
      +
      10610 };
      +
      10611 } // namespace detail
      +
      10612 } // namespace nlohmann
      +
      10613 
      +
      10614 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
      +
      10615 
      +
      10616 
      +
      10617 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      10618 
      +
      10619 
      +
      10620 #include <cstddef> // ptrdiff_t
      +
      10621 #include <limits> // numeric_limits
      +
      10622 
      +
      10623 namespace nlohmann
      +
      10624 {
      +
      10625 namespace detail
      +
      10626 {
      +
      10627 /*
      +
      10628 @brief an iterator for primitive JSON types
      +
      10629 
      +
      10630 This class models an iterator for primitive JSON types (boolean, number,
      +
      10631 string). It's only purpose is to allow the iterator/const_iterator classes
      +
      10632 to "iterate" over primitive values. Internally, the iterator is modeled by
      +
      10633 a `difference_type` variable. Value begin_value (`0`) models the begin,
      +
      10634 end_value (`1`) models past the end.
      +
      10635 */
      +
      10636 class primitive_iterator_t
      +
      10637 {
      +
      10638  private:
      +
      10639  using difference_type = std::ptrdiff_t;
      +
      10640  static constexpr difference_type begin_value = 0;
      +
      10641  static constexpr difference_type end_value = begin_value + 1;
      +
      10642 
      +
      10644  difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
      +
      10645 
      +
      10646  public:
      +
      10647  constexpr difference_type get_value() const noexcept
      +
      10648  {
      +
      10649  return m_it;
      +
      10650  }
      +
      10651 
      +
      10653  void set_begin() noexcept
      +
      10654  {
      +
      10655  m_it = begin_value;
      +
      10656  }
      +
      10657 
      +
      10659  void set_end() noexcept
      +
      10660  {
      +
      10661  m_it = end_value;
      +
      10662  }
      +
      10663 
      +
      10665  constexpr bool is_begin() const noexcept
      +
      10666  {
      +
      10667  return m_it == begin_value;
      +
      10668  }
      +
      10669 
      +
      10671  constexpr bool is_end() const noexcept
      +
      10672  {
      +
      10673  return m_it == end_value;
      +
      10674  }
      +
      10675 
      +
      10676  friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      10677  {
      +
      10678  return lhs.m_it == rhs.m_it;
      +
      10679  }
      +
      10680 
      +
      10681  friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      10682  {
      +
      10683  return lhs.m_it < rhs.m_it;
      +
      10684  }
      +
      10685 
      +
      10686  primitive_iterator_t operator+(difference_type n) noexcept
      +
      10687  {
      +
      10688  auto result = *this;
      +
      10689  result += n;
      +
      10690  return result;
      +
      10691  }
      +
      10692 
      +
      10693  friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      +
      10694  {
      +
      10695  return lhs.m_it - rhs.m_it;
      +
      10696  }
      +
      10697 
      + +
      10699  {
      +
      10700  ++m_it;
      +
      10701  return *this;
      +
      10702  }
      +
      10703 
      +
      10704  primitive_iterator_t const operator++(int) noexcept
      +
      10705  {
      +
      10706  auto result = *this;
      +
      10707  ++m_it;
      +
      10708  return result;
      +
      10709  }
      +
      10710 
      + +
      10712  {
      +
      10713  --m_it;
      +
      10714  return *this;
      +
      10715  }
      +
      10716 
      +
      10717  primitive_iterator_t const operator--(int) noexcept
      +
      10718  {
      +
      10719  auto result = *this;
      +
      10720  --m_it;
      +
      10721  return result;
      +
      10722  }
      +
      10723 
      +
      10724  primitive_iterator_t& operator+=(difference_type n) noexcept
      +
      10725  {
      +
      10726  m_it += n;
      +
      10727  return *this;
      +
      10728  }
      +
      10729 
      +
      10730  primitive_iterator_t& operator-=(difference_type n) noexcept
      +
      10731  {
      +
      10732  m_it -= n;
      +
      10733  return *this;
      +
      10734  }
      +
      10735 };
      +
      10736 } // namespace detail
      +
      10737 } // namespace nlohmann
      +
      10738 
      +
      10739 
      +
      10740 namespace nlohmann
      +
      10741 {
      +
      10742 namespace detail
      +
      10743 {
      +
      10750 template<typename BasicJsonType> struct internal_iterator
      +
      10751 {
      +
      10753  typename BasicJsonType::object_t::iterator object_iterator {};
      +
      10755  typename BasicJsonType::array_t::iterator array_iterator {};
      +
      10757  primitive_iterator_t primitive_iterator {};
      +
      10758 };
      +
      10759 } // namespace detail
      +
      10760 } // namespace nlohmann
      +
      10761 
      +
      10762 // #include <nlohmann/detail/iterators/iter_impl.hpp>
      +
      10763 
      +
      10764 
      +
      10765 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
      +
      10766 #include <type_traits> // conditional, is_const, remove_const
      +
      10767 
      +
      10768 // #include <nlohmann/detail/exceptions.hpp>
      +
      10769 
      +
      10770 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
      +
      10771 
      +
      10772 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      10773 
      +
      10774 // #include <nlohmann/detail/macro_scope.hpp>
      +
      10775 
      +
      10776 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      10777 
      +
      10778 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      10779 
      +
      10780 // #include <nlohmann/detail/value_t.hpp>
      +
      10781 
      +
      10782 
      +
      10783 namespace nlohmann
      +
      10784 {
      +
      10785 namespace detail
      +
      10786 {
      +
      10787 // forward declare, to be able to friend it later on
      +
      10788 template<typename IteratorType> class iteration_proxy;
      +
      10789 template<typename IteratorType> class iteration_proxy_value;
      +
      10790 
      +
      10807 template<typename BasicJsonType>
      +
      10808 class iter_impl
      +
      10809 {
      +
      10811  friend iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
      +
      10812  friend BasicJsonType;
      +
      10813  friend iteration_proxy<iter_impl>;
      +
      10814  friend iteration_proxy_value<iter_impl>;
      +
      10815 
      +
      10816  using object_t = typename BasicJsonType::object_t;
      +
      10817  using array_t = typename BasicJsonType::array_t;
      +
      10818  // make sure BasicJsonType is basic_json or const basic_json
      +
      10819  static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
      +
      10820  "iter_impl only accepts (const) basic_json");
      +
      10821 
      +
      10822  public:
      +
      10823 
      +
      10829  using iterator_category = std::bidirectional_iterator_tag;
      +
      10830 
      +
      10832  using value_type = typename BasicJsonType::value_type;
      +
      10834  using difference_type = typename BasicJsonType::difference_type;
      +
      10836  using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
      +
      10837  typename BasicJsonType::const_pointer,
      +
      10838  typename BasicJsonType::pointer>::type;
      +
      10840  using reference =
      +
      10841  typename std::conditional<std::is_const<BasicJsonType>::value,
      +
      10842  typename BasicJsonType::const_reference,
      +
      10843  typename BasicJsonType::reference>::type;
      +
      10844 
      +
      10846  iter_impl() = default;
      +
      10847 
      +
      10854  explicit iter_impl(pointer object) noexcept : m_object(object)
      +
      10855  {
      +
      10856  JSON_ASSERT(m_object != nullptr);
      +
      10857 
      +
      10858  switch (m_object->m_type)
      +
      10859  {
      +
      10860  case value_t::object:
      +
      10861  {
      +
      10862  m_it.object_iterator = typename object_t::iterator();
      +
      10863  break;
      +
      10864  }
      +
      10865 
      +
      10866  case value_t::array:
      +
      10867  {
      +
      10868  m_it.array_iterator = typename array_t::iterator();
      +
      10869  break;
      +
      10870  }
      +
      10871 
      +
      10872  default:
      +
      10873  {
      + +
      10875  break;
      +
      10876  }
      +
      10877  }
      +
      10878  }
      +
      10879 
      + +
      10897  : m_object(other.m_object), m_it(other.m_it)
      +
      10898  {}
      +
      10899 
      + +
      10907  {
      +
      10908  m_object = other.m_object;
      +
      10909  m_it = other.m_it;
      +
      10910  return *this;
      +
      10911  }
      +
      10912 
      +
      10918  iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
      +
      10919  : m_object(other.m_object), m_it(other.m_it)
      +
      10920  {}
      +
      10921 
      +
      10928  iter_impl& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
      +
      10929  {
      +
      10930  m_object = other.m_object;
      +
      10931  m_it = other.m_it;
      +
      10932  return *this;
      +
      10933  }
      +
      10934 
      +
      10935  private:
      +
      10940  void set_begin() noexcept
      +
      10941  {
      +
      10942  JSON_ASSERT(m_object != nullptr);
      +
      10943 
      +
      10944  switch (m_object->m_type)
      +
      10945  {
      +
      10946  case value_t::object:
      +
      10947  {
      +
      10948  m_it.object_iterator = m_object->m_value.object->begin();
      +
      10949  break;
      +
      10950  }
      +
      10951 
      +
      10952  case value_t::array:
      +
      10953  {
      +
      10954  m_it.array_iterator = m_object->m_value.array->begin();
      +
      10955  break;
      +
      10956  }
      +
      10957 
      +
      10958  case value_t::null:
      +
      10959  {
      +
      10960  // set to end so begin()==end() is true: null is empty
      +
      10961  m_it.primitive_iterator.set_end();
      +
      10962  break;
      +
      10963  }
      +
      10964 
      +
      10965  default:
      +
      10966  {
      + +
      10968  break;
      +
      10969  }
      +
      10970  }
      +
      10971  }
      +
      10972 
      +
      10977  void set_end() noexcept
      +
      10978  {
      +
      10979  JSON_ASSERT(m_object != nullptr);
      +
      10980 
      +
      10981  switch (m_object->m_type)
      +
      10982  {
      +
      10983  case value_t::object:
      +
      10984  {
      +
      10985  m_it.object_iterator = m_object->m_value.object->end();
      +
      10986  break;
      +
      10987  }
      +
      10988 
      +
      10989  case value_t::array:
      +
      10990  {
      +
      10991  m_it.array_iterator = m_object->m_value.array->end();
      +
      10992  break;
      +
      10993  }
      +
      10994 
      +
      10995  default:
      +
      10996  {
      +
      10997  m_it.primitive_iterator.set_end();
      +
      10998  break;
      +
      10999  }
      +
      11000  }
      +
      11001  }
      +
      11002 
      +
      11003  public:
      + +
      11009  {
      +
      11010  JSON_ASSERT(m_object != nullptr);
      +
      11011 
      +
      11012  switch (m_object->m_type)
      +
      11013  {
      +
      11014  case value_t::object:
      +
      11015  {
      +
      11016  JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());
      +
      11017  return m_it.object_iterator->second;
      +
      11018  }
      +
      11019 
      +
      11020  case value_t::array:
      +
      11021  {
      +
      11022  JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());
      +
      11023  return *m_it.array_iterator;
      +
      11024  }
      +
      11025 
      +
      11026  case value_t::null:
      +
      11027  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      11028 
      +
      11029  default:
      +
      11030  {
      + +
      11032  {
      +
      11033  return *m_object;
      +
      11034  }
      +
      11035 
      +
      11036  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      11037  }
      +
      11038  }
      +
      11039  }
      +
      11040 
      + +
      11046  {
      +
      11047  JSON_ASSERT(m_object != nullptr);
      +
      11048 
      +
      11049  switch (m_object->m_type)
      +
      11050  {
      +
      11051  case value_t::object:
      +
      11052  {
      +
      11053  JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());
      +
      11054  return &(m_it.object_iterator->second);
      +
      11055  }
      +
      11056 
      +
      11057  case value_t::array:
      +
      11058  {
      +
      11059  JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());
      +
      11060  return &*m_it.array_iterator;
      +
      11061  }
      +
      11062 
      +
      11063  default:
      +
      11064  {
      + +
      11066  {
      +
      11067  return m_object;
      +
      11068  }
      +
      11069 
      +
      11070  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      11071  }
      +
      11072  }
      +
      11073  }
      +
      11074 
      + +
      11080  {
      +
      11081  auto result = *this;
      +
      11082  ++(*this);
      +
      11083  return result;
      +
      11084  }
      +
      11085 
      + +
      11091  {
      +
      11092  JSON_ASSERT(m_object != nullptr);
      +
      11093 
      +
      11094  switch (m_object->m_type)
      +
      11095  {
      +
      11096  case value_t::object:
      +
      11097  {
      +
      11098  std::advance(m_it.object_iterator, 1);
      +
      11099  break;
      +
      11100  }
      +
      11101 
      +
      11102  case value_t::array:
      +
      11103  {
      +
      11104  std::advance(m_it.array_iterator, 1);
      +
      11105  break;
      +
      11106  }
      +
      11107 
      +
      11108  default:
      +
      11109  {
      +
      11110  ++m_it.primitive_iterator;
      +
      11111  break;
      +
      11112  }
      +
      11113  }
      +
      11114 
      +
      11115  return *this;
      +
      11116  }
      +
      11117 
      + +
      11123  {
      +
      11124  auto result = *this;
      +
      11125  --(*this);
      +
      11126  return result;
      +
      11127  }
      +
      11128 
      + +
      11134  {
      +
      11135  JSON_ASSERT(m_object != nullptr);
      +
      11136 
      +
      11137  switch (m_object->m_type)
      +
      11138  {
      +
      11139  case value_t::object:
      +
      11140  {
      +
      11141  std::advance(m_it.object_iterator, -1);
      +
      11142  break;
      +
      11143  }
      +
      11144 
      +
      11145  case value_t::array:
      +
      11146  {
      +
      11147  std::advance(m_it.array_iterator, -1);
      +
      11148  break;
      +
      11149  }
      +
      11150 
      +
      11151  default:
      +
      11152  {
      +
      11153  --m_it.primitive_iterator;
      +
      11154  break;
      +
      11155  }
      +
      11156  }
      +
      11157 
      +
      11158  return *this;
      +
      11159  }
      +
      11160 
      +
      11165  bool operator==(const iter_impl& other) const
      +
      11166  {
      +
      11167  // if objects are not the same, the comparison is undefined
      +
      11168  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
      +
      11169  {
      +
      11170  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
      +
      11171  }
      +
      11172 
      +
      11173  JSON_ASSERT(m_object != nullptr);
      +
      11174 
      +
      11175  switch (m_object->m_type)
      +
      11176  {
      +
      11177  case value_t::object:
      +
      11178  return (m_it.object_iterator == other.m_it.object_iterator);
      +
      11179 
      +
      11180  case value_t::array:
      +
      11181  return (m_it.array_iterator == other.m_it.array_iterator);
      +
      11182 
      +
      11183  default:
      +
      11184  return (m_it.primitive_iterator == other.m_it.primitive_iterator);
      +
      11185  }
      +
      11186  }
      +
      11187 
      +
      11192  bool operator!=(const iter_impl& other) const
      +
      11193  {
      +
      11194  return !operator==(other);
      +
      11195  }
      +
      11196 
      +
      11201  bool operator<(const iter_impl& other) const
      +
      11202  {
      +
      11203  // if objects are not the same, the comparison is undefined
      +
      11204  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
      +
      11205  {
      +
      11206  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
      +
      11207  }
      +
      11208 
      +
      11209  JSON_ASSERT(m_object != nullptr);
      +
      11210 
      +
      11211  switch (m_object->m_type)
      +
      11212  {
      +
      11213  case value_t::object:
      +
      11214  JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));
      +
      11215 
      +
      11216  case value_t::array:
      +
      11217  return (m_it.array_iterator < other.m_it.array_iterator);
      +
      11218 
      +
      11219  default:
      +
      11220  return (m_it.primitive_iterator < other.m_it.primitive_iterator);
      +
      11221  }
      +
      11222  }
      +
      11223 
      +
      11228  bool operator<=(const iter_impl& other) const
      +
      11229  {
      +
      11230  return !other.operator < (*this);
      +
      11231  }
      +
      11232 
      +
      11237  bool operator>(const iter_impl& other) const
      +
      11238  {
      +
      11239  return !operator<=(other);
      +
      11240  }
      +
      11241 
      +
      11246  bool operator>=(const iter_impl& other) const
      +
      11247  {
      +
      11248  return !operator<(other);
      +
      11249  }
      +
      11250 
      + +
      11256  {
      +
      11257  JSON_ASSERT(m_object != nullptr);
      +
      11258 
      +
      11259  switch (m_object->m_type)
      +
      11260  {
      +
      11261  case value_t::object:
      +
      11262  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
      +
      11263 
      +
      11264  case value_t::array:
      +
      11265  {
      +
      11266  std::advance(m_it.array_iterator, i);
      +
      11267  break;
      +
      11268  }
      +
      11269 
      +
      11270  default:
      +
      11271  {
      +
      11272  m_it.primitive_iterator += i;
      +
      11273  break;
      +
      11274  }
      +
      11275  }
      +
      11276 
      +
      11277  return *this;
      +
      11278  }
      +
      11279 
      + +
      11285  {
      +
      11286  return operator+=(-i);
      +
      11287  }
      +
      11288 
      + +
      11294  {
      +
      11295  auto result = *this;
      +
      11296  result += i;
      +
      11297  return result;
      +
      11298  }
      +
      11299 
      + +
      11305  {
      +
      11306  auto result = it;
      +
      11307  result += i;
      +
      11308  return result;
      +
      11309  }
      +
      11310 
      + +
      11316  {
      +
      11317  auto result = *this;
      +
      11318  result -= i;
      +
      11319  return result;
      +
      11320  }
      +
      11321 
      + +
      11327  {
      +
      11328  JSON_ASSERT(m_object != nullptr);
      +
      11329 
      +
      11330  switch (m_object->m_type)
      +
      11331  {
      +
      11332  case value_t::object:
      +
      11333  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators"));
      +
      11334 
      +
      11335  case value_t::array:
      +
      11336  return m_it.array_iterator - other.m_it.array_iterator;
      +
      11337 
      +
      11338  default:
      +
      11339  return m_it.primitive_iterator - other.m_it.primitive_iterator;
      +
      11340  }
      +
      11341  }
      +
      11342 
      + +
      11348  {
      +
      11349  JSON_ASSERT(m_object != nullptr);
      +
      11350 
      +
      11351  switch (m_object->m_type)
      +
      11352  {
      +
      11353  case value_t::object:
      +
      11354  JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators"));
      +
      11355 
      +
      11356  case value_t::array:
      +
      11357  return *std::next(m_it.array_iterator, n);
      +
      11358 
      +
      11359  case value_t::null:
      +
      11360  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      11361 
      +
      11362  default:
      +
      11363  {
      + +
      11365  {
      +
      11366  return *m_object;
      +
      11367  }
      +
      11368 
      +
      11369  JSON_THROW(invalid_iterator::create(214, "cannot get value"));
      +
      11370  }
      +
      11371  }
      +
      11372  }
      +
      11373 
      +
      11378  const typename object_t::key_type& key() const
      +
      11379  {
      +
      11380  JSON_ASSERT(m_object != nullptr);
      +
      11381 
      +
      11382  if (JSON_HEDLEY_LIKELY(m_object->is_object()))
      +
      11383  {
      +
      11384  return m_it.object_iterator->first;
      +
      11385  }
      +
      11386 
      +
      11387  JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators"));
      +
      11388  }
      +
      11389 
      + +
      11395  {
      +
      11396  return operator*();
      +
      11397  }
      +
      11398 
      +
      11399  private:
      +
      11401  pointer m_object = nullptr;
      + +
      11404 };
      +
      11405 } // namespace detail
      +
      11406 } // namespace nlohmann
      +
      11407 
      +
      11408 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
      +
      11409 
      +
      11410 // #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
      +
      11411 
      +
      11412 
      +
      11413 #include <cstddef> // ptrdiff_t
      +
      11414 #include <iterator> // reverse_iterator
      +
      11415 #include <utility> // declval
      +
      11416 
      +
      11417 namespace nlohmann
      +
      11418 {
      +
      11419 namespace detail
      +
      11420 {
      +
      11422 // reverse_iterator //
      +
      11424 
      +
      11443 template<typename Base>
      +
      11444 class json_reverse_iterator : public std::reverse_iterator<Base>
      +
      11445 {
      +
      11446  public:
      +
      11447  using difference_type = std::ptrdiff_t;
      +
      11449  using base_iterator = std::reverse_iterator<Base>;
      +
      11451  using reference = typename Base::reference;
      +
      11452 
      +
      11454  explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
      +
      11455  : base_iterator(it) {}
      +
      11456 
      +
      11458  explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {}
      +
      11459 
      + +
      11462  {
      +
      11463  return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
      +
      11464  }
      +
      11465 
      + +
      11468  {
      +
      11469  return static_cast<json_reverse_iterator&>(base_iterator::operator++());
      +
      11470  }
      +
      11471 
      + +
      11474  {
      +
      11475  return static_cast<json_reverse_iterator>(base_iterator::operator--(1));
      +
      11476  }
      +
      11477 
      + +
      11480  {
      +
      11481  return static_cast<json_reverse_iterator&>(base_iterator::operator--());
      +
      11482  }
      +
      11483 
      + +
      11486  {
      +
      11487  return static_cast<json_reverse_iterator&>(base_iterator::operator+=(i));
      +
      11488  }
      +
      11489 
      + +
      11492  {
      +
      11493  return static_cast<json_reverse_iterator>(base_iterator::operator+(i));
      +
      11494  }
      +
      11495 
      + +
      11498  {
      +
      11499  return static_cast<json_reverse_iterator>(base_iterator::operator-(i));
      +
      11500  }
      +
      11501 
      + +
      11504  {
      +
      11505  return base_iterator(*this) - base_iterator(other);
      +
      11506  }
      +
      11507 
      + +
      11510  {
      +
      11511  return *(this->operator+(n));
      +
      11512  }
      +
      11513 
      +
      11515  auto key() const -> decltype(std::declval<Base>().key())
      +
      11516  {
      +
      11517  auto it = --this->base();
      +
      11518  return it.key();
      +
      11519  }
      +
      11520 
      + +
      11523  {
      +
      11524  auto it = --this->base();
      +
      11525  return it.operator * ();
      +
      11526  }
      +
      11527 };
      +
      11528 } // namespace detail
      +
      11529 } // namespace nlohmann
      +
      11530 
      +
      11531 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
      +
      11532 
      +
      11533 // #include <nlohmann/detail/json_pointer.hpp>
      +
      11534 
      +
      11535 
      +
      11536 #include <algorithm> // all_of
      +
      11537 #include <cctype> // isdigit
      +
      11538 #include <limits> // max
      +
      11539 #include <numeric> // accumulate
      +
      11540 #include <string> // string
      +
      11541 #include <utility> // move
      +
      11542 #include <vector> // vector
      +
      11543 
      +
      11544 // #include <nlohmann/detail/exceptions.hpp>
      +
      11545 
      +
      11546 // #include <nlohmann/detail/macro_scope.hpp>
      +
      11547 
      +
      11548 // #include <nlohmann/detail/value_t.hpp>
      +
      11549 
      +
      11550 
      +
      11551 namespace nlohmann
      +
      11552 {
      +
      11553 template<typename BasicJsonType>
      +
      11554 class json_pointer
      +
      11555 {
      +
      11556  // allow basic_json to access private members
      + +
      11558  friend class basic_json;
      +
      11559 
      +
      11560  public:
      +
      11582  explicit json_pointer(const std::string& s = "")
      +
      11583  : reference_tokens(split(s))
      +
      11584  {}
      +
      11585 
      +
      11600  std::string to_string() const
      +
      11601  {
      +
      11602  return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
      +
      11603  std::string{},
      +
      11604  [](const std::string & a, const std::string & b)
      +
      11605  {
      +
      11606  return a + "/" + escape(b);
      +
      11607  });
      +
      11608  }
      +
      11609 
      +
      11611  operator std::string() const
      +
      11612  {
      +
      11613  return to_string();
      +
      11614  }
      +
      11615 
      + +
      11633  {
      +
      11634  reference_tokens.insert(reference_tokens.end(),
      +
      11635  ptr.reference_tokens.begin(),
      +
      11636  ptr.reference_tokens.end());
      +
      11637  return *this;
      +
      11638  }
      +
      11639 
      +
      11656  json_pointer& operator/=(std::string token)
      +
      11657  {
      +
      11658  push_back(std::move(token));
      +
      11659  return *this;
      +
      11660  }
      +
      11661 
      +
      11678  json_pointer& operator/=(std::size_t array_idx)
      +
      11679  {
      +
      11680  return *this /= std::to_string(array_idx);
      +
      11681  }
      +
      11682 
      + +
      11699  const json_pointer& rhs)
      +
      11700  {
      +
      11701  return json_pointer(lhs) /= rhs;
      +
      11702  }
      +
      11703 
      +
      11719  friend json_pointer operator/(const json_pointer& ptr, std::string token)
      +
      11720  {
      +
      11721  return json_pointer(ptr) /= std::move(token);
      +
      11722  }
      +
      11723 
      +
      11739  friend json_pointer operator/(const json_pointer& ptr, std::size_t array_idx)
      +
      11740  {
      +
      11741  return json_pointer(ptr) /= array_idx;
      +
      11742  }
      +
      11743 
      + +
      11758  {
      +
      11759  if (empty())
      +
      11760  {
      +
      11761  return *this;
      +
      11762  }
      +
      11763 
      +
      11764  json_pointer res = *this;
      +
      11765  res.pop_back();
      +
      11766  return res;
      +
      11767  }
      +
      11768 
      +
      11782  void pop_back()
      +
      11783  {
      +
      11784  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      11785  {
      +
      11786  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      11787  }
      +
      11788 
      +
      11789  reference_tokens.pop_back();
      +
      11790  }
      +
      11791 
      +
      11806  const std::string& back() const
      +
      11807  {
      +
      11808  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      11809  {
      +
      11810  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      11811  }
      +
      11812 
      +
      11813  return reference_tokens.back();
      +
      11814  }
      +
      11815 
      +
      11828  void push_back(const std::string& token)
      +
      11829  {
      +
      11830  reference_tokens.push_back(token);
      +
      11831  }
      +
      11832 
      +
      11834  void push_back(std::string&& token)
      +
      11835  {
      +
      11836  reference_tokens.push_back(std::move(token));
      +
      11837  }
      +
      11838 
      +
      11853  bool empty() const noexcept
      +
      11854  {
      +
      11855  return reference_tokens.empty();
      +
      11856  }
      +
      11857 
      +
      11858  private:
      +
      11869  static typename BasicJsonType::size_type array_index(const std::string& s)
      +
      11870  {
      +
      11871  using size_type = typename BasicJsonType::size_type;
      +
      11872 
      +
      11873  // error condition (cf. RFC 6901, Sect. 4)
      +
      11874  if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0'))
      +
      11875  {
      + +
      11877  "array index '" + s +
      +
      11878  "' must not begin with '0'"));
      +
      11879  }
      +
      11880 
      +
      11881  // error condition (cf. RFC 6901, Sect. 4)
      +
      11882  if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))
      +
      11883  {
      +
      11884  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number"));
      +
      11885  }
      +
      11886 
      +
      11887  std::size_t processed_chars = 0;
      +
      11888  unsigned long long res = 0;
      +
      11889  JSON_TRY
      +
      11890  {
      +
      11891  res = std::stoull(s, &processed_chars);
      +
      11892  }
      +
      11893  JSON_CATCH(std::out_of_range&)
      +
      11894  {
      +
      11895  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
      +
      11896  }
      +
      11897 
      +
      11898  // check if the string was completely read
      +
      11899  if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
      +
      11900  {
      +
      11901  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'"));
      +
      11902  }
      +
      11903 
      +
      11904  // only triggered on special platforms (like 32bit), see also
      +
      11905  // https://github.com/nlohmann/json/pull/2203
      +
      11906  if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)()))
      +
      11907  {
      +
      11908  JSON_THROW(detail::out_of_range::create(410, "array index " + s + " exceeds size_type")); // LCOV_EXCL_LINE
      +
      11909  }
      +
      11910 
      +
      11911  return static_cast<size_type>(res);
      +
      11912  }
      +
      11913 
      +
      11914  json_pointer top() const
      +
      11915  {
      +
      11916  if (JSON_HEDLEY_UNLIKELY(empty()))
      +
      11917  {
      +
      11918  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent"));
      +
      11919  }
      +
      11920 
      +
      11921  json_pointer result = *this;
      +
      11922  result.reference_tokens = {reference_tokens[0]};
      +
      11923  return result;
      +
      11924  }
      +
      11925 
      +
      11934  BasicJsonType& get_and_create(BasicJsonType& j) const
      +
      11935  {
      +
      11936  auto result = &j;
      +
      11937 
      +
      11938  // in case no reference tokens exist, return a reference to the JSON value
      +
      11939  // j which will be overwritten by a primitive value
      +
      11940  for (const auto& reference_token : reference_tokens)
      +
      11941  {
      +
      11942  switch (result->type())
      +
      11943  {
      +
      11944  case detail::value_t::null:
      +
      11945  {
      +
      11946  if (reference_token == "0")
      +
      11947  {
      +
      11948  // start a new array if reference token is 0
      +
      11949  result = &result->operator[](0);
      +
      11950  }
      +
      11951  else
      +
      11952  {
      +
      11953  // start a new object otherwise
      +
      11954  result = &result->operator[](reference_token);
      +
      11955  }
      +
      11956  break;
      +
      11957  }
      +
      11958 
      + +
      11960  {
      +
      11961  // create an entry in the object
      +
      11962  result = &result->operator[](reference_token);
      +
      11963  break;
      +
      11964  }
      +
      11965 
      + +
      11967  {
      +
      11968  // create an entry in the array
      +
      11969  result = &result->operator[](array_index(reference_token));
      +
      11970  break;
      +
      11971  }
      +
      11972 
      +
      11973  /*
      +
      11974  The following code is only reached if there exists a reference
      +
      11975  token _and_ the current value is primitive. In this case, we have
      +
      11976  an error situation, because primitive values may only occur as
      +
      11977  single value; that is, with an empty list of reference tokens.
      +
      11978  */
      +
      11979  default:
      +
      11980  JSON_THROW(detail::type_error::create(313, "invalid value to unflatten"));
      +
      11981  }
      +
      11982  }
      +
      11983 
      +
      11984  return *result;
      +
      11985  }
      +
      11986 
      +
      12006  BasicJsonType& get_unchecked(BasicJsonType* ptr) const
      +
      12007  {
      +
      12008  for (const auto& reference_token : reference_tokens)
      +
      12009  {
      +
      12010  // convert null values to arrays or objects before continuing
      +
      12011  if (ptr->is_null())
      +
      12012  {
      +
      12013  // check if reference token is a number
      +
      12014  const bool nums =
      +
      12015  std::all_of(reference_token.begin(), reference_token.end(),
      +
      12016  [](const unsigned char x)
      +
      12017  {
      +
      12018  return std::isdigit(x);
      +
      12019  });
      +
      12020 
      +
      12021  // change value to array for numbers or "-" or to object otherwise
      +
      12022  *ptr = (nums || reference_token == "-")
      + + +
      12025  }
      +
      12026 
      +
      12027  switch (ptr->type())
      +
      12028  {
      + +
      12030  {
      +
      12031  // use unchecked object access
      +
      12032  ptr = &ptr->operator[](reference_token);
      +
      12033  break;
      +
      12034  }
      +
      12035 
      + +
      12037  {
      +
      12038  if (reference_token == "-")
      +
      12039  {
      +
      12040  // explicitly treat "-" as index beyond the end
      +
      12041  ptr = &ptr->operator[](ptr->m_value.array->size());
      +
      12042  }
      +
      12043  else
      +
      12044  {
      +
      12045  // convert array index to number; unchecked access
      +
      12046  ptr = &ptr->operator[](array_index(reference_token));
      +
      12047  }
      +
      12048  break;
      +
      12049  }
      +
      12050 
      +
      12051  default:
      +
      12052  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      12053  }
      +
      12054  }
      +
      12055 
      +
      12056  return *ptr;
      +
      12057  }
      +
      12058 
      +
      12065  BasicJsonType& get_checked(BasicJsonType* ptr) const
      +
      12066  {
      +
      12067  for (const auto& reference_token : reference_tokens)
      +
      12068  {
      +
      12069  switch (ptr->type())
      +
      12070  {
      + +
      12072  {
      +
      12073  // note: at performs range check
      +
      12074  ptr = &ptr->at(reference_token);
      +
      12075  break;
      +
      12076  }
      +
      12077 
      + +
      12079  {
      +
      12080  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      12081  {
      +
      12082  // "-" always fails the range check
      + +
      12084  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      12085  ") is out of range"));
      +
      12086  }
      +
      12087 
      +
      12088  // note: at performs range check
      +
      12089  ptr = &ptr->at(array_index(reference_token));
      +
      12090  break;
      +
      12091  }
      +
      12092 
      +
      12093  default:
      +
      12094  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      12095  }
      +
      12096  }
      +
      12097 
      +
      12098  return *ptr;
      +
      12099  }
      +
      12100 
      +
      12114  const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
      +
      12115  {
      +
      12116  for (const auto& reference_token : reference_tokens)
      +
      12117  {
      +
      12118  switch (ptr->type())
      +
      12119  {
      + +
      12121  {
      +
      12122  // use unchecked object access
      +
      12123  ptr = &ptr->operator[](reference_token);
      +
      12124  break;
      +
      12125  }
      +
      12126 
      + +
      12128  {
      +
      12129  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      12130  {
      +
      12131  // "-" cannot be used for const access
      + +
      12133  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      12134  ") is out of range"));
      +
      12135  }
      +
      12136 
      +
      12137  // use unchecked array access
      +
      12138  ptr = &ptr->operator[](array_index(reference_token));
      +
      12139  break;
      +
      12140  }
      +
      12141 
      +
      12142  default:
      +
      12143  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      12144  }
      +
      12145  }
      +
      12146 
      +
      12147  return *ptr;
      +
      12148  }
      +
      12149 
      +
      12156  const BasicJsonType& get_checked(const BasicJsonType* ptr) const
      +
      12157  {
      +
      12158  for (const auto& reference_token : reference_tokens)
      +
      12159  {
      +
      12160  switch (ptr->type())
      +
      12161  {
      + +
      12163  {
      +
      12164  // note: at performs range check
      +
      12165  ptr = &ptr->at(reference_token);
      +
      12166  break;
      +
      12167  }
      +
      12168 
      + +
      12170  {
      +
      12171  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      12172  {
      +
      12173  // "-" always fails the range check
      + +
      12175  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
      +
      12176  ") is out of range"));
      +
      12177  }
      +
      12178 
      +
      12179  // note: at performs range check
      +
      12180  ptr = &ptr->at(array_index(reference_token));
      +
      12181  break;
      +
      12182  }
      +
      12183 
      +
      12184  default:
      +
      12185  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
      +
      12186  }
      +
      12187  }
      +
      12188 
      +
      12189  return *ptr;
      +
      12190  }
      +
      12191 
      +
      12196  bool contains(const BasicJsonType* ptr) const
      +
      12197  {
      +
      12198  for (const auto& reference_token : reference_tokens)
      +
      12199  {
      +
      12200  switch (ptr->type())
      +
      12201  {
      + +
      12203  {
      +
      12204  if (!ptr->contains(reference_token))
      +
      12205  {
      +
      12206  // we did not find the key in the object
      +
      12207  return false;
      +
      12208  }
      +
      12209 
      +
      12210  ptr = &ptr->operator[](reference_token);
      +
      12211  break;
      +
      12212  }
      +
      12213 
      + +
      12215  {
      +
      12216  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
      +
      12217  {
      +
      12218  // "-" always fails the range check
      +
      12219  return false;
      +
      12220  }
      +
      12221  if (JSON_HEDLEY_UNLIKELY(reference_token.size() == 1 && !("0" <= reference_token && reference_token <= "9")))
      +
      12222  {
      +
      12223  // invalid char
      +
      12224  return false;
      +
      12225  }
      +
      12226  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1))
      +
      12227  {
      +
      12228  if (JSON_HEDLEY_UNLIKELY(!('1' <= reference_token[0] && reference_token[0] <= '9')))
      +
      12229  {
      +
      12230  // first char should be between '1' and '9'
      +
      12231  return false;
      +
      12232  }
      +
      12233  for (std::size_t i = 1; i < reference_token.size(); i++)
      +
      12234  {
      +
      12235  if (JSON_HEDLEY_UNLIKELY(!('0' <= reference_token[i] && reference_token[i] <= '9')))
      +
      12236  {
      +
      12237  // other char should be between '0' and '9'
      +
      12238  return false;
      +
      12239  }
      +
      12240  }
      +
      12241  }
      +
      12242 
      +
      12243  const auto idx = array_index(reference_token);
      +
      12244  if (idx >= ptr->size())
      +
      12245  {
      +
      12246  // index out of range
      +
      12247  return false;
      +
      12248  }
      +
      12249 
      +
      12250  ptr = &ptr->operator[](idx);
      +
      12251  break;
      +
      12252  }
      +
      12253 
      +
      12254  default:
      +
      12255  {
      +
      12256  // we do not expect primitive values if there is still a
      +
      12257  // reference token to process
      +
      12258  return false;
      +
      12259  }
      +
      12260  }
      +
      12261  }
      +
      12262 
      +
      12263  // no reference token left means we found a primitive value
      +
      12264  return true;
      +
      12265  }
      +
      12266 
      +
      12276  static std::vector<std::string> split(const std::string& reference_string)
      +
      12277  {
      +
      12278  std::vector<std::string> result;
      +
      12279 
      +
      12280  // special case: empty reference string -> no reference tokens
      +
      12281  if (reference_string.empty())
      +
      12282  {
      +
      12283  return result;
      +
      12284  }
      +
      12285 
      +
      12286  // check if nonempty reference string begins with slash
      +
      12287  if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/'))
      +
      12288  {
      + +
      12290  "JSON pointer must be empty or begin with '/' - was: '" +
      +
      12291  reference_string + "'"));
      +
      12292  }
      +
      12293 
      +
      12294  // extract the reference tokens:
      +
      12295  // - slash: position of the last read slash (or end of string)
      +
      12296  // - start: position after the previous slash
      +
      12297  for (
      +
      12298  // search for the first slash after the first character
      +
      12299  std::size_t slash = reference_string.find_first_of('/', 1),
      +
      12300  // set the beginning of the first reference token
      +
      12301  start = 1;
      +
      12302  // we can stop if start == 0 (if slash == std::string::npos)
      +
      12303  start != 0;
      +
      12304  // set the beginning of the next reference token
      +
      12305  // (will eventually be 0 if slash == std::string::npos)
      +
      12306  start = (slash == std::string::npos) ? 0 : slash + 1,
      +
      12307  // find next slash
      +
      12308  slash = reference_string.find_first_of('/', start))
      +
      12309  {
      +
      12310  // use the text between the beginning of the reference token
      +
      12311  // (start) and the last slash (slash).
      +
      12312  auto reference_token = reference_string.substr(start, slash - start);
      +
      12313 
      +
      12314  // check reference tokens are properly escaped
      +
      12315  for (std::size_t pos = reference_token.find_first_of('~');
      +
      12316  pos != std::string::npos;
      +
      12317  pos = reference_token.find_first_of('~', pos + 1))
      +
      12318  {
      +
      12319  JSON_ASSERT(reference_token[pos] == '~');
      +
      12320 
      +
      12321  // ~ must be followed by 0 or 1
      +
      12322  if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 ||
      +
      12323  (reference_token[pos + 1] != '0' &&
      +
      12324  reference_token[pos + 1] != '1')))
      +
      12325  {
      +
      12326  JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'"));
      +
      12327  }
      +
      12328  }
      +
      12329 
      +
      12330  // finally, store the reference token
      +
      12331  unescape(reference_token);
      +
      12332  result.push_back(reference_token);
      +
      12333  }
      +
      12334 
      +
      12335  return result;
      +
      12336  }
      +
      12337 
      +
      12351  static void replace_substring(std::string& s, const std::string& f,
      +
      12352  const std::string& t)
      +
      12353  {
      +
      12354  JSON_ASSERT(!f.empty());
      +
      12355  for (auto pos = s.find(f); // find first occurrence of f
      +
      12356  pos != std::string::npos; // make sure f was found
      +
      12357  s.replace(pos, f.size(), t), // replace with t, and
      +
      12358  pos = s.find(f, pos + t.size())) // find next occurrence of f
      +
      12359  {}
      +
      12360  }
      +
      12361 
      +
      12363  static std::string escape(std::string s)
      +
      12364  {
      +
      12365  replace_substring(s, "~", "~0");
      +
      12366  replace_substring(s, "/", "~1");
      +
      12367  return s;
      +
      12368  }
      +
      12369 
      +
      12371  static void unescape(std::string& s)
      +
      12372  {
      +
      12373  replace_substring(s, "~1", "/");
      +
      12374  replace_substring(s, "~0", "~");
      +
      12375  }
      +
      12376 
      +
      12384  static void flatten(const std::string& reference_string,
      +
      12385  const BasicJsonType& value,
      +
      12386  BasicJsonType& result)
      +
      12387  {
      +
      12388  switch (value.type())
      +
      12389  {
      + +
      12391  {
      +
      12392  if (value.m_value.array->empty())
      +
      12393  {
      +
      12394  // flatten empty array as null
      +
      12395  result[reference_string] = nullptr;
      +
      12396  }
      +
      12397  else
      +
      12398  {
      +
      12399  // iterate array and use index as reference string
      +
      12400  for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
      +
      12401  {
      +
      12402  flatten(reference_string + "/" + std::to_string(i),
      +
      12403  value.m_value.array->operator[](i), result);
      +
      12404  }
      +
      12405  }
      +
      12406  break;
      +
      12407  }
      +
      12408 
      + +
      12410  {
      +
      12411  if (value.m_value.object->empty())
      +
      12412  {
      +
      12413  // flatten empty object as null
      +
      12414  result[reference_string] = nullptr;
      +
      12415  }
      +
      12416  else
      +
      12417  {
      +
      12418  // iterate object and use keys as reference string
      +
      12419  for (const auto& element : *value.m_value.object)
      +
      12420  {
      +
      12421  flatten(reference_string + "/" + escape(element.first), element.second, result);
      +
      12422  }
      +
      12423  }
      +
      12424  break;
      +
      12425  }
      +
      12426 
      +
      12427  default:
      +
      12428  {
      +
      12429  // add primitive value with its reference string
      +
      12430  result[reference_string] = value;
      +
      12431  break;
      +
      12432  }
      +
      12433  }
      +
      12434  }
      +
      12435 
      +
      12446  static BasicJsonType
      +
      12447  unflatten(const BasicJsonType& value)
      +
      12448  {
      +
      12449  if (JSON_HEDLEY_UNLIKELY(!value.is_object()))
      +
      12450  {
      +
      12451  JSON_THROW(detail::type_error::create(314, "only objects can be unflattened"));
      +
      12452  }
      +
      12453 
      +
      12454  BasicJsonType result;
      +
      12455 
      +
      12456  // iterate the JSON object values
      +
      12457  for (const auto& element : *value.m_value.object)
      +
      12458  {
      +
      12459  if (JSON_HEDLEY_UNLIKELY(!element.second.is_primitive()))
      +
      12460  {
      +
      12461  JSON_THROW(detail::type_error::create(315, "values in object must be primitive"));
      +
      12462  }
      +
      12463 
      +
      12464  // assign value to reference pointed to by JSON pointer; Note that if
      +
      12465  // the JSON pointer is "" (i.e., points to the whole value), function
      +
      12466  // get_and_create returns a reference to result itself. An assignment
      +
      12467  // will then create a primitive value.
      +
      12468  json_pointer(element.first).get_and_create(result) = element.second;
      +
      12469  }
      +
      12470 
      +
      12471  return result;
      +
      12472  }
      +
      12473 
      +
      12485  friend bool operator==(json_pointer const& lhs,
      +
      12486  json_pointer const& rhs) noexcept
      +
      12487  {
      +
      12488  return lhs.reference_tokens == rhs.reference_tokens;
      +
      12489  }
      +
      12490 
      +
      12502  friend bool operator!=(json_pointer const& lhs,
      +
      12503  json_pointer const& rhs) noexcept
      +
      12504  {
      +
      12505  return !(lhs == rhs);
      +
      12506  }
      +
      12507 
      +
      12509  std::vector<std::string> reference_tokens;
      +
      12510 };
      +
      12511 } // namespace nlohmann
      +
      12512 
      +
      12513 // #include <nlohmann/detail/json_ref.hpp>
      +
      12514 
      +
      12515 
      +
      12516 #include <initializer_list>
      +
      12517 #include <utility>
      +
      12518 
      +
      12519 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      12520 
      +
      12521 
      +
      12522 namespace nlohmann
      +
      12523 {
      +
      12524 namespace detail
      +
      12525 {
      +
      12526 template<typename BasicJsonType>
      +
      12527 class json_ref
      +
      12528 {
      +
      12529  public:
      +
      12530  using value_type = BasicJsonType;
      +
      12531 
      + +
      12533  : owned_value(std::move(value))
      +
      12534  , value_ref(&owned_value)
      +
      12535  , is_rvalue(true)
      +
      12536  {}
      +
      12537 
      +
      12538  json_ref(const value_type& value)
      +
      12539  : value_ref(const_cast<value_type*>(&value))
      +
      12540  , is_rvalue(false)
      +
      12541  {}
      +
      12542 
      +
      12543  json_ref(std::initializer_list<json_ref> init)
      +
      12544  : owned_value(init)
      +
      12545  , value_ref(&owned_value)
      +
      12546  , is_rvalue(true)
      +
      12547  {}
      +
      12548 
      +
      12549  template <
      +
      12550  class... Args,
      +
      12551  enable_if_t<std::is_constructible<value_type, Args...>::value, int> = 0 >
      +
      12552  json_ref(Args && ... args)
      +
      12553  : owned_value(std::forward<Args>(args)...)
      +
      12554  , value_ref(&owned_value)
      +
      12555  , is_rvalue(true)
      +
      12556  {}
      +
      12557 
      +
      12558  // class should be movable only
      +
      12559  json_ref(json_ref&&) = default;
      +
      12560  json_ref(const json_ref&) = delete;
      +
      12561  json_ref& operator=(const json_ref&) = delete;
      +
      12562  json_ref& operator=(json_ref&&) = delete;
      +
      12563  ~json_ref() = default;
      +
      12564 
      + +
      12566  {
      +
      12567  if (is_rvalue)
      +
      12568  {
      +
      12569  return std::move(*value_ref);
      +
      12570  }
      +
      12571  return *value_ref;
      +
      12572  }
      +
      12573 
      +
      12574  value_type const& operator*() const
      +
      12575  {
      +
      12576  return *static_cast<value_type const*>(value_ref);
      +
      12577  }
      +
      12578 
      +
      12579  value_type const* operator->() const
      +
      12580  {
      +
      12581  return static_cast<value_type const*>(value_ref);
      +
      12582  }
      +
      12583 
      +
      12584  private:
      +
      12585  mutable value_type owned_value = nullptr;
      +
      12586  value_type* value_ref = nullptr;
      +
      12587  const bool is_rvalue = true;
      +
      12588 };
      +
      12589 } // namespace detail
      +
      12590 } // namespace nlohmann
      +
      12591 
      +
      12592 // #include <nlohmann/detail/macro_scope.hpp>
      +
      12593 
      +
      12594 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      12595 
      +
      12596 // #include <nlohmann/detail/meta/type_traits.hpp>
      +
      12597 
      +
      12598 // #include <nlohmann/detail/output/binary_writer.hpp>
      +
      12599 
      +
      12600 
      +
      12601 #include <algorithm> // reverse
      +
      12602 #include <array> // array
      +
      12603 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
      +
      12604 #include <cstring> // memcpy
      +
      12605 #include <limits> // numeric_limits
      +
      12606 #include <string> // string
      +
      12607 #include <cmath> // isnan, isinf
      +
      12608 
      +
      12609 // #include <nlohmann/detail/input/binary_reader.hpp>
      +
      12610 
      +
      12611 // #include <nlohmann/detail/macro_scope.hpp>
      +
      12612 
      +
      12613 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      12614 
      +
      12615 
      +
      12616 #include <algorithm> // copy
      +
      12617 #include <cstddef> // size_t
      +
      12618 #include <ios> // streamsize
      +
      12619 #include <iterator> // back_inserter
      +
      12620 #include <memory> // shared_ptr, make_shared
      +
      12621 #include <ostream> // basic_ostream
      +
      12622 #include <string> // basic_string
      +
      12623 #include <vector> // vector
      +
      12624 // #include <nlohmann/detail/macro_scope.hpp>
      +
      12625 
      +
      12626 
      +
      12627 namespace nlohmann
      +
      12628 {
      +
      12629 namespace detail
      +
      12630 {
      +
      12632 template<typename CharType> struct output_adapter_protocol
      +
      12633 {
      +
      12634  virtual void write_character(CharType c) = 0;
      +
      12635  virtual void write_characters(const CharType* s, std::size_t length) = 0;
      +
      12636  virtual ~output_adapter_protocol() = default;
      +
      12637 };
      +
      12638 
      +
      12640 template<typename CharType>
      +
      12641 using output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>>;
      +
      12642 
      +
      12644 template<typename CharType>
      +
      12645 class output_vector_adapter : public output_adapter_protocol<CharType>
      +
      12646 {
      +
      12647  public:
      +
      12648  explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
      +
      12649  : v(vec)
      +
      12650  {}
      +
      12651 
      +
      12652  void write_character(CharType c) override
      +
      12653  {
      +
      12654  v.push_back(c);
      +
      12655  }
      +
      12656 
      + +
      12658  void write_characters(const CharType* s, std::size_t length) override
      +
      12659  {
      +
      12660  std::copy(s, s + length, std::back_inserter(v));
      +
      12661  }
      +
      12662 
      +
      12663  private:
      +
      12664  std::vector<CharType>& v;
      +
      12665 };
      +
      12666 
      +
      12668 template<typename CharType>
      +
      12669 class output_stream_adapter : public output_adapter_protocol<CharType>
      +
      12670 {
      +
      12671  public:
      +
      12672  explicit output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
      +
      12673  : stream(s)
      +
      12674  {}
      +
      12675 
      +
      12676  void write_character(CharType c) override
      +
      12677  {
      +
      12678  stream.put(c);
      +
      12679  }
      +
      12680 
      + +
      12682  void write_characters(const CharType* s, std::size_t length) override
      +
      12683  {
      +
      12684  stream.write(s, static_cast<std::streamsize>(length));
      +
      12685  }
      +
      12686 
      +
      12687  private:
      +
      12688  std::basic_ostream<CharType>& stream;
      +
      12689 };
      +
      12690 
      +
      12692 template<typename CharType, typename StringType = std::basic_string<CharType>>
      +
      12693 class output_string_adapter : public output_adapter_protocol<CharType>
      +
      12694 {
      +
      12695  public:
      +
      12696  explicit output_string_adapter(StringType& s) noexcept
      +
      12697  : str(s)
      +
      12698  {}
      +
      12699 
      +
      12700  void write_character(CharType c) override
      +
      12701  {
      +
      12702  str.push_back(c);
      +
      12703  }
      +
      12704 
      + +
      12706  void write_characters(const CharType* s, std::size_t length) override
      +
      12707  {
      +
      12708  str.append(s, length);
      +
      12709  }
      +
      12710 
      +
      12711  private:
      +
      12712  StringType& str;
      +
      12713 };
      +
      12714 
      +
      12715 template<typename CharType, typename StringType = std::basic_string<CharType>>
      +
      12716 class output_adapter
      +
      12717 {
      +
      12718  public:
      +
      12719  output_adapter(std::vector<CharType>& vec)
      +
      12720  : oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {}
      +
      12721 
      +
      12722  output_adapter(std::basic_ostream<CharType>& s)
      +
      12723  : oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
      +
      12724 
      +
      12725  output_adapter(StringType& s)
      +
      12726  : oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {}
      +
      12727 
      + +
      12729  {
      +
      12730  return oa;
      +
      12731  }
      +
      12732 
      +
      12733  private:
      +
      12734  output_adapter_t<CharType> oa = nullptr;
      +
      12735 };
      +
      12736 } // namespace detail
      +
      12737 } // namespace nlohmann
      +
      12738 
      +
      12739 
      +
      12740 namespace nlohmann
      +
      12741 {
      +
      12742 namespace detail
      +
      12743 {
      +
      12745 // binary writer //
      +
      12747 
      +
      12751 template<typename BasicJsonType, typename CharType>
      +
      12752 class binary_writer
      +
      12753 {
      +
      12754  using string_t = typename BasicJsonType::string_t;
      +
      12755  using binary_t = typename BasicJsonType::binary_t;
      +
      12756  using number_float_t = typename BasicJsonType::number_float_t;
      +
      12757 
      +
      12758  public:
      +
      12764  explicit binary_writer(output_adapter_t<CharType> adapter) : oa(adapter)
      +
      12765  {
      +
      12766  JSON_ASSERT(oa);
      +
      12767  }
      +
      12768 
      +
      12773  void write_bson(const BasicJsonType& j)
      +
      12774  {
      +
      12775  switch (j.type())
      +
      12776  {
      +
      12777  case value_t::object:
      +
      12778  {
      +
      12779  write_bson_object(*j.m_value.object);
      +
      12780  break;
      +
      12781  }
      +
      12782 
      +
      12783  default:
      +
      12784  {
      +
      12785  JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name())));
      +
      12786  }
      +
      12787  }
      +
      12788  }
      +
      12789 
      +
      12793  void write_cbor(const BasicJsonType& j)
      +
      12794  {
      +
      12795  switch (j.type())
      +
      12796  {
      +
      12797  case value_t::null:
      +
      12798  {
      +
      12799  oa->write_character(to_char_type(0xF6));
      +
      12800  break;
      +
      12801  }
      +
      12802 
      +
      12803  case value_t::boolean:
      +
      12804  {
      +
      12805  oa->write_character(j.m_value.boolean
      +
      12806  ? to_char_type(0xF5)
      +
      12807  : to_char_type(0xF4));
      +
      12808  break;
      +
      12809  }
      +
      12810 
      + +
      12812  {
      +
      12813  if (j.m_value.number_integer >= 0)
      +
      12814  {
      +
      12815  // CBOR does not differentiate between positive signed
      +
      12816  // integers and unsigned integers. Therefore, we used the
      +
      12817  // code from the value_t::number_unsigned case here.
      +
      12818  if (j.m_value.number_integer <= 0x17)
      +
      12819  {
      +
      12820  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      12821  }
      +
      12822  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12823  {
      +
      12824  oa->write_character(to_char_type(0x18));
      +
      12825  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      12826  }
      +
      12827  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint16_t>::max)())
      +
      12828  {
      +
      12829  oa->write_character(to_char_type(0x19));
      +
      12830  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      12831  }
      +
      12832  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint32_t>::max)())
      +
      12833  {
      +
      12834  oa->write_character(to_char_type(0x1A));
      +
      12835  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      12836  }
      +
      12837  else
      +
      12838  {
      +
      12839  oa->write_character(to_char_type(0x1B));
      +
      12840  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      12841  }
      +
      12842  }
      +
      12843  else
      +
      12844  {
      +
      12845  // The conversions below encode the sign in the first
      +
      12846  // byte, and the value is converted to a positive number.
      +
      12847  const auto positive_number = -1 - j.m_value.number_integer;
      +
      12848  if (j.m_value.number_integer >= -24)
      +
      12849  {
      +
      12850  write_number(static_cast<std::uint8_t>(0x20 + positive_number));
      +
      12851  }
      +
      12852  else if (positive_number <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12853  {
      +
      12854  oa->write_character(to_char_type(0x38));
      +
      12855  write_number(static_cast<std::uint8_t>(positive_number));
      +
      12856  }
      +
      12857  else if (positive_number <= (std::numeric_limits<std::uint16_t>::max)())
      +
      12858  {
      +
      12859  oa->write_character(to_char_type(0x39));
      +
      12860  write_number(static_cast<std::uint16_t>(positive_number));
      +
      12861  }
      +
      12862  else if (positive_number <= (std::numeric_limits<std::uint32_t>::max)())
      +
      12863  {
      +
      12864  oa->write_character(to_char_type(0x3A));
      +
      12865  write_number(static_cast<std::uint32_t>(positive_number));
      +
      12866  }
      +
      12867  else
      +
      12868  {
      +
      12869  oa->write_character(to_char_type(0x3B));
      +
      12870  write_number(static_cast<std::uint64_t>(positive_number));
      +
      12871  }
      +
      12872  }
      +
      12873  break;
      +
      12874  }
      +
      12875 
      + +
      12877  {
      +
      12878  if (j.m_value.number_unsigned <= 0x17)
      +
      12879  {
      +
      12880  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
      +
      12881  }
      +
      12882  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12883  {
      +
      12884  oa->write_character(to_char_type(0x18));
      +
      12885  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
      +
      12886  }
      +
      12887  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      12888  {
      +
      12889  oa->write_character(to_char_type(0x19));
      +
      12890  write_number(static_cast<std::uint16_t>(j.m_value.number_unsigned));
      +
      12891  }
      +
      12892  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      12893  {
      +
      12894  oa->write_character(to_char_type(0x1A));
      +
      12895  write_number(static_cast<std::uint32_t>(j.m_value.number_unsigned));
      +
      12896  }
      +
      12897  else
      +
      12898  {
      +
      12899  oa->write_character(to_char_type(0x1B));
      +
      12900  write_number(static_cast<std::uint64_t>(j.m_value.number_unsigned));
      +
      12901  }
      +
      12902  break;
      +
      12903  }
      +
      12904 
      +
      12905  case value_t::number_float:
      +
      12906  {
      +
      12907  if (std::isnan(j.m_value.number_float))
      +
      12908  {
      +
      12909  // NaN is 0xf97e00 in CBOR
      +
      12910  oa->write_character(to_char_type(0xF9));
      +
      12911  oa->write_character(to_char_type(0x7E));
      +
      12912  oa->write_character(to_char_type(0x00));
      +
      12913  }
      +
      12914  else if (std::isinf(j.m_value.number_float))
      +
      12915  {
      +
      12916  // Infinity is 0xf97c00, -Infinity is 0xf9fc00
      +
      12917  oa->write_character(to_char_type(0xf9));
      +
      12918  oa->write_character(j.m_value.number_float > 0 ? to_char_type(0x7C) : to_char_type(0xFC));
      +
      12919  oa->write_character(to_char_type(0x00));
      +
      12920  }
      +
      12921  else
      +
      12922  {
      +
      12923  write_compact_float(j.m_value.number_float, detail::input_format_t::cbor);
      +
      12924  }
      +
      12925  break;
      +
      12926  }
      +
      12927 
      +
      12928  case value_t::string:
      +
      12929  {
      +
      12930  // step 1: write control byte and the string length
      +
      12931  const auto N = j.m_value.string->size();
      +
      12932  if (N <= 0x17)
      +
      12933  {
      +
      12934  write_number(static_cast<std::uint8_t>(0x60 + N));
      +
      12935  }
      +
      12936  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12937  {
      +
      12938  oa->write_character(to_char_type(0x78));
      +
      12939  write_number(static_cast<std::uint8_t>(N));
      +
      12940  }
      +
      12941  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      12942  {
      +
      12943  oa->write_character(to_char_type(0x79));
      +
      12944  write_number(static_cast<std::uint16_t>(N));
      +
      12945  }
      +
      12946  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      12947  {
      +
      12948  oa->write_character(to_char_type(0x7A));
      +
      12949  write_number(static_cast<std::uint32_t>(N));
      +
      12950  }
      +
      12951  // LCOV_EXCL_START
      +
      12952  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      12953  {
      +
      12954  oa->write_character(to_char_type(0x7B));
      +
      12955  write_number(static_cast<std::uint64_t>(N));
      +
      12956  }
      +
      12957  // LCOV_EXCL_STOP
      +
      12958 
      +
      12959  // step 2: write the string
      +
      12960  oa->write_characters(
      +
      12961  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      12962  j.m_value.string->size());
      +
      12963  break;
      +
      12964  }
      +
      12965 
      +
      12966  case value_t::array:
      +
      12967  {
      +
      12968  // step 1: write control byte and the array size
      +
      12969  const auto N = j.m_value.array->size();
      +
      12970  if (N <= 0x17)
      +
      12971  {
      +
      12972  write_number(static_cast<std::uint8_t>(0x80 + N));
      +
      12973  }
      +
      12974  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      12975  {
      +
      12976  oa->write_character(to_char_type(0x98));
      +
      12977  write_number(static_cast<std::uint8_t>(N));
      +
      12978  }
      +
      12979  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      12980  {
      +
      12981  oa->write_character(to_char_type(0x99));
      +
      12982  write_number(static_cast<std::uint16_t>(N));
      +
      12983  }
      +
      12984  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      12985  {
      +
      12986  oa->write_character(to_char_type(0x9A));
      +
      12987  write_number(static_cast<std::uint32_t>(N));
      +
      12988  }
      +
      12989  // LCOV_EXCL_START
      +
      12990  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      12991  {
      +
      12992  oa->write_character(to_char_type(0x9B));
      +
      12993  write_number(static_cast<std::uint64_t>(N));
      +
      12994  }
      +
      12995  // LCOV_EXCL_STOP
      +
      12996 
      +
      12997  // step 2: write each element
      +
      12998  for (const auto& el : *j.m_value.array)
      +
      12999  {
      +
      13000  write_cbor(el);
      +
      13001  }
      +
      13002  break;
      +
      13003  }
      +
      13004 
      +
      13005  case value_t::binary:
      +
      13006  {
      +
      13007  if (j.m_value.binary->has_subtype())
      +
      13008  {
      +
      13009  write_number(static_cast<std::uint8_t>(0xd8));
      +
      13010  write_number(j.m_value.binary->subtype());
      +
      13011  }
      +
      13012 
      +
      13013  // step 1: write control byte and the binary array size
      +
      13014  const auto N = j.m_value.binary->size();
      +
      13015  if (N <= 0x17)
      +
      13016  {
      +
      13017  write_number(static_cast<std::uint8_t>(0x40 + N));
      +
      13018  }
      +
      13019  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13020  {
      +
      13021  oa->write_character(to_char_type(0x58));
      +
      13022  write_number(static_cast<std::uint8_t>(N));
      +
      13023  }
      +
      13024  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13025  {
      +
      13026  oa->write_character(to_char_type(0x59));
      +
      13027  write_number(static_cast<std::uint16_t>(N));
      +
      13028  }
      +
      13029  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13030  {
      +
      13031  oa->write_character(to_char_type(0x5A));
      +
      13032  write_number(static_cast<std::uint32_t>(N));
      +
      13033  }
      +
      13034  // LCOV_EXCL_START
      +
      13035  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      13036  {
      +
      13037  oa->write_character(to_char_type(0x5B));
      +
      13038  write_number(static_cast<std::uint64_t>(N));
      +
      13039  }
      +
      13040  // LCOV_EXCL_STOP
      +
      13041 
      +
      13042  // step 2: write each element
      +
      13043  oa->write_characters(
      +
      13044  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
      +
      13045  N);
      +
      13046 
      +
      13047  break;
      +
      13048  }
      +
      13049 
      +
      13050  case value_t::object:
      +
      13051  {
      +
      13052  // step 1: write control byte and the object size
      +
      13053  const auto N = j.m_value.object->size();
      +
      13054  if (N <= 0x17)
      +
      13055  {
      +
      13056  write_number(static_cast<std::uint8_t>(0xA0 + N));
      +
      13057  }
      +
      13058  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13059  {
      +
      13060  oa->write_character(to_char_type(0xB8));
      +
      13061  write_number(static_cast<std::uint8_t>(N));
      +
      13062  }
      +
      13063  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13064  {
      +
      13065  oa->write_character(to_char_type(0xB9));
      +
      13066  write_number(static_cast<std::uint16_t>(N));
      +
      13067  }
      +
      13068  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13069  {
      +
      13070  oa->write_character(to_char_type(0xBA));
      +
      13071  write_number(static_cast<std::uint32_t>(N));
      +
      13072  }
      +
      13073  // LCOV_EXCL_START
      +
      13074  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
      +
      13075  {
      +
      13076  oa->write_character(to_char_type(0xBB));
      +
      13077  write_number(static_cast<std::uint64_t>(N));
      +
      13078  }
      +
      13079  // LCOV_EXCL_STOP
      +
      13080 
      +
      13081  // step 2: write each element
      +
      13082  for (const auto& el : *j.m_value.object)
      +
      13083  {
      +
      13084  write_cbor(el.first);
      +
      13085  write_cbor(el.second);
      +
      13086  }
      +
      13087  break;
      +
      13088  }
      +
      13089 
      +
      13090  default:
      +
      13091  break;
      +
      13092  }
      +
      13093  }
      +
      13094 
      +
      13098  void write_msgpack(const BasicJsonType& j)
      +
      13099  {
      +
      13100  switch (j.type())
      +
      13101  {
      +
      13102  case value_t::null: // nil
      +
      13103  {
      +
      13104  oa->write_character(to_char_type(0xC0));
      +
      13105  break;
      +
      13106  }
      +
      13107 
      +
      13108  case value_t::boolean: // true and false
      +
      13109  {
      +
      13110  oa->write_character(j.m_value.boolean
      +
      13111  ? to_char_type(0xC3)
      +
      13112  : to_char_type(0xC2));
      +
      13113  break;
      +
      13114  }
      +
      13115 
      + +
      13117  {
      +
      13118  if (j.m_value.number_integer >= 0)
      +
      13119  {
      +
      13120  // MessagePack does not differentiate between positive
      +
      13121  // signed integers and unsigned integers. Therefore, we used
      +
      13122  // the code from the value_t::number_unsigned case here.
      +
      13123  if (j.m_value.number_unsigned < 128)
      +
      13124  {
      +
      13125  // positive fixnum
      +
      13126  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      13127  }
      +
      13128  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13129  {
      +
      13130  // uint 8
      +
      13131  oa->write_character(to_char_type(0xCC));
      +
      13132  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      13133  }
      +
      13134  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13135  {
      +
      13136  // uint 16
      +
      13137  oa->write_character(to_char_type(0xCD));
      +
      13138  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      13139  }
      +
      13140  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13141  {
      +
      13142  // uint 32
      +
      13143  oa->write_character(to_char_type(0xCE));
      +
      13144  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      13145  }
      +
      13146  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
      +
      13147  {
      +
      13148  // uint 64
      +
      13149  oa->write_character(to_char_type(0xCF));
      +
      13150  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      13151  }
      +
      13152  }
      +
      13153  else
      +
      13154  {
      +
      13155  if (j.m_value.number_integer >= -32)
      +
      13156  {
      +
      13157  // negative fixnum
      +
      13158  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
      +
      13159  }
      +
      13160  else if (j.m_value.number_integer >= (std::numeric_limits<std::int8_t>::min)() &&
      +
      13161  j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
      +
      13162  {
      +
      13163  // int 8
      +
      13164  oa->write_character(to_char_type(0xD0));
      +
      13165  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
      +
      13166  }
      +
      13167  else if (j.m_value.number_integer >= (std::numeric_limits<std::int16_t>::min)() &&
      +
      13168  j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
      +
      13169  {
      +
      13170  // int 16
      +
      13171  oa->write_character(to_char_type(0xD1));
      +
      13172  write_number(static_cast<std::int16_t>(j.m_value.number_integer));
      +
      13173  }
      +
      13174  else if (j.m_value.number_integer >= (std::numeric_limits<std::int32_t>::min)() &&
      +
      13175  j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
      +
      13176  {
      +
      13177  // int 32
      +
      13178  oa->write_character(to_char_type(0xD2));
      +
      13179  write_number(static_cast<std::int32_t>(j.m_value.number_integer));
      +
      13180  }
      +
      13181  else if (j.m_value.number_integer >= (std::numeric_limits<std::int64_t>::min)() &&
      +
      13182  j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
      +
      13183  {
      +
      13184  // int 64
      +
      13185  oa->write_character(to_char_type(0xD3));
      +
      13186  write_number(static_cast<std::int64_t>(j.m_value.number_integer));
      +
      13187  }
      +
      13188  }
      +
      13189  break;
      +
      13190  }
      +
      13191 
      + +
      13193  {
      +
      13194  if (j.m_value.number_unsigned < 128)
      +
      13195  {
      +
      13196  // positive fixnum
      +
      13197  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      13198  }
      +
      13199  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13200  {
      +
      13201  // uint 8
      +
      13202  oa->write_character(to_char_type(0xCC));
      +
      13203  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
      +
      13204  }
      +
      13205  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13206  {
      +
      13207  // uint 16
      +
      13208  oa->write_character(to_char_type(0xCD));
      +
      13209  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
      +
      13210  }
      +
      13211  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13212  {
      +
      13213  // uint 32
      +
      13214  oa->write_character(to_char_type(0xCE));
      +
      13215  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
      +
      13216  }
      +
      13217  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
      +
      13218  {
      +
      13219  // uint 64
      +
      13220  oa->write_character(to_char_type(0xCF));
      +
      13221  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
      +
      13222  }
      +
      13223  break;
      +
      13224  }
      +
      13225 
      +
      13226  case value_t::number_float:
      +
      13227  {
      +
      13228  write_compact_float(j.m_value.number_float, detail::input_format_t::msgpack);
      +
      13229  break;
      +
      13230  }
      +
      13231 
      +
      13232  case value_t::string:
      +
      13233  {
      +
      13234  // step 1: write control byte and the string length
      +
      13235  const auto N = j.m_value.string->size();
      +
      13236  if (N <= 31)
      +
      13237  {
      +
      13238  // fixstr
      +
      13239  write_number(static_cast<std::uint8_t>(0xA0 | N));
      +
      13240  }
      +
      13241  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13242  {
      +
      13243  // str 8
      +
      13244  oa->write_character(to_char_type(0xD9));
      +
      13245  write_number(static_cast<std::uint8_t>(N));
      +
      13246  }
      +
      13247  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13248  {
      +
      13249  // str 16
      +
      13250  oa->write_character(to_char_type(0xDA));
      +
      13251  write_number(static_cast<std::uint16_t>(N));
      +
      13252  }
      +
      13253  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13254  {
      +
      13255  // str 32
      +
      13256  oa->write_character(to_char_type(0xDB));
      +
      13257  write_number(static_cast<std::uint32_t>(N));
      +
      13258  }
      +
      13259 
      +
      13260  // step 2: write the string
      +
      13261  oa->write_characters(
      +
      13262  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      13263  j.m_value.string->size());
      +
      13264  break;
      +
      13265  }
      +
      13266 
      +
      13267  case value_t::array:
      +
      13268  {
      +
      13269  // step 1: write control byte and the array size
      +
      13270  const auto N = j.m_value.array->size();
      +
      13271  if (N <= 15)
      +
      13272  {
      +
      13273  // fixarray
      +
      13274  write_number(static_cast<std::uint8_t>(0x90 | N));
      +
      13275  }
      +
      13276  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13277  {
      +
      13278  // array 16
      +
      13279  oa->write_character(to_char_type(0xDC));
      +
      13280  write_number(static_cast<std::uint16_t>(N));
      +
      13281  }
      +
      13282  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13283  {
      +
      13284  // array 32
      +
      13285  oa->write_character(to_char_type(0xDD));
      +
      13286  write_number(static_cast<std::uint32_t>(N));
      +
      13287  }
      +
      13288 
      +
      13289  // step 2: write each element
      +
      13290  for (const auto& el : *j.m_value.array)
      +
      13291  {
      +
      13292  write_msgpack(el);
      +
      13293  }
      +
      13294  break;
      +
      13295  }
      +
      13296 
      +
      13297  case value_t::binary:
      +
      13298  {
      +
      13299  // step 0: determine if the binary type has a set subtype to
      +
      13300  // determine whether or not to use the ext or fixext types
      +
      13301  const bool use_ext = j.m_value.binary->has_subtype();
      +
      13302 
      +
      13303  // step 1: write control byte and the byte string length
      +
      13304  const auto N = j.m_value.binary->size();
      +
      13305  if (N <= (std::numeric_limits<std::uint8_t>::max)())
      +
      13306  {
      +
      13307  std::uint8_t output_type{};
      +
      13308  bool fixed = true;
      +
      13309  if (use_ext)
      +
      13310  {
      +
      13311  switch (N)
      +
      13312  {
      +
      13313  case 1:
      +
      13314  output_type = 0xD4; // fixext 1
      +
      13315  break;
      +
      13316  case 2:
      +
      13317  output_type = 0xD5; // fixext 2
      +
      13318  break;
      +
      13319  case 4:
      +
      13320  output_type = 0xD6; // fixext 4
      +
      13321  break;
      +
      13322  case 8:
      +
      13323  output_type = 0xD7; // fixext 8
      +
      13324  break;
      +
      13325  case 16:
      +
      13326  output_type = 0xD8; // fixext 16
      +
      13327  break;
      +
      13328  default:
      +
      13329  output_type = 0xC7; // ext 8
      +
      13330  fixed = false;
      +
      13331  break;
      +
      13332  }
      +
      13333 
      +
      13334  }
      +
      13335  else
      +
      13336  {
      +
      13337  output_type = 0xC4; // bin 8
      +
      13338  fixed = false;
      +
      13339  }
      +
      13340 
      +
      13341  oa->write_character(to_char_type(output_type));
      +
      13342  if (!fixed)
      +
      13343  {
      +
      13344  write_number(static_cast<std::uint8_t>(N));
      +
      13345  }
      +
      13346  }
      +
      13347  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13348  {
      +
      13349  std::uint8_t output_type = use_ext
      +
      13350  ? 0xC8 // ext 16
      +
      13351  : 0xC5; // bin 16
      +
      13352 
      +
      13353  oa->write_character(to_char_type(output_type));
      +
      13354  write_number(static_cast<std::uint16_t>(N));
      +
      13355  }
      +
      13356  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13357  {
      +
      13358  std::uint8_t output_type = use_ext
      +
      13359  ? 0xC9 // ext 32
      +
      13360  : 0xC6; // bin 32
      +
      13361 
      +
      13362  oa->write_character(to_char_type(output_type));
      +
      13363  write_number(static_cast<std::uint32_t>(N));
      +
      13364  }
      +
      13365 
      +
      13366  // step 1.5: if this is an ext type, write the subtype
      +
      13367  if (use_ext)
      +
      13368  {
      +
      13369  write_number(static_cast<std::int8_t>(j.m_value.binary->subtype()));
      +
      13370  }
      +
      13371 
      +
      13372  // step 2: write the byte string
      +
      13373  oa->write_characters(
      +
      13374  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
      +
      13375  N);
      +
      13376 
      +
      13377  break;
      +
      13378  }
      +
      13379 
      +
      13380  case value_t::object:
      +
      13381  {
      +
      13382  // step 1: write control byte and the object size
      +
      13383  const auto N = j.m_value.object->size();
      +
      13384  if (N <= 15)
      +
      13385  {
      +
      13386  // fixmap
      +
      13387  write_number(static_cast<std::uint8_t>(0x80 | (N & 0xF)));
      +
      13388  }
      +
      13389  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
      +
      13390  {
      +
      13391  // map 16
      +
      13392  oa->write_character(to_char_type(0xDE));
      +
      13393  write_number(static_cast<std::uint16_t>(N));
      +
      13394  }
      +
      13395  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
      +
      13396  {
      +
      13397  // map 32
      +
      13398  oa->write_character(to_char_type(0xDF));
      +
      13399  write_number(static_cast<std::uint32_t>(N));
      +
      13400  }
      +
      13401 
      +
      13402  // step 2: write each element
      +
      13403  for (const auto& el : *j.m_value.object)
      +
      13404  {
      +
      13405  write_msgpack(el.first);
      +
      13406  write_msgpack(el.second);
      +
      13407  }
      +
      13408  break;
      +
      13409  }
      +
      13410 
      +
      13411  default:
      +
      13412  break;
      +
      13413  }
      +
      13414  }
      +
      13415 
      +
      13422  void write_ubjson(const BasicJsonType& j, const bool use_count,
      +
      13423  const bool use_type, const bool add_prefix = true)
      +
      13424  {
      +
      13425  switch (j.type())
      +
      13426  {
      +
      13427  case value_t::null:
      +
      13428  {
      +
      13429  if (add_prefix)
      +
      13430  {
      +
      13431  oa->write_character(to_char_type('Z'));
      +
      13432  }
      +
      13433  break;
      +
      13434  }
      +
      13435 
      +
      13436  case value_t::boolean:
      +
      13437  {
      +
      13438  if (add_prefix)
      +
      13439  {
      +
      13440  oa->write_character(j.m_value.boolean
      +
      13441  ? to_char_type('T')
      +
      13442  : to_char_type('F'));
      +
      13443  }
      +
      13444  break;
      +
      13445  }
      +
      13446 
      + +
      13448  {
      +
      13449  write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
      +
      13450  break;
      +
      13451  }
      +
      13452 
      + +
      13454  {
      +
      13455  write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
      +
      13456  break;
      +
      13457  }
      +
      13458 
      +
      13459  case value_t::number_float:
      +
      13460  {
      +
      13461  write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
      +
      13462  break;
      +
      13463  }
      +
      13464 
      +
      13465  case value_t::string:
      +
      13466  {
      +
      13467  if (add_prefix)
      +
      13468  {
      +
      13469  oa->write_character(to_char_type('S'));
      +
      13470  }
      +
      13471  write_number_with_ubjson_prefix(j.m_value.string->size(), true);
      +
      13472  oa->write_characters(
      +
      13473  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
      +
      13474  j.m_value.string->size());
      +
      13475  break;
      +
      13476  }
      +
      13477 
      +
      13478  case value_t::array:
      +
      13479  {
      +
      13480  if (add_prefix)
      +
      13481  {
      +
      13482  oa->write_character(to_char_type('['));
      +
      13483  }
      +
      13484 
      +
      13485  bool prefix_required = true;
      +
      13486  if (use_type && !j.m_value.array->empty())
      +
      13487  {
      +
      13488  JSON_ASSERT(use_count);
      +
      13489  const CharType first_prefix = ubjson_prefix(j.front());
      +
      13490  const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
      +
      13491  [this, first_prefix](const BasicJsonType & v)
      +
      13492  {
      +
      13493  return ubjson_prefix(v) == first_prefix;
      +
      13494  });
      +
      13495 
      +
      13496  if (same_prefix)
      +
      13497  {
      +
      13498  prefix_required = false;
      +
      13499  oa->write_character(to_char_type('$'));
      +
      13500  oa->write_character(first_prefix);
      +
      13501  }
      +
      13502  }
      +
      13503 
      +
      13504  if (use_count)
      +
      13505  {
      +
      13506  oa->write_character(to_char_type('#'));
      +
      13507  write_number_with_ubjson_prefix(j.m_value.array->size(), true);
      +
      13508  }
      +
      13509 
      +
      13510  for (const auto& el : *j.m_value.array)
      +
      13511  {
      +
      13512  write_ubjson(el, use_count, use_type, prefix_required);
      +
      13513  }
      +
      13514 
      +
      13515  if (!use_count)
      +
      13516  {
      +
      13517  oa->write_character(to_char_type(']'));
      +
      13518  }
      +
      13519 
      +
      13520  break;
      +
      13521  }
      +
      13522 
      +
      13523  case value_t::binary:
      +
      13524  {
      +
      13525  if (add_prefix)
      +
      13526  {
      +
      13527  oa->write_character(to_char_type('['));
      +
      13528  }
      +
      13529 
      +
      13530  if (use_type && !j.m_value.binary->empty())
      +
      13531  {
      +
      13532  JSON_ASSERT(use_count);
      +
      13533  oa->write_character(to_char_type('$'));
      +
      13534  oa->write_character('U');
      +
      13535  }
      +
      13536 
      +
      13537  if (use_count)
      +
      13538  {
      +
      13539  oa->write_character(to_char_type('#'));
      +
      13540  write_number_with_ubjson_prefix(j.m_value.binary->size(), true);
      +
      13541  }
      +
      13542 
      +
      13543  if (use_type)
      +
      13544  {
      +
      13545  oa->write_characters(
      +
      13546  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
      +
      13547  j.m_value.binary->size());
      +
      13548  }
      +
      13549  else
      +
      13550  {
      +
      13551  for (size_t i = 0; i < j.m_value.binary->size(); ++i)
      +
      13552  {
      +
      13553  oa->write_character(to_char_type('U'));
      +
      13554  oa->write_character(j.m_value.binary->data()[i]);
      +
      13555  }
      +
      13556  }
      +
      13557 
      +
      13558  if (!use_count)
      +
      13559  {
      +
      13560  oa->write_character(to_char_type(']'));
      +
      13561  }
      +
      13562 
      +
      13563  break;
      +
      13564  }
      +
      13565 
      +
      13566  case value_t::object:
      +
      13567  {
      +
      13568  if (add_prefix)
      +
      13569  {
      +
      13570  oa->write_character(to_char_type('{'));
      +
      13571  }
      +
      13572 
      +
      13573  bool prefix_required = true;
      +
      13574  if (use_type && !j.m_value.object->empty())
      +
      13575  {
      +
      13576  JSON_ASSERT(use_count);
      +
      13577  const CharType first_prefix = ubjson_prefix(j.front());
      +
      13578  const bool same_prefix = std::all_of(j.begin(), j.end(),
      +
      13579  [this, first_prefix](const BasicJsonType & v)
      +
      13580  {
      +
      13581  return ubjson_prefix(v) == first_prefix;
      +
      13582  });
      +
      13583 
      +
      13584  if (same_prefix)
      +
      13585  {
      +
      13586  prefix_required = false;
      +
      13587  oa->write_character(to_char_type('$'));
      +
      13588  oa->write_character(first_prefix);
      +
      13589  }
      +
      13590  }
      +
      13591 
      +
      13592  if (use_count)
      +
      13593  {
      +
      13594  oa->write_character(to_char_type('#'));
      +
      13595  write_number_with_ubjson_prefix(j.m_value.object->size(), true);
      +
      13596  }
      +
      13597 
      +
      13598  for (const auto& el : *j.m_value.object)
      +
      13599  {
      +
      13600  write_number_with_ubjson_prefix(el.first.size(), true);
      +
      13601  oa->write_characters(
      +
      13602  reinterpret_cast<const CharType*>(el.first.c_str()),
      +
      13603  el.first.size());
      +
      13604  write_ubjson(el.second, use_count, use_type, prefix_required);
      +
      13605  }
      +
      13606 
      +
      13607  if (!use_count)
      +
      13608  {
      +
      13609  oa->write_character(to_char_type('}'));
      +
      13610  }
      +
      13611 
      +
      13612  break;
      +
      13613  }
      +
      13614 
      +
      13615  default:
      +
      13616  break;
      +
      13617  }
      +
      13618  }
      +
      13619 
      +
      13620  private:
      +
      13622  // BSON //
      +
      13624 
      +
      13629  static std::size_t calc_bson_entry_header_size(const string_t& name)
      +
      13630  {
      +
      13631  const auto it = name.find(static_cast<typename string_t::value_type>(0));
      +
      13632  if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos))
      +
      13633  {
      + +
      13635  "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")"));
      +
      13636  }
      +
      13637 
      +
      13638  return /*id*/ 1ul + name.size() + /*zero-terminator*/1u;
      +
      13639  }
      +
      13640 
      +
      13644  void write_bson_entry_header(const string_t& name,
      +
      13645  const std::uint8_t element_type)
      +
      13646  {
      +
      13647  oa->write_character(to_char_type(element_type)); // boolean
      +
      13648  oa->write_characters(
      +
      13649  reinterpret_cast<const CharType*>(name.c_str()),
      +
      13650  name.size() + 1u);
      +
      13651  }
      +
      13652 
      +
      13656  void write_bson_boolean(const string_t& name,
      +
      13657  const bool value)
      +
      13658  {
      +
      13659  write_bson_entry_header(name, 0x08);
      +
      13660  oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00));
      +
      13661  }
      +
      13662 
      +
      13666  void write_bson_double(const string_t& name,
      +
      13667  const double value)
      +
      13668  {
      +
      13669  write_bson_entry_header(name, 0x01);
      +
      13670  write_number<double, true>(value);
      +
      13671  }
      +
      13672 
      +
      13676  static std::size_t calc_bson_string_size(const string_t& value)
      +
      13677  {
      +
      13678  return sizeof(std::int32_t) + value.size() + 1ul;
      +
      13679  }
      +
      13680 
      +
      13684  void write_bson_string(const string_t& name,
      +
      13685  const string_t& value)
      +
      13686  {
      +
      13687  write_bson_entry_header(name, 0x02);
      +
      13688 
      +
      13689  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size() + 1ul));
      +
      13690  oa->write_characters(
      +
      13691  reinterpret_cast<const CharType*>(value.c_str()),
      +
      13692  value.size() + 1);
      +
      13693  }
      +
      13694 
      +
      13698  void write_bson_null(const string_t& name)
      +
      13699  {
      +
      13700  write_bson_entry_header(name, 0x0A);
      +
      13701  }
      +
      13702 
      +
      13706  static std::size_t calc_bson_integer_size(const std::int64_t value)
      +
      13707  {
      +
      13708  return (std::numeric_limits<std::int32_t>::min)() <= value && value <= (std::numeric_limits<std::int32_t>::max)()
      +
      13709  ? sizeof(std::int32_t)
      +
      13710  : sizeof(std::int64_t);
      +
      13711  }
      +
      13712 
      +
      13716  void write_bson_integer(const string_t& name,
      +
      13717  const std::int64_t value)
      +
      13718  {
      +
      13719  if ((std::numeric_limits<std::int32_t>::min)() <= value && value <= (std::numeric_limits<std::int32_t>::max)())
      +
      13720  {
      +
      13721  write_bson_entry_header(name, 0x10); // int32
      +
      13722  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
      +
      13723  }
      +
      13724  else
      +
      13725  {
      +
      13726  write_bson_entry_header(name, 0x12); // int64
      +
      13727  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
      +
      13728  }
      +
      13729  }
      +
      13730 
      +
      13734  static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
      +
      13735  {
      +
      13736  return (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      13737  ? sizeof(std::int32_t)
      +
      13738  : sizeof(std::int64_t);
      +
      13739  }
      +
      13740 
      +
      13744  void write_bson_unsigned(const string_t& name,
      +
      13745  const std::uint64_t value)
      +
      13746  {
      +
      13747  if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      13748  {
      +
      13749  write_bson_entry_header(name, 0x10 /* int32 */);
      +
      13750  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
      +
      13751  }
      +
      13752  else if (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
      +
      13753  {
      +
      13754  write_bson_entry_header(name, 0x12 /* int64 */);
      +
      13755  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
      +
      13756  }
      +
      13757  else
      +
      13758  {
      +
      13759  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(value) + " cannot be represented by BSON as it does not fit int64"));
      +
      13760  }
      +
      13761  }
      +
      13762 
      +
      13766  void write_bson_object_entry(const string_t& name,
      +
      13767  const typename BasicJsonType::object_t& value)
      +
      13768  {
      +
      13769  write_bson_entry_header(name, 0x03); // object
      +
      13770  write_bson_object(value);
      +
      13771  }
      +
      13772 
      +
      13776  static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value)
      +
      13777  {
      +
      13778  std::size_t array_index = 0ul;
      +
      13779 
      +
      13780  const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), std::size_t(0), [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el)
      +
      13781  {
      +
      13782  return result + calc_bson_element_size(std::to_string(array_index++), el);
      +
      13783  });
      +
      13784 
      +
      13785  return sizeof(std::int32_t) + embedded_document_size + 1ul;
      +
      13786  }
      +
      13787 
      +
      13791  static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t& value)
      +
      13792  {
      +
      13793  return sizeof(std::int32_t) + value.size() + 1ul;
      +
      13794  }
      +
      13795 
      +
      13799  void write_bson_array(const string_t& name,
      +
      13800  const typename BasicJsonType::array_t& value)
      +
      13801  {
      +
      13802  write_bson_entry_header(name, 0x04); // array
      +
      13803  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_array_size(value)));
      +
      13804 
      +
      13805  std::size_t array_index = 0ul;
      +
      13806 
      +
      13807  for (const auto& el : value)
      +
      13808  {
      +
      13809  write_bson_element(std::to_string(array_index++), el);
      +
      13810  }
      +
      13811 
      +
      13812  oa->write_character(to_char_type(0x00));
      +
      13813  }
      +
      13814 
      +
      13818  void write_bson_binary(const string_t& name,
      +
      13819  const binary_t& value)
      +
      13820  {
      +
      13821  write_bson_entry_header(name, 0x05);
      +
      13822 
      +
      13823  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size()));
      +
      13824  write_number(value.has_subtype() ? value.subtype() : std::uint8_t(0x00));
      +
      13825 
      +
      13826  oa->write_characters(reinterpret_cast<const CharType*>(value.data()), value.size());
      +
      13827  }
      +
      13828 
      +
      13833  static std::size_t calc_bson_element_size(const string_t& name,
      +
      13834  const BasicJsonType& j)
      +
      13835  {
      +
      13836  const auto header_size = calc_bson_entry_header_size(name);
      +
      13837  switch (j.type())
      +
      13838  {
      +
      13839  case value_t::object:
      +
      13840  return header_size + calc_bson_object_size(*j.m_value.object);
      +
      13841 
      +
      13842  case value_t::array:
      +
      13843  return header_size + calc_bson_array_size(*j.m_value.array);
      +
      13844 
      +
      13845  case value_t::binary:
      +
      13846  return header_size + calc_bson_binary_size(*j.m_value.binary);
      +
      13847 
      +
      13848  case value_t::boolean:
      +
      13849  return header_size + 1ul;
      +
      13850 
      +
      13851  case value_t::number_float:
      +
      13852  return header_size + 8ul;
      +
      13853 
      + +
      13855  return header_size + calc_bson_integer_size(j.m_value.number_integer);
      +
      13856 
      + +
      13858  return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned);
      +
      13859 
      +
      13860  case value_t::string:
      +
      13861  return header_size + calc_bson_string_size(*j.m_value.string);
      +
      13862 
      +
      13863  case value_t::null:
      +
      13864  return header_size + 0ul;
      +
      13865 
      +
      13866  // LCOV_EXCL_START
      +
      13867  default:
      +
      13868  JSON_ASSERT(false);
      +
      13869  return 0ul;
      +
      13870  // LCOV_EXCL_STOP
      +
      13871  }
      +
      13872  }
      +
      13873 
      +
      13881  void write_bson_element(const string_t& name,
      +
      13882  const BasicJsonType& j)
      +
      13883  {
      +
      13884  switch (j.type())
      +
      13885  {
      +
      13886  case value_t::object:
      +
      13887  return write_bson_object_entry(name, *j.m_value.object);
      +
      13888 
      +
      13889  case value_t::array:
      +
      13890  return write_bson_array(name, *j.m_value.array);
      +
      13891 
      +
      13892  case value_t::binary:
      +
      13893  return write_bson_binary(name, *j.m_value.binary);
      +
      13894 
      +
      13895  case value_t::boolean:
      +
      13896  return write_bson_boolean(name, j.m_value.boolean);
      +
      13897 
      +
      13898  case value_t::number_float:
      +
      13899  return write_bson_double(name, j.m_value.number_float);
      +
      13900 
      + +
      13902  return write_bson_integer(name, j.m_value.number_integer);
      +
      13903 
      + +
      13905  return write_bson_unsigned(name, j.m_value.number_unsigned);
      +
      13906 
      +
      13907  case value_t::string:
      +
      13908  return write_bson_string(name, *j.m_value.string);
      +
      13909 
      +
      13910  case value_t::null:
      +
      13911  return write_bson_null(name);
      +
      13912 
      +
      13913  // LCOV_EXCL_START
      +
      13914  default:
      +
      13915  JSON_ASSERT(false);
      +
      13916  return;
      +
      13917  // LCOV_EXCL_STOP
      +
      13918  }
      +
      13919  }
      +
      13920 
      +
      13927  static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value)
      +
      13928  {
      +
      13929  std::size_t document_size = std::accumulate(value.begin(), value.end(), std::size_t(0),
      +
      13930  [](size_t result, const typename BasicJsonType::object_t::value_type & el)
      +
      13931  {
      +
      13932  return result += calc_bson_element_size(el.first, el.second);
      +
      13933  });
      +
      13934 
      +
      13935  return sizeof(std::int32_t) + document_size + 1ul;
      +
      13936  }
      +
      13937 
      +
      13942  void write_bson_object(const typename BasicJsonType::object_t& value)
      +
      13943  {
      +
      13944  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_object_size(value)));
      +
      13945 
      +
      13946  for (const auto& el : value)
      +
      13947  {
      +
      13948  write_bson_element(el.first, el.second);
      +
      13949  }
      +
      13950 
      +
      13951  oa->write_character(to_char_type(0x00));
      +
      13952  }
      +
      13953 
      +
      13955  // CBOR //
      +
      13957 
      +
      13958  static constexpr CharType get_cbor_float_prefix(float /*unused*/)
      +
      13959  {
      +
      13960  return to_char_type(0xFA); // Single-Precision Float
      +
      13961  }
      +
      13962 
      +
      13963  static constexpr CharType get_cbor_float_prefix(double /*unused*/)
      +
      13964  {
      +
      13965  return to_char_type(0xFB); // Double-Precision Float
      +
      13966  }
      +
      13967 
      +
      13969  // MsgPack //
      +
      13971 
      +
      13972  static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
      +
      13973  {
      +
      13974  return to_char_type(0xCA); // float 32
      +
      13975  }
      +
      13976 
      +
      13977  static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
      +
      13978  {
      +
      13979  return to_char_type(0xCB); // float 64
      +
      13980  }
      +
      13981 
      +
      13983  // UBJSON //
      +
      13985 
      +
      13986  // UBJSON: write number (floating point)
      +
      13987  template<typename NumberType, typename std::enable_if<
      +
      13988  std::is_floating_point<NumberType>::value, int>::type = 0>
      +
      13989  void write_number_with_ubjson_prefix(const NumberType n,
      +
      13990  const bool add_prefix)
      +
      13991  {
      +
      13992  if (add_prefix)
      +
      13993  {
      +
      13994  oa->write_character(get_ubjson_float_prefix(n));
      +
      13995  }
      +
      13996  write_number(n);
      +
      13997  }
      +
      13998 
      +
      13999  // UBJSON: write number (unsigned integer)
      +
      14000  template<typename NumberType, typename std::enable_if<
      +
      14001  std::is_unsigned<NumberType>::value, int>::type = 0>
      +
      14002  void write_number_with_ubjson_prefix(const NumberType n,
      +
      14003  const bool add_prefix)
      +
      14004  {
      +
      14005  if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
      +
      14006  {
      +
      14007  if (add_prefix)
      +
      14008  {
      +
      14009  oa->write_character(to_char_type('i')); // int8
      +
      14010  }
      +
      14011  write_number(static_cast<std::uint8_t>(n));
      +
      14012  }
      +
      14013  else if (n <= (std::numeric_limits<std::uint8_t>::max)())
      +
      14014  {
      +
      14015  if (add_prefix)
      +
      14016  {
      +
      14017  oa->write_character(to_char_type('U')); // uint8
      +
      14018  }
      +
      14019  write_number(static_cast<std::uint8_t>(n));
      +
      14020  }
      +
      14021  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
      +
      14022  {
      +
      14023  if (add_prefix)
      +
      14024  {
      +
      14025  oa->write_character(to_char_type('I')); // int16
      +
      14026  }
      +
      14027  write_number(static_cast<std::int16_t>(n));
      +
      14028  }
      +
      14029  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      14030  {
      +
      14031  if (add_prefix)
      +
      14032  {
      +
      14033  oa->write_character(to_char_type('l')); // int32
      +
      14034  }
      +
      14035  write_number(static_cast<std::int32_t>(n));
      +
      14036  }
      +
      14037  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
      +
      14038  {
      +
      14039  if (add_prefix)
      +
      14040  {
      +
      14041  oa->write_character(to_char_type('L')); // int64
      +
      14042  }
      +
      14043  write_number(static_cast<std::int64_t>(n));
      +
      14044  }
      +
      14045  else
      +
      14046  {
      +
      14047  if (add_prefix)
      +
      14048  {
      +
      14049  oa->write_character(to_char_type('H')); // high-precision number
      +
      14050  }
      +
      14051 
      +
      14052  const auto number = BasicJsonType(n).dump();
      +
      14053  write_number_with_ubjson_prefix(number.size(), true);
      +
      14054  for (std::size_t i = 0; i < number.size(); ++i)
      +
      14055  {
      +
      14056  oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i])));
      +
      14057  }
      +
      14058  }
      +
      14059  }
      +
      14060 
      +
      14061  // UBJSON: write number (signed integer)
      +
      14062  template < typename NumberType, typename std::enable_if <
      +
      14063  std::is_signed<NumberType>::value&&
      +
      14064  !std::is_floating_point<NumberType>::value, int >::type = 0 >
      +
      14065  void write_number_with_ubjson_prefix(const NumberType n,
      +
      14066  const bool add_prefix)
      +
      14067  {
      +
      14068  if ((std::numeric_limits<std::int8_t>::min)() <= n && n <= (std::numeric_limits<std::int8_t>::max)())
      +
      14069  {
      +
      14070  if (add_prefix)
      +
      14071  {
      +
      14072  oa->write_character(to_char_type('i')); // int8
      +
      14073  }
      +
      14074  write_number(static_cast<std::int8_t>(n));
      +
      14075  }
      +
      14076  else if (static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::min)()) <= n && n <= static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::max)()))
      +
      14077  {
      +
      14078  if (add_prefix)
      +
      14079  {
      +
      14080  oa->write_character(to_char_type('U')); // uint8
      +
      14081  }
      +
      14082  write_number(static_cast<std::uint8_t>(n));
      +
      14083  }
      +
      14084  else if ((std::numeric_limits<std::int16_t>::min)() <= n && n <= (std::numeric_limits<std::int16_t>::max)())
      +
      14085  {
      +
      14086  if (add_prefix)
      +
      14087  {
      +
      14088  oa->write_character(to_char_type('I')); // int16
      +
      14089  }
      +
      14090  write_number(static_cast<std::int16_t>(n));
      +
      14091  }
      +
      14092  else if ((std::numeric_limits<std::int32_t>::min)() <= n && n <= (std::numeric_limits<std::int32_t>::max)())
      +
      14093  {
      +
      14094  if (add_prefix)
      +
      14095  {
      +
      14096  oa->write_character(to_char_type('l')); // int32
      +
      14097  }
      +
      14098  write_number(static_cast<std::int32_t>(n));
      +
      14099  }
      +
      14100  else if ((std::numeric_limits<std::int64_t>::min)() <= n && n <= (std::numeric_limits<std::int64_t>::max)())
      +
      14101  {
      +
      14102  if (add_prefix)
      +
      14103  {
      +
      14104  oa->write_character(to_char_type('L')); // int64
      +
      14105  }
      +
      14106  write_number(static_cast<std::int64_t>(n));
      +
      14107  }
      +
      14108  // LCOV_EXCL_START
      +
      14109  else
      +
      14110  {
      +
      14111  if (add_prefix)
      +
      14112  {
      +
      14113  oa->write_character(to_char_type('H')); // high-precision number
      +
      14114  }
      +
      14115 
      +
      14116  const auto number = BasicJsonType(n).dump();
      +
      14117  write_number_with_ubjson_prefix(number.size(), true);
      +
      14118  for (std::size_t i = 0; i < number.size(); ++i)
      +
      14119  {
      +
      14120  oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i])));
      +
      14121  }
      +
      14122  }
      +
      14123  // LCOV_EXCL_STOP
      +
      14124  }
      +
      14125 
      +
      14129  CharType ubjson_prefix(const BasicJsonType& j) const noexcept
      +
      14130  {
      +
      14131  switch (j.type())
      +
      14132  {
      +
      14133  case value_t::null:
      +
      14134  return 'Z';
      +
      14135 
      +
      14136  case value_t::boolean:
      +
      14137  return j.m_value.boolean ? 'T' : 'F';
      +
      14138 
      + +
      14140  {
      +
      14141  if ((std::numeric_limits<std::int8_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
      +
      14142  {
      +
      14143  return 'i';
      +
      14144  }
      +
      14145  if ((std::numeric_limits<std::uint8_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
      +
      14146  {
      +
      14147  return 'U';
      +
      14148  }
      +
      14149  if ((std::numeric_limits<std::int16_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
      +
      14150  {
      +
      14151  return 'I';
      +
      14152  }
      +
      14153  if ((std::numeric_limits<std::int32_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
      +
      14154  {
      +
      14155  return 'l';
      +
      14156  }
      +
      14157  if ((std::numeric_limits<std::int64_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
      +
      14158  {
      +
      14159  return 'L';
      +
      14160  }
      +
      14161  // anything else is treated as high-precision number
      +
      14162  return 'H'; // LCOV_EXCL_LINE
      +
      14163  }
      +
      14164 
      + +
      14166  {
      +
      14167  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
      +
      14168  {
      +
      14169  return 'i';
      +
      14170  }
      +
      14171  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::uint8_t>::max)()))
      +
      14172  {
      +
      14173  return 'U';
      +
      14174  }
      +
      14175  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
      +
      14176  {
      +
      14177  return 'I';
      +
      14178  }
      +
      14179  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
      +
      14180  {
      +
      14181  return 'l';
      +
      14182  }
      +
      14183  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
      +
      14184  {
      +
      14185  return 'L';
      +
      14186  }
      +
      14187  // anything else is treated as high-precision number
      +
      14188  return 'H'; // LCOV_EXCL_LINE
      +
      14189  }
      +
      14190 
      +
      14191  case value_t::number_float:
      +
      14192  return get_ubjson_float_prefix(j.m_value.number_float);
      +
      14193 
      +
      14194  case value_t::string:
      +
      14195  return 'S';
      +
      14196 
      +
      14197  case value_t::array: // fallthrough
      +
      14198  case value_t::binary:
      +
      14199  return '[';
      +
      14200 
      +
      14201  case value_t::object:
      +
      14202  return '{';
      +
      14203 
      +
      14204  default: // discarded values
      +
      14205  return 'N';
      +
      14206  }
      +
      14207  }
      +
      14208 
      +
      14209  static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
      +
      14210  {
      +
      14211  return 'd'; // float 32
      +
      14212  }
      +
      14213 
      +
      14214  static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
      +
      14215  {
      +
      14216  return 'D'; // float 64
      +
      14217  }
      +
      14218 
      +
      14220  // Utility functions //
      +
      14222 
      +
      14223  /*
      +
      14224  @brief write a number to output input
      +
      14225  @param[in] n number of type @a NumberType
      +
      14226  @tparam NumberType the type of the number
      +
      14227  @tparam OutputIsLittleEndian Set to true if output data is
      +
      14228  required to be little endian
      +
      14229 
      +
      14230  @note This function needs to respect the system's endianess, because bytes
      +
      14231  in CBOR, MessagePack, and UBJSON are stored in network order (big
      +
      14232  endian) and therefore need reordering on little endian systems.
      +
      14233  */
      +
      14234  template<typename NumberType, bool OutputIsLittleEndian = false>
      +
      14235  void write_number(const NumberType n)
      +
      14236  {
      +
      14237  // step 1: write number to array of length NumberType
      +
      14238  std::array<CharType, sizeof(NumberType)> vec;
      +
      14239  std::memcpy(vec.data(), &n, sizeof(NumberType));
      +
      14240 
      +
      14241  // step 2: write array to output (with possible reordering)
      +
      14242  if (is_little_endian != OutputIsLittleEndian)
      +
      14243  {
      +
      14244  // reverse byte order prior to conversion if necessary
      +
      14245  std::reverse(vec.begin(), vec.end());
      +
      14246  }
      +
      14247 
      +
      14248  oa->write_characters(vec.data(), sizeof(NumberType));
      +
      14249  }
      +
      14250 
      +
      14251  void write_compact_float(const number_float_t n, detail::input_format_t format)
      +
      14252  {
      +
      14253  if (static_cast<double>(n) >= static_cast<double>(std::numeric_limits<float>::lowest()) &&
      +
      14254  static_cast<double>(n) <= static_cast<double>((std::numeric_limits<float>::max)()) &&
      +
      14255  static_cast<double>(static_cast<float>(n)) == static_cast<double>(n))
      +
      14256  {
      +
      14257  oa->write_character(format == detail::input_format_t::cbor
      +
      14258  ? get_cbor_float_prefix(static_cast<float>(n))
      +
      14259  : get_msgpack_float_prefix(static_cast<float>(n)));
      +
      14260  write_number(static_cast<float>(n));
      +
      14261  }
      +
      14262  else
      +
      14263  {
      +
      14264  oa->write_character(format == detail::input_format_t::cbor
      +
      14265  ? get_cbor_float_prefix(n)
      +
      14266  : get_msgpack_float_prefix(n));
      +
      14267  write_number(n);
      +
      14268  }
      +
      14269  }
      +
      14270 
      +
      14271  public:
      +
      14272  // The following to_char_type functions are implement the conversion
      +
      14273  // between uint8_t and CharType. In case CharType is not unsigned,
      +
      14274  // such a conversion is required to allow values greater than 128.
      +
      14275  // See <https://github.com/nlohmann/json/issues/1286> for a discussion.
      +
      14276  template < typename C = CharType,
      +
      14277  enable_if_t < std::is_signed<C>::value && std::is_signed<char>::value > * = nullptr >
      +
      14278  static constexpr CharType to_char_type(std::uint8_t x) noexcept
      +
      14279  {
      +
      14280  return *reinterpret_cast<char*>(&x);
      +
      14281  }
      +
      14282 
      +
      14283  template < typename C = CharType,
      +
      14284  enable_if_t < std::is_signed<C>::value && std::is_unsigned<char>::value > * = nullptr >
      +
      14285  static CharType to_char_type(std::uint8_t x) noexcept
      +
      14286  {
      +
      14287  static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t");
      +
      14288  static_assert(std::is_trivial<CharType>::value, "CharType must be trivial");
      +
      14289  CharType result;
      +
      14290  std::memcpy(&result, &x, sizeof(x));
      +
      14291  return result;
      +
      14292  }
      +
      14293 
      +
      14294  template<typename C = CharType,
      + +
      14296  static constexpr CharType to_char_type(std::uint8_t x) noexcept
      +
      14297  {
      +
      14298  return x;
      +
      14299  }
      +
      14300 
      +
      14301  template < typename InputCharType, typename C = CharType,
      +
      14302  enable_if_t <
      +
      14303  std::is_signed<C>::value &&
      +
      14304  std::is_signed<char>::value &&
      +
      14305  std::is_same<char, typename std::remove_cv<InputCharType>::type>::value
      +
      14306  > * = nullptr >
      +
      14307  static constexpr CharType to_char_type(InputCharType x) noexcept
      +
      14308  {
      +
      14309  return x;
      +
      14310  }
      +
      14311 
      +
      14312  private:
      +
      14314  const bool is_little_endian = little_endianess();
      +
      14315 
      +
      14317  output_adapter_t<CharType> oa = nullptr;
      +
      14318 };
      +
      14319 } // namespace detail
      +
      14320 } // namespace nlohmann
      +
      14321 
      +
      14322 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      14323 
      +
      14324 // #include <nlohmann/detail/output/serializer.hpp>
      +
      14325 
      +
      14326 
      +
      14327 #include <algorithm> // reverse, remove, fill, find, none_of
      +
      14328 #include <array> // array
      +
      14329 #include <clocale> // localeconv, lconv
      +
      14330 #include <cmath> // labs, isfinite, isnan, signbit
      +
      14331 #include <cstddef> // size_t, ptrdiff_t
      +
      14332 #include <cstdint> // uint8_t
      +
      14333 #include <cstdio> // snprintf
      +
      14334 #include <limits> // numeric_limits
      +
      14335 #include <string> // string, char_traits
      +
      14336 #include <type_traits> // is_same
      +
      14337 #include <utility> // move
      +
      14338 
      +
      14339 // #include <nlohmann/detail/conversions/to_chars.hpp>
      +
      14340 
      +
      14341 
      +
      14342 #include <array> // array
      +
      14343 #include <cmath> // signbit, isfinite
      +
      14344 #include <cstdint> // intN_t, uintN_t
      +
      14345 #include <cstring> // memcpy, memmove
      +
      14346 #include <limits> // numeric_limits
      +
      14347 #include <type_traits> // conditional
      +
      14348 
      +
      14349 // #include <nlohmann/detail/macro_scope.hpp>
      +
      14350 
      +
      14351 
      +
      14352 namespace nlohmann
      +
      14353 {
      +
      14354 namespace detail
      +
      14355 {
      +
      14356 
      +
      14376 namespace dtoa_impl
      +
      14377 {
      +
      14378 
      +
      14379 template<typename Target, typename Source>
      +
      14380 Target reinterpret_bits(const Source source)
      +
      14381 {
      +
      14382  static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
      +
      14383 
      +
      14384  Target target;
      +
      14385  std::memcpy(&target, &source, sizeof(Source));
      +
      14386  return target;
      +
      14387 }
      +
      14388 
      +
      14389 struct diyfp // f * 2^e
      +
      14390 {
      +
      14391  static constexpr int kPrecision = 64; // = q
      +
      14392 
      +
      14393  std::uint64_t f = 0;
      +
      14394  int e = 0;
      +
      14395 
      +
      14396  constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
      +
      14397 
      +
      14402  static diyfp sub(const diyfp& x, const diyfp& y) noexcept
      +
      14403  {
      +
      14404  JSON_ASSERT(x.e == y.e);
      +
      14405  JSON_ASSERT(x.f >= y.f);
      +
      14406 
      +
      14407  return {x.f - y.f, x.e};
      +
      14408  }
      +
      14409 
      +
      14414  static diyfp mul(const diyfp& x, const diyfp& y) noexcept
      +
      14415  {
      +
      14416  static_assert(kPrecision == 64, "internal error");
      +
      14417 
      +
      14418  // Computes:
      +
      14419  // f = round((x.f * y.f) / 2^q)
      +
      14420  // e = x.e + y.e + q
      +
      14421 
      +
      14422  // Emulate the 64-bit * 64-bit multiplication:
      +
      14423  //
      +
      14424  // p = u * v
      +
      14425  // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
      +
      14426  // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi )
      +
      14427  // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 )
      +
      14428  // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 )
      +
      14429  // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3)
      +
      14430  // = (p0_lo ) + 2^32 (Q ) + 2^64 (H )
      +
      14431  // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H )
      +
      14432  //
      +
      14433  // (Since Q might be larger than 2^32 - 1)
      +
      14434  //
      +
      14435  // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
      +
      14436  //
      +
      14437  // (Q_hi + H does not overflow a 64-bit int)
      +
      14438  //
      +
      14439  // = p_lo + 2^64 p_hi
      +
      14440 
      +
      14441  const std::uint64_t u_lo = x.f & 0xFFFFFFFFu;
      +
      14442  const std::uint64_t u_hi = x.f >> 32u;
      +
      14443  const std::uint64_t v_lo = y.f & 0xFFFFFFFFu;
      +
      14444  const std::uint64_t v_hi = y.f >> 32u;
      +
      14445 
      +
      14446  const std::uint64_t p0 = u_lo * v_lo;
      +
      14447  const std::uint64_t p1 = u_lo * v_hi;
      +
      14448  const std::uint64_t p2 = u_hi * v_lo;
      +
      14449  const std::uint64_t p3 = u_hi * v_hi;
      +
      14450 
      +
      14451  const std::uint64_t p0_hi = p0 >> 32u;
      +
      14452  const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu;
      +
      14453  const std::uint64_t p1_hi = p1 >> 32u;
      +
      14454  const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu;
      +
      14455  const std::uint64_t p2_hi = p2 >> 32u;
      +
      14456 
      +
      14457  std::uint64_t Q = p0_hi + p1_lo + p2_lo;
      +
      14458 
      +
      14459  // The full product might now be computed as
      +
      14460  //
      +
      14461  // p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
      +
      14462  // p_lo = p0_lo + (Q << 32)
      +
      14463  //
      +
      14464  // But in this particular case here, the full p_lo is not required.
      +
      14465  // Effectively we only need to add the highest bit in p_lo to p_hi (and
      +
      14466  // Q_hi + 1 does not overflow).
      +
      14467 
      +
      14468  Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up
      +
      14469 
      +
      14470  const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u);
      +
      14471 
      +
      14472  return {h, x.e + y.e + 64};
      +
      14473  }
      +
      14474 
      +
      14479  static diyfp normalize(diyfp x) noexcept
      +
      14480  {
      +
      14481  JSON_ASSERT(x.f != 0);
      +
      14482 
      +
      14483  while ((x.f >> 63u) == 0)
      +
      14484  {
      +
      14485  x.f <<= 1u;
      +
      14486  x.e--;
      +
      14487  }
      +
      14488 
      +
      14489  return x;
      +
      14490  }
      +
      14491 
      +
      14496  static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
      +
      14497  {
      +
      14498  const int delta = x.e - target_exponent;
      +
      14499 
      +
      14500  JSON_ASSERT(delta >= 0);
      +
      14501  JSON_ASSERT(((x.f << delta) >> delta) == x.f);
      +
      14502 
      +
      14503  return {x.f << delta, target_exponent};
      +
      14504  }
      +
      14505 };
      +
      14506 
      +
      14507 struct boundaries
      +
      14508 {
      +
      14509  diyfp w;
      +
      14510  diyfp minus;
      +
      14511  diyfp plus;
      +
      14512 };
      +
      14513 
      +
      14520 template<typename FloatType>
      +
      14521 boundaries compute_boundaries(FloatType value)
      +
      14522 {
      +
      14523  JSON_ASSERT(std::isfinite(value));
      +
      14524  JSON_ASSERT(value > 0);
      +
      14525 
      +
      14526  // Convert the IEEE representation into a diyfp.
      +
      14527  //
      +
      14528  // If v is denormal:
      +
      14529  // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1))
      +
      14530  // If v is normalized:
      +
      14531  // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
      +
      14532 
      +
      14533  static_assert(std::numeric_limits<FloatType>::is_iec559,
      +
      14534  "internal error: dtoa_short requires an IEEE-754 floating-point implementation");
      +
      14535 
      +
      14536  constexpr int kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
      +
      14537  constexpr int kBias = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
      +
      14538  constexpr int kMinExp = 1 - kBias;
      +
      14539  constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1)
      +
      14540 
      +
      14541  using bits_type = typename std::conditional<kPrecision == 24, std::uint32_t, std::uint64_t >::type;
      +
      14542 
      +
      14543  const std::uint64_t bits = reinterpret_bits<bits_type>(value);
      +
      14544  const std::uint64_t E = bits >> (kPrecision - 1);
      +
      14545  const std::uint64_t F = bits & (kHiddenBit - 1);
      +
      14546 
      +
      14547  const bool is_denormal = E == 0;
      +
      14548  const diyfp v = is_denormal
      +
      14549  ? diyfp(F, kMinExp)
      +
      14550  : diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
      +
      14551 
      +
      14552  // Compute the boundaries m- and m+ of the floating-point value
      +
      14553  // v = f * 2^e.
      +
      14554  //
      +
      14555  // Determine v- and v+, the floating-point predecessor and successor if v,
      +
      14556  // respectively.
      +
      14557  //
      +
      14558  // v- = v - 2^e if f != 2^(p-1) or e == e_min (A)
      +
      14559  // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B)
      +
      14560  //
      +
      14561  // v+ = v + 2^e
      +
      14562  //
      +
      14563  // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
      +
      14564  // between m- and m+ round to v, regardless of how the input rounding
      +
      14565  // algorithm breaks ties.
      +
      14566  //
      +
      14567  // ---+-------------+-------------+-------------+-------------+--- (A)
      +
      14568  // v- m- v m+ v+
      +
      14569  //
      +
      14570  // -----------------+------+------+-------------+-------------+--- (B)
      +
      14571  // v- m- v m+ v+
      +
      14572 
      +
      14573  const bool lower_boundary_is_closer = F == 0 && E > 1;
      +
      14574  const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
      +
      14575  const diyfp m_minus = lower_boundary_is_closer
      +
      14576  ? diyfp(4 * v.f - 1, v.e - 2) // (B)
      +
      14577  : diyfp(2 * v.f - 1, v.e - 1); // (A)
      +
      14578 
      +
      14579  // Determine the normalized w+ = m+.
      +
      14580  const diyfp w_plus = diyfp::normalize(m_plus);
      +
      14581 
      +
      14582  // Determine w- = m- such that e_(w-) = e_(w+).
      +
      14583  const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
      +
      14584 
      +
      14585  return {diyfp::normalize(v), w_minus, w_plus};
      +
      14586 }
      +
      14587 
      +
      14588 // Given normalized diyfp w, Grisu needs to find a (normalized) cached
      +
      14589 // power-of-ten c, such that the exponent of the product c * w = f * 2^e lies
      +
      14590 // within a certain range [alpha, gamma] (Definition 3.2 from [1])
      +
      14591 //
      +
      14592 // alpha <= e = e_c + e_w + q <= gamma
      +
      14593 //
      +
      14594 // or
      +
      14595 //
      +
      14596 // f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q
      +
      14597 // <= f_c * f_w * 2^gamma
      +
      14598 //
      +
      14599 // Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies
      +
      14600 //
      +
      14601 // 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma
      +
      14602 //
      +
      14603 // or
      +
      14604 //
      +
      14605 // 2^(q - 2 + alpha) <= c * w < 2^(q + gamma)
      +
      14606 //
      +
      14607 // The choice of (alpha,gamma) determines the size of the table and the form of
      +
      14608 // the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well
      +
      14609 // in practice:
      +
      14610 //
      +
      14611 // The idea is to cut the number c * w = f * 2^e into two parts, which can be
      +
      14612 // processed independently: An integral part p1, and a fractional part p2:
      +
      14613 //
      +
      14614 // f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e
      +
      14615 // = (f div 2^-e) + (f mod 2^-e) * 2^e
      +
      14616 // = p1 + p2 * 2^e
      +
      14617 //
      +
      14618 // The conversion of p1 into decimal form requires a series of divisions and
      +
      14619 // modulos by (a power of) 10. These operations are faster for 32-bit than for
      +
      14620 // 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be
      +
      14621 // achieved by choosing
      +
      14622 //
      +
      14623 // -e >= 32 or e <= -32 := gamma
      +
      14624 //
      +
      14625 // In order to convert the fractional part
      +
      14626 //
      +
      14627 // p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ...
      +
      14628 //
      +
      14629 // into decimal form, the fraction is repeatedly multiplied by 10 and the digits
      +
      14630 // d[-i] are extracted in order:
      +
      14631 //
      +
      14632 // (10 * p2) div 2^-e = d[-1]
      +
      14633 // (10 * p2) mod 2^-e = d[-2] / 10^1 + ...
      +
      14634 //
      +
      14635 // The multiplication by 10 must not overflow. It is sufficient to choose
      +
      14636 //
      +
      14637 // 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64.
      +
      14638 //
      +
      14639 // Since p2 = f mod 2^-e < 2^-e,
      +
      14640 //
      +
      14641 // -e <= 60 or e >= -60 := alpha
      +
      14642 
      +
      14643 constexpr int kAlpha = -60;
      +
      14644 constexpr int kGamma = -32;
      +
      14645 
      +
      14646 struct cached_power // c = f * 2^e ~= 10^k
      +
      14647 {
      +
      14648  std::uint64_t f;
      +
      14649  int e;
      +
      14650  int k;
      +
      14651 };
      +
      14652 
      +
      14660 inline cached_power get_cached_power_for_binary_exponent(int e)
      +
      14661 {
      +
      14662  // Now
      +
      14663  //
      +
      14664  // alpha <= e_c + e + q <= gamma (1)
      +
      14665  // ==> f_c * 2^alpha <= c * 2^e * 2^q
      +
      14666  //
      +
      14667  // and since the c's are normalized, 2^(q-1) <= f_c,
      +
      14668  //
      +
      14669  // ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
      +
      14670  // ==> 2^(alpha - e - 1) <= c
      +
      14671  //
      +
      14672  // If c were an exact power of ten, i.e. c = 10^k, one may determine k as
      +
      14673  //
      +
      14674  // k = ceil( log_10( 2^(alpha - e - 1) ) )
      +
      14675  // = ceil( (alpha - e - 1) * log_10(2) )
      +
      14676  //
      +
      14677  // From the paper:
      +
      14678  // "In theory the result of the procedure could be wrong since c is rounded,
      +
      14679  // and the computation itself is approximated [...]. In practice, however,
      +
      14680  // this simple function is sufficient."
      +
      14681  //
      +
      14682  // For IEEE double precision floating-point numbers converted into
      +
      14683  // normalized diyfp's w = f * 2^e, with q = 64,
      +
      14684  //
      +
      14685  // e >= -1022 (min IEEE exponent)
      +
      14686  // -52 (p - 1)
      +
      14687  // -52 (p - 1, possibly normalize denormal IEEE numbers)
      +
      14688  // -11 (normalize the diyfp)
      +
      14689  // = -1137
      +
      14690  //
      +
      14691  // and
      +
      14692  //
      +
      14693  // e <= +1023 (max IEEE exponent)
      +
      14694  // -52 (p - 1)
      +
      14695  // -11 (normalize the diyfp)
      +
      14696  // = 960
      +
      14697  //
      +
      14698  // This binary exponent range [-1137,960] results in a decimal exponent
      +
      14699  // range [-307,324]. One does not need to store a cached power for each
      +
      14700  // k in this range. For each such k it suffices to find a cached power
      +
      14701  // such that the exponent of the product lies in [alpha,gamma].
      +
      14702  // This implies that the difference of the decimal exponents of adjacent
      +
      14703  // table entries must be less than or equal to
      +
      14704  //
      +
      14705  // floor( (gamma - alpha) * log_10(2) ) = 8.
      +
      14706  //
      +
      14707  // (A smaller distance gamma-alpha would require a larger table.)
      +
      14708 
      +
      14709  // NB:
      +
      14710  // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
      +
      14711 
      +
      14712  constexpr int kCachedPowersMinDecExp = -300;
      +
      14713  constexpr int kCachedPowersDecStep = 8;
      +
      14714 
      +
      14715  static constexpr std::array<cached_power, 79> kCachedPowers =
      +
      14716  {
      +
      14717  {
      +
      14718  { 0xAB70FE17C79AC6CA, -1060, -300 },
      +
      14719  { 0xFF77B1FCBEBCDC4F, -1034, -292 },
      +
      14720  { 0xBE5691EF416BD60C, -1007, -284 },
      +
      14721  { 0x8DD01FAD907FFC3C, -980, -276 },
      +
      14722  { 0xD3515C2831559A83, -954, -268 },
      +
      14723  { 0x9D71AC8FADA6C9B5, -927, -260 },
      +
      14724  { 0xEA9C227723EE8BCB, -901, -252 },
      +
      14725  { 0xAECC49914078536D, -874, -244 },
      +
      14726  { 0x823C12795DB6CE57, -847, -236 },
      +
      14727  { 0xC21094364DFB5637, -821, -228 },
      +
      14728  { 0x9096EA6F3848984F, -794, -220 },
      +
      14729  { 0xD77485CB25823AC7, -768, -212 },
      +
      14730  { 0xA086CFCD97BF97F4, -741, -204 },
      +
      14731  { 0xEF340A98172AACE5, -715, -196 },
      +
      14732  { 0xB23867FB2A35B28E, -688, -188 },
      +
      14733  { 0x84C8D4DFD2C63F3B, -661, -180 },
      +
      14734  { 0xC5DD44271AD3CDBA, -635, -172 },
      +
      14735  { 0x936B9FCEBB25C996, -608, -164 },
      +
      14736  { 0xDBAC6C247D62A584, -582, -156 },
      +
      14737  { 0xA3AB66580D5FDAF6, -555, -148 },
      +
      14738  { 0xF3E2F893DEC3F126, -529, -140 },
      +
      14739  { 0xB5B5ADA8AAFF80B8, -502, -132 },
      +
      14740  { 0x87625F056C7C4A8B, -475, -124 },
      +
      14741  { 0xC9BCFF6034C13053, -449, -116 },
      +
      14742  { 0x964E858C91BA2655, -422, -108 },
      +
      14743  { 0xDFF9772470297EBD, -396, -100 },
      +
      14744  { 0xA6DFBD9FB8E5B88F, -369, -92 },
      +
      14745  { 0xF8A95FCF88747D94, -343, -84 },
      +
      14746  { 0xB94470938FA89BCF, -316, -76 },
      +
      14747  { 0x8A08F0F8BF0F156B, -289, -68 },
      +
      14748  { 0xCDB02555653131B6, -263, -60 },
      +
      14749  { 0x993FE2C6D07B7FAC, -236, -52 },
      +
      14750  { 0xE45C10C42A2B3B06, -210, -44 },
      +
      14751  { 0xAA242499697392D3, -183, -36 },
      +
      14752  { 0xFD87B5F28300CA0E, -157, -28 },
      +
      14753  { 0xBCE5086492111AEB, -130, -20 },
      +
      14754  { 0x8CBCCC096F5088CC, -103, -12 },
      +
      14755  { 0xD1B71758E219652C, -77, -4 },
      +
      14756  { 0x9C40000000000000, -50, 4 },
      +
      14757  { 0xE8D4A51000000000, -24, 12 },
      +
      14758  { 0xAD78EBC5AC620000, 3, 20 },
      +
      14759  { 0x813F3978F8940984, 30, 28 },
      +
      14760  { 0xC097CE7BC90715B3, 56, 36 },
      +
      14761  { 0x8F7E32CE7BEA5C70, 83, 44 },
      +
      14762  { 0xD5D238A4ABE98068, 109, 52 },
      +
      14763  { 0x9F4F2726179A2245, 136, 60 },
      +
      14764  { 0xED63A231D4C4FB27, 162, 68 },
      +
      14765  { 0xB0DE65388CC8ADA8, 189, 76 },
      +
      14766  { 0x83C7088E1AAB65DB, 216, 84 },
      +
      14767  { 0xC45D1DF942711D9A, 242, 92 },
      +
      14768  { 0x924D692CA61BE758, 269, 100 },
      +
      14769  { 0xDA01EE641A708DEA, 295, 108 },
      +
      14770  { 0xA26DA3999AEF774A, 322, 116 },
      +
      14771  { 0xF209787BB47D6B85, 348, 124 },
      +
      14772  { 0xB454E4A179DD1877, 375, 132 },
      +
      14773  { 0x865B86925B9BC5C2, 402, 140 },
      +
      14774  { 0xC83553C5C8965D3D, 428, 148 },
      +
      14775  { 0x952AB45CFA97A0B3, 455, 156 },
      +
      14776  { 0xDE469FBD99A05FE3, 481, 164 },
      +
      14777  { 0xA59BC234DB398C25, 508, 172 },
      +
      14778  { 0xF6C69A72A3989F5C, 534, 180 },
      +
      14779  { 0xB7DCBF5354E9BECE, 561, 188 },
      +
      14780  { 0x88FCF317F22241E2, 588, 196 },
      +
      14781  { 0xCC20CE9BD35C78A5, 614, 204 },
      +
      14782  { 0x98165AF37B2153DF, 641, 212 },
      +
      14783  { 0xE2A0B5DC971F303A, 667, 220 },
      +
      14784  { 0xA8D9D1535CE3B396, 694, 228 },
      +
      14785  { 0xFB9B7CD9A4A7443C, 720, 236 },
      +
      14786  { 0xBB764C4CA7A44410, 747, 244 },
      +
      14787  { 0x8BAB8EEFB6409C1A, 774, 252 },
      +
      14788  { 0xD01FEF10A657842C, 800, 260 },
      +
      14789  { 0x9B10A4E5E9913129, 827, 268 },
      +
      14790  { 0xE7109BFBA19C0C9D, 853, 276 },
      +
      14791  { 0xAC2820D9623BF429, 880, 284 },
      +
      14792  { 0x80444B5E7AA7CF85, 907, 292 },
      +
      14793  { 0xBF21E44003ACDD2D, 933, 300 },
      +
      14794  { 0x8E679C2F5E44FF8F, 960, 308 },
      +
      14795  { 0xD433179D9C8CB841, 986, 316 },
      +
      14796  { 0x9E19DB92B4E31BA9, 1013, 324 },
      +
      14797  }
      +
      14798  };
      +
      14799 
      +
      14800  // This computation gives exactly the same results for k as
      +
      14801  // k = ceil((kAlpha - e - 1) * 0.30102999566398114)
      +
      14802  // for |e| <= 1500, but doesn't require floating-point operations.
      +
      14803  // NB: log_10(2) ~= 78913 / 2^18
      +
      14804  JSON_ASSERT(e >= -1500);
      +
      14805  JSON_ASSERT(e <= 1500);
      +
      14806  const int f = kAlpha - e - 1;
      +
      14807  const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0);
      +
      14808 
      +
      14809  const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
      +
      14810  JSON_ASSERT(index >= 0);
      +
      14811  JSON_ASSERT(static_cast<std::size_t>(index) < kCachedPowers.size());
      +
      14812 
      +
      14813  const cached_power cached = kCachedPowers[static_cast<std::size_t>(index)];
      +
      14814  JSON_ASSERT(kAlpha <= cached.e + e + 64);
      +
      14815  JSON_ASSERT(kGamma >= cached.e + e + 64);
      +
      14816 
      +
      14817  return cached;
      +
      14818 }
      +
      14819 
      +
      14824 inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
      +
      14825 {
      +
      14826  // LCOV_EXCL_START
      +
      14827  if (n >= 1000000000)
      +
      14828  {
      +
      14829  pow10 = 1000000000;
      +
      14830  return 10;
      +
      14831  }
      +
      14832  // LCOV_EXCL_STOP
      +
      14833  else if (n >= 100000000)
      +
      14834  {
      +
      14835  pow10 = 100000000;
      +
      14836  return 9;
      +
      14837  }
      +
      14838  else if (n >= 10000000)
      +
      14839  {
      +
      14840  pow10 = 10000000;
      +
      14841  return 8;
      +
      14842  }
      +
      14843  else if (n >= 1000000)
      +
      14844  {
      +
      14845  pow10 = 1000000;
      +
      14846  return 7;
      +
      14847  }
      +
      14848  else if (n >= 100000)
      +
      14849  {
      +
      14850  pow10 = 100000;
      +
      14851  return 6;
      +
      14852  }
      +
      14853  else if (n >= 10000)
      +
      14854  {
      +
      14855  pow10 = 10000;
      +
      14856  return 5;
      +
      14857  }
      +
      14858  else if (n >= 1000)
      +
      14859  {
      +
      14860  pow10 = 1000;
      +
      14861  return 4;
      +
      14862  }
      +
      14863  else if (n >= 100)
      +
      14864  {
      +
      14865  pow10 = 100;
      +
      14866  return 3;
      +
      14867  }
      +
      14868  else if (n >= 10)
      +
      14869  {
      +
      14870  pow10 = 10;
      +
      14871  return 2;
      +
      14872  }
      +
      14873  else
      +
      14874  {
      +
      14875  pow10 = 1;
      +
      14876  return 1;
      +
      14877  }
      +
      14878 }
      +
      14879 
      +
      14880 inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta,
      +
      14881  std::uint64_t rest, std::uint64_t ten_k)
      +
      14882 {
      +
      14883  JSON_ASSERT(len >= 1);
      +
      14884  JSON_ASSERT(dist <= delta);
      +
      14885  JSON_ASSERT(rest <= delta);
      +
      14886  JSON_ASSERT(ten_k > 0);
      +
      14887 
      +
      14888  // <--------------------------- delta ---->
      +
      14889  // <---- dist --------->
      +
      14890  // --------------[------------------+-------------------]--------------
      +
      14891  // M- w M+
      +
      14892  //
      +
      14893  // ten_k
      +
      14894  // <------>
      +
      14895  // <---- rest ---->
      +
      14896  // --------------[------------------+----+--------------]--------------
      +
      14897  // w V
      +
      14898  // = buf * 10^k
      +
      14899  //
      +
      14900  // ten_k represents a unit-in-the-last-place in the decimal representation
      +
      14901  // stored in buf.
      +
      14902  // Decrement buf by ten_k while this takes buf closer to w.
      +
      14903 
      +
      14904  // The tests are written in this order to avoid overflow in unsigned
      +
      14905  // integer arithmetic.
      +
      14906 
      +
      14907  while (rest < dist
      +
      14908  && delta - rest >= ten_k
      +
      14909  && (rest + ten_k < dist || dist - rest > rest + ten_k - dist))
      +
      14910  {
      +
      14911  JSON_ASSERT(buf[len - 1] != '0');
      +
      14912  buf[len - 1]--;
      +
      14913  rest += ten_k;
      +
      14914  }
      +
      14915 }
      +
      14916 
      +
      14921 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
      +
      14922  diyfp M_minus, diyfp w, diyfp M_plus)
      +
      14923 {
      +
      14924  static_assert(kAlpha >= -60, "internal error");
      +
      14925  static_assert(kGamma <= -32, "internal error");
      +
      14926 
      +
      14927  // Generates the digits (and the exponent) of a decimal floating-point
      +
      14928  // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
      +
      14929  // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
      +
      14930  //
      +
      14931  // <--------------------------- delta ---->
      +
      14932  // <---- dist --------->
      +
      14933  // --------------[------------------+-------------------]--------------
      +
      14934  // M- w M+
      +
      14935  //
      +
      14936  // Grisu2 generates the digits of M+ from left to right and stops as soon as
      +
      14937  // V is in [M-,M+].
      +
      14938 
      +
      14939  JSON_ASSERT(M_plus.e >= kAlpha);
      +
      14940  JSON_ASSERT(M_plus.e <= kGamma);
      +
      14941 
      +
      14942  std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
      +
      14943  std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e)
      +
      14944 
      +
      14945  // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
      +
      14946  //
      +
      14947  // M+ = f * 2^e
      +
      14948  // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
      +
      14949  // = ((p1 ) * 2^-e + (p2 )) * 2^e
      +
      14950  // = p1 + p2 * 2^e
      +
      14951 
      +
      14952  const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e);
      +
      14953 
      +
      14954  auto p1 = static_cast<std::uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
      +
      14955  std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e
      +
      14956 
      +
      14957  // 1)
      +
      14958  //
      +
      14959  // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
      +
      14960 
      +
      14961  JSON_ASSERT(p1 > 0);
      +
      14962 
      +
      14963  std::uint32_t pow10;
      +
      14964  const int k = find_largest_pow10(p1, pow10);
      +
      14965 
      +
      14966  // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
      +
      14967  //
      +
      14968  // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
      +
      14969  // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1))
      +
      14970  //
      +
      14971  // M+ = p1 + p2 * 2^e
      +
      14972  // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e
      +
      14973  // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
      +
      14974  // = d[k-1] * 10^(k-1) + ( rest) * 2^e
      +
      14975  //
      +
      14976  // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
      +
      14977  //
      +
      14978  // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
      +
      14979  //
      +
      14980  // but stop as soon as
      +
      14981  //
      +
      14982  // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
      +
      14983 
      +
      14984  int n = k;
      +
      14985  while (n > 0)
      +
      14986  {
      +
      14987  // Invariants:
      +
      14988  // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k)
      +
      14989  // pow10 = 10^(n-1) <= p1 < 10^n
      +
      14990  //
      +
      14991  const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1)
      +
      14992  const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1)
      +
      14993  //
      +
      14994  // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
      +
      14995  // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
      +
      14996  //
      +
      14997  JSON_ASSERT(d <= 9);
      +
      14998  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
      +
      14999  //
      +
      15000  // M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
      +
      15001  //
      +
      15002  p1 = r;
      +
      15003  n--;
      +
      15004  //
      +
      15005  // M+ = buffer * 10^n + (p1 + p2 * 2^e)
      +
      15006  // pow10 = 10^n
      +
      15007  //
      +
      15008 
      +
      15009  // Now check if enough digits have been generated.
      +
      15010  // Compute
      +
      15011  //
      +
      15012  // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
      +
      15013  //
      +
      15014  // Note:
      +
      15015  // Since rest and delta share the same exponent e, it suffices to
      +
      15016  // compare the significands.
      +
      15017  const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2;
      +
      15018  if (rest <= delta)
      +
      15019  {
      +
      15020  // V = buffer * 10^n, with M- <= V <= M+.
      +
      15021 
      +
      15022  decimal_exponent += n;
      +
      15023 
      +
      15024  // We may now just stop. But instead look if the buffer could be
      +
      15025  // decremented to bring V closer to w.
      +
      15026  //
      +
      15027  // pow10 = 10^n is now 1 ulp in the decimal representation V.
      +
      15028  // The rounding procedure works with diyfp's with an implicit
      +
      15029  // exponent of e.
      +
      15030  //
      +
      15031  // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
      +
      15032  //
      +
      15033  const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e;
      +
      15034  grisu2_round(buffer, length, dist, delta, rest, ten_n);
      +
      15035 
      +
      15036  return;
      +
      15037  }
      +
      15038 
      +
      15039  pow10 /= 10;
      +
      15040  //
      +
      15041  // pow10 = 10^(n-1) <= p1 < 10^n
      +
      15042  // Invariants restored.
      +
      15043  }
      +
      15044 
      +
      15045  // 2)
      +
      15046  //
      +
      15047  // The digits of the integral part have been generated:
      +
      15048  //
      +
      15049  // M+ = d[k-1]...d[1]d[0] + p2 * 2^e
      +
      15050  // = buffer + p2 * 2^e
      +
      15051  //
      +
      15052  // Now generate the digits of the fractional part p2 * 2^e.
      +
      15053  //
      +
      15054  // Note:
      +
      15055  // No decimal point is generated: the exponent is adjusted instead.
      +
      15056  //
      +
      15057  // p2 actually represents the fraction
      +
      15058  //
      +
      15059  // p2 * 2^e
      +
      15060  // = p2 / 2^-e
      +
      15061  // = d[-1] / 10^1 + d[-2] / 10^2 + ...
      +
      15062  //
      +
      15063  // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
      +
      15064  //
      +
      15065  // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
      +
      15066  // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
      +
      15067  //
      +
      15068  // using
      +
      15069  //
      +
      15070  // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
      +
      15071  // = ( d) * 2^-e + ( r)
      +
      15072  //
      +
      15073  // or
      +
      15074  // 10^m * p2 * 2^e = d + r * 2^e
      +
      15075  //
      +
      15076  // i.e.
      +
      15077  //
      +
      15078  // M+ = buffer + p2 * 2^e
      +
      15079  // = buffer + 10^-m * (d + r * 2^e)
      +
      15080  // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
      +
      15081  //
      +
      15082  // and stop as soon as 10^-m * r * 2^e <= delta * 2^e
      +
      15083 
      +
      15084  JSON_ASSERT(p2 > delta);
      +
      15085 
      +
      15086  int m = 0;
      +
      15087  for (;;)
      +
      15088  {
      +
      15089  // Invariant:
      +
      15090  // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
      +
      15091  // = buffer * 10^-m + 10^-m * (p2 ) * 2^e
      +
      15092  // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e
      +
      15093  // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
      +
      15094  //
      +
      15095  JSON_ASSERT(p2 <= (std::numeric_limits<std::uint64_t>::max)() / 10);
      +
      15096  p2 *= 10;
      +
      15097  const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e
      +
      15098  const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
      +
      15099  //
      +
      15100  // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
      +
      15101  // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
      +
      15102  // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
      +
      15103  //
      +
      15104  JSON_ASSERT(d <= 9);
      +
      15105  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
      +
      15106  //
      +
      15107  // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
      +
      15108  //
      +
      15109  p2 = r;
      +
      15110  m++;
      +
      15111  //
      +
      15112  // M+ = buffer * 10^-m + 10^-m * p2 * 2^e
      +
      15113  // Invariant restored.
      +
      15114 
      +
      15115  // Check if enough digits have been generated.
      +
      15116  //
      +
      15117  // 10^-m * p2 * 2^e <= delta * 2^e
      +
      15118  // p2 * 2^e <= 10^m * delta * 2^e
      +
      15119  // p2 <= 10^m * delta
      +
      15120  delta *= 10;
      +
      15121  dist *= 10;
      +
      15122  if (p2 <= delta)
      +
      15123  {
      +
      15124  break;
      +
      15125  }
      +
      15126  }
      +
      15127 
      +
      15128  // V = buffer * 10^-m, with M- <= V <= M+.
      +
      15129 
      +
      15130  decimal_exponent -= m;
      +
      15131 
      +
      15132  // 1 ulp in the decimal representation is now 10^-m.
      +
      15133  // Since delta and dist are now scaled by 10^m, we need to do the
      +
      15134  // same with ulp in order to keep the units in sync.
      +
      15135  //
      +
      15136  // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
      +
      15137  //
      +
      15138  const std::uint64_t ten_m = one.f;
      +
      15139  grisu2_round(buffer, length, dist, delta, p2, ten_m);
      +
      15140 
      +
      15141  // By construction this algorithm generates the shortest possible decimal
      +
      15142  // number (Loitsch, Theorem 6.2) which rounds back to w.
      +
      15143  // For an input number of precision p, at least
      +
      15144  //
      +
      15145  // N = 1 + ceil(p * log_10(2))
      +
      15146  //
      +
      15147  // decimal digits are sufficient to identify all binary floating-point
      +
      15148  // numbers (Matula, "In-and-Out conversions").
      +
      15149  // This implies that the algorithm does not produce more than N decimal
      +
      15150  // digits.
      +
      15151  //
      +
      15152  // N = 17 for p = 53 (IEEE double precision)
      +
      15153  // N = 9 for p = 24 (IEEE single precision)
      +
      15154 }
      +
      15155 
      + +
      15162 inline void grisu2(char* buf, int& len, int& decimal_exponent,
      +
      15163  diyfp m_minus, diyfp v, diyfp m_plus)
      +
      15164 {
      +
      15165  JSON_ASSERT(m_plus.e == m_minus.e);
      +
      15166  JSON_ASSERT(m_plus.e == v.e);
      +
      15167 
      +
      15168  // --------(-----------------------+-----------------------)-------- (A)
      +
      15169  // m- v m+
      +
      15170  //
      +
      15171  // --------------------(-----------+-----------------------)-------- (B)
      +
      15172  // m- v m+
      +
      15173  //
      +
      15174  // First scale v (and m- and m+) such that the exponent is in the range
      +
      15175  // [alpha, gamma].
      +
      15176 
      +
      15177  const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
      +
      15178 
      +
      15179  const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
      +
      15180 
      +
      15181  // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
      +
      15182  const diyfp w = diyfp::mul(v, c_minus_k);
      +
      15183  const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
      +
      15184  const diyfp w_plus = diyfp::mul(m_plus, c_minus_k);
      +
      15185 
      +
      15186  // ----(---+---)---------------(---+---)---------------(---+---)----
      +
      15187  // w- w w+
      +
      15188  // = c*m- = c*v = c*m+
      +
      15189  //
      +
      15190  // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
      +
      15191  // w+ are now off by a small amount.
      +
      15192  // In fact:
      +
      15193  //
      +
      15194  // w - v * 10^k < 1 ulp
      +
      15195  //
      +
      15196  // To account for this inaccuracy, add resp. subtract 1 ulp.
      +
      15197  //
      +
      15198  // --------+---[---------------(---+---)---------------]---+--------
      +
      15199  // w- M- w M+ w+
      +
      15200  //
      +
      15201  // Now any number in [M-, M+] (bounds included) will round to w when input,
      +
      15202  // regardless of how the input rounding algorithm breaks ties.
      +
      15203  //
      +
      15204  // And digit_gen generates the shortest possible such number in [M-, M+].
      +
      15205  // Note that this does not mean that Grisu2 always generates the shortest
      +
      15206  // possible number in the interval (m-, m+).
      +
      15207  const diyfp M_minus(w_minus.f + 1, w_minus.e);
      +
      15208  const diyfp M_plus (w_plus.f - 1, w_plus.e );
      +
      15209 
      +
      15210  decimal_exponent = -cached.k; // = -(-k) = k
      +
      15211 
      +
      15212  grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
      +
      15213 }
      +
      15214 
      +
      15220 template<typename FloatType>
      + +
      15222 void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)
      +
      15223 {
      +
      15224  static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
      +
      15225  "internal error: not enough precision");
      +
      15226 
      +
      15227  JSON_ASSERT(std::isfinite(value));
      +
      15228  JSON_ASSERT(value > 0);
      +
      15229 
      +
      15230  // If the neighbors (and boundaries) of 'value' are always computed for double-precision
      +
      15231  // numbers, all float's can be recovered using strtod (and strtof). However, the resulting
      +
      15232  // decimal representations are not exactly "short".
      +
      15233  //
      +
      15234  // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars)
      +
      15235  // says "value is converted to a string as if by std::sprintf in the default ("C") locale"
      +
      15236  // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
      +
      15237  // does.
      +
      15238  // On the other hand, the documentation for 'std::to_chars' requires that "parsing the
      +
      15239  // representation using the corresponding std::from_chars function recovers value exactly". That
      +
      15240  // indicates that single precision floating-point numbers should be recovered using
      +
      15241  // 'std::strtof'.
      +
      15242  //
      +
      15243  // NB: If the neighbors are computed for single-precision numbers, there is a single float
      +
      15244  // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
      +
      15245  // value is off by 1 ulp.
      +
      15246 #if 0
      +
      15247  const boundaries w = compute_boundaries(static_cast<double>(value));
      +
      15248 #else
      +
      15249  const boundaries w = compute_boundaries(value);
      +
      15250 #endif
      +
      15251 
      +
      15252  grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
      +
      15253 }
      +
      15254 
      + + +
      15262 inline char* append_exponent(char* buf, int e)
      +
      15263 {
      +
      15264  JSON_ASSERT(e > -1000);
      +
      15265  JSON_ASSERT(e < 1000);
      +
      15266 
      +
      15267  if (e < 0)
      +
      15268  {
      +
      15269  e = -e;
      +
      15270  *buf++ = '-';
      +
      15271  }
      +
      15272  else
      +
      15273  {
      +
      15274  *buf++ = '+';
      +
      15275  }
      +
      15276 
      +
      15277  auto k = static_cast<std::uint32_t>(e);
      +
      15278  if (k < 10)
      +
      15279  {
      +
      15280  // Always print at least two digits in the exponent.
      +
      15281  // This is for compatibility with printf("%g").
      +
      15282  *buf++ = '0';
      +
      15283  *buf++ = static_cast<char>('0' + k);
      +
      15284  }
      +
      15285  else if (k < 100)
      +
      15286  {
      +
      15287  *buf++ = static_cast<char>('0' + k / 10);
      +
      15288  k %= 10;
      +
      15289  *buf++ = static_cast<char>('0' + k);
      +
      15290  }
      +
      15291  else
      +
      15292  {
      +
      15293  *buf++ = static_cast<char>('0' + k / 100);
      +
      15294  k %= 100;
      +
      15295  *buf++ = static_cast<char>('0' + k / 10);
      +
      15296  k %= 10;
      +
      15297  *buf++ = static_cast<char>('0' + k);
      +
      15298  }
      +
      15299 
      +
      15300  return buf;
      +
      15301 }
      +
      15302 
      + + +
      15314 inline char* format_buffer(char* buf, int len, int decimal_exponent,
      +
      15315  int min_exp, int max_exp)
      +
      15316 {
      +
      15317  JSON_ASSERT(min_exp < 0);
      +
      15318  JSON_ASSERT(max_exp > 0);
      +
      15319 
      +
      15320  const int k = len;
      +
      15321  const int n = len + decimal_exponent;
      +
      15322 
      +
      15323  // v = buf * 10^(n-k)
      +
      15324  // k is the length of the buffer (number of decimal digits)
      +
      15325  // n is the position of the decimal point relative to the start of the buffer.
      +
      15326 
      +
      15327  if (k <= n && n <= max_exp)
      +
      15328  {
      +
      15329  // digits[000]
      +
      15330  // len <= max_exp + 2
      +
      15331 
      +
      15332  std::memset(buf + k, '0', static_cast<size_t>(n) - static_cast<size_t>(k));
      +
      15333  // Make it look like a floating-point number (#362, #378)
      +
      15334  buf[n + 0] = '.';
      +
      15335  buf[n + 1] = '0';
      +
      15336  return buf + (static_cast<size_t>(n) + 2);
      +
      15337  }
      +
      15338 
      +
      15339  if (0 < n && n <= max_exp)
      +
      15340  {
      +
      15341  // dig.its
      +
      15342  // len <= max_digits10 + 1
      +
      15343 
      +
      15344  JSON_ASSERT(k > n);
      +
      15345 
      +
      15346  std::memmove(buf + (static_cast<size_t>(n) + 1), buf + n, static_cast<size_t>(k) - static_cast<size_t>(n));
      +
      15347  buf[n] = '.';
      +
      15348  return buf + (static_cast<size_t>(k) + 1U);
      +
      15349  }
      +
      15350 
      +
      15351  if (min_exp < n && n <= 0)
      +
      15352  {
      +
      15353  // 0.[000]digits
      +
      15354  // len <= 2 + (-min_exp - 1) + max_digits10
      +
      15355 
      +
      15356  std::memmove(buf + (2 + static_cast<size_t>(-n)), buf, static_cast<size_t>(k));
      +
      15357  buf[0] = '0';
      +
      15358  buf[1] = '.';
      +
      15359  std::memset(buf + 2, '0', static_cast<size_t>(-n));
      +
      15360  return buf + (2U + static_cast<size_t>(-n) + static_cast<size_t>(k));
      +
      15361  }
      +
      15362 
      +
      15363  if (k == 1)
      +
      15364  {
      +
      15365  // dE+123
      +
      15366  // len <= 1 + 5
      +
      15367 
      +
      15368  buf += 1;
      +
      15369  }
      +
      15370  else
      +
      15371  {
      +
      15372  // d.igitsE+123
      +
      15373  // len <= max_digits10 + 1 + 5
      +
      15374 
      +
      15375  std::memmove(buf + 2, buf + 1, static_cast<size_t>(k) - 1);
      +
      15376  buf[1] = '.';
      +
      15377  buf += 1 + static_cast<size_t>(k);
      +
      15378  }
      +
      15379 
      +
      15380  *buf++ = 'e';
      +
      15381  return append_exponent(buf, n - 1);
      +
      15382 }
      +
      15383 
      +
      15384 } // namespace dtoa_impl
      +
      15385 
      +
      15396 template<typename FloatType>
      + + +
      15399 char* to_chars(char* first, const char* last, FloatType value)
      +
      15400 {
      +
      15401  static_cast<void>(last); // maybe unused - fix warning
      +
      15402  JSON_ASSERT(std::isfinite(value));
      +
      15403 
      +
      15404  // Use signbit(value) instead of (value < 0) since signbit works for -0.
      +
      15405  if (std::signbit(value))
      +
      15406  {
      +
      15407  value = -value;
      +
      15408  *first++ = '-';
      +
      15409  }
      +
      15410 
      +
      15411  if (value == 0) // +-0
      +
      15412  {
      +
      15413  *first++ = '0';
      +
      15414  // Make it look like a floating-point number (#362, #378)
      +
      15415  *first++ = '.';
      +
      15416  *first++ = '0';
      +
      15417  return first;
      +
      15418  }
      +
      15419 
      +
      15420  JSON_ASSERT(last - first >= std::numeric_limits<FloatType>::max_digits10);
      +
      15421 
      +
      15422  // Compute v = buffer * 10^decimal_exponent.
      +
      15423  // The decimal digits are stored in the buffer, which needs to be interpreted
      +
      15424  // as an unsigned decimal integer.
      +
      15425  // len is the length of the buffer, i.e. the number of decimal digits.
      +
      15426  int len = 0;
      +
      15427  int decimal_exponent = 0;
      +
      15428  dtoa_impl::grisu2(first, len, decimal_exponent, value);
      +
      15429 
      +
      15430  JSON_ASSERT(len <= std::numeric_limits<FloatType>::max_digits10);
      +
      15431 
      +
      15432  // Format the buffer like printf("%.*g", prec, value)
      +
      15433  constexpr int kMinExp = -4;
      +
      15434  // Use digits10 here to increase compatibility with version 2.
      +
      15435  constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
      +
      15436 
      +
      15437  JSON_ASSERT(last - first >= kMaxExp + 2);
      +
      15438  JSON_ASSERT(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
      +
      15439  JSON_ASSERT(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
      +
      15440 
      +
      15441  return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
      +
      15442 }
      +
      15443 
      +
      15444 } // namespace detail
      +
      15445 } // namespace nlohmann
      +
      15446 
      +
      15447 // #include <nlohmann/detail/exceptions.hpp>
      +
      15448 
      +
      15449 // #include <nlohmann/detail/macro_scope.hpp>
      +
      15450 
      +
      15451 // #include <nlohmann/detail/meta/cpp_future.hpp>
      +
      15452 
      +
      15453 // #include <nlohmann/detail/output/binary_writer.hpp>
      +
      15454 
      +
      15455 // #include <nlohmann/detail/output/output_adapters.hpp>
      +
      15456 
      +
      15457 // #include <nlohmann/detail/value_t.hpp>
      +
      15458 
      +
      15459 
      +
      15460 namespace nlohmann
      +
      15461 {
      +
      15462 namespace detail
      +
      15463 {
      +
      15465 // serialization //
      +
      15467 
      + +
      15470 {
      +
      15471  strict,
      +
      15472  replace,
      +
      15473  ignore
      +
      15474 };
      +
      15475 
      +
      15476 template<typename BasicJsonType>
      +
      15477 class serializer
      +
      15478 {
      +
      15479  using string_t = typename BasicJsonType::string_t;
      +
      15480  using number_float_t = typename BasicJsonType::number_float_t;
      +
      15481  using number_integer_t = typename BasicJsonType::number_integer_t;
      +
      15482  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      15483  using binary_char_t = typename BasicJsonType::binary_t::value_type;
      +
      15484  static constexpr std::uint8_t UTF8_ACCEPT = 0;
      +
      15485  static constexpr std::uint8_t UTF8_REJECT = 1;
      +
      15486 
      +
      15487  public:
      +
      15493  serializer(output_adapter_t<char> s, const char ichar,
      +
      15494  error_handler_t error_handler_ = error_handler_t::strict)
      +
      15495  : o(std::move(s))
      +
      15496  , loc(std::localeconv())
      +
      15497  , thousands_sep(loc->thousands_sep == nullptr ? '\0' : std::char_traits<char>::to_char_type(* (loc->thousands_sep)))
      +
      15498  , decimal_point(loc->decimal_point == nullptr ? '\0' : std::char_traits<char>::to_char_type(* (loc->decimal_point)))
      +
      15499  , indent_char(ichar)
      +
      15500  , indent_string(512, indent_char)
      +
      15501  , error_handler(error_handler_)
      +
      15502  {}
      +
      15503 
      +
      15504  // delete because of pointer members
      +
      15505  serializer(const serializer&) = delete;
      +
      15506  serializer& operator=(const serializer&) = delete;
      +
      15507  serializer(serializer&&) = delete;
      +
      15508  serializer& operator=(serializer&&) = delete;
      +
      15509  ~serializer() = default;
      +
      15510 
      +
      15533  void dump(const BasicJsonType& val,
      +
      15534  const bool pretty_print,
      +
      15535  const bool ensure_ascii,
      +
      15536  const unsigned int indent_step,
      +
      15537  const unsigned int current_indent = 0)
      +
      15538  {
      +
      15539  switch (val.m_type)
      +
      15540  {
      +
      15541  case value_t::object:
      +
      15542  {
      +
      15543  if (val.m_value.object->empty())
      +
      15544  {
      +
      15545  o->write_characters("{}", 2);
      +
      15546  return;
      +
      15547  }
      +
      15548 
      +
      15549  if (pretty_print)
      +
      15550  {
      +
      15551  o->write_characters("{\n", 2);
      +
      15552 
      +
      15553  // variable to hold indentation for recursive calls
      +
      15554  const auto new_indent = current_indent + indent_step;
      +
      15555  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
      +
      15556  {
      +
      15557  indent_string.resize(indent_string.size() * 2, ' ');
      +
      15558  }
      +
      15559 
      +
      15560  // first n-1 elements
      +
      15561  auto i = val.m_value.object->cbegin();
      +
      15562  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
      +
      15563  {
      +
      15564  o->write_characters(indent_string.c_str(), new_indent);
      +
      15565  o->write_character('\"');
      +
      15566  dump_escaped(i->first, ensure_ascii);
      +
      15567  o->write_characters("\": ", 3);
      +
      15568  dump(i->second, true, ensure_ascii, indent_step, new_indent);
      +
      15569  o->write_characters(",\n", 2);
      +
      15570  }
      +
      15571 
      +
      15572  // last element
      +
      15573  JSON_ASSERT(i != val.m_value.object->cend());
      +
      15574  JSON_ASSERT(std::next(i) == val.m_value.object->cend());
      +
      15575  o->write_characters(indent_string.c_str(), new_indent);
      +
      15576  o->write_character('\"');
      +
      15577  dump_escaped(i->first, ensure_ascii);
      +
      15578  o->write_characters("\": ", 3);
      +
      15579  dump(i->second, true, ensure_ascii, indent_step, new_indent);
      +
      15580 
      +
      15581  o->write_character('\n');
      +
      15582  o->write_characters(indent_string.c_str(), current_indent);
      +
      15583  o->write_character('}');
      +
      15584  }
      +
      15585  else
      +
      15586  {
      +
      15587  o->write_character('{');
      +
      15588 
      +
      15589  // first n-1 elements
      +
      15590  auto i = val.m_value.object->cbegin();
      +
      15591  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
      +
      15592  {
      +
      15593  o->write_character('\"');
      +
      15594  dump_escaped(i->first, ensure_ascii);
      +
      15595  o->write_characters("\":", 2);
      +
      15596  dump(i->second, false, ensure_ascii, indent_step, current_indent);
      +
      15597  o->write_character(',');
      +
      15598  }
      +
      15599 
      +
      15600  // last element
      +
      15601  JSON_ASSERT(i != val.m_value.object->cend());
      +
      15602  JSON_ASSERT(std::next(i) == val.m_value.object->cend());
      +
      15603  o->write_character('\"');
      +
      15604  dump_escaped(i->first, ensure_ascii);
      +
      15605  o->write_characters("\":", 2);
      +
      15606  dump(i->second, false, ensure_ascii, indent_step, current_indent);
      +
      15607 
      +
      15608  o->write_character('}');
      +
      15609  }
      +
      15610 
      +
      15611  return;
      +
      15612  }
      +
      15613 
      +
      15614  case value_t::array:
      +
      15615  {
      +
      15616  if (val.m_value.array->empty())
      +
      15617  {
      +
      15618  o->write_characters("[]", 2);
      +
      15619  return;
      +
      15620  }
      +
      15621 
      +
      15622  if (pretty_print)
      +
      15623  {
      +
      15624  o->write_characters("[\n", 2);
      +
      15625 
      +
      15626  // variable to hold indentation for recursive calls
      +
      15627  const auto new_indent = current_indent + indent_step;
      +
      15628  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
      +
      15629  {
      +
      15630  indent_string.resize(indent_string.size() * 2, ' ');
      +
      15631  }
      +
      15632 
      +
      15633  // first n-1 elements
      +
      15634  for (auto i = val.m_value.array->cbegin();
      +
      15635  i != val.m_value.array->cend() - 1; ++i)
      +
      15636  {
      +
      15637  o->write_characters(indent_string.c_str(), new_indent);
      +
      15638  dump(*i, true, ensure_ascii, indent_step, new_indent);
      +
      15639  o->write_characters(",\n", 2);
      +
      15640  }
      +
      15641 
      +
      15642  // last element
      +
      15643  JSON_ASSERT(!val.m_value.array->empty());
      +
      15644  o->write_characters(indent_string.c_str(), new_indent);
      +
      15645  dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
      +
      15646 
      +
      15647  o->write_character('\n');
      +
      15648  o->write_characters(indent_string.c_str(), current_indent);
      +
      15649  o->write_character(']');
      +
      15650  }
      +
      15651  else
      +
      15652  {
      +
      15653  o->write_character('[');
      +
      15654 
      +
      15655  // first n-1 elements
      +
      15656  for (auto i = val.m_value.array->cbegin();
      +
      15657  i != val.m_value.array->cend() - 1; ++i)
      +
      15658  {
      +
      15659  dump(*i, false, ensure_ascii, indent_step, current_indent);
      +
      15660  o->write_character(',');
      +
      15661  }
      +
      15662 
      +
      15663  // last element
      +
      15664  JSON_ASSERT(!val.m_value.array->empty());
      +
      15665  dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
      +
      15666 
      +
      15667  o->write_character(']');
      +
      15668  }
      +
      15669 
      +
      15670  return;
      +
      15671  }
      +
      15672 
      +
      15673  case value_t::string:
      +
      15674  {
      +
      15675  o->write_character('\"');
      +
      15676  dump_escaped(*val.m_value.string, ensure_ascii);
      +
      15677  o->write_character('\"');
      +
      15678  return;
      +
      15679  }
      +
      15680 
      +
      15681  case value_t::binary:
      +
      15682  {
      +
      15683  if (pretty_print)
      +
      15684  {
      +
      15685  o->write_characters("{\n", 2);
      +
      15686 
      +
      15687  // variable to hold indentation for recursive calls
      +
      15688  const auto new_indent = current_indent + indent_step;
      +
      15689  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
      +
      15690  {
      +
      15691  indent_string.resize(indent_string.size() * 2, ' ');
      +
      15692  }
      +
      15693 
      +
      15694  o->write_characters(indent_string.c_str(), new_indent);
      +
      15695 
      +
      15696  o->write_characters("\"bytes\": [", 10);
      +
      15697 
      +
      15698  if (!val.m_value.binary->empty())
      +
      15699  {
      +
      15700  for (auto i = val.m_value.binary->cbegin();
      +
      15701  i != val.m_value.binary->cend() - 1; ++i)
      +
      15702  {
      +
      15703  dump_integer(*i);
      +
      15704  o->write_characters(", ", 2);
      +
      15705  }
      +
      15706  dump_integer(val.m_value.binary->back());
      +
      15707  }
      +
      15708 
      +
      15709  o->write_characters("],\n", 3);
      +
      15710  o->write_characters(indent_string.c_str(), new_indent);
      +
      15711 
      +
      15712  o->write_characters("\"subtype\": ", 11);
      +
      15713  if (val.m_value.binary->has_subtype())
      +
      15714  {
      +
      15715  dump_integer(val.m_value.binary->subtype());
      +
      15716  }
      +
      15717  else
      +
      15718  {
      +
      15719  o->write_characters("null", 4);
      +
      15720  }
      +
      15721  o->write_character('\n');
      +
      15722  o->write_characters(indent_string.c_str(), current_indent);
      +
      15723  o->write_character('}');
      +
      15724  }
      +
      15725  else
      +
      15726  {
      +
      15727  o->write_characters("{\"bytes\":[", 10);
      +
      15728 
      +
      15729  if (!val.m_value.binary->empty())
      +
      15730  {
      +
      15731  for (auto i = val.m_value.binary->cbegin();
      +
      15732  i != val.m_value.binary->cend() - 1; ++i)
      +
      15733  {
      +
      15734  dump_integer(*i);
      +
      15735  o->write_character(',');
      +
      15736  }
      +
      15737  dump_integer(val.m_value.binary->back());
      +
      15738  }
      +
      15739 
      +
      15740  o->write_characters("],\"subtype\":", 12);
      +
      15741  if (val.m_value.binary->has_subtype())
      +
      15742  {
      +
      15743  dump_integer(val.m_value.binary->subtype());
      +
      15744  o->write_character('}');
      +
      15745  }
      +
      15746  else
      +
      15747  {
      +
      15748  o->write_characters("null}", 5);
      +
      15749  }
      +
      15750  }
      +
      15751  return;
      +
      15752  }
      +
      15753 
      +
      15754  case value_t::boolean:
      +
      15755  {
      +
      15756  if (val.m_value.boolean)
      +
      15757  {
      +
      15758  o->write_characters("true", 4);
      +
      15759  }
      +
      15760  else
      +
      15761  {
      +
      15762  o->write_characters("false", 5);
      +
      15763  }
      +
      15764  return;
      +
      15765  }
      +
      15766 
      + +
      15768  {
      +
      15769  dump_integer(val.m_value.number_integer);
      +
      15770  return;
      +
      15771  }
      +
      15772 
      + +
      15774  {
      +
      15775  dump_integer(val.m_value.number_unsigned);
      +
      15776  return;
      +
      15777  }
      +
      15778 
      +
      15779  case value_t::number_float:
      +
      15780  {
      +
      15781  dump_float(val.m_value.number_float);
      +
      15782  return;
      +
      15783  }
      +
      15784 
      +
      15785  case value_t::discarded:
      +
      15786  {
      +
      15787  o->write_characters("<discarded>", 11);
      +
      15788  return;
      +
      15789  }
      +
      15790 
      +
      15791  case value_t::null:
      +
      15792  {
      +
      15793  o->write_characters("null", 4);
      +
      15794  return;
      +
      15795  }
      +
      15796 
      +
      15797  default: // LCOV_EXCL_LINE
      +
      15798  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      15799  }
      +
      15800  }
      +
      15801 
      +
      15802  private:
      +
      15817  void dump_escaped(const string_t& s, const bool ensure_ascii)
      +
      15818  {
      +
      15819  std::uint32_t codepoint;
      +
      15820  std::uint8_t state = UTF8_ACCEPT;
      +
      15821  std::size_t bytes = 0; // number of bytes written to string_buffer
      +
      15822 
      +
      15823  // number of bytes written at the point of the last valid byte
      +
      15824  std::size_t bytes_after_last_accept = 0;
      +
      15825  std::size_t undumped_chars = 0;
      +
      15826 
      +
      15827  for (std::size_t i = 0; i < s.size(); ++i)
      +
      15828  {
      +
      15829  const auto byte = static_cast<uint8_t>(s[i]);
      +
      15830 
      +
      15831  switch (decode(state, codepoint, byte))
      +
      15832  {
      +
      15833  case UTF8_ACCEPT: // decode found a new code point
      +
      15834  {
      +
      15835  switch (codepoint)
      +
      15836  {
      +
      15837  case 0x08: // backspace
      +
      15838  {
      +
      15839  string_buffer[bytes++] = '\\';
      +
      15840  string_buffer[bytes++] = 'b';
      +
      15841  break;
      +
      15842  }
      +
      15843 
      +
      15844  case 0x09: // horizontal tab
      +
      15845  {
      +
      15846  string_buffer[bytes++] = '\\';
      +
      15847  string_buffer[bytes++] = 't';
      +
      15848  break;
      +
      15849  }
      +
      15850 
      +
      15851  case 0x0A: // newline
      +
      15852  {
      +
      15853  string_buffer[bytes++] = '\\';
      +
      15854  string_buffer[bytes++] = 'n';
      +
      15855  break;
      +
      15856  }
      +
      15857 
      +
      15858  case 0x0C: // formfeed
      +
      15859  {
      +
      15860  string_buffer[bytes++] = '\\';
      +
      15861  string_buffer[bytes++] = 'f';
      +
      15862  break;
      +
      15863  }
      +
      15864 
      +
      15865  case 0x0D: // carriage return
      +
      15866  {
      +
      15867  string_buffer[bytes++] = '\\';
      +
      15868  string_buffer[bytes++] = 'r';
      +
      15869  break;
      +
      15870  }
      +
      15871 
      +
      15872  case 0x22: // quotation mark
      +
      15873  {
      +
      15874  string_buffer[bytes++] = '\\';
      +
      15875  string_buffer[bytes++] = '\"';
      +
      15876  break;
      +
      15877  }
      +
      15878 
      +
      15879  case 0x5C: // reverse solidus
      +
      15880  {
      +
      15881  string_buffer[bytes++] = '\\';
      +
      15882  string_buffer[bytes++] = '\\';
      +
      15883  break;
      +
      15884  }
      +
      15885 
      +
      15886  default:
      +
      15887  {
      +
      15888  // escape control characters (0x00..0x1F) or, if
      +
      15889  // ensure_ascii parameter is used, non-ASCII characters
      +
      15890  if ((codepoint <= 0x1F) || (ensure_ascii && (codepoint >= 0x7F)))
      +
      15891  {
      +
      15892  if (codepoint <= 0xFFFF)
      +
      15893  {
      +
      15894  (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x",
      +
      15895  static_cast<std::uint16_t>(codepoint));
      +
      15896  bytes += 6;
      +
      15897  }
      +
      15898  else
      +
      15899  {
      +
      15900  (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
      +
      15901  static_cast<std::uint16_t>(0xD7C0u + (codepoint >> 10u)),
      +
      15902  static_cast<std::uint16_t>(0xDC00u + (codepoint & 0x3FFu)));
      +
      15903  bytes += 12;
      +
      15904  }
      +
      15905  }
      +
      15906  else
      +
      15907  {
      +
      15908  // copy byte to buffer (all previous bytes
      +
      15909  // been copied have in default case above)
      +
      15910  string_buffer[bytes++] = s[i];
      +
      15911  }
      +
      15912  break;
      +
      15913  }
      +
      15914  }
      +
      15915 
      +
      15916  // write buffer and reset index; there must be 13 bytes
      +
      15917  // left, as this is the maximal number of bytes to be
      +
      15918  // written ("\uxxxx\uxxxx\0") for one code point
      +
      15919  if (string_buffer.size() - bytes < 13)
      +
      15920  {
      +
      15921  o->write_characters(string_buffer.data(), bytes);
      +
      15922  bytes = 0;
      +
      15923  }
      +
      15924 
      +
      15925  // remember the byte position of this accept
      +
      15926  bytes_after_last_accept = bytes;
      +
      15927  undumped_chars = 0;
      +
      15928  break;
      +
      15929  }
      +
      15930 
      +
      15931  case UTF8_REJECT: // decode found invalid UTF-8 byte
      +
      15932  {
      +
      15933  switch (error_handler)
      +
      15934  {
      + +
      15936  {
      +
      15937  std::string sn(3, '\0');
      +
      15938  (std::snprintf)(&sn[0], sn.size(), "%.2X", byte);
      +
      15939  JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn));
      +
      15940  }
      +
      15941 
      + + +
      15944  {
      +
      15945  // in case we saw this character the first time, we
      +
      15946  // would like to read it again, because the byte
      +
      15947  // may be OK for itself, but just not OK for the
      +
      15948  // previous sequence
      +
      15949  if (undumped_chars > 0)
      +
      15950  {
      +
      15951  --i;
      +
      15952  }
      +
      15953 
      +
      15954  // reset length buffer to the last accepted index;
      +
      15955  // thus removing/ignoring the invalid characters
      +
      15956  bytes = bytes_after_last_accept;
      +
      15957 
      +
      15958  if (error_handler == error_handler_t::replace)
      +
      15959  {
      +
      15960  // add a replacement character
      +
      15961  if (ensure_ascii)
      +
      15962  {
      +
      15963  string_buffer[bytes++] = '\\';
      +
      15964  string_buffer[bytes++] = 'u';
      +
      15965  string_buffer[bytes++] = 'f';
      +
      15966  string_buffer[bytes++] = 'f';
      +
      15967  string_buffer[bytes++] = 'f';
      +
      15968  string_buffer[bytes++] = 'd';
      +
      15969  }
      +
      15970  else
      +
      15971  {
      +
      15972  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xEF');
      +
      15973  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBF');
      +
      15974  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBD');
      +
      15975  }
      +
      15976 
      +
      15977  // write buffer and reset index; there must be 13 bytes
      +
      15978  // left, as this is the maximal number of bytes to be
      +
      15979  // written ("\uxxxx\uxxxx\0") for one code point
      +
      15980  if (string_buffer.size() - bytes < 13)
      +
      15981  {
      +
      15982  o->write_characters(string_buffer.data(), bytes);
      +
      15983  bytes = 0;
      +
      15984  }
      +
      15985 
      +
      15986  bytes_after_last_accept = bytes;
      +
      15987  }
      +
      15988 
      +
      15989  undumped_chars = 0;
      +
      15990 
      +
      15991  // continue processing the string
      +
      15992  state = UTF8_ACCEPT;
      +
      15993  break;
      +
      15994  }
      +
      15995 
      +
      15996  default: // LCOV_EXCL_LINE
      +
      15997  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      15998  }
      +
      15999  break;
      +
      16000  }
      +
      16001 
      +
      16002  default: // decode found yet incomplete multi-byte code point
      +
      16003  {
      +
      16004  if (!ensure_ascii)
      +
      16005  {
      +
      16006  // code point will not be escaped - copy byte to buffer
      +
      16007  string_buffer[bytes++] = s[i];
      +
      16008  }
      +
      16009  ++undumped_chars;
      +
      16010  break;
      +
      16011  }
      +
      16012  }
      +
      16013  }
      +
      16014 
      +
      16015  // we finished processing the string
      +
      16016  if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT))
      +
      16017  {
      +
      16018  // write buffer
      +
      16019  if (bytes > 0)
      +
      16020  {
      +
      16021  o->write_characters(string_buffer.data(), bytes);
      +
      16022  }
      +
      16023  }
      +
      16024  else
      +
      16025  {
      +
      16026  // we finish reading, but do not accept: string was incomplete
      +
      16027  switch (error_handler)
      +
      16028  {
      + +
      16030  {
      +
      16031  std::string sn(3, '\0');
      +
      16032  (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast<std::uint8_t>(s.back()));
      +
      16033  JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn));
      +
      16034  }
      +
      16035 
      + +
      16037  {
      +
      16038  // write all accepted bytes
      +
      16039  o->write_characters(string_buffer.data(), bytes_after_last_accept);
      +
      16040  break;
      +
      16041  }
      +
      16042 
      + +
      16044  {
      +
      16045  // write all accepted bytes
      +
      16046  o->write_characters(string_buffer.data(), bytes_after_last_accept);
      +
      16047  // add a replacement character
      +
      16048  if (ensure_ascii)
      +
      16049  {
      +
      16050  o->write_characters("\\ufffd", 6);
      +
      16051  }
      +
      16052  else
      +
      16053  {
      +
      16054  o->write_characters("\xEF\xBF\xBD", 3);
      +
      16055  }
      +
      16056  break;
      +
      16057  }
      +
      16058 
      +
      16059  default: // LCOV_EXCL_LINE
      +
      16060  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      16061  }
      +
      16062  }
      +
      16063  }
      +
      16064 
      +
      16073  inline unsigned int count_digits(number_unsigned_t x) noexcept
      +
      16074  {
      +
      16075  unsigned int n_digits = 1;
      +
      16076  for (;;)
      +
      16077  {
      +
      16078  if (x < 10)
      +
      16079  {
      +
      16080  return n_digits;
      +
      16081  }
      +
      16082  if (x < 100)
      +
      16083  {
      +
      16084  return n_digits + 1;
      +
      16085  }
      +
      16086  if (x < 1000)
      +
      16087  {
      +
      16088  return n_digits + 2;
      +
      16089  }
      +
      16090  if (x < 10000)
      +
      16091  {
      +
      16092  return n_digits + 3;
      +
      16093  }
      +
      16094  x = x / 10000u;
      +
      16095  n_digits += 4;
      +
      16096  }
      +
      16097  }
      +
      16098 
      +
      16108  template < typename NumberType, detail::enable_if_t <
      +
      16109  std::is_same<NumberType, number_unsigned_t>::value ||
      +
      16110  std::is_same<NumberType, number_integer_t>::value ||
      +
      16111  std::is_same<NumberType, binary_char_t>::value,
      +
      16112  int > = 0 >
      +
      16113  void dump_integer(NumberType x)
      +
      16114  {
      +
      16115  static constexpr std::array<std::array<char, 2>, 100> digits_to_99
      +
      16116  {
      +
      16117  {
      +
      16118  {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}},
      +
      16119  {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}},
      +
      16120  {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}},
      +
      16121  {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}},
      +
      16122  {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}},
      +
      16123  {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}},
      +
      16124  {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}},
      +
      16125  {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}},
      +
      16126  {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}},
      +
      16127  {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}},
      +
      16128  }
      +
      16129  };
      +
      16130 
      +
      16131  // special case for "0"
      +
      16132  if (x == 0)
      +
      16133  {
      +
      16134  o->write_character('0');
      +
      16135  return;
      +
      16136  }
      +
      16137 
      +
      16138  // use a pointer to fill the buffer
      +
      16139  auto buffer_ptr = number_buffer.begin();
      +
      16140 
      +
      16141  const bool is_negative = std::is_same<NumberType, number_integer_t>::value && !(x >= 0); // see issue #755
      +
      16142  number_unsigned_t abs_value;
      +
      16143 
      +
      16144  unsigned int n_chars;
      +
      16145 
      +
      16146  if (is_negative)
      +
      16147  {
      +
      16148  *buffer_ptr = '-';
      +
      16149  abs_value = remove_sign(static_cast<number_integer_t>(x));
      +
      16150 
      +
      16151  // account one more byte for the minus sign
      +
      16152  n_chars = 1 + count_digits(abs_value);
      +
      16153  }
      +
      16154  else
      +
      16155  {
      +
      16156  abs_value = static_cast<number_unsigned_t>(x);
      +
      16157  n_chars = count_digits(abs_value);
      +
      16158  }
      +
      16159 
      +
      16160  // spare 1 byte for '\0'
      +
      16161  JSON_ASSERT(n_chars < number_buffer.size() - 1);
      +
      16162 
      +
      16163  // jump to the end to generate the string from backward
      +
      16164  // so we later avoid reversing the result
      +
      16165  buffer_ptr += n_chars;
      +
      16166 
      +
      16167  // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu
      +
      16168  // See: https://www.youtube.com/watch?v=o4-CwDo2zpg
      +
      16169  while (abs_value >= 100)
      +
      16170  {
      +
      16171  const auto digits_index = static_cast<unsigned>((abs_value % 100));
      +
      16172  abs_value /= 100;
      +
      16173  *(--buffer_ptr) = digits_to_99[digits_index][1];
      +
      16174  *(--buffer_ptr) = digits_to_99[digits_index][0];
      +
      16175  }
      +
      16176 
      +
      16177  if (abs_value >= 10)
      +
      16178  {
      +
      16179  const auto digits_index = static_cast<unsigned>(abs_value);
      +
      16180  *(--buffer_ptr) = digits_to_99[digits_index][1];
      +
      16181  *(--buffer_ptr) = digits_to_99[digits_index][0];
      +
      16182  }
      +
      16183  else
      +
      16184  {
      +
      16185  *(--buffer_ptr) = static_cast<char>('0' + abs_value);
      +
      16186  }
      +
      16187 
      +
      16188  o->write_characters(number_buffer.data(), n_chars);
      +
      16189  }
      +
      16190 
      +
      16199  void dump_float(number_float_t x)
      +
      16200  {
      +
      16201  // NaN / inf
      +
      16202  if (!std::isfinite(x))
      +
      16203  {
      +
      16204  o->write_characters("null", 4);
      +
      16205  return;
      +
      16206  }
      +
      16207 
      +
      16208  // If number_float_t is an IEEE-754 single or double precision number,
      +
      16209  // use the Grisu2 algorithm to produce short numbers which are
      +
      16210  // guaranteed to round-trip, using strtof and strtod, resp.
      +
      16211  //
      +
      16212  // NB: The test below works if <long double> == <double>.
      +
      16213  static constexpr bool is_ieee_single_or_double
      +
      16214  = (std::numeric_limits<number_float_t>::is_iec559 && std::numeric_limits<number_float_t>::digits == 24 && std::numeric_limits<number_float_t>::max_exponent == 128) ||
      +
      16215  (std::numeric_limits<number_float_t>::is_iec559 && std::numeric_limits<number_float_t>::digits == 53 && std::numeric_limits<number_float_t>::max_exponent == 1024);
      +
      16216 
      +
      16217  dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
      +
      16218  }
      +
      16219 
      +
      16220  void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
      +
      16221  {
      +
      16222  char* begin = number_buffer.data();
      +
      16223  char* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
      +
      16224 
      +
      16225  o->write_characters(begin, static_cast<size_t>(end - begin));
      +
      16226  }
      +
      16227 
      +
      16228  void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
      +
      16229  {
      +
      16230  // get number of digits for a float -> text -> float round-trip
      +
      16231  static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
      +
      16232 
      +
      16233  // the actual conversion
      +
      16234  std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
      +
      16235 
      +
      16236  // negative value indicates an error
      +
      16237  JSON_ASSERT(len > 0);
      +
      16238  // check if buffer was large enough
      +
      16239  JSON_ASSERT(static_cast<std::size_t>(len) < number_buffer.size());
      +
      16240 
      +
      16241  // erase thousands separator
      +
      16242  if (thousands_sep != '\0')
      +
      16243  {
      +
      16244  const auto end = std::remove(number_buffer.begin(),
      +
      16245  number_buffer.begin() + len, thousands_sep);
      +
      16246  std::fill(end, number_buffer.end(), '\0');
      +
      16247  JSON_ASSERT((end - number_buffer.begin()) <= len);
      +
      16248  len = (end - number_buffer.begin());
      +
      16249  }
      +
      16250 
      +
      16251  // convert decimal point to '.'
      +
      16252  if (decimal_point != '\0' && decimal_point != '.')
      +
      16253  {
      +
      16254  const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
      +
      16255  if (dec_pos != number_buffer.end())
      +
      16256  {
      +
      16257  *dec_pos = '.';
      +
      16258  }
      +
      16259  }
      +
      16260 
      +
      16261  o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
      +
      16262 
      +
      16263  // determine if need to append ".0"
      +
      16264  const bool value_is_int_like =
      +
      16265  std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
      +
      16266  [](char c)
      +
      16267  {
      +
      16268  return c == '.' || c == 'e';
      +
      16269  });
      +
      16270 
      +
      16271  if (value_is_int_like)
      +
      16272  {
      +
      16273  o->write_characters(".0", 2);
      +
      16274  }
      +
      16275  }
      +
      16276 
      +
      16298  static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept
      +
      16299  {
      +
      16300  static const std::array<std::uint8_t, 400> utf8d =
      +
      16301  {
      +
      16302  {
      +
      16303  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
      +
      16304  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
      +
      16305  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
      +
      16306  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
      +
      16307  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
      +
      16308  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
      +
      16309  8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF
      +
      16310  0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
      +
      16311  0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
      +
      16312  0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
      +
      16313  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
      +
      16314  1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
      +
      16315  1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
      +
      16316  1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
      +
      16317  }
      +
      16318  };
      +
      16319 
      +
      16320  const std::uint8_t type = utf8d[byte];
      +
      16321 
      +
      16322  codep = (state != UTF8_ACCEPT)
      +
      16323  ? (byte & 0x3fu) | (codep << 6u)
      +
      16324  : (0xFFu >> type) & (byte);
      +
      16325 
      +
      16326  std::size_t index = 256u + static_cast<size_t>(state) * 16u + static_cast<size_t>(type);
      +
      16327  JSON_ASSERT(index < 400);
      +
      16328  state = utf8d[index];
      +
      16329  return state;
      +
      16330  }
      +
      16331 
      +
      16332  /*
      +
      16333  * Overload to make the compiler happy while it is instantiating
      +
      16334  * dump_integer for number_unsigned_t.
      +
      16335  * Must never be called.
      +
      16336  */
      +
      16337  number_unsigned_t remove_sign(number_unsigned_t x)
      +
      16338  {
      +
      16339  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      16340  return x; // LCOV_EXCL_LINE
      +
      16341  }
      +
      16342 
      +
      16343  /*
      +
      16344  * Helper function for dump_integer
      +
      16345  *
      +
      16346  * This function takes a negative signed integer and returns its absolute
      +
      16347  * value as unsigned integer. The plus/minus shuffling is necessary as we can
      +
      16348  * not directly remove the sign of an arbitrary signed integer as the
      +
      16349  * absolute values of INT_MIN and INT_MAX are usually not the same. See
      +
      16350  * #1708 for details.
      +
      16351  */
      +
      16352  inline number_unsigned_t remove_sign(number_integer_t x) noexcept
      +
      16353  {
      +
      16354  JSON_ASSERT(x < 0 && x < (std::numeric_limits<number_integer_t>::max)());
      +
      16355  return static_cast<number_unsigned_t>(-(x + 1)) + 1;
      +
      16356  }
      +
      16357 
      +
      16358  private:
      +
      16360  output_adapter_t<char> o = nullptr;
      +
      16361 
      +
      16363  std::array<char, 64> number_buffer{{}};
      +
      16364 
      +
      16366  const std::lconv* loc = nullptr;
      +
      16368  const char thousands_sep = '\0';
      +
      16370  const char decimal_point = '\0';
      +
      16371 
      +
      16373  std::array<char, 512> string_buffer{{}};
      +
      16374 
      +
      16376  const char indent_char;
      +
      16378  string_t indent_string;
      +
      16379 
      +
      16381  const error_handler_t error_handler;
      +
      16382 };
      +
      16383 } // namespace detail
      +
      16384 } // namespace nlohmann
      +
      16385 
      +
      16386 // #include <nlohmann/detail/value_t.hpp>
      +
      16387 
      +
      16388 // #include <nlohmann/json_fwd.hpp>
      +
      16389 
      +
      16390 // #include <nlohmann/ordered_map.hpp>
      +
      16391 
      +
      16392 
      +
      16393 #include <functional> // less
      +
      16394 #include <memory> // allocator
      +
      16395 #include <utility> // pair
      +
      16396 #include <vector> // vector
      +
      16397 
      +
      16398 namespace nlohmann
      +
      16399 {
      +
      16400 
      +
      16403 template <class Key, class T, class IgnoredLess = std::less<Key>,
      +
      16404  class Allocator = std::allocator<std::pair<const Key, T>>>
      +
      16405  struct ordered_map : std::vector<std::pair<const Key, T>, Allocator>
      +
      16406 {
      +
      16407  using key_type = Key;
      +
      16408  using mapped_type = T;
      +
      16409  using Container = std::vector<std::pair<const Key, T>, Allocator>;
      +
      16410  using typename Container::iterator;
      +
      16411  using typename Container::const_iterator;
      +
      16412  using typename Container::size_type;
      +
      16413  using typename Container::value_type;
      +
      16414 
      +
      16415  // Explicit constructors instead of `using Container::Container`
      +
      16416  // otherwise older compilers choke on it (GCC <= 5.5, xcode <= 9.4)
      +
      16417  ordered_map(const Allocator& alloc = Allocator()) : Container{alloc} {}
      +
      16418  template <class It>
      +
      16419  ordered_map(It first, It last, const Allocator& alloc = Allocator())
      +
      16420  : Container{first, last, alloc} {}
      +
      16421  ordered_map(std::initializer_list<T> init, const Allocator& alloc = Allocator() )
      +
      16422  : Container{init, alloc} {}
      +
      16423 
      +
      16424  std::pair<iterator, bool> emplace(const key_type& key, T&& t)
      +
      16425  {
      +
      16426  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16427  {
      +
      16428  if (it->first == key)
      +
      16429  {
      +
      16430  return {it, false};
      +
      16431  }
      +
      16432  }
      +
      16433  Container::emplace_back(key, t);
      +
      16434  return {--this->end(), true};
      +
      16435  }
      +
      16436 
      +
      16437  T& operator[](const Key& key)
      +
      16438  {
      +
      16439  return emplace(key, T{}).first->second;
      +
      16440  }
      +
      16441 
      +
      16442  const T& operator[](const Key& key) const
      +
      16443  {
      +
      16444  return at(key);
      +
      16445  }
      +
      16446 
      +
      16447  T& at(const Key& key)
      +
      16448  {
      +
      16449  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16450  {
      +
      16451  if (it->first == key)
      +
      16452  {
      +
      16453  return it->second;
      +
      16454  }
      +
      16455  }
      +
      16456 
      +
      16457  throw std::out_of_range("key not found");
      +
      16458  }
      +
      16459 
      +
      16460  const T& at(const Key& key) const
      +
      16461  {
      +
      16462  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16463  {
      +
      16464  if (it->first == key)
      +
      16465  {
      +
      16466  return it->second;
      +
      16467  }
      +
      16468  }
      +
      16469 
      +
      16470  throw std::out_of_range("key not found");
      +
      16471  }
      +
      16472 
      +
      16473  size_type erase(const Key& key)
      +
      16474  {
      +
      16475  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16476  {
      +
      16477  if (it->first == key)
      +
      16478  {
      +
      16479  // Since we cannot move const Keys, re-construct them in place
      +
      16480  for (auto next = it; ++next != this->end(); ++it)
      +
      16481  {
      +
      16482  it->~value_type(); // Destroy but keep allocation
      +
      16483  new (&*it) value_type{std::move(*next)};
      +
      16484  }
      +
      16485  Container::pop_back();
      +
      16486  return 1;
      +
      16487  }
      +
      16488  }
      +
      16489  return 0;
      +
      16490  }
      +
      16491 
      +
      16492  iterator erase(iterator pos)
      +
      16493  {
      +
      16494  auto it = pos;
      +
      16495 
      +
      16496  // Since we cannot move const Keys, re-construct them in place
      +
      16497  for (auto next = it; ++next != this->end(); ++it)
      +
      16498  {
      +
      16499  it->~value_type(); // Destroy but keep allocation
      +
      16500  new (&*it) value_type{std::move(*next)};
      +
      16501  }
      +
      16502  Container::pop_back();
      +
      16503  return pos;
      +
      16504  }
      +
      16505 
      +
      16506  size_type count(const Key& key) const
      +
      16507  {
      +
      16508  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16509  {
      +
      16510  if (it->first == key)
      +
      16511  {
      +
      16512  return 1;
      +
      16513  }
      +
      16514  }
      +
      16515  return 0;
      +
      16516  }
      +
      16517 
      +
      16518  iterator find(const Key& key)
      +
      16519  {
      +
      16520  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16521  {
      +
      16522  if (it->first == key)
      +
      16523  {
      +
      16524  return it;
      +
      16525  }
      +
      16526  }
      +
      16527  return Container::end();
      +
      16528  }
      +
      16529 
      +
      16530  const_iterator find(const Key& key) const
      +
      16531  {
      +
      16532  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16533  {
      +
      16534  if (it->first == key)
      +
      16535  {
      +
      16536  return it;
      +
      16537  }
      +
      16538  }
      +
      16539  return Container::end();
      +
      16540  }
      +
      16541 
      +
      16542  std::pair<iterator, bool> insert( value_type&& value )
      +
      16543  {
      +
      16544  return emplace(value.first, std::move(value.second));
      +
      16545  }
      +
      16546 
      +
      16547  std::pair<iterator, bool> insert( const value_type& value )
      +
      16548  {
      +
      16549  for (auto it = this->begin(); it != this->end(); ++it)
      +
      16550  {
      +
      16551  if (it->first == value.first)
      +
      16552  {
      +
      16553  return {it, false};
      +
      16554  }
      +
      16555  }
      +
      16556  Container::push_back(value);
      +
      16557  return {--this->end(), true};
      +
      16558  }
      +
      16559 };
      +
      16560 
      +
      16561 } // namespace nlohmann
      +
      16562 
      +
      16563 
      +
      16569 namespace nlohmann
      +
      16570 {
      +
      16571 
      + +
      16657 class basic_json
      +
      16658 {
      +
      16659  private:
      +
      16660  template<detail::value_t> friend struct detail::external_constructor;
      +
      16661  friend ::nlohmann::json_pointer<basic_json>;
      +
      16662 
      +
      16663  template<typename BasicJsonType, typename InputType>
      +
      16664  friend class ::nlohmann::detail::parser;
      +
      16665  friend ::nlohmann::detail::serializer<basic_json>;
      +
      16666  template<typename BasicJsonType>
      +
      16667  friend class ::nlohmann::detail::iter_impl;
      +
      16668  template<typename BasicJsonType, typename CharType>
      +
      16669  friend class ::nlohmann::detail::binary_writer;
      +
      16670  template<typename BasicJsonType, typename InputType, typename SAX>
      +
      16671  friend class ::nlohmann::detail::binary_reader;
      +
      16672  template<typename BasicJsonType>
      +
      16673  friend class ::nlohmann::detail::json_sax_dom_parser;
      +
      16674  template<typename BasicJsonType>
      +
      16675  friend class ::nlohmann::detail::json_sax_dom_callback_parser;
      +
      16676 
      +
      16678  using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
      +
      16679 
      +
      16680  // convenience aliases for types residing in namespace detail;
      + +
      16682 
      +
      16683  template<typename InputAdapterType>
      +
      16684  static ::nlohmann::detail::parser<basic_json, InputAdapterType> parser(
      +
      16685  InputAdapterType adapter,
      + +
      16687  const bool allow_exceptions = true,
      +
      16688  const bool ignore_comments = false
      +
      16689  )
      +
      16690  {
      +
      16691  return ::nlohmann::detail::parser<basic_json, InputAdapterType>(std::move(adapter),
      +
      16692  std::move(cb), allow_exceptions, ignore_comments);
      +
      16693  }
      +
      16694 
      +
      16695  using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t;
      +
      16696  template<typename BasicJsonType>
      +
      16697  using internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType>;
      +
      16698  template<typename BasicJsonType>
      + +
      16700  template<typename Iterator>
      +
      16701  using iteration_proxy = ::nlohmann::detail::iteration_proxy<Iterator>;
      +
      16702  template<typename Base> using json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator<Base>;
      +
      16703 
      +
      16704  template<typename CharType>
      + +
      16706 
      +
      16707  template<typename InputType>
      + +
      16709  template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
      +
      16710 
      +
      16711  using serializer = ::nlohmann::detail::serializer<basic_json>;
      +
      16712 
      +
      16713  public:
      + + +
      16717  template<typename T, typename SFINAE>
      +
      16718  using json_serializer = JSONSerializer<T, SFINAE>;
      + + +
      16724  using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
      +
      16725 
      + + +
      16729 
      +
      16731  // exceptions //
      +
      16733 
      +
      16737 
      + + + + + + +
      16750 
      +
      16752 
      +
      16753 
      +
      16755  // container types //
      +
      16757 
      +
      16762 
      + +
      16765 
      + +
      16769  using const_reference = const value_type&;
      +
      16770 
      +
      16772  using difference_type = std::ptrdiff_t;
      +
      16774  using size_type = std::size_t;
      +
      16775 
      +
      16777  using allocator_type = AllocatorType<basic_json>;
      +
      16778 
      +
      16780  using pointer = typename std::allocator_traits<allocator_type>::pointer;
      +
      16782  using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
      +
      16783 
      + + + + +
      16792 
      +
      16794 
      +
      16795 
      + +
      16800  {
      +
      16801  return allocator_type();
      +
      16802  }
      +
      16803 
      + +
      16831  static basic_json meta()
      +
      16832  {
      +
      16833  basic_json result;
      +
      16834 
      +
      16835  result["copyright"] = "(C) 2013-2020 Niels Lohmann";
      +
      16836  result["name"] = "JSON for Modern C++";
      +
      16837  result["url"] = "https://github.com/nlohmann/json";
      +
      16838  result["version"]["string"] =
      + + + +
      16842  result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
      +
      16843  result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
      +
      16844  result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
      +
      16845 
      +
      16846 #ifdef _WIN32
      +
      16847  result["platform"] = "win32";
      +
      16848 #elif defined __linux__
      +
      16849  result["platform"] = "linux";
      +
      16850 #elif defined __APPLE__
      +
      16851  result["platform"] = "apple";
      +
      16852 #elif defined __unix__
      +
      16853  result["platform"] = "unix";
      +
      16854 #else
      +
      16855  result["platform"] = "unknown";
      +
      16856 #endif
      +
      16857 
      +
      16858 #if defined(__ICC) || defined(__INTEL_COMPILER)
      +
      16859  result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
      +
      16860 #elif defined(__clang__)
      +
      16861  result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
      +
      16862 #elif defined(__GNUC__) || defined(__GNUG__)
      +
      16863  result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
      +
      16864 #elif defined(__HP_cc) || defined(__HP_aCC)
      +
      16865  result["compiler"] = "hp"
      +
      16866 #elif defined(__IBMCPP__)
      +
      16867  result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
      +
      16868 #elif defined(_MSC_VER)
      +
      16869  result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
      +
      16870 #elif defined(__PGI)
      +
      16871  result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
      +
      16872 #elif defined(__SUNPRO_CC)
      +
      16873  result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
      +
      16874 #else
      +
      16875  result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
      +
      16876 #endif
      +
      16877 
      +
      16878 #ifdef __cplusplus
      +
      16879  result["compiler"]["c++"] = std::to_string(__cplusplus);
      +
      16880 #else
      +
      16881  result["compiler"]["c++"] = "unknown";
      +
      16882 #endif
      +
      16883  return result;
      +
      16884  }
      +
      16885 
      +
      16886 
      +
      16888  // JSON value data types //
      +
      16890 
      +
      16895 
      +
      16896 #if defined(JSON_HAS_CPP_14)
      +
      16897  // Use transparent comparator if possible, combined with perfect forwarding
      +
      16898  // on find() and count() calls prevents unnecessary string construction.
      +
      16899  using object_comparator_t = std::less<>;
      +
      16900 #else
      +
      16901  using object_comparator_t = std::less<StringType>;
      +
      16902 #endif
      +
      16903 
      +
      16987  using object_t = ObjectType<StringType,
      +
      16988  basic_json,
      + +
      16990  AllocatorType<std::pair<const StringType,
      + +
      16992 
      +
      17037  using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
      +
      17038 
      +
      17090  using string_t = StringType;
      +
      17091 
      +
      17116  using boolean_t = BooleanType;
      +
      17117 
      +
      17188  using number_integer_t = NumberIntegerType;
      +
      17189 
      +
      17259  using number_unsigned_t = NumberUnsignedType;
      +
      17260 
      +
      17327  using number_float_t = NumberFloatType;
      +
      17328 
      + +
      17400 
      +
      17401  private:
      +
      17402 
      +
      17404  template<typename T, typename... Args>
      + +
      17406  static T* create(Args&& ... args)
      +
      17407  {
      +
      17408  AllocatorType<T> alloc;
      +
      17409  using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
      +
      17410 
      +
      17411  auto deleter = [&](T * object)
      +
      17412  {
      +
      17413  AllocatorTraits::deallocate(alloc, object, 1);
      +
      17414  };
      +
      17415  std::unique_ptr<T, decltype(deleter)> object(AllocatorTraits::allocate(alloc, 1), deleter);
      +
      17416  AllocatorTraits::construct(alloc, object.get(), std::forward<Args>(args)...);
      +
      17417  JSON_ASSERT(object != nullptr);
      +
      17418  return object.release();
      +
      17419  }
      +
      17420 
      +
      17422  // JSON value storage //
      +
      17424 
      +
      17450  union json_value
      +
      17451  {
      +
      17453  object_t* object;
      +
      17455  array_t* array;
      +
      17457  string_t* string;
      +
      17459  binary_t* binary;
      +
      17461  boolean_t boolean;
      +
      17463  number_integer_t number_integer;
      +
      17465  number_unsigned_t number_unsigned;
      +
      17467  number_float_t number_float;
      +
      17468 
      +
      17470  json_value() = default;
      +
      17472  json_value(boolean_t v) noexcept : boolean(v) {}
      +
      17474  json_value(number_integer_t v) noexcept : number_integer(v) {}
      +
      17476  json_value(number_unsigned_t v) noexcept : number_unsigned(v) {}
      +
      17478  json_value(number_float_t v) noexcept : number_float(v) {}
      +
      17480  json_value(value_t t)
      +
      17481  {
      +
      17482  switch (t)
      +
      17483  {
      +
      17484  case value_t::object:
      +
      17485  {
      +
      17486  object = create<object_t>();
      +
      17487  break;
      +
      17488  }
      +
      17489 
      +
      17490  case value_t::array:
      +
      17491  {
      +
      17492  array = create<array_t>();
      +
      17493  break;
      +
      17494  }
      +
      17495 
      +
      17496  case value_t::string:
      +
      17497  {
      +
      17498  string = create<string_t>("");
      +
      17499  break;
      +
      17500  }
      +
      17501 
      +
      17502  case value_t::binary:
      +
      17503  {
      +
      17504  binary = create<binary_t>();
      +
      17505  break;
      +
      17506  }
      +
      17507 
      +
      17508  case value_t::boolean:
      +
      17509  {
      +
      17510  boolean = boolean_t(false);
      +
      17511  break;
      +
      17512  }
      +
      17513 
      + +
      17515  {
      + +
      17517  break;
      +
      17518  }
      +
      17519 
      + +
      17521  {
      + +
      17523  break;
      +
      17524  }
      +
      17525 
      +
      17526  case value_t::number_float:
      +
      17527  {
      + +
      17529  break;
      +
      17530  }
      +
      17531 
      +
      17532  case value_t::null:
      +
      17533  {
      +
      17534  object = nullptr; // silence warning, see #821
      +
      17535  break;
      +
      17536  }
      +
      17537 
      +
      17538  default:
      +
      17539  {
      +
      17540  object = nullptr; // silence warning, see #821
      + +
      17542  {
      +
      17543  JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.9.1")); // LCOV_EXCL_LINE
      +
      17544  }
      +
      17545  break;
      +
      17546  }
      +
      17547  }
      +
      17548  }
      +
      17549 
      +
      17551  json_value(const string_t& value)
      +
      17552  {
      +
      17553  string = create<string_t>(value);
      +
      17554  }
      +
      17555 
      +
      17557  json_value(string_t&& value)
      +
      17558  {
      +
      17559  string = create<string_t>(std::move(value));
      +
      17560  }
      +
      17561 
      +
      17563  json_value(const object_t& value)
      +
      17564  {
      +
      17565  object = create<object_t>(value);
      +
      17566  }
      +
      17567 
      +
      17569  json_value(object_t&& value)
      +
      17570  {
      +
      17571  object = create<object_t>(std::move(value));
      +
      17572  }
      +
      17573 
      +
      17575  json_value(const array_t& value)
      +
      17576  {
      +
      17577  array = create<array_t>(value);
      +
      17578  }
      +
      17579 
      +
      17581  json_value(array_t&& value)
      +
      17582  {
      +
      17583  array = create<array_t>(std::move(value));
      +
      17584  }
      +
      17585 
      +
      17587  json_value(const typename binary_t::container_type& value)
      +
      17588  {
      +
      17589  binary = create<binary_t>(value);
      +
      17590  }
      +
      17591 
      +
      17593  json_value(typename binary_t::container_type&& value)
      +
      17594  {
      +
      17595  binary = create<binary_t>(std::move(value));
      +
      17596  }
      +
      17597 
      +
      17599  json_value(const binary_t& value)
      +
      17600  {
      +
      17601  binary = create<binary_t>(value);
      +
      17602  }
      +
      17603 
      +
      17605  json_value(binary_t&& value)
      +
      17606  {
      +
      17607  binary = create<binary_t>(std::move(value));
      +
      17608  }
      +
      17609 
      +
      17610  void destroy(value_t t) noexcept
      +
      17611  {
      +
      17612  // flatten the current json_value to a heap-allocated stack
      +
      17613  std::vector<basic_json> stack;
      +
      17614 
      +
      17615  // move the top-level items to stack
      +
      17616  if (t == value_t::array)
      +
      17617  {
      +
      17618  stack.reserve(array->size());
      +
      17619  std::move(array->begin(), array->end(), std::back_inserter(stack));
      +
      17620  }
      +
      17621  else if (t == value_t::object)
      +
      17622  {
      +
      17623  stack.reserve(object->size());
      +
      17624  for (auto&& it : *object)
      +
      17625  {
      +
      17626  stack.push_back(std::move(it.second));
      +
      17627  }
      +
      17628  }
      +
      17629 
      +
      17630  while (!stack.empty())
      +
      17631  {
      +
      17632  // move the last item to local variable to be processed
      +
      17633  basic_json current_item(std::move(stack.back()));
      +
      17634  stack.pop_back();
      +
      17635 
      +
      17636  // if current_item is array/object, move
      +
      17637  // its children to the stack to be processed later
      +
      17638  if (current_item.is_array())
      +
      17639  {
      +
      17640  std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(),
      +
      17641  std::back_inserter(stack));
      +
      17642 
      +
      17643  current_item.m_value.array->clear();
      +
      17644  }
      +
      17645  else if (current_item.is_object())
      +
      17646  {
      +
      17647  for (auto&& it : *current_item.m_value.object)
      +
      17648  {
      +
      17649  stack.push_back(std::move(it.second));
      +
      17650  }
      +
      17651 
      +
      17652  current_item.m_value.object->clear();
      +
      17653  }
      +
      17654 
      +
      17655  // it's now safe that current_item get destructed
      +
      17656  // since it doesn't have any children
      +
      17657  }
      +
      17658 
      +
      17659  switch (t)
      +
      17660  {
      +
      17661  case value_t::object:
      +
      17662  {
      +
      17663  AllocatorType<object_t> alloc;
      +
      17664  std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
      +
      17665  std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
      +
      17666  break;
      +
      17667  }
      +
      17668 
      +
      17669  case value_t::array:
      +
      17670  {
      +
      17671  AllocatorType<array_t> alloc;
      +
      17672  std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
      +
      17673  std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
      +
      17674  break;
      +
      17675  }
      +
      17676 
      +
      17677  case value_t::string:
      +
      17678  {
      +
      17679  AllocatorType<string_t> alloc;
      +
      17680  std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
      +
      17681  std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
      +
      17682  break;
      +
      17683  }
      +
      17684 
      +
      17685  case value_t::binary:
      +
      17686  {
      +
      17687  AllocatorType<binary_t> alloc;
      +
      17688  std::allocator_traits<decltype(alloc)>::destroy(alloc, binary);
      +
      17689  std::allocator_traits<decltype(alloc)>::deallocate(alloc, binary, 1);
      +
      17690  break;
      +
      17691  }
      +
      17692 
      +
      17693  default:
      +
      17694  {
      +
      17695  break;
      +
      17696  }
      +
      17697  }
      +
      17698  }
      +
      17699  };
      +
      17700 
      +
      17710  void assert_invariant() const noexcept
      +
      17711  {
      +
      17712  JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr);
      +
      17713  JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr);
      +
      17714  JSON_ASSERT(m_type != value_t::string || m_value.string != nullptr);
      +
      17715  JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr);
      +
      17716  }
      +
      17717 
      +
      17718  public:
      +
      17720  // JSON parser callback //
      +
      17722 
      + +
      17739 
      + +
      17790 
      +
      17792  // constructors //
      +
      17794 
      +
      17799 
      + +
      17831  : m_type(v), m_value(v)
      +
      17832  {
      +
      17833  assert_invariant();
      +
      17834  }
      +
      17835 
      +
      17854  basic_json(std::nullptr_t = nullptr) noexcept
      +
      17855  : basic_json(value_t::null)
      +
      17856  {
      +
      17857  assert_invariant();
      +
      17858  }
      +
      17859 
      +
      17923  template < typename CompatibleType,
      +
      17924  typename U = detail::uncvref_t<CompatibleType>,
      + + +
      17927  basic_json(CompatibleType && val) noexcept(noexcept(
      +
      17928  JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
      +
      17929  std::forward<CompatibleType>(val))))
      +
      17930  {
      +
      17931  JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
      +
      17932  assert_invariant();
      +
      17933  }
      +
      17934 
      +
      17961  template < typename BasicJsonType,
      + +
      17963  detail::is_basic_json<BasicJsonType>::value&& !std::is_same<basic_json, BasicJsonType>::value, int > = 0 >
      +
      17964  basic_json(const BasicJsonType& val)
      +
      17965  {
      +
      17966  using other_boolean_t = typename BasicJsonType::boolean_t;
      +
      17967  using other_number_float_t = typename BasicJsonType::number_float_t;
      +
      17968  using other_number_integer_t = typename BasicJsonType::number_integer_t;
      +
      17969  using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
      +
      17970  using other_string_t = typename BasicJsonType::string_t;
      +
      17971  using other_object_t = typename BasicJsonType::object_t;
      +
      17972  using other_array_t = typename BasicJsonType::array_t;
      +
      17973  using other_binary_t = typename BasicJsonType::binary_t;
      +
      17974 
      +
      17975  switch (val.type())
      +
      17976  {
      +
      17977  case value_t::boolean:
      +
      17978  JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
      +
      17979  break;
      +
      17980  case value_t::number_float:
      +
      17981  JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
      +
      17982  break;
      + +
      17984  JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
      +
      17985  break;
      + +
      17987  JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
      +
      17988  break;
      +
      17989  case value_t::string:
      +
      17990  JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
      +
      17991  break;
      +
      17992  case value_t::object:
      +
      17993  JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
      +
      17994  break;
      +
      17995  case value_t::array:
      +
      17996  JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
      +
      17997  break;
      +
      17998  case value_t::binary:
      +
      17999  JSONSerializer<other_binary_t>::to_json(*this, val.template get_ref<const other_binary_t&>());
      +
      18000  break;
      +
      18001  case value_t::null:
      +
      18002  *this = nullptr;
      +
      18003  break;
      +
      18004  case value_t::discarded:
      +
      18005  m_type = value_t::discarded;
      +
      18006  break;
      +
      18007  default: // LCOV_EXCL_LINE
      +
      18008  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      18009  }
      +
      18010  assert_invariant();
      +
      18011  }
      +
      18012 
      + +
      18088  bool type_deduction = true,
      +
      18089  value_t manual_type = value_t::array)
      +
      18090  {
      +
      18091  // check if each element is an array with two elements whose first
      +
      18092  // element is a string
      +
      18093  bool is_an_object = std::all_of(init.begin(), init.end(),
      +
      18094  [](const detail::json_ref<basic_json>& element_ref)
      +
      18095  {
      +
      18096  return element_ref->is_array() && element_ref->size() == 2 && (*element_ref)[0].is_string();
      +
      18097  });
      +
      18098 
      +
      18099  // adjust type if type deduction is not wanted
      +
      18100  if (!type_deduction)
      +
      18101  {
      +
      18102  // if array is wanted, do not create an object though possible
      +
      18103  if (manual_type == value_t::array)
      +
      18104  {
      +
      18105  is_an_object = false;
      +
      18106  }
      +
      18107 
      +
      18108  // if object is wanted but impossible, throw an exception
      +
      18109  if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object && !is_an_object))
      +
      18110  {
      +
      18111  JSON_THROW(type_error::create(301, "cannot create object from initializer list"));
      +
      18112  }
      +
      18113  }
      +
      18114 
      +
      18115  if (is_an_object)
      +
      18116  {
      +
      18117  // the initializer list is a list of pairs -> create object
      +
      18118  m_type = value_t::object;
      +
      18119  m_value = value_t::object;
      +
      18120 
      +
      18121  std::for_each(init.begin(), init.end(), [this](const detail::json_ref<basic_json>& element_ref)
      +
      18122  {
      +
      18123  auto element = element_ref.moved_or_copied();
      +
      18124  m_value.object->emplace(
      +
      18125  std::move(*((*element.m_value.array)[0].m_value.string)),
      +
      18126  std::move((*element.m_value.array)[1]));
      +
      18127  });
      +
      18128  }
      +
      18129  else
      +
      18130  {
      +
      18131  // the initializer list describes an array -> create array
      +
      18132  m_type = value_t::array;
      +
      18133  m_value.array = create<array_t>(init.begin(), init.end());
      +
      18134  }
      +
      18135 
      +
      18136  assert_invariant();
      +
      18137  }
      +
      18138 
      + +
      18167  static basic_json binary(const typename binary_t::container_type& init)
      +
      18168  {
      +
      18169  auto res = basic_json();
      +
      18170  res.m_type = value_t::binary;
      +
      18171  res.m_value = init;
      +
      18172  return res;
      +
      18173  }
      +
      18174 
      + +
      18204  static basic_json binary(const typename binary_t::container_type& init, std::uint8_t subtype)
      +
      18205  {
      +
      18206  auto res = basic_json();
      +
      18207  res.m_type = value_t::binary;
      +
      18208  res.m_value = binary_t(init, subtype);
      +
      18209  return res;
      +
      18210  }
      +
      18211 
      + + +
      18215  {
      +
      18216  auto res = basic_json();
      +
      18217  res.m_type = value_t::binary;
      +
      18218  res.m_value = std::move(init);
      +
      18219  return res;
      +
      18220  }
      +
      18221 
      + +
      18224  static basic_json binary(typename binary_t::container_type&& init, std::uint8_t subtype)
      +
      18225  {
      +
      18226  auto res = basic_json();
      +
      18227  res.m_type = value_t::binary;
      +
      18228  res.m_value = binary_t(std::move(init), subtype);
      +
      18229  return res;
      +
      18230  }
      +
      18231 
      + + +
      18271  {
      +
      18272  return basic_json(init, false, value_t::array);
      +
      18273  }
      +
      18274 
      + + +
      18315  {
      +
      18316  return basic_json(init, false, value_t::object);
      +
      18317  }
      +
      18318 
      + +
      18342  : m_type(value_t::array)
      +
      18343  {
      +
      18344  m_value.array = create<array_t>(cnt, val);
      +
      18345  assert_invariant();
      +
      18346  }
      +
      18347 
      +
      18403  template < class InputIT, typename std::enable_if <
      +
      18404  std::is_same<InputIT, typename basic_json_t::iterator>::value ||
      +
      18405  std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int >::type = 0 >
      +
      18406  basic_json(InputIT first, InputIT last)
      +
      18407  {
      +
      18408  JSON_ASSERT(first.m_object != nullptr);
      +
      18409  JSON_ASSERT(last.m_object != nullptr);
      +
      18410 
      +
      18411  // make sure iterator fits the current value
      +
      18412  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      18413  {
      +
      18414  JSON_THROW(invalid_iterator::create(201, "iterators are not compatible"));
      +
      18415  }
      +
      18416 
      +
      18417  // copy type from first iterator
      +
      18418  m_type = first.m_object->m_type;
      +
      18419 
      +
      18420  // check if iterator range is complete for primitive values
      +
      18421  switch (m_type)
      +
      18422  {
      +
      18423  case value_t::boolean:
      +
      18424  case value_t::number_float:
      + + +
      18427  case value_t::string:
      +
      18428  {
      +
      18429  if (JSON_HEDLEY_UNLIKELY(!first.m_it.primitive_iterator.is_begin()
      +
      18430  || !last.m_it.primitive_iterator.is_end()))
      +
      18431  {
      +
      18432  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
      +
      18433  }
      +
      18434  break;
      +
      18435  }
      +
      18436 
      +
      18437  default:
      +
      18438  break;
      +
      18439  }
      +
      18440 
      +
      18441  switch (m_type)
      +
      18442  {
      + +
      18444  {
      +
      18445  m_value.number_integer = first.m_object->m_value.number_integer;
      +
      18446  break;
      +
      18447  }
      +
      18448 
      + +
      18450  {
      +
      18451  m_value.number_unsigned = first.m_object->m_value.number_unsigned;
      +
      18452  break;
      +
      18453  }
      +
      18454 
      +
      18455  case value_t::number_float:
      +
      18456  {
      +
      18457  m_value.number_float = first.m_object->m_value.number_float;
      +
      18458  break;
      +
      18459  }
      +
      18460 
      +
      18461  case value_t::boolean:
      +
      18462  {
      +
      18463  m_value.boolean = first.m_object->m_value.boolean;
      +
      18464  break;
      +
      18465  }
      +
      18466 
      +
      18467  case value_t::string:
      +
      18468  {
      +
      18469  m_value = *first.m_object->m_value.string;
      +
      18470  break;
      +
      18471  }
      +
      18472 
      +
      18473  case value_t::object:
      +
      18474  {
      +
      18475  m_value.object = create<object_t>(first.m_it.object_iterator,
      +
      18476  last.m_it.object_iterator);
      +
      18477  break;
      +
      18478  }
      +
      18479 
      +
      18480  case value_t::array:
      +
      18481  {
      +
      18482  m_value.array = create<array_t>(first.m_it.array_iterator,
      +
      18483  last.m_it.array_iterator);
      +
      18484  break;
      +
      18485  }
      +
      18486 
      +
      18487  case value_t::binary:
      +
      18488  {
      +
      18489  m_value = *first.m_object->m_value.binary;
      +
      18490  break;
      +
      18491  }
      +
      18492 
      +
      18493  default:
      +
      18494  JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " +
      +
      18495  std::string(first.m_object->type_name())));
      +
      18496  }
      +
      18497 
      +
      18498  assert_invariant();
      +
      18499  }
      +
      18500 
      +
      18501 
      +
      18503  // other constructors and destructor //
      +
      18505 
      +
      18506  template<typename JsonRef,
      + +
      18508  std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
      +
      18509  basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
      +
      18510 
      +
      18536  basic_json(const basic_json& other)
      +
      18537  : m_type(other.m_type)
      +
      18538  {
      +
      18539  // check of passed value is valid
      +
      18540  other.assert_invariant();
      +
      18541 
      +
      18542  switch (m_type)
      +
      18543  {
      +
      18544  case value_t::object:
      +
      18545  {
      +
      18546  m_value = *other.m_value.object;
      +
      18547  break;
      +
      18548  }
      +
      18549 
      +
      18550  case value_t::array:
      +
      18551  {
      +
      18552  m_value = *other.m_value.array;
      +
      18553  break;
      +
      18554  }
      +
      18555 
      +
      18556  case value_t::string:
      +
      18557  {
      +
      18558  m_value = *other.m_value.string;
      +
      18559  break;
      +
      18560  }
      +
      18561 
      +
      18562  case value_t::boolean:
      +
      18563  {
      +
      18564  m_value = other.m_value.boolean;
      +
      18565  break;
      +
      18566  }
      +
      18567 
      + +
      18569  {
      +
      18570  m_value = other.m_value.number_integer;
      +
      18571  break;
      +
      18572  }
      +
      18573 
      + +
      18575  {
      +
      18576  m_value = other.m_value.number_unsigned;
      +
      18577  break;
      +
      18578  }
      +
      18579 
      +
      18580  case value_t::number_float:
      +
      18581  {
      +
      18582  m_value = other.m_value.number_float;
      +
      18583  break;
      +
      18584  }
      +
      18585 
      +
      18586  case value_t::binary:
      +
      18587  {
      +
      18588  m_value = *other.m_value.binary;
      +
      18589  break;
      +
      18590  }
      +
      18591 
      +
      18592  default:
      +
      18593  break;
      +
      18594  }
      +
      18595 
      +
      18596  assert_invariant();
      +
      18597  }
      +
      18598 
      +
      18625  basic_json(basic_json&& other) noexcept
      +
      18626  : m_type(std::move(other.m_type)),
      +
      18627  m_value(std::move(other.m_value))
      +
      18628  {
      +
      18629  // check that passed value is valid
      +
      18630  other.assert_invariant();
      +
      18631 
      +
      18632  // invalidate payload
      +
      18633  other.m_type = value_t::null;
      +
      18634  other.m_value = {};
      +
      18635 
      +
      18636  assert_invariant();
      +
      18637  }
      +
      18638 
      +
      18662  basic_json& operator=(basic_json other) noexcept (
      +
      18663  std::is_nothrow_move_constructible<value_t>::value&&
      +
      18664  std::is_nothrow_move_assignable<value_t>::value&&
      +
      18665  std::is_nothrow_move_constructible<json_value>::value&&
      +
      18666  std::is_nothrow_move_assignable<json_value>::value
      +
      18667  )
      +
      18668  {
      +
      18669  // check that passed value is valid
      +
      18670  other.assert_invariant();
      +
      18671 
      +
      18672  using std::swap;
      +
      18673  swap(m_type, other.m_type);
      +
      18674  swap(m_value, other.m_value);
      +
      18675 
      +
      18676  assert_invariant();
      +
      18677  return *this;
      +
      18678  }
      +
      18679 
      +
      18695  ~basic_json() noexcept
      +
      18696  {
      +
      18697  assert_invariant();
      +
      18698  m_value.destroy(m_type);
      +
      18699  }
      +
      18700 
      +
      18702 
      +
      18703  public:
      +
      18705  // object inspection //
      +
      18707 
      +
      18711 
      +
      18759  string_t dump(const int indent = -1,
      +
      18760  const char indent_char = ' ',
      +
      18761  const bool ensure_ascii = false,
      +
      18762  const error_handler_t error_handler = error_handler_t::strict) const
      +
      18763  {
      +
      18764  string_t result;
      +
      18765  serializer s(detail::output_adapter<char, string_t>(result), indent_char, error_handler);
      +
      18766 
      +
      18767  if (indent >= 0)
      +
      18768  {
      +
      18769  s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
      +
      18770  }
      +
      18771  else
      +
      18772  {
      +
      18773  s.dump(*this, false, ensure_ascii, 0);
      +
      18774  }
      +
      18775 
      +
      18776  return result;
      +
      18777  }
      +
      18778 
      +
      18812  constexpr value_t type() const noexcept
      +
      18813  {
      +
      18814  return m_type;
      +
      18815  }
      +
      18816 
      +
      18843  constexpr bool is_primitive() const noexcept
      +
      18844  {
      +
      18845  return is_null() || is_string() || is_boolean() || is_number() || is_binary();
      +
      18846  }
      +
      18847 
      +
      18870  constexpr bool is_structured() const noexcept
      +
      18871  {
      +
      18872  return is_array() || is_object();
      +
      18873  }
      +
      18874 
      +
      18892  constexpr bool is_null() const noexcept
      +
      18893  {
      +
      18894  return m_type == value_t::null;
      +
      18895  }
      +
      18896 
      +
      18914  constexpr bool is_boolean() const noexcept
      +
      18915  {
      +
      18916  return m_type == value_t::boolean;
      +
      18917  }
      +
      18918 
      +
      18944  constexpr bool is_number() const noexcept
      +
      18945  {
      +
      18946  return is_number_integer() || is_number_float();
      +
      18947  }
      +
      18948 
      +
      18973  constexpr bool is_number_integer() const noexcept
      +
      18974  {
      +
      18975  return m_type == value_t::number_integer || m_type == value_t::number_unsigned;
      +
      18976  }
      +
      18977 
      +
      19001  constexpr bool is_number_unsigned() const noexcept
      +
      19002  {
      +
      19003  return m_type == value_t::number_unsigned;
      +
      19004  }
      +
      19005 
      +
      19029  constexpr bool is_number_float() const noexcept
      +
      19030  {
      +
      19031  return m_type == value_t::number_float;
      +
      19032  }
      +
      19033 
      +
      19051  constexpr bool is_object() const noexcept
      +
      19052  {
      +
      19053  return m_type == value_t::object;
      +
      19054  }
      +
      19055 
      +
      19073  constexpr bool is_array() const noexcept
      +
      19074  {
      +
      19075  return m_type == value_t::array;
      +
      19076  }
      +
      19077 
      +
      19095  constexpr bool is_string() const noexcept
      +
      19096  {
      +
      19097  return m_type == value_t::string;
      +
      19098  }
      +
      19099 
      +
      19117  constexpr bool is_binary() const noexcept
      +
      19118  {
      +
      19119  return m_type == value_t::binary;
      +
      19120  }
      +
      19121 
      +
      19144  constexpr bool is_discarded() const noexcept
      +
      19145  {
      +
      19146  return m_type == value_t::discarded;
      +
      19147  }
      +
      19148 
      +
      19170  constexpr operator value_t() const noexcept
      +
      19171  {
      +
      19172  return m_type;
      +
      19173  }
      +
      19174 
      +
      19176 
      +
      19177  private:
      +
      19179  // value access //
      +
      19181 
      +
      19183  boolean_t get_impl(boolean_t* /*unused*/) const
      +
      19184  {
      + +
      19186  {
      +
      19187  return m_value.boolean;
      +
      19188  }
      +
      19189 
      +
      19190  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name())));
      +
      19191  }
      +
      19192 
      +
      19194  object_t* get_impl_ptr(object_t* /*unused*/) noexcept
      +
      19195  {
      +
      19196  return is_object() ? m_value.object : nullptr;
      +
      19197  }
      +
      19198 
      +
      19200  constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
      +
      19201  {
      +
      19202  return is_object() ? m_value.object : nullptr;
      +
      19203  }
      +
      19204 
      +
      19206  array_t* get_impl_ptr(array_t* /*unused*/) noexcept
      +
      19207  {
      +
      19208  return is_array() ? m_value.array : nullptr;
      +
      19209  }
      +
      19210 
      +
      19212  constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
      +
      19213  {
      +
      19214  return is_array() ? m_value.array : nullptr;
      +
      19215  }
      +
      19216 
      +
      19218  string_t* get_impl_ptr(string_t* /*unused*/) noexcept
      +
      19219  {
      +
      19220  return is_string() ? m_value.string : nullptr;
      +
      19221  }
      +
      19222 
      +
      19224  constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
      +
      19225  {
      +
      19226  return is_string() ? m_value.string : nullptr;
      +
      19227  }
      +
      19228 
      +
      19230  boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
      +
      19231  {
      +
      19232  return is_boolean() ? &m_value.boolean : nullptr;
      +
      19233  }
      +
      19234 
      +
      19236  constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
      +
      19237  {
      +
      19238  return is_boolean() ? &m_value.boolean : nullptr;
      +
      19239  }
      +
      19240 
      +
      19242  number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept
      +
      19243  {
      +
      19244  return is_number_integer() ? &m_value.number_integer : nullptr;
      +
      19245  }
      +
      19246 
      +
      19248  constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
      +
      19249  {
      +
      19250  return is_number_integer() ? &m_value.number_integer : nullptr;
      +
      19251  }
      +
      19252 
      +
      19254  number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
      +
      19255  {
      +
      19256  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
      +
      19257  }
      +
      19258 
      +
      19260  constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
      +
      19261  {
      +
      19262  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
      +
      19263  }
      +
      19264 
      +
      19266  number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept
      +
      19267  {
      +
      19268  return is_number_float() ? &m_value.number_float : nullptr;
      +
      19269  }
      +
      19270 
      +
      19272  constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
      +
      19273  {
      +
      19274  return is_number_float() ? &m_value.number_float : nullptr;
      +
      19275  }
      +
      19276 
      +
      19278  binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept
      +
      19279  {
      +
      19280  return is_binary() ? m_value.binary : nullptr;
      +
      19281  }
      +
      19282 
      +
      19284  constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const noexcept
      +
      19285  {
      +
      19286  return is_binary() ? m_value.binary : nullptr;
      +
      19287  }
      +
      19288 
      +
      19300  template<typename ReferenceType, typename ThisType>
      +
      19301  static ReferenceType get_ref_impl(ThisType& obj)
      +
      19302  {
      +
      19303  // delegate the call to get_ptr<>()
      +
      19304  auto ptr = obj.template get_ptr<typename std::add_pointer<ReferenceType>::type>();
      +
      19305 
      +
      19306  if (JSON_HEDLEY_LIKELY(ptr != nullptr))
      +
      19307  {
      +
      19308  return *ptr;
      +
      19309  }
      +
      19310 
      +
      19311  JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name())));
      +
      19312  }
      +
      19313 
      +
      19314  public:
      +
      19318 
      +
      19333  template<typename BasicJsonType, detail::enable_if_t<
      +
      19334  std::is_same<typename std::remove_const<BasicJsonType>::type, basic_json_t>::value,
      +
      19335  int> = 0>
      +
      19336  basic_json get() const
      +
      19337  {
      +
      19338  return *this;
      +
      19339  }
      +
      19340 
      +
      19356  template < typename BasicJsonType, detail::enable_if_t <
      +
      19357  !std::is_same<BasicJsonType, basic_json>::value&&
      + +
      19359  BasicJsonType get() const
      +
      19360  {
      +
      19361  return *this;
      +
      19362  }
      +
      19363 
      +
      19403  template < typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
      +
      19404  detail::enable_if_t <
      +
      19405  !detail::is_basic_json<ValueType>::value &&
      +
      19406  detail::has_from_json<basic_json_t, ValueType>::value &&
      +
      19407  !detail::has_non_default_from_json<basic_json_t, ValueType>::value,
      +
      19408  int > = 0 >
      +
      19409  ValueType get() const noexcept(noexcept(
      +
      19410  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
      +
      19411  {
      +
      19412  // we cannot static_assert on ValueTypeCV being non-const, because
      +
      19413  // there is support for get<const basic_json_t>(), which is why we
      +
      19414  // still need the uncvref
      +
      19415  static_assert(!std::is_reference<ValueTypeCV>::value,
      +
      19416  "get() cannot be used with reference types, you might want to use get_ref()");
      +
      19417  static_assert(std::is_default_constructible<ValueType>::value,
      +
      19418  "types must be DefaultConstructible when used with get()");
      +
      19419 
      +
      19420  ValueType ret;
      + +
      19422  return ret;
      +
      19423  }
      +
      19424 
      +
      19456  template < typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>,
      +
      19457  detail::enable_if_t < !std::is_same<basic_json_t, ValueType>::value &&
      +
      19458  detail::has_non_default_from_json<basic_json_t, ValueType>::value,
      +
      19459  int > = 0 >
      +
      19460  ValueType get() const noexcept(noexcept(
      +
      19461  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>())))
      +
      19462  {
      +
      19463  static_assert(!std::is_reference<ValueTypeCV>::value,
      +
      19464  "get() cannot be used with reference types, you might want to use get_ref()");
      + +
      19466  }
      +
      19467 
      +
      19501  template < typename ValueType,
      + + + +
      19505  int > = 0 >
      +
      19506  ValueType & get_to(ValueType& v) const noexcept(noexcept(
      +
      19507  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), v)))
      +
      19508  {
      + +
      19510  return v;
      +
      19511  }
      +
      19512 
      +
      19513  // specialization to allow to call get_to with a basic_json value
      +
      19514  // see https://github.com/nlohmann/json/issues/2175
      +
      19515  template<typename ValueType,
      + + +
      19518  int> = 0>
      +
      19519  ValueType & get_to(ValueType& v) const
      +
      19520  {
      +
      19521  v = *this;
      +
      19522  return v;
      +
      19523  }
      +
      19524 
      +
      19525  template <
      +
      19526  typename T, std::size_t N,
      +
      19527  typename Array = T (&)[N],
      + + +
      19530  Array get_to(T (&v)[N]) const
      +
      19531  noexcept(noexcept(JSONSerializer<Array>::from_json(
      +
      19532  std::declval<const basic_json_t&>(), v)))
      +
      19533  {
      + +
      19535  return v;
      +
      19536  }
      +
      19537 
      +
      19538 
      +
      19565  template<typename PointerType, typename std::enable_if<
      +
      19566  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      19567  auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
      +
      19568  {
      +
      19569  // delegate the call to get_impl_ptr<>()
      +
      19570  return get_impl_ptr(static_cast<PointerType>(nullptr));
      +
      19571  }
      +
      19572 
      +
      19577  template < typename PointerType, typename std::enable_if <
      +
      19578  std::is_pointer<PointerType>::value&&
      +
      19579  std::is_const<typename std::remove_pointer<PointerType>::type>::value, int >::type = 0 >
      +
      19580  constexpr auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
      +
      19581  {
      +
      19582  // delegate the call to get_impl_ptr<>() const
      +
      19583  return get_impl_ptr(static_cast<PointerType>(nullptr));
      +
      19584  }
      +
      19585 
      +
      19613  template<typename PointerType, typename std::enable_if<
      +
      19614  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      19615  auto get() noexcept -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>())
      +
      19616  {
      +
      19617  // delegate the call to get_ptr
      +
      19618  return get_ptr<PointerType>();
      +
      19619  }
      +
      19620 
      +
      19625  template<typename PointerType, typename std::enable_if<
      +
      19626  std::is_pointer<PointerType>::value, int>::type = 0>
      +
      19627  constexpr auto get() const noexcept -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>())
      +
      19628  {
      +
      19629  // delegate the call to get_ptr
      +
      19630  return get_ptr<PointerType>();
      +
      19631  }
      +
      19632 
      +
      19659  template<typename ReferenceType, typename std::enable_if<
      +
      19660  std::is_reference<ReferenceType>::value, int>::type = 0>
      +
      19661  ReferenceType get_ref()
      +
      19662  {
      +
      19663  // delegate call to get_ref_impl
      +
      19664  return get_ref_impl<ReferenceType>(*this);
      +
      19665  }
      +
      19666 
      +
      19671  template < typename ReferenceType, typename std::enable_if <
      +
      19672  std::is_reference<ReferenceType>::value&&
      +
      19673  std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int >::type = 0 >
      +
      19674  ReferenceType get_ref() const
      +
      19675  {
      +
      19676  // delegate call to get_ref_impl
      +
      19677  return get_ref_impl<ReferenceType>(*this);
      +
      19678  }
      +
      19679 
      +
      19709  template < typename ValueType, typename std::enable_if <
      +
      19710  !std::is_pointer<ValueType>::value&&
      +
      19711  !std::is_same<ValueType, detail::json_ref<basic_json>>::value&&
      +
      19712  !std::is_same<ValueType, typename string_t::value_type>::value&&
      + +
      19714  && !std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
      +
      19715 #if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1910 && _MSC_VER <= 1914))
      +
      19716  && !std::is_same<ValueType, typename std::string_view>::value
      +
      19717 #endif
      + +
      19719  , int >::type = 0 >
      +
      19720  JSON_EXPLICIT operator ValueType() const
      +
      19721  {
      +
      19722  // delegate the call to get<>() const
      +
      19723  return get<ValueType>();
      +
      19724  }
      +
      19725 
      + +
      19736  {
      +
      19737  if (!is_binary())
      +
      19738  {
      +
      19739  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name())));
      +
      19740  }
      +
      19741 
      +
      19742  return *get_ptr<binary_t*>();
      +
      19743  }
      +
      19744 
      +
      19746  const binary_t& get_binary() const
      +
      19747  {
      +
      19748  if (!is_binary())
      +
      19749  {
      +
      19750  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name())));
      +
      19751  }
      +
      19752 
      +
      19753  return *get_ptr<const binary_t*>();
      +
      19754  }
      +
      19755 
      +
      19757 
      +
      19758 
      +
      19760  // element access //
      +
      19762 
      +
      19766 
      + +
      19794  {
      +
      19795  // at only works for arrays
      + +
      19797  {
      +
      19798  JSON_TRY
      +
      19799  {
      +
      19800  return m_value.array->at(idx);
      +
      19801  }
      +
      19802  JSON_CATCH (std::out_of_range&)
      +
      19803  {
      +
      19804  // create better exception explanation
      +
      19805  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      19806  }
      +
      19807  }
      +
      19808  else
      +
      19809  {
      +
      19810  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      19811  }
      +
      19812  }
      +
      19813 
      + +
      19841  {
      +
      19842  // at only works for arrays
      + +
      19844  {
      +
      19845  JSON_TRY
      +
      19846  {
      +
      19847  return m_value.array->at(idx);
      +
      19848  }
      +
      19849  JSON_CATCH (std::out_of_range&)
      +
      19850  {
      +
      19851  // create better exception explanation
      +
      19852  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      19853  }
      +
      19854  }
      +
      19855  else
      +
      19856  {
      +
      19857  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      19858  }
      +
      19859  }
      +
      19860 
      +
      19891  reference at(const typename object_t::key_type& key)
      +
      19892  {
      +
      19893  // at only works for objects
      + +
      19895  {
      +
      19896  JSON_TRY
      +
      19897  {
      +
      19898  return m_value.object->at(key);
      +
      19899  }
      +
      19900  JSON_CATCH (std::out_of_range&)
      +
      19901  {
      +
      19902  // create better exception explanation
      +
      19903  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
      +
      19904  }
      +
      19905  }
      +
      19906  else
      +
      19907  {
      +
      19908  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      19909  }
      +
      19910  }
      +
      19911 
      +
      19942  const_reference at(const typename object_t::key_type& key) const
      +
      19943  {
      +
      19944  // at only works for objects
      + +
      19946  {
      +
      19947  JSON_TRY
      +
      19948  {
      +
      19949  return m_value.object->at(key);
      +
      19950  }
      +
      19951  JSON_CATCH (std::out_of_range&)
      +
      19952  {
      +
      19953  // create better exception explanation
      +
      19954  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found"));
      +
      19955  }
      +
      19956  }
      +
      19957  else
      +
      19958  {
      +
      19959  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name())));
      +
      19960  }
      +
      19961  }
      +
      19962 
      + +
      19989  {
      +
      19990  // implicitly convert null value to an empty array
      +
      19991  if (is_null())
      +
      19992  {
      +
      19993  m_type = value_t::array;
      +
      19994  m_value.array = create<array_t>();
      +
      19995  assert_invariant();
      +
      19996  }
      +
      19997 
      +
      19998  // operator[] only works for arrays
      + +
      20000  {
      +
      20001  // fill up array with null values if given idx is outside range
      +
      20002  if (idx >= m_value.array->size())
      +
      20003  {
      +
      20004  m_value.array->insert(m_value.array->end(),
      +
      20005  idx - m_value.array->size() + 1,
      +
      20006  basic_json());
      +
      20007  }
      +
      20008 
      +
      20009  return m_value.array->operator[](idx);
      +
      20010  }
      +
      20011 
      +
      20012  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
      +
      20013  }
      +
      20014 
      + +
      20035  {
      +
      20036  // const operator[] only works for arrays
      + +
      20038  {
      +
      20039  return m_value.array->operator[](idx);
      +
      20040  }
      +
      20041 
      +
      20042  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name())));
      +
      20043  }
      +
      20044 
      +
      20072  reference operator[](const typename object_t::key_type& key)
      +
      20073  {
      +
      20074  // implicitly convert null value to an empty object
      +
      20075  if (is_null())
      +
      20076  {
      +
      20077  m_type = value_t::object;
      +
      20078  m_value.object = create<object_t>();
      +
      20079  assert_invariant();
      +
      20080  }
      +
      20081 
      +
      20082  // operator[] only works for objects
      + +
      20084  {
      +
      20085  return m_value.object->operator[](key);
      +
      20086  }
      +
      20087 
      +
      20088  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      20089  }
      +
      20090 
      +
      20121  const_reference operator[](const typename object_t::key_type& key) const
      +
      20122  {
      +
      20123  // const operator[] only works for objects
      + +
      20125  {
      +
      20126  JSON_ASSERT(m_value.object->find(key) != m_value.object->end());
      +
      20127  return m_value.object->find(key)->second;
      +
      20128  }
      +
      20129 
      +
      20130  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      20131  }
      +
      20132 
      +
      20160  template<typename T>
      + +
      20162  reference operator[](T* key)
      +
      20163  {
      +
      20164  // implicitly convert null to object
      +
      20165  if (is_null())
      +
      20166  {
      +
      20167  m_type = value_t::object;
      +
      20168  m_value = value_t::object;
      +
      20169  assert_invariant();
      +
      20170  }
      +
      20171 
      +
      20172  // at only works for objects
      + +
      20174  {
      +
      20175  return m_value.object->operator[](key);
      +
      20176  }
      +
      20177 
      +
      20178  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      20179  }
      +
      20180 
      +
      20211  template<typename T>
      + +
      20213  const_reference operator[](T* key) const
      +
      20214  {
      +
      20215  // at only works for objects
      + +
      20217  {
      +
      20218  JSON_ASSERT(m_value.object->find(key) != m_value.object->end());
      +
      20219  return m_value.object->find(key)->second;
      +
      20220  }
      +
      20221 
      +
      20222  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name())));
      +
      20223  }
      +
      20224 
      +
      20275  // using std::is_convertible in a std::enable_if will fail when using explicit conversions
      +
      20276  template < class ValueType, typename std::enable_if <
      + +
      20278  && !std::is_same<value_t, ValueType>::value, int >::type = 0 >
      +
      20279  ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
      +
      20280  {
      +
      20281  // at only works for objects
      + +
      20283  {
      +
      20284  // if key is found, return value and given default value otherwise
      +
      20285  const auto it = find(key);
      +
      20286  if (it != end())
      +
      20287  {
      +
      20288  return it->template get<ValueType>();
      +
      20289  }
      +
      20290 
      +
      20291  return default_value;
      +
      20292  }
      +
      20293 
      +
      20294  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
      +
      20295  }
      +
      20296 
      +
      20301  string_t value(const typename object_t::key_type& key, const char* default_value) const
      +
      20302  {
      +
      20303  return value(key, string_t(default_value));
      +
      20304  }
      +
      20305 
      +
      20349  template<class ValueType, typename std::enable_if<
      + +
      20351  ValueType value(const json_pointer& ptr, const ValueType& default_value) const
      +
      20352  {
      +
      20353  // at only works for objects
      + +
      20355  {
      +
      20356  // if pointer resolves a value, return it or use default value
      +
      20357  JSON_TRY
      +
      20358  {
      +
      20359  return ptr.get_checked(this).template get<ValueType>();
      +
      20360  }
      + +
      20362  {
      +
      20363  return default_value;
      +
      20364  }
      +
      20365  }
      +
      20366 
      +
      20367  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
      +
      20368  }
      +
      20369 
      + +
      20375  string_t value(const json_pointer& ptr, const char* default_value) const
      +
      20376  {
      +
      20377  return value(ptr, string_t(default_value));
      +
      20378  }
      +
      20379 
      + +
      20406  {
      +
      20407  return *begin();
      +
      20408  }
      +
      20409 
      + +
      20414  {
      +
      20415  return *cbegin();
      +
      20416  }
      +
      20417 
      + +
      20450  {
      +
      20451  auto tmp = end();
      +
      20452  --tmp;
      +
      20453  return *tmp;
      +
      20454  }
      +
      20455 
      + +
      20460  {
      +
      20461  auto tmp = cend();
      +
      20462  --tmp;
      +
      20463  return *tmp;
      +
      20464  }
      +
      20465 
      +
      20512  template < class IteratorType, typename std::enable_if <
      +
      20513  std::is_same<IteratorType, typename basic_json_t::iterator>::value ||
      +
      20514  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int >::type
      +
      20515  = 0 >
      +
      20516  IteratorType erase(IteratorType pos)
      +
      20517  {
      +
      20518  // make sure iterator fits the current value
      +
      20519  if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))
      +
      20520  {
      +
      20521  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      20522  }
      +
      20523 
      +
      20524  IteratorType result = end();
      +
      20525 
      +
      20526  switch (m_type)
      +
      20527  {
      +
      20528  case value_t::boolean:
      +
      20529  case value_t::number_float:
      + + +
      20532  case value_t::string:
      +
      20533  case value_t::binary:
      +
      20534  {
      +
      20535  if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin()))
      +
      20536  {
      +
      20537  JSON_THROW(invalid_iterator::create(205, "iterator out of range"));
      +
      20538  }
      +
      20539 
      +
      20540  if (is_string())
      +
      20541  {
      +
      20542  AllocatorType<string_t> alloc;
      +
      20543  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
      +
      20544  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
      +
      20545  m_value.string = nullptr;
      +
      20546  }
      +
      20547  else if (is_binary())
      +
      20548  {
      +
      20549  AllocatorType<binary_t> alloc;
      +
      20550  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
      +
      20551  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
      +
      20552  m_value.binary = nullptr;
      +
      20553  }
      +
      20554 
      +
      20555  m_type = value_t::null;
      +
      20556  assert_invariant();
      +
      20557  break;
      +
      20558  }
      +
      20559 
      +
      20560  case value_t::object:
      +
      20561  {
      +
      20562  result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
      +
      20563  break;
      +
      20564  }
      +
      20565 
      +
      20566  case value_t::array:
      +
      20567  {
      +
      20568  result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
      +
      20569  break;
      +
      20570  }
      +
      20571 
      +
      20572  default:
      +
      20573  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      20574  }
      +
      20575 
      +
      20576  return result;
      +
      20577  }
      +
      20578 
      +
      20625  template < class IteratorType, typename std::enable_if <
      +
      20626  std::is_same<IteratorType, typename basic_json_t::iterator>::value ||
      +
      20627  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int >::type
      +
      20628  = 0 >
      +
      20629  IteratorType erase(IteratorType first, IteratorType last)
      +
      20630  {
      +
      20631  // make sure iterator fits the current value
      +
      20632  if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object))
      +
      20633  {
      +
      20634  JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value"));
      +
      20635  }
      +
      20636 
      +
      20637  IteratorType result = end();
      +
      20638 
      +
      20639  switch (m_type)
      +
      20640  {
      +
      20641  case value_t::boolean:
      +
      20642  case value_t::number_float:
      + + +
      20645  case value_t::string:
      +
      20646  case value_t::binary:
      +
      20647  {
      +
      20648  if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin()
      +
      20649  || !last.m_it.primitive_iterator.is_end()))
      +
      20650  {
      +
      20651  JSON_THROW(invalid_iterator::create(204, "iterators out of range"));
      +
      20652  }
      +
      20653 
      +
      20654  if (is_string())
      +
      20655  {
      +
      20656  AllocatorType<string_t> alloc;
      +
      20657  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
      +
      20658  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
      +
      20659  m_value.string = nullptr;
      +
      20660  }
      +
      20661  else if (is_binary())
      +
      20662  {
      +
      20663  AllocatorType<binary_t> alloc;
      +
      20664  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
      +
      20665  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
      +
      20666  m_value.binary = nullptr;
      +
      20667  }
      +
      20668 
      +
      20669  m_type = value_t::null;
      +
      20670  assert_invariant();
      +
      20671  break;
      +
      20672  }
      +
      20673 
      +
      20674  case value_t::object:
      +
      20675  {
      +
      20676  result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
      +
      20677  last.m_it.object_iterator);
      +
      20678  break;
      +
      20679  }
      +
      20680 
      +
      20681  case value_t::array:
      +
      20682  {
      +
      20683  result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
      +
      20684  last.m_it.array_iterator);
      +
      20685  break;
      +
      20686  }
      +
      20687 
      +
      20688  default:
      +
      20689  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      20690  }
      +
      20691 
      +
      20692  return result;
      +
      20693  }
      +
      20694 
      +
      20724  size_type erase(const typename object_t::key_type& key)
      +
      20725  {
      +
      20726  // this erase only works for objects
      + +
      20728  {
      +
      20729  return m_value.object->erase(key);
      +
      20730  }
      +
      20731 
      +
      20732  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      20733  }
      +
      20734 
      +
      20759  void erase(const size_type idx)
      +
      20760  {
      +
      20761  // this erase only works for arrays
      + +
      20763  {
      +
      20764  if (JSON_HEDLEY_UNLIKELY(idx >= size()))
      +
      20765  {
      +
      20766  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      20767  }
      +
      20768 
      +
      20769  m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
      +
      20770  }
      +
      20771  else
      +
      20772  {
      +
      20773  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name())));
      +
      20774  }
      +
      20775  }
      +
      20776 
      +
      20778 
      +
      20779 
      +
      20781  // lookup //
      +
      20783 
      +
      20786 
      +
      20811  template<typename KeyT>
      +
      20812  iterator find(KeyT&& key)
      +
      20813  {
      +
      20814  auto result = end();
      +
      20815 
      +
      20816  if (is_object())
      +
      20817  {
      +
      20818  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
      +
      20819  }
      +
      20820 
      +
      20821  return result;
      +
      20822  }
      +
      20823 
      +
      20828  template<typename KeyT>
      +
      20829  const_iterator find(KeyT&& key) const
      +
      20830  {
      +
      20831  auto result = cend();
      +
      20832 
      +
      20833  if (is_object())
      +
      20834  {
      +
      20835  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
      +
      20836  }
      +
      20837 
      +
      20838  return result;
      +
      20839  }
      +
      20840 
      +
      20862  template<typename KeyT>
      +
      20863  size_type count(KeyT&& key) const
      +
      20864  {
      +
      20865  // return 0 for all nonobject types
      +
      20866  return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
      +
      20867  }
      +
      20868 
      +
      20894  template < typename KeyT, typename std::enable_if <
      +
      20895  !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int >::type = 0 >
      +
      20896  bool contains(KeyT && key) const
      +
      20897  {
      +
      20898  return is_object() && m_value.object->find(std::forward<KeyT>(key)) != m_value.object->end();
      +
      20899  }
      +
      20900 
      +
      20927  bool contains(const json_pointer& ptr) const
      +
      20928  {
      +
      20929  return ptr.contains(this);
      +
      20930  }
      +
      20931 
      +
      20933 
      +
      20934 
      +
      20936  // iterators //
      +
      20938 
      +
      20941 
      +
      20966  iterator begin() noexcept
      +
      20967  {
      +
      20968  iterator result(this);
      +
      20969  result.set_begin();
      +
      20970  return result;
      +
      20971  }
      +
      20972 
      +
      20976  const_iterator begin() const noexcept
      +
      20977  {
      +
      20978  return cbegin();
      +
      20979  }
      +
      20980 
      +
      21006  const_iterator cbegin() const noexcept
      +
      21007  {
      +
      21008  const_iterator result(this);
      +
      21009  result.set_begin();
      +
      21010  return result;
      +
      21011  }
      +
      21012 
      +
      21037  iterator end() noexcept
      +
      21038  {
      +
      21039  iterator result(this);
      +
      21040  result.set_end();
      +
      21041  return result;
      +
      21042  }
      +
      21043 
      +
      21047  const_iterator end() const noexcept
      +
      21048  {
      +
      21049  return cend();
      +
      21050  }
      +
      21051 
      +
      21077  const_iterator cend() const noexcept
      +
      21078  {
      +
      21079  const_iterator result(this);
      +
      21080  result.set_end();
      +
      21081  return result;
      +
      21082  }
      +
      21083 
      + +
      21108  {
      +
      21109  return reverse_iterator(end());
      +
      21110  }
      +
      21111 
      + +
      21116  {
      +
      21117  return crbegin();
      +
      21118  }
      +
      21119 
      + +
      21145  {
      +
      21146  return reverse_iterator(begin());
      +
      21147  }
      +
      21148 
      +
      21152  const_reverse_iterator rend() const noexcept
      +
      21153  {
      +
      21154  return crend();
      +
      21155  }
      +
      21156 
      + +
      21182  {
      +
      21183  return const_reverse_iterator(cend());
      +
      21184  }
      +
      21185 
      + +
      21211  {
      +
      21212  return const_reverse_iterator(cbegin());
      +
      21213  }
      +
      21214 
      +
      21215  public:
      + + +
      21275  {
      +
      21276  return ref.items();
      +
      21277  }
      +
      21278 
      + + +
      21284  {
      +
      21285  return ref.items();
      +
      21286  }
      +
      21287 
      + +
      21357  {
      +
      21358  return iteration_proxy<iterator>(*this);
      +
      21359  }
      +
      21360 
      + +
      21365  {
      +
      21366  return iteration_proxy<const_iterator>(*this);
      +
      21367  }
      +
      21368 
      +
      21370 
      +
      21371 
      +
      21373  // capacity //
      +
      21375 
      +
      21378 
      +
      21421  bool empty() const noexcept
      +
      21422  {
      +
      21423  switch (m_type)
      +
      21424  {
      +
      21425  case value_t::null:
      +
      21426  {
      +
      21427  // null values are empty
      +
      21428  return true;
      +
      21429  }
      +
      21430 
      +
      21431  case value_t::array:
      +
      21432  {
      +
      21433  // delegate call to array_t::empty()
      +
      21434  return m_value.array->empty();
      +
      21435  }
      +
      21436 
      +
      21437  case value_t::object:
      +
      21438  {
      +
      21439  // delegate call to object_t::empty()
      +
      21440  return m_value.object->empty();
      +
      21441  }
      +
      21442 
      +
      21443  default:
      +
      21444  {
      +
      21445  // all other types are nonempty
      +
      21446  return false;
      +
      21447  }
      +
      21448  }
      +
      21449  }
      +
      21450 
      +
      21494  size_type size() const noexcept
      +
      21495  {
      +
      21496  switch (m_type)
      +
      21497  {
      +
      21498  case value_t::null:
      +
      21499  {
      +
      21500  // null values are empty
      +
      21501  return 0;
      +
      21502  }
      +
      21503 
      +
      21504  case value_t::array:
      +
      21505  {
      +
      21506  // delegate call to array_t::size()
      +
      21507  return m_value.array->size();
      +
      21508  }
      +
      21509 
      +
      21510  case value_t::object:
      +
      21511  {
      +
      21512  // delegate call to object_t::size()
      +
      21513  return m_value.object->size();
      +
      21514  }
      +
      21515 
      +
      21516  default:
      +
      21517  {
      +
      21518  // all other types have size 1
      +
      21519  return 1;
      +
      21520  }
      +
      21521  }
      +
      21522  }
      +
      21523 
      +
      21565  size_type max_size() const noexcept
      +
      21566  {
      +
      21567  switch (m_type)
      +
      21568  {
      +
      21569  case value_t::array:
      +
      21570  {
      +
      21571  // delegate call to array_t::max_size()
      +
      21572  return m_value.array->max_size();
      +
      21573  }
      +
      21574 
      +
      21575  case value_t::object:
      +
      21576  {
      +
      21577  // delegate call to object_t::max_size()
      +
      21578  return m_value.object->max_size();
      +
      21579  }
      +
      21580 
      +
      21581  default:
      +
      21582  {
      +
      21583  // all other types have max_size() == size()
      +
      21584  return size();
      +
      21585  }
      +
      21586  }
      +
      21587  }
      +
      21588 
      +
      21590 
      +
      21591 
      +
      21593  // modifiers //
      +
      21595 
      +
      21598 
      +
      21636  void clear() noexcept
      +
      21637  {
      +
      21638  switch (m_type)
      +
      21639  {
      + +
      21641  {
      +
      21642  m_value.number_integer = 0;
      +
      21643  break;
      +
      21644  }
      +
      21645 
      + +
      21647  {
      +
      21648  m_value.number_unsigned = 0;
      +
      21649  break;
      +
      21650  }
      +
      21651 
      +
      21652  case value_t::number_float:
      +
      21653  {
      +
      21654  m_value.number_float = 0.0;
      +
      21655  break;
      +
      21656  }
      +
      21657 
      +
      21658  case value_t::boolean:
      +
      21659  {
      +
      21660  m_value.boolean = false;
      +
      21661  break;
      +
      21662  }
      +
      21663 
      +
      21664  case value_t::string:
      +
      21665  {
      +
      21666  m_value.string->clear();
      +
      21667  break;
      +
      21668  }
      +
      21669 
      +
      21670  case value_t::binary:
      +
      21671  {
      +
      21672  m_value.binary->clear();
      +
      21673  break;
      +
      21674  }
      +
      21675 
      +
      21676  case value_t::array:
      +
      21677  {
      +
      21678  m_value.array->clear();
      +
      21679  break;
      +
      21680  }
      +
      21681 
      +
      21682  case value_t::object:
      +
      21683  {
      +
      21684  m_value.object->clear();
      +
      21685  break;
      +
      21686  }
      +
      21687 
      +
      21688  default:
      +
      21689  break;
      +
      21690  }
      +
      21691  }
      +
      21692 
      +
      21713  void push_back(basic_json&& val)
      +
      21714  {
      +
      21715  // push_back only works for null objects or arrays
      +
      21716  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
      +
      21717  {
      +
      21718  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      21719  }
      +
      21720 
      +
      21721  // transform null object into an array
      +
      21722  if (is_null())
      +
      21723  {
      +
      21724  m_type = value_t::array;
      +
      21725  m_value = value_t::array;
      +
      21726  assert_invariant();
      +
      21727  }
      +
      21728 
      +
      21729  // add element to array (move semantics)
      +
      21730  m_value.array->push_back(std::move(val));
      +
      21731  // if val is moved from, basic_json move constructor marks it null so we do not call the destructor
      +
      21732  }
      +
      21733 
      + +
      21739  {
      +
      21740  push_back(std::move(val));
      +
      21741  return *this;
      +
      21742  }
      +
      21743 
      +
      21748  void push_back(const basic_json& val)
      +
      21749  {
      +
      21750  // push_back only works for null objects or arrays
      +
      21751  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
      +
      21752  {
      +
      21753  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      21754  }
      +
      21755 
      +
      21756  // transform null object into an array
      +
      21757  if (is_null())
      +
      21758  {
      +
      21759  m_type = value_t::array;
      +
      21760  m_value = value_t::array;
      +
      21761  assert_invariant();
      +
      21762  }
      +
      21763 
      +
      21764  // add element to array
      +
      21765  m_value.array->push_back(val);
      +
      21766  }
      +
      21767 
      + +
      21773  {
      +
      21774  push_back(val);
      +
      21775  return *this;
      +
      21776  }
      +
      21777 
      +
      21798  void push_back(const typename object_t::value_type& val)
      +
      21799  {
      +
      21800  // push_back only works for null objects or objects
      +
      21801  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object())))
      +
      21802  {
      +
      21803  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name())));
      +
      21804  }
      +
      21805 
      +
      21806  // transform null object into an object
      +
      21807  if (is_null())
      +
      21808  {
      +
      21809  m_type = value_t::object;
      +
      21810  m_value = value_t::object;
      +
      21811  assert_invariant();
      +
      21812  }
      +
      21813 
      +
      21814  // add element to array
      +
      21815  m_value.object->insert(val);
      +
      21816  }
      +
      21817 
      +
      21822  reference operator+=(const typename object_t::value_type& val)
      +
      21823  {
      +
      21824  push_back(val);
      +
      21825  return *this;
      +
      21826  }
      +
      21827 
      + +
      21854  {
      +
      21855  if (is_object() && init.size() == 2 && (*init.begin())->is_string())
      +
      21856  {
      +
      21857  basic_json&& key = init.begin()->moved_or_copied();
      +
      21858  push_back(typename object_t::value_type(
      +
      21859  std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
      +
      21860  }
      +
      21861  else
      +
      21862  {
      +
      21863  push_back(basic_json(init));
      +
      21864  }
      +
      21865  }
      +
      21866 
      + +
      21872  {
      +
      21873  push_back(init);
      +
      21874  return *this;
      +
      21875  }
      +
      21876 
      +
      21900  template<class... Args>
      +
      21901  reference emplace_back(Args&& ... args)
      +
      21902  {
      +
      21903  // emplace_back only works for null objects or arrays
      +
      21904  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
      +
      21905  {
      +
      21906  JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name())));
      +
      21907  }
      +
      21908 
      +
      21909  // transform null object into an array
      +
      21910  if (is_null())
      +
      21911  {
      +
      21912  m_type = value_t::array;
      +
      21913  m_value = value_t::array;
      +
      21914  assert_invariant();
      +
      21915  }
      +
      21916 
      +
      21917  // add element to array (perfect forwarding)
      +
      21918 #ifdef JSON_HAS_CPP_17
      +
      21919  return m_value.array->emplace_back(std::forward<Args>(args)...);
      +
      21920 #else
      +
      21921  m_value.array->emplace_back(std::forward<Args>(args)...);
      +
      21922  return m_value.array->back();
      +
      21923 #endif
      +
      21924  }
      +
      21925 
      +
      21953  template<class... Args>
      +
      21954  std::pair<iterator, bool> emplace(Args&& ... args)
      +
      21955  {
      +
      21956  // emplace only works for null objects or arrays
      +
      21957  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object())))
      +
      21958  {
      +
      21959  JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name())));
      +
      21960  }
      +
      21961 
      +
      21962  // transform null object into an object
      +
      21963  if (is_null())
      +
      21964  {
      +
      21965  m_type = value_t::object;
      +
      21966  m_value = value_t::object;
      +
      21967  assert_invariant();
      +
      21968  }
      +
      21969 
      +
      21970  // add element to array (perfect forwarding)
      +
      21971  auto res = m_value.object->emplace(std::forward<Args>(args)...);
      +
      21972  // create result iterator and set iterator to the result of emplace
      +
      21973  auto it = begin();
      +
      21974  it.m_it.object_iterator = res.first;
      +
      21975 
      +
      21976  // return pair of iterator and boolean
      +
      21977  return {it, res.second};
      +
      21978  }
      +
      21979 
      +
      21983  template<typename... Args>
      + +
      21985  {
      +
      21986  iterator result(this);
      +
      21987  JSON_ASSERT(m_value.array != nullptr);
      +
      21988 
      +
      21989  auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
      +
      21990  m_value.array->insert(pos.m_it.array_iterator, std::forward<Args>(args)...);
      +
      21991  result.m_it.array_iterator = m_value.array->begin() + insert_pos;
      +
      21992 
      +
      21993  // This could have been written as:
      +
      21994  // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
      +
      21995  // but the return value of insert is missing in GCC 4.8, so it is written this way instead.
      +
      21996 
      +
      21997  return result;
      +
      21998  }
      +
      21999 
      + +
      22023  {
      +
      22024  // insert only works for arrays
      + +
      22026  {
      +
      22027  // check if iterator pos fits to this JSON value
      +
      22028  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      22029  {
      +
      22030  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      22031  }
      +
      22032 
      +
      22033  // insert to array and return iterator
      +
      22034  return insert_iterator(pos, val);
      +
      22035  }
      +
      22036 
      +
      22037  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      22038  }
      +
      22039 
      + +
      22045  {
      +
      22046  return insert(pos, val);
      +
      22047  }
      +
      22048 
      + +
      22074  {
      +
      22075  // insert only works for arrays
      + +
      22077  {
      +
      22078  // check if iterator pos fits to this JSON value
      +
      22079  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      22080  {
      +
      22081  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      22082  }
      +
      22083 
      +
      22084  // insert to array and return iterator
      +
      22085  return insert_iterator(pos, cnt, val);
      +
      22086  }
      +
      22087 
      +
      22088  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      22089  }
      +
      22090 
      + +
      22122  {
      +
      22123  // insert only works for arrays
      + +
      22125  {
      +
      22126  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      22127  }
      +
      22128 
      +
      22129  // check if iterator pos fits to this JSON value
      +
      22130  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      22131  {
      +
      22132  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      22133  }
      +
      22134 
      +
      22135  // check if range iterators belong to the same JSON object
      +
      22136  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      22137  {
      +
      22138  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      22139  }
      +
      22140 
      +
      22141  if (JSON_HEDLEY_UNLIKELY(first.m_object == this))
      +
      22142  {
      +
      22143  JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container"));
      +
      22144  }
      +
      22145 
      +
      22146  // insert to array and return iterator
      +
      22147  return insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator);
      +
      22148  }
      +
      22149 
      + +
      22175  {
      +
      22176  // insert only works for arrays
      + +
      22178  {
      +
      22179  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      22180  }
      +
      22181 
      +
      22182  // check if iterator pos fits to this JSON value
      +
      22183  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
      +
      22184  {
      +
      22185  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value"));
      +
      22186  }
      +
      22187 
      +
      22188  // insert to array and return iterator
      +
      22189  return insert_iterator(pos, ilist.begin(), ilist.end());
      +
      22190  }
      +
      22191 
      + +
      22216  {
      +
      22217  // insert only works for objects
      + +
      22219  {
      +
      22220  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name())));
      +
      22221  }
      +
      22222 
      +
      22223  // check if range iterators belong to the same JSON object
      +
      22224  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      22225  {
      +
      22226  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      22227  }
      +
      22228 
      +
      22229  // passed iterators must belong to objects
      +
      22230  if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object()))
      +
      22231  {
      +
      22232  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
      +
      22233  }
      +
      22234 
      +
      22235  m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
      +
      22236  }
      +
      22237 
      + +
      22258  {
      +
      22259  // implicitly convert null value to an empty object
      +
      22260  if (is_null())
      +
      22261  {
      +
      22262  m_type = value_t::object;
      +
      22263  m_value.object = create<object_t>();
      +
      22264  assert_invariant();
      +
      22265  }
      +
      22266 
      + +
      22268  {
      +
      22269  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
      +
      22270  }
      +
      22271  if (JSON_HEDLEY_UNLIKELY(!j.is_object()))
      +
      22272  {
      +
      22273  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name())));
      +
      22274  }
      +
      22275 
      +
      22276  for (auto it = j.cbegin(); it != j.cend(); ++it)
      +
      22277  {
      +
      22278  m_value.object->operator[](it.key()) = it.value();
      +
      22279  }
      +
      22280  }
      +
      22281 
      + +
      22309  {
      +
      22310  // implicitly convert null value to an empty object
      +
      22311  if (is_null())
      +
      22312  {
      +
      22313  m_type = value_t::object;
      +
      22314  m_value.object = create<object_t>();
      +
      22315  assert_invariant();
      +
      22316  }
      +
      22317 
      + +
      22319  {
      +
      22320  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name())));
      +
      22321  }
      +
      22322 
      +
      22323  // check if range iterators belong to the same JSON object
      +
      22324  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
      +
      22325  {
      +
      22326  JSON_THROW(invalid_iterator::create(210, "iterators do not fit"));
      +
      22327  }
      +
      22328 
      +
      22329  // passed iterators must belong to objects
      +
      22330  if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object()
      +
      22331  || !last.m_object->is_object()))
      +
      22332  {
      +
      22333  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects"));
      +
      22334  }
      +
      22335 
      +
      22336  for (auto it = first; it != last; ++it)
      +
      22337  {
      +
      22338  m_value.object->operator[](it.key()) = it.value();
      +
      22339  }
      +
      22340  }
      +
      22341 
      +
      22359  void swap(reference other) noexcept (
      +
      22360  std::is_nothrow_move_constructible<value_t>::value&&
      +
      22361  std::is_nothrow_move_assignable<value_t>::value&&
      +
      22362  std::is_nothrow_move_constructible<json_value>::value&&
      +
      22363  std::is_nothrow_move_assignable<json_value>::value
      +
      22364  )
      +
      22365  {
      +
      22366  std::swap(m_type, other.m_type);
      +
      22367  std::swap(m_value, other.m_value);
      +
      22368  assert_invariant();
      +
      22369  }
      +
      22370 
      +
      22389  friend void swap(reference left, reference right) noexcept (
      +
      22390  std::is_nothrow_move_constructible<value_t>::value&&
      +
      22391  std::is_nothrow_move_assignable<value_t>::value&&
      +
      22392  std::is_nothrow_move_constructible<json_value>::value&&
      +
      22393  std::is_nothrow_move_assignable<json_value>::value
      +
      22394  )
      +
      22395  {
      +
      22396  left.swap(right);
      +
      22397  }
      +
      22398 
      +
      22419  void swap(array_t& other)
      +
      22420  {
      +
      22421  // swap only works for arrays
      + +
      22423  {
      +
      22424  std::swap(*(m_value.array), other);
      +
      22425  }
      +
      22426  else
      +
      22427  {
      +
      22428  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      22429  }
      +
      22430  }
      +
      22431 
      +
      22452  void swap(object_t& other)
      +
      22453  {
      +
      22454  // swap only works for objects
      + +
      22456  {
      +
      22457  std::swap(*(m_value.object), other);
      +
      22458  }
      +
      22459  else
      +
      22460  {
      +
      22461  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      22462  }
      +
      22463  }
      +
      22464 
      +
      22485  void swap(string_t& other)
      +
      22486  {
      +
      22487  // swap only works for strings
      + +
      22489  {
      +
      22490  std::swap(*(m_value.string), other);
      +
      22491  }
      +
      22492  else
      +
      22493  {
      +
      22494  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      22495  }
      +
      22496  }
      +
      22497 
      +
      22518  void swap(binary_t& other)
      +
      22519  {
      +
      22520  // swap only works for strings
      + +
      22522  {
      +
      22523  std::swap(*(m_value.binary), other);
      +
      22524  }
      +
      22525  else
      +
      22526  {
      +
      22527  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      22528  }
      +
      22529  }
      +
      22530 
      +
      22532  void swap(typename binary_t::container_type& other)
      +
      22533  {
      +
      22534  // swap only works for strings
      + +
      22536  {
      +
      22537  std::swap(*(m_value.binary), other);
      +
      22538  }
      +
      22539  else
      +
      22540  {
      +
      22541  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name())));
      +
      22542  }
      +
      22543  }
      +
      22544 
      +
      22546 
      +
      22547  public:
      +
      22549  // lexicographical comparison operators //
      +
      22551 
      +
      22554 
      +
      22610  friend bool operator==(const_reference lhs, const_reference rhs) noexcept
      +
      22611  {
      +
      22612  const auto lhs_type = lhs.type();
      +
      22613  const auto rhs_type = rhs.type();
      +
      22614 
      +
      22615  if (lhs_type == rhs_type)
      +
      22616  {
      +
      22617  switch (lhs_type)
      +
      22618  {
      +
      22619  case value_t::array:
      +
      22620  return *lhs.m_value.array == *rhs.m_value.array;
      +
      22621 
      +
      22622  case value_t::object:
      +
      22623  return *lhs.m_value.object == *rhs.m_value.object;
      +
      22624 
      +
      22625  case value_t::null:
      +
      22626  return true;
      +
      22627 
      +
      22628  case value_t::string:
      +
      22629  return *lhs.m_value.string == *rhs.m_value.string;
      +
      22630 
      +
      22631  case value_t::boolean:
      +
      22632  return lhs.m_value.boolean == rhs.m_value.boolean;
      +
      22633 
      + +
      22635  return lhs.m_value.number_integer == rhs.m_value.number_integer;
      +
      22636 
      + +
      22638  return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;
      +
      22639 
      +
      22640  case value_t::number_float:
      +
      22641  return lhs.m_value.number_float == rhs.m_value.number_float;
      +
      22642 
      +
      22643  case value_t::binary:
      +
      22644  return *lhs.m_value.binary == *rhs.m_value.binary;
      +
      22645 
      +
      22646  default:
      +
      22647  return false;
      +
      22648  }
      +
      22649  }
      +
      22650  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float)
      +
      22651  {
      +
      22652  return static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float;
      +
      22653  }
      +
      22654  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer)
      +
      22655  {
      +
      22656  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer);
      +
      22657  }
      +
      22658  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float)
      +
      22659  {
      +
      22660  return static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;
      +
      22661  }
      +
      22662  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned)
      +
      22663  {
      +
      22664  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned);
      +
      22665  }
      +
      22666  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer)
      +
      22667  {
      +
      22668  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;
      +
      22669  }
      +
      22670  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned)
      +
      22671  {
      +
      22672  return lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned);
      +
      22673  }
      +
      22674 
      +
      22675  return false;
      +
      22676  }
      +
      22677 
      +
      22682  template<typename ScalarType, typename std::enable_if<
      +
      22683  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22684  friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
      +
      22685  {
      +
      22686  return lhs == basic_json(rhs);
      +
      22687  }
      +
      22688 
      +
      22693  template<typename ScalarType, typename std::enable_if<
      +
      22694  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22695  friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
      +
      22696  {
      +
      22697  return basic_json(lhs) == rhs;
      +
      22698  }
      +
      22699 
      +
      22718  friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
      +
      22719  {
      +
      22720  return !(lhs == rhs);
      +
      22721  }
      +
      22722 
      +
      22727  template<typename ScalarType, typename std::enable_if<
      +
      22728  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22729  friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
      +
      22730  {
      +
      22731  return lhs != basic_json(rhs);
      +
      22732  }
      +
      22733 
      +
      22738  template<typename ScalarType, typename std::enable_if<
      +
      22739  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22740  friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
      +
      22741  {
      +
      22742  return basic_json(lhs) != rhs;
      +
      22743  }
      +
      22744 
      +
      22771  friend bool operator<(const_reference lhs, const_reference rhs) noexcept
      +
      22772  {
      +
      22773  const auto lhs_type = lhs.type();
      +
      22774  const auto rhs_type = rhs.type();
      +
      22775 
      +
      22776  if (lhs_type == rhs_type)
      +
      22777  {
      +
      22778  switch (lhs_type)
      +
      22779  {
      +
      22780  case value_t::array:
      +
      22781  // note parentheses are necessary, see
      +
      22782  // https://github.com/nlohmann/json/issues/1530
      +
      22783  return (*lhs.m_value.array) < (*rhs.m_value.array);
      +
      22784 
      +
      22785  case value_t::object:
      +
      22786  return (*lhs.m_value.object) < (*rhs.m_value.object);
      +
      22787 
      +
      22788  case value_t::null:
      +
      22789  return false;
      +
      22790 
      +
      22791  case value_t::string:
      +
      22792  return (*lhs.m_value.string) < (*rhs.m_value.string);
      +
      22793 
      +
      22794  case value_t::boolean:
      +
      22795  return (lhs.m_value.boolean) < (rhs.m_value.boolean);
      +
      22796 
      + +
      22798  return (lhs.m_value.number_integer) < (rhs.m_value.number_integer);
      +
      22799 
      + +
      22801  return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned);
      +
      22802 
      +
      22803  case value_t::number_float:
      +
      22804  return (lhs.m_value.number_float) < (rhs.m_value.number_float);
      +
      22805 
      +
      22806  case value_t::binary:
      +
      22807  return (*lhs.m_value.binary) < (*rhs.m_value.binary);
      +
      22808 
      +
      22809  default:
      +
      22810  return false;
      +
      22811  }
      +
      22812  }
      +
      22813  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float)
      +
      22814  {
      +
      22815  return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
      +
      22816  }
      +
      22817  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer)
      +
      22818  {
      +
      22819  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
      +
      22820  }
      +
      22821  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float)
      +
      22822  {
      +
      22823  return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
      +
      22824  }
      +
      22825  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned)
      +
      22826  {
      +
      22827  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
      +
      22828  }
      +
      22829  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned)
      +
      22830  {
      +
      22831  return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
      +
      22832  }
      +
      22833  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer)
      +
      22834  {
      +
      22835  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
      +
      22836  }
      +
      22837 
      +
      22838  // We only reach this line if we cannot compare values. In that case,
      +
      22839  // we compare types. Note we have to call the operator explicitly,
      +
      22840  // because MSVC has problems otherwise.
      +
      22841  return operator<(lhs_type, rhs_type);
      +
      22842  }
      +
      22843 
      +
      22848  template<typename ScalarType, typename std::enable_if<
      +
      22849  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22850  friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
      +
      22851  {
      +
      22852  return lhs < basic_json(rhs);
      +
      22853  }
      +
      22854 
      +
      22859  template<typename ScalarType, typename std::enable_if<
      +
      22860  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22861  friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
      +
      22862  {
      +
      22863  return basic_json(lhs) < rhs;
      +
      22864  }
      +
      22865 
      +
      22885  friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
      +
      22886  {
      +
      22887  return !(rhs < lhs);
      +
      22888  }
      +
      22889 
      +
      22894  template<typename ScalarType, typename std::enable_if<
      +
      22895  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22896  friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
      +
      22897  {
      +
      22898  return lhs <= basic_json(rhs);
      +
      22899  }
      +
      22900 
      +
      22905  template<typename ScalarType, typename std::enable_if<
      +
      22906  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22907  friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
      +
      22908  {
      +
      22909  return basic_json(lhs) <= rhs;
      +
      22910  }
      +
      22911 
      +
      22931  friend bool operator>(const_reference lhs, const_reference rhs) noexcept
      +
      22932  {
      +
      22933  return !(lhs <= rhs);
      +
      22934  }
      +
      22935 
      +
      22940  template<typename ScalarType, typename std::enable_if<
      +
      22941  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22942  friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
      +
      22943  {
      +
      22944  return lhs > basic_json(rhs);
      +
      22945  }
      +
      22946 
      +
      22951  template<typename ScalarType, typename std::enable_if<
      +
      22952  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22953  friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
      +
      22954  {
      +
      22955  return basic_json(lhs) > rhs;
      +
      22956  }
      +
      22957 
      +
      22977  friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
      +
      22978  {
      +
      22979  return !(lhs < rhs);
      +
      22980  }
      +
      22981 
      +
      22986  template<typename ScalarType, typename std::enable_if<
      +
      22987  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22988  friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
      +
      22989  {
      +
      22990  return lhs >= basic_json(rhs);
      +
      22991  }
      +
      22992 
      +
      22997  template<typename ScalarType, typename std::enable_if<
      +
      22998  std::is_scalar<ScalarType>::value, int>::type = 0>
      +
      22999  friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
      +
      23000  {
      +
      23001  return basic_json(lhs) >= rhs;
      +
      23002  }
      +
      23003 
      +
      23005 
      +
      23007  // serialization //
      +
      23009 
      +
      23012 
      +
      23044  friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
      +
      23045  {
      +
      23046  // read width member and use it as indentation parameter if nonzero
      +
      23047  const bool pretty_print = o.width() > 0;
      +
      23048  const auto indentation = pretty_print ? o.width() : 0;
      +
      23049 
      +
      23050  // reset width to 0 for subsequent calls to this stream
      +
      23051  o.width(0);
      +
      23052 
      +
      23053  // do the actual serialization
      +
      23054  serializer s(detail::output_adapter<char>(o), o.fill());
      +
      23055  s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
      +
      23056  return o;
      +
      23057  }
      +
      23058 
      +
      23067  JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&))
      +
      23068  friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
      +
      23069  {
      +
      23070  return o << j;
      +
      23071  }
      +
      23072 
      +
      23074 
      +
      23075 
      +
      23077  // deserialization //
      +
      23079 
      +
      23082 
      +
      23134  template<typename InputType>
      + +
      23136  static basic_json parse(InputType&& i,
      +
      23137  const parser_callback_t cb = nullptr,
      +
      23138  const bool allow_exceptions = true,
      +
      23139  const bool ignore_comments = false)
      +
      23140  {
      +
      23141  basic_json result;
      +
      23142  parser(detail::input_adapter(std::forward<InputType>(i)), cb, allow_exceptions, ignore_comments).parse(true, result);
      +
      23143  return result;
      +
      23144  }
      +
      23145 
      +
      23172  template<typename IteratorType>
      + +
      23174  static basic_json parse(IteratorType first,
      +
      23175  IteratorType last,
      +
      23176  const parser_callback_t cb = nullptr,
      +
      23177  const bool allow_exceptions = true,
      +
      23178  const bool ignore_comments = false)
      +
      23179  {
      +
      23180  basic_json result;
      +
      23181  parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions, ignore_comments).parse(true, result);
      +
      23182  return result;
      +
      23183  }
      +
      23184 
      + +
      23186  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len))
      +
      23187  static basic_json parse(detail::span_input_adapter&& i,
      +
      23188  const parser_callback_t cb = nullptr,
      +
      23189  const bool allow_exceptions = true,
      +
      23190  const bool ignore_comments = false)
      +
      23191  {
      +
      23192  basic_json result;
      +
      23193  parser(i.get(), cb, allow_exceptions, ignore_comments).parse(true, result);
      +
      23194  return result;
      +
      23195  }
      +
      23196 
      +
      23227  template<typename InputType>
      +
      23228  static bool accept(InputType&& i,
      +
      23229  const bool ignore_comments = false)
      +
      23230  {
      +
      23231  return parser(detail::input_adapter(std::forward<InputType>(i)), nullptr, false, ignore_comments).accept(true);
      +
      23232  }
      +
      23233 
      +
      23234  template<typename IteratorType>
      +
      23235  static bool accept(IteratorType first, IteratorType last,
      +
      23236  const bool ignore_comments = false)
      +
      23237  {
      +
      23238  return parser(detail::input_adapter(std::move(first), std::move(last)), nullptr, false, ignore_comments).accept(true);
      +
      23239  }
      +
      23240 
      + +
      23242  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len))
      +
      23243  static bool accept(detail::span_input_adapter&& i,
      +
      23244  const bool ignore_comments = false)
      +
      23245  {
      +
      23246  return parser(i.get(), nullptr, false, ignore_comments).accept(true);
      +
      23247  }
      +
      23248 
      +
      23289  template <typename InputType, typename SAX>
      + +
      23291  static bool sax_parse(InputType&& i, SAX* sax,
      + +
      23293  const bool strict = true,
      +
      23294  const bool ignore_comments = false)
      +
      23295  {
      +
      23296  auto ia = detail::input_adapter(std::forward<InputType>(i));
      +
      23297  return format == input_format_t::json
      +
      23298  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
      +
      23299  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
      +
      23300  }
      +
      23301 
      +
      23302  template<class IteratorType, class SAX>
      + +
      23304  static bool sax_parse(IteratorType first, IteratorType last, SAX* sax,
      + +
      23306  const bool strict = true,
      +
      23307  const bool ignore_comments = false)
      +
      23308  {
      +
      23309  auto ia = detail::input_adapter(std::move(first), std::move(last));
      +
      23310  return format == input_format_t::json
      +
      23311  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
      +
      23312  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
      +
      23313  }
      +
      23314 
      +
      23315  template <typename SAX>
      +
      23316  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...))
      + +
      23318  static bool sax_parse(detail::span_input_adapter&& i, SAX* sax,
      + +
      23320  const bool strict = true,
      +
      23321  const bool ignore_comments = false)
      +
      23322  {
      +
      23323  auto ia = i.get();
      +
      23324  return format == input_format_t::json
      +
      23325  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
      +
      23326  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
      +
      23327  }
      +
      23328 
      +
      23337  JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&))
      +
      23338  friend std::istream& operator<<(basic_json& j, std::istream& i)
      +
      23339  {
      +
      23340  return operator>>(i, j);
      +
      23341  }
      +
      23342 
      +
      23368  friend std::istream& operator>>(std::istream& i, basic_json& j)
      +
      23369  {
      +
      23370  parser(detail::input_adapter(i)).parse(false, j);
      +
      23371  return i;
      +
      23372  }
      +
      23373 
      +
      23375 
      +
      23377  // convenience functions //
      +
      23379 
      + +
      23412  const char* type_name() const noexcept
      +
      23413  {
      +
      23414  {
      +
      23415  switch (m_type)
      +
      23416  {
      +
      23417  case value_t::null:
      +
      23418  return "null";
      +
      23419  case value_t::object:
      +
      23420  return "object";
      +
      23421  case value_t::array:
      +
      23422  return "array";
      +
      23423  case value_t::string:
      +
      23424  return "string";
      +
      23425  case value_t::boolean:
      +
      23426  return "boolean";
      +
      23427  case value_t::binary:
      +
      23428  return "binary";
      +
      23429  case value_t::discarded:
      +
      23430  return "discarded";
      +
      23431  default:
      +
      23432  return "number";
      +
      23433  }
      +
      23434  }
      +
      23435  }
      +
      23436 
      +
      23437 
      +
      23438  private:
      +
      23440  // member variables //
      +
      23442 
      +
      23444  value_t m_type = value_t::null;
      +
      23445 
      +
      23447  json_value m_value = {};
      +
      23448 
      +
      23450  // binary serialization/deserialization //
      +
      23452 
      +
      23455 
      +
      23456  public:
      +
      23551  static std::vector<uint8_t> to_cbor(const basic_json& j)
      +
      23552  {
      +
      23553  std::vector<uint8_t> result;
      +
      23554  to_cbor(j, result);
      +
      23555  return result;
      +
      23556  }
      +
      23557 
      + +
      23559  {
      + +
      23561  }
      +
      23562 
      + +
      23564  {
      + +
      23566  }
      +
      23567 
      +
      23646  static std::vector<uint8_t> to_msgpack(const basic_json& j)
      +
      23647  {
      +
      23648  std::vector<uint8_t> result;
      +
      23649  to_msgpack(j, result);
      +
      23650  return result;
      +
      23651  }
      +
      23652 
      + +
      23654  {
      + +
      23656  }
      +
      23657 
      + +
      23659  {
      + +
      23661  }
      +
      23662 
      +
      23749  static std::vector<uint8_t> to_ubjson(const basic_json& j,
      +
      23750  const bool use_size = false,
      +
      23751  const bool use_type = false)
      +
      23752  {
      +
      23753  std::vector<uint8_t> result;
      +
      23754  to_ubjson(j, result, use_size, use_type);
      +
      23755  return result;
      +
      23756  }
      +
      23757 
      + +
      23759  const bool use_size = false, const bool use_type = false)
      +
      23760  {
      +
      23761  binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
      +
      23762  }
      +
      23763 
      + +
      23765  const bool use_size = false, const bool use_type = false)
      +
      23766  {
      +
      23767  binary_writer<char>(o).write_ubjson(j, use_size, use_type);
      +
      23768  }
      +
      23769 
      +
      23770 
      +
      23827  static std::vector<uint8_t> to_bson(const basic_json& j)
      +
      23828  {
      +
      23829  std::vector<uint8_t> result;
      +
      23830  to_bson(j, result);
      +
      23831  return result;
      +
      23832  }
      +
      23833 
      + +
      23843  {
      + +
      23845  }
      +
      23846 
      + +
      23851  {
      + +
      23853  }
      +
      23854 
      +
      23855 
      +
      23958  template<typename InputType>
      + +
      23960  static basic_json from_cbor(InputType&& i,
      +
      23961  const bool strict = true,
      +
      23962  const bool allow_exceptions = true,
      +
      23963  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
      +
      23964  {
      +
      23965  basic_json result;
      +
      23966  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      23967  auto ia = detail::input_adapter(std::forward<InputType>(i));
      +
      23968  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
      +
      23969  return res ? result : basic_json(value_t::discarded);
      +
      23970  }
      +
      23971 
      +
      23975  template<typename IteratorType>
      + +
      23977  static basic_json from_cbor(IteratorType first, IteratorType last,
      +
      23978  const bool strict = true,
      +
      23979  const bool allow_exceptions = true,
      +
      23980  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
      +
      23981  {
      +
      23982  basic_json result;
      +
      23983  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      23984  auto ia = detail::input_adapter(std::move(first), std::move(last));
      +
      23985  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
      +
      23986  return res ? result : basic_json(value_t::discarded);
      +
      23987  }
      +
      23988 
      +
      23989  template<typename T>
      + +
      23991  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len))
      +
      23992  static basic_json from_cbor(const T* ptr, std::size_t len,
      +
      23993  const bool strict = true,
      +
      23994  const bool allow_exceptions = true,
      +
      23995  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
      +
      23996  {
      +
      23997  return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler);
      +
      23998  }
      +
      23999 
      +
      24000 
      + +
      24002  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len))
      +
      24003  static basic_json from_cbor(detail::span_input_adapter&& i,
      +
      24004  const bool strict = true,
      +
      24005  const bool allow_exceptions = true,
      +
      24006  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
      +
      24007  {
      +
      24008  basic_json result;
      +
      24009  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24010  auto ia = i.get();
      +
      24011  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
      +
      24012  return res ? result : basic_json(value_t::discarded);
      +
      24013  }
      +
      24014 
      +
      24101  template<typename InputType>
      + +
      24103  static basic_json from_msgpack(InputType&& i,
      +
      24104  const bool strict = true,
      +
      24105  const bool allow_exceptions = true)
      +
      24106  {
      +
      24107  basic_json result;
      +
      24108  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24109  auto ia = detail::input_adapter(std::forward<InputType>(i));
      +
      24110  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
      +
      24111  return res ? result : basic_json(value_t::discarded);
      +
      24112  }
      +
      24113 
      +
      24117  template<typename IteratorType>
      + +
      24119  static basic_json from_msgpack(IteratorType first, IteratorType last,
      +
      24120  const bool strict = true,
      +
      24121  const bool allow_exceptions = true)
      +
      24122  {
      +
      24123  basic_json result;
      +
      24124  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24125  auto ia = detail::input_adapter(std::move(first), std::move(last));
      +
      24126  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
      +
      24127  return res ? result : basic_json(value_t::discarded);
      +
      24128  }
      +
      24129 
      +
      24130 
      +
      24131  template<typename T>
      + +
      24133  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len))
      +
      24134  static basic_json from_msgpack(const T* ptr, std::size_t len,
      +
      24135  const bool strict = true,
      +
      24136  const bool allow_exceptions = true)
      +
      24137  {
      +
      24138  return from_msgpack(ptr, ptr + len, strict, allow_exceptions);
      +
      24139  }
      +
      24140 
      + +
      24142  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len))
      +
      24143  static basic_json from_msgpack(detail::span_input_adapter&& i,
      +
      24144  const bool strict = true,
      +
      24145  const bool allow_exceptions = true)
      +
      24146  {
      +
      24147  basic_json result;
      +
      24148  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24149  auto ia = i.get();
      +
      24150  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
      +
      24151  return res ? result : basic_json(value_t::discarded);
      +
      24152  }
      +
      24153 
      +
      24154 
      +
      24217  template<typename InputType>
      + +
      24219  static basic_json from_ubjson(InputType&& i,
      +
      24220  const bool strict = true,
      +
      24221  const bool allow_exceptions = true)
      +
      24222  {
      +
      24223  basic_json result;
      +
      24224  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24225  auto ia = detail::input_adapter(std::forward<InputType>(i));
      +
      24226  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
      +
      24227  return res ? result : basic_json(value_t::discarded);
      +
      24228  }
      +
      24229 
      +
      24233  template<typename IteratorType>
      + +
      24235  static basic_json from_ubjson(IteratorType first, IteratorType last,
      +
      24236  const bool strict = true,
      +
      24237  const bool allow_exceptions = true)
      +
      24238  {
      +
      24239  basic_json result;
      +
      24240  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24241  auto ia = detail::input_adapter(std::move(first), std::move(last));
      +
      24242  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
      +
      24243  return res ? result : basic_json(value_t::discarded);
      +
      24244  }
      +
      24245 
      +
      24246  template<typename T>
      + +
      24248  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len))
      +
      24249  static basic_json from_ubjson(const T* ptr, std::size_t len,
      +
      24250  const bool strict = true,
      +
      24251  const bool allow_exceptions = true)
      +
      24252  {
      +
      24253  return from_ubjson(ptr, ptr + len, strict, allow_exceptions);
      +
      24254  }
      +
      24255 
      + +
      24257  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len))
      +
      24258  static basic_json from_ubjson(detail::span_input_adapter&& i,
      +
      24259  const bool strict = true,
      +
      24260  const bool allow_exceptions = true)
      +
      24261  {
      +
      24262  basic_json result;
      +
      24263  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24264  auto ia = i.get();
      +
      24265  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
      +
      24266  return res ? result : basic_json(value_t::discarded);
      +
      24267  }
      +
      24268 
      +
      24269 
      +
      24330  template<typename InputType>
      + +
      24332  static basic_json from_bson(InputType&& i,
      +
      24333  const bool strict = true,
      +
      24334  const bool allow_exceptions = true)
      +
      24335  {
      +
      24336  basic_json result;
      +
      24337  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24338  auto ia = detail::input_adapter(std::forward<InputType>(i));
      +
      24339  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
      +
      24340  return res ? result : basic_json(value_t::discarded);
      +
      24341  }
      +
      24342 
      +
      24346  template<typename IteratorType>
      + +
      24348  static basic_json from_bson(IteratorType first, IteratorType last,
      +
      24349  const bool strict = true,
      +
      24350  const bool allow_exceptions = true)
      +
      24351  {
      +
      24352  basic_json result;
      +
      24353  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24354  auto ia = detail::input_adapter(std::move(first), std::move(last));
      +
      24355  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
      +
      24356  return res ? result : basic_json(value_t::discarded);
      +
      24357  }
      +
      24358 
      +
      24359  template<typename T>
      + +
      24361  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len))
      +
      24362  static basic_json from_bson(const T* ptr, std::size_t len,
      +
      24363  const bool strict = true,
      +
      24364  const bool allow_exceptions = true)
      +
      24365  {
      +
      24366  return from_bson(ptr, ptr + len, strict, allow_exceptions);
      +
      24367  }
      +
      24368 
      + +
      24370  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len))
      +
      24371  static basic_json from_bson(detail::span_input_adapter&& i,
      +
      24372  const bool strict = true,
      +
      24373  const bool allow_exceptions = true)
      +
      24374  {
      +
      24375  basic_json result;
      +
      24376  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
      +
      24377  auto ia = i.get();
      +
      24378  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
      +
      24379  return res ? result : basic_json(value_t::discarded);
      +
      24380  }
      +
      24382 
      +
      24384  // JSON Pointer support //
      +
      24386 
      +
      24389 
      + +
      24424  {
      +
      24425  return ptr.get_unchecked(this);
      +
      24426  }
      +
      24427 
      + +
      24452  {
      +
      24453  return ptr.get_unchecked(this);
      +
      24454  }
      +
      24455 
      + +
      24495  {
      +
      24496  return ptr.get_checked(this);
      +
      24497  }
      +
      24498 
      +
      24537  const_reference at(const json_pointer& ptr) const
      +
      24538  {
      +
      24539  return ptr.get_checked(this);
      +
      24540  }
      +
      24541 
      + +
      24565  {
      +
      24566  basic_json result(value_t::object);
      +
      24567  json_pointer::flatten("", *this, result);
      +
      24568  return result;
      +
      24569  }
      +
      24570 
      + +
      24602  {
      +
      24603  return json_pointer::unflatten(*this);
      +
      24604  }
      +
      24605 
      +
      24607 
      +
      24609  // JSON Patch functions //
      +
      24611 
      +
      24614 
      +
      24662  basic_json patch(const basic_json& json_patch) const
      +
      24663  {
      +
      24664  // make a working copy to apply the patch to
      +
      24665  basic_json result = *this;
      +
      24666 
      +
      24667  // the valid JSON Patch operations
      +
      24668  enum class patch_operations {add, remove, replace, move, copy, test, invalid};
      +
      24669 
      +
      24670  const auto get_op = [](const std::string & op)
      +
      24671  {
      +
      24672  if (op == "add")
      +
      24673  {
      +
      24674  return patch_operations::add;
      +
      24675  }
      +
      24676  if (op == "remove")
      +
      24677  {
      +
      24678  return patch_operations::remove;
      +
      24679  }
      +
      24680  if (op == "replace")
      +
      24681  {
      +
      24682  return patch_operations::replace;
      +
      24683  }
      +
      24684  if (op == "move")
      +
      24685  {
      +
      24686  return patch_operations::move;
      +
      24687  }
      +
      24688  if (op == "copy")
      +
      24689  {
      +
      24690  return patch_operations::copy;
      +
      24691  }
      +
      24692  if (op == "test")
      +
      24693  {
      +
      24694  return patch_operations::test;
      +
      24695  }
      +
      24696 
      +
      24697  return patch_operations::invalid;
      +
      24698  };
      +
      24699 
      +
      24700  // wrapper for "add" operation; add value at ptr
      +
      24701  const auto operation_add = [&result](json_pointer & ptr, basic_json val)
      +
      24702  {
      +
      24703  // adding to the root of the target document means replacing it
      +
      24704  if (ptr.empty())
      +
      24705  {
      +
      24706  result = val;
      +
      24707  return;
      +
      24708  }
      +
      24709 
      +
      24710  // make sure the top element of the pointer exists
      +
      24711  json_pointer top_pointer = ptr.top();
      +
      24712  if (top_pointer != ptr)
      +
      24713  {
      +
      24714  result.at(top_pointer);
      +
      24715  }
      +
      24716 
      +
      24717  // get reference to parent of JSON pointer ptr
      +
      24718  const auto last_path = ptr.back();
      +
      24719  ptr.pop_back();
      +
      24720  basic_json& parent = result[ptr];
      +
      24721 
      +
      24722  switch (parent.m_type)
      +
      24723  {
      +
      24724  case value_t::null:
      +
      24725  case value_t::object:
      +
      24726  {
      +
      24727  // use operator[] to add value
      +
      24728  parent[last_path] = val;
      +
      24729  break;
      +
      24730  }
      +
      24731 
      +
      24732  case value_t::array:
      +
      24733  {
      +
      24734  if (last_path == "-")
      +
      24735  {
      +
      24736  // special case: append to back
      +
      24737  parent.push_back(val);
      +
      24738  }
      +
      24739  else
      +
      24740  {
      +
      24741  const auto idx = json_pointer::array_index(last_path);
      +
      24742  if (JSON_HEDLEY_UNLIKELY(idx > parent.size()))
      +
      24743  {
      +
      24744  // avoid undefined behavior
      +
      24745  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range"));
      +
      24746  }
      +
      24747 
      +
      24748  // default case: insert add offset
      +
      24749  parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
      +
      24750  }
      +
      24751  break;
      +
      24752  }
      +
      24753 
      +
      24754  // if there exists a parent it cannot be primitive
      +
      24755  default: // LCOV_EXCL_LINE
      +
      24756  JSON_ASSERT(false); // LCOV_EXCL_LINE
      +
      24757  }
      +
      24758  };
      +
      24759 
      +
      24760  // wrapper for "remove" operation; remove value at ptr
      +
      24761  const auto operation_remove = [&result](json_pointer & ptr)
      +
      24762  {
      +
      24763  // get reference to parent of JSON pointer ptr
      +
      24764  const auto last_path = ptr.back();
      +
      24765  ptr.pop_back();
      +
      24766  basic_json& parent = result.at(ptr);
      +
      24767 
      +
      24768  // remove child
      +
      24769  if (parent.is_object())
      +
      24770  {
      +
      24771  // perform range check
      +
      24772  auto it = parent.find(last_path);
      +
      24773  if (JSON_HEDLEY_LIKELY(it != parent.end()))
      +
      24774  {
      +
      24775  parent.erase(it);
      +
      24776  }
      +
      24777  else
      +
      24778  {
      +
      24779  JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found"));
      +
      24780  }
      +
      24781  }
      +
      24782  else if (parent.is_array())
      +
      24783  {
      +
      24784  // note erase performs range check
      +
      24785  parent.erase(json_pointer::array_index(last_path));
      +
      24786  }
      +
      24787  };
      +
      24788 
      +
      24789  // type check: top level value must be an array
      +
      24790  if (JSON_HEDLEY_UNLIKELY(!json_patch.is_array()))
      +
      24791  {
      +
      24792  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
      +
      24793  }
      +
      24794 
      +
      24795  // iterate and apply the operations
      +
      24796  for (const auto& val : json_patch)
      +
      24797  {
      +
      24798  // wrapper to get a value for an operation
      +
      24799  const auto get_value = [&val](const std::string & op,
      +
      24800  const std::string & member,
      +
      24801  bool string_type) -> basic_json &
      +
      24802  {
      +
      24803  // find value
      +
      24804  auto it = val.m_value.object->find(member);
      +
      24805 
      +
      24806  // context-sensitive error message
      +
      24807  const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
      +
      24808 
      +
      24809  // check if desired value is present
      +
      24810  if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end()))
      +
      24811  {
      +
      24812  JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'"));
      +
      24813  }
      +
      24814 
      +
      24815  // check if result is of type string
      +
      24816  if (JSON_HEDLEY_UNLIKELY(string_type && !it->second.is_string()))
      +
      24817  {
      +
      24818  JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'"));
      +
      24819  }
      +
      24820 
      +
      24821  // no error: return value
      +
      24822  return it->second;
      +
      24823  };
      +
      24824 
      +
      24825  // type check: every element of the array must be an object
      +
      24826  if (JSON_HEDLEY_UNLIKELY(!val.is_object()))
      +
      24827  {
      +
      24828  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects"));
      +
      24829  }
      +
      24830 
      +
      24831  // collect mandatory members
      +
      24832  const auto op = get_value("op", "op", true).template get<std::string>();
      +
      24833  const auto path = get_value(op, "path", true).template get<std::string>();
      +
      24834  json_pointer ptr(path);
      +
      24835 
      +
      24836  switch (get_op(op))
      +
      24837  {
      +
      24838  case patch_operations::add:
      +
      24839  {
      +
      24840  operation_add(ptr, get_value("add", "value", false));
      +
      24841  break;
      +
      24842  }
      +
      24843 
      +
      24844  case patch_operations::remove:
      +
      24845  {
      +
      24846  operation_remove(ptr);
      +
      24847  break;
      +
      24848  }
      +
      24849 
      +
      24850  case patch_operations::replace:
      +
      24851  {
      +
      24852  // the "path" location must exist - use at()
      +
      24853  result.at(ptr) = get_value("replace", "value", false);
      +
      24854  break;
      +
      24855  }
      +
      24856 
      +
      24857  case patch_operations::move:
      +
      24858  {
      +
      24859  const auto from_path = get_value("move", "from", true).template get<std::string>();
      +
      24860  json_pointer from_ptr(from_path);
      +
      24861 
      +
      24862  // the "from" location must exist - use at()
      +
      24863  basic_json v = result.at(from_ptr);
      +
      24864 
      +
      24865  // The move operation is functionally identical to a
      +
      24866  // "remove" operation on the "from" location, followed
      +
      24867  // immediately by an "add" operation at the target
      +
      24868  // location with the value that was just removed.
      +
      24869  operation_remove(from_ptr);
      +
      24870  operation_add(ptr, v);
      +
      24871  break;
      +
      24872  }
      +
      24873 
      +
      24874  case patch_operations::copy:
      +
      24875  {
      +
      24876  const auto from_path = get_value("copy", "from", true).template get<std::string>();
      +
      24877  const json_pointer from_ptr(from_path);
      +
      24878 
      +
      24879  // the "from" location must exist - use at()
      +
      24880  basic_json v = result.at(from_ptr);
      +
      24881 
      +
      24882  // The copy is functionally identical to an "add"
      +
      24883  // operation at the target location using the value
      +
      24884  // specified in the "from" member.
      +
      24885  operation_add(ptr, v);
      +
      24886  break;
      +
      24887  }
      +
      24888 
      +
      24889  case patch_operations::test:
      +
      24890  {
      +
      24891  bool success = false;
      +
      24892  JSON_TRY
      +
      24893  {
      +
      24894  // check if "value" matches the one at "path"
      +
      24895  // the "path" location must exist - use at()
      +
      24896  success = (result.at(ptr) == get_value("test", "value", false));
      +
      24897  }
      + +
      24899  {
      +
      24900  // ignore out of range errors: success remains false
      +
      24901  }
      +
      24902 
      +
      24903  // throw an exception if test fails
      +
      24904  if (JSON_HEDLEY_UNLIKELY(!success))
      +
      24905  {
      +
      24906  JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump()));
      +
      24907  }
      +
      24908 
      +
      24909  break;
      +
      24910  }
      +
      24911 
      +
      24912  default:
      +
      24913  {
      +
      24914  // op must be "add", "remove", "replace", "move", "copy", or
      +
      24915  // "test"
      +
      24916  JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid"));
      +
      24917  }
      +
      24918  }
      +
      24919  }
      +
      24920 
      +
      24921  return result;
      +
      24922  }
      +
      24923 
      + +
      24958  static basic_json diff(const basic_json& source, const basic_json& target,
      +
      24959  const std::string& path = "")
      +
      24960  {
      +
      24961  // the patch
      +
      24962  basic_json result(value_t::array);
      +
      24963 
      +
      24964  // if the values are the same, return empty patch
      +
      24965  if (source == target)
      +
      24966  {
      +
      24967  return result;
      +
      24968  }
      +
      24969 
      +
      24970  if (source.type() != target.type())
      +
      24971  {
      +
      24972  // different types: replace value
      +
      24973  result.push_back(
      +
      24974  {
      +
      24975  {"op", "replace"}, {"path", path}, {"value", target}
      +
      24976  });
      +
      24977  return result;
      +
      24978  }
      +
      24979 
      +
      24980  switch (source.type())
      +
      24981  {
      +
      24982  case value_t::array:
      +
      24983  {
      +
      24984  // first pass: traverse common elements
      +
      24985  std::size_t i = 0;
      +
      24986  while (i < source.size() && i < target.size())
      +
      24987  {
      +
      24988  // recursive call to compare array values at index i
      +
      24989  auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
      +
      24990  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
      +
      24991  ++i;
      +
      24992  }
      +
      24993 
      +
      24994  // i now reached the end of at least one array
      +
      24995  // in a second pass, traverse the remaining elements
      +
      24996 
      +
      24997  // remove my remaining elements
      +
      24998  const auto end_index = static_cast<difference_type>(result.size());
      +
      24999  while (i < source.size())
      +
      25000  {
      +
      25001  // add operations in reverse order to avoid invalid
      +
      25002  // indices
      +
      25003  result.insert(result.begin() + end_index, object(
      +
      25004  {
      +
      25005  {"op", "remove"},
      +
      25006  {"path", path + "/" + std::to_string(i)}
      +
      25007  }));
      +
      25008  ++i;
      +
      25009  }
      +
      25010 
      +
      25011  // add other remaining elements
      +
      25012  while (i < target.size())
      +
      25013  {
      +
      25014  result.push_back(
      +
      25015  {
      +
      25016  {"op", "add"},
      +
      25017  {"path", path + "/-"},
      +
      25018  {"value", target[i]}
      +
      25019  });
      +
      25020  ++i;
      +
      25021  }
      +
      25022 
      +
      25023  break;
      +
      25024  }
      +
      25025 
      +
      25026  case value_t::object:
      +
      25027  {
      +
      25028  // first pass: traverse this object's elements
      +
      25029  for (auto it = source.cbegin(); it != source.cend(); ++it)
      +
      25030  {
      +
      25031  // escape the key name to be used in a JSON patch
      +
      25032  const auto key = json_pointer::escape(it.key());
      +
      25033 
      +
      25034  if (target.find(it.key()) != target.end())
      +
      25035  {
      +
      25036  // recursive call to compare object values at key it
      +
      25037  auto temp_diff = diff(it.value(), target[it.key()], path + "/" + key);
      +
      25038  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
      +
      25039  }
      +
      25040  else
      +
      25041  {
      +
      25042  // found a key that is not in o -> remove it
      +
      25043  result.push_back(object(
      +
      25044  {
      +
      25045  {"op", "remove"}, {"path", path + "/" + key}
      +
      25046  }));
      +
      25047  }
      +
      25048  }
      +
      25049 
      +
      25050  // second pass: traverse other object's elements
      +
      25051  for (auto it = target.cbegin(); it != target.cend(); ++it)
      +
      25052  {
      +
      25053  if (source.find(it.key()) == source.end())
      +
      25054  {
      +
      25055  // found a key that is not in this -> add it
      +
      25056  const auto key = json_pointer::escape(it.key());
      +
      25057  result.push_back(
      +
      25058  {
      +
      25059  {"op", "add"}, {"path", path + "/" + key},
      +
      25060  {"value", it.value()}
      +
      25061  });
      +
      25062  }
      +
      25063  }
      +
      25064 
      +
      25065  break;
      +
      25066  }
      +
      25067 
      +
      25068  default:
      +
      25069  {
      +
      25070  // both primitive type: replace value
      +
      25071  result.push_back(
      +
      25072  {
      +
      25073  {"op", "replace"}, {"path", path}, {"value", target}
      +
      25074  });
      +
      25075  break;
      +
      25076  }
      +
      25077  }
      +
      25078 
      +
      25079  return result;
      +
      25080  }
      +
      25081 
      +
      25083 
      +
      25085  // JSON Merge Patch functions //
      +
      25087 
      +
      25090 
      +
      25133  void merge_patch(const basic_json& apply_patch)
      +
      25134  {
      +
      25135  if (apply_patch.is_object())
      +
      25136  {
      +
      25137  if (!is_object())
      +
      25138  {
      +
      25139  *this = object();
      +
      25140  }
      +
      25141  for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it)
      +
      25142  {
      +
      25143  if (it.value().is_null())
      +
      25144  {
      +
      25145  erase(it.key());
      +
      25146  }
      +
      25147  else
      +
      25148  {
      +
      25149  operator[](it.key()).merge_patch(it.value());
      +
      25150  }
      +
      25151  }
      +
      25152  }
      +
      25153  else
      +
      25154  {
      +
      25155  *this = apply_patch;
      +
      25156  }
      +
      25157  }
      +
      25158 
      +
      25160 };
      +
      25161 
      + +
      25172 std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
      +
      25173 {
      +
      25174  return j.dump();
      +
      25175 }
      +
      25176 } // namespace nlohmann
      +
      25177 
      +
      25179 // nonmember support //
      +
      25181 
      +
      25182 // specialization of std::swap, and std::hash
      +
      25183 namespace std
      +
      25184 {
      +
      25185 
      +
      25187 template<>
      +
      25188 struct hash<nlohmann::json>
      +
      25189 {
      +
      25195  std::size_t operator()(const nlohmann::json& j) const
      +
      25196  {
      +
      25197  return nlohmann::detail::hash(j);
      +
      25198  }
      +
      25199 };
      +
      25200 
      +
      25204 template<>
      +
      25205 struct less<::nlohmann::detail::value_t>
      +
      25206 {
      + +
      25212  nlohmann::detail::value_t rhs) const noexcept
      +
      25213  {
      +
      25214  return nlohmann::detail::operator<(lhs, rhs);
      +
      25215  }
      +
      25216 };
      +
      25217 
      +
      25218 // C++20 prohibit function specialization in the std namespace.
      +
      25219 #ifndef JSON_HAS_CPP_20
      +
      25220 
      +
      25226 template<>
      +
      25227 inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
      +
      25228  is_nothrow_move_constructible<nlohmann::json>::value&&
      +
      25229  is_nothrow_move_assignable<nlohmann::json>::value
      +
      25230  )
      +
      25231 {
      +
      25232  j1.swap(j2);
      +
      25233 }
      +
      25234 
      +
      25235 #endif
      +
      25236 
      +
      25237 } // namespace std
      +
      25238 
      + +
      25253 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
      +
      25254 {
      +
      25255  return nlohmann::json::parse(s, s + n);
      +
      25256 }
      +
      25257 
      + +
      25272 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
      +
      25273 {
      +
      25274  return nlohmann::json::json_pointer(std::string(s, n));
      +
      25275 }
      +
      25276 
      +
      25277 // #include <nlohmann/detail/macro_unscope.hpp>
      +
      25278 
      +
      25279 
      +
      25280 // restore GCC/clang diagnostic settings
      +
      25281 #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
      +
      25282  #pragma GCC diagnostic pop
      +
      25283 #endif
      +
      25284 #if defined(__clang__)
      +
      25285  #pragma GCC diagnostic pop
      +
      25286 #endif
      +
      25287 
      +
      25288 // clean up
      +
      25289 #undef JSON_ASSERT
      +
      25290 #undef JSON_INTERNAL_CATCH
      +
      25291 #undef JSON_CATCH
      +
      25292 #undef JSON_THROW
      +
      25293 #undef JSON_TRY
      +
      25294 #undef JSON_HAS_CPP_14
      +
      25295 #undef JSON_HAS_CPP_17
      +
      25296 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
      +
      25297 #undef NLOHMANN_BASIC_JSON_TPL
      +
      25298 #undef JSON_EXPLICIT
      +
      25299 
      +
      25300 // #include <nlohmann/thirdparty/hedley/hedley_undef.hpp>
      +
      25301 #undef JSON_HEDLEY_ALWAYS_INLINE
      +
      25302 #undef JSON_HEDLEY_ARM_VERSION
      +
      25303 #undef JSON_HEDLEY_ARM_VERSION_CHECK
      +
      25304 #undef JSON_HEDLEY_ARRAY_PARAM
      +
      25305 #undef JSON_HEDLEY_ASSUME
      +
      25306 #undef JSON_HEDLEY_BEGIN_C_DECLS
      +
      25307 #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
      +
      25308 #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
      +
      25309 #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
      +
      25310 #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
      +
      25311 #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
      +
      25312 #undef JSON_HEDLEY_CLANG_HAS_FEATURE
      +
      25313 #undef JSON_HEDLEY_CLANG_HAS_WARNING
      +
      25314 #undef JSON_HEDLEY_COMPCERT_VERSION
      +
      25315 #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
      +
      25316 #undef JSON_HEDLEY_CONCAT
      +
      25317 #undef JSON_HEDLEY_CONCAT3
      +
      25318 #undef JSON_HEDLEY_CONCAT3_EX
      +
      25319 #undef JSON_HEDLEY_CONCAT_EX
      +
      25320 #undef JSON_HEDLEY_CONST
      +
      25321 #undef JSON_HEDLEY_CONSTEXPR
      +
      25322 #undef JSON_HEDLEY_CONST_CAST
      +
      25323 #undef JSON_HEDLEY_CPP_CAST
      +
      25324 #undef JSON_HEDLEY_CRAY_VERSION
      +
      25325 #undef JSON_HEDLEY_CRAY_VERSION_CHECK
      +
      25326 #undef JSON_HEDLEY_C_DECL
      +
      25327 #undef JSON_HEDLEY_DEPRECATED
      +
      25328 #undef JSON_HEDLEY_DEPRECATED_FOR
      +
      25329 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      +
      25330 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
      +
      25331 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      +
      25332 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      +
      25333 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      +
      25334 #undef JSON_HEDLEY_DIAGNOSTIC_POP
      +
      25335 #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
      +
      25336 #undef JSON_HEDLEY_DMC_VERSION
      +
      25337 #undef JSON_HEDLEY_DMC_VERSION_CHECK
      +
      25338 #undef JSON_HEDLEY_EMPTY_BASES
      +
      25339 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
      +
      25340 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
      +
      25341 #undef JSON_HEDLEY_END_C_DECLS
      +
      25342 #undef JSON_HEDLEY_FLAGS
      +
      25343 #undef JSON_HEDLEY_FLAGS_CAST
      +
      25344 #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
      +
      25345 #undef JSON_HEDLEY_GCC_HAS_BUILTIN
      +
      25346 #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
      +
      25347 #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
      +
      25348 #undef JSON_HEDLEY_GCC_HAS_EXTENSION
      +
      25349 #undef JSON_HEDLEY_GCC_HAS_FEATURE
      +
      25350 #undef JSON_HEDLEY_GCC_HAS_WARNING
      +
      25351 #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
      +
      25352 #undef JSON_HEDLEY_GCC_VERSION
      +
      25353 #undef JSON_HEDLEY_GCC_VERSION_CHECK
      +
      25354 #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
      +
      25355 #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
      +
      25356 #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
      +
      25357 #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
      +
      25358 #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
      +
      25359 #undef JSON_HEDLEY_GNUC_HAS_FEATURE
      +
      25360 #undef JSON_HEDLEY_GNUC_HAS_WARNING
      +
      25361 #undef JSON_HEDLEY_GNUC_VERSION
      +
      25362 #undef JSON_HEDLEY_GNUC_VERSION_CHECK
      +
      25363 #undef JSON_HEDLEY_HAS_ATTRIBUTE
      +
      25364 #undef JSON_HEDLEY_HAS_BUILTIN
      +
      25365 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
      +
      25366 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
      +
      25367 #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
      +
      25368 #undef JSON_HEDLEY_HAS_EXTENSION
      +
      25369 #undef JSON_HEDLEY_HAS_FEATURE
      +
      25370 #undef JSON_HEDLEY_HAS_WARNING
      +
      25371 #undef JSON_HEDLEY_IAR_VERSION
      +
      25372 #undef JSON_HEDLEY_IAR_VERSION_CHECK
      +
      25373 #undef JSON_HEDLEY_IBM_VERSION
      +
      25374 #undef JSON_HEDLEY_IBM_VERSION_CHECK
      +
      25375 #undef JSON_HEDLEY_IMPORT
      +
      25376 #undef JSON_HEDLEY_INLINE
      +
      25377 #undef JSON_HEDLEY_INTEL_VERSION
      +
      25378 #undef JSON_HEDLEY_INTEL_VERSION_CHECK
      +
      25379 #undef JSON_HEDLEY_IS_CONSTANT
      +
      25380 #undef JSON_HEDLEY_IS_CONSTEXPR_
      +
      25381 #undef JSON_HEDLEY_LIKELY
      +
      25382 #undef JSON_HEDLEY_MALLOC
      +
      25383 #undef JSON_HEDLEY_MESSAGE
      +
      25384 #undef JSON_HEDLEY_MSVC_VERSION
      +
      25385 #undef JSON_HEDLEY_MSVC_VERSION_CHECK
      +
      25386 #undef JSON_HEDLEY_NEVER_INLINE
      +
      25387 #undef JSON_HEDLEY_NON_NULL
      +
      25388 #undef JSON_HEDLEY_NO_ESCAPE
      +
      25389 #undef JSON_HEDLEY_NO_RETURN
      +
      25390 #undef JSON_HEDLEY_NO_THROW
      +
      25391 #undef JSON_HEDLEY_NULL
      +
      25392 #undef JSON_HEDLEY_PELLES_VERSION
      +
      25393 #undef JSON_HEDLEY_PELLES_VERSION_CHECK
      +
      25394 #undef JSON_HEDLEY_PGI_VERSION
      +
      25395 #undef JSON_HEDLEY_PGI_VERSION_CHECK
      +
      25396 #undef JSON_HEDLEY_PREDICT
      +
      25397 #undef JSON_HEDLEY_PRINTF_FORMAT
      +
      25398 #undef JSON_HEDLEY_PRIVATE
      +
      25399 #undef JSON_HEDLEY_PUBLIC
      +
      25400 #undef JSON_HEDLEY_PURE
      +
      25401 #undef JSON_HEDLEY_REINTERPRET_CAST
      +
      25402 #undef JSON_HEDLEY_REQUIRE
      +
      25403 #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
      +
      25404 #undef JSON_HEDLEY_REQUIRE_MSG
      +
      25405 #undef JSON_HEDLEY_RESTRICT
      +
      25406 #undef JSON_HEDLEY_RETURNS_NON_NULL
      +
      25407 #undef JSON_HEDLEY_SENTINEL
      +
      25408 #undef JSON_HEDLEY_STATIC_ASSERT
      +
      25409 #undef JSON_HEDLEY_STATIC_CAST
      +
      25410 #undef JSON_HEDLEY_STRINGIFY
      +
      25411 #undef JSON_HEDLEY_STRINGIFY_EX
      +
      25412 #undef JSON_HEDLEY_SUNPRO_VERSION
      +
      25413 #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
      +
      25414 #undef JSON_HEDLEY_TINYC_VERSION
      +
      25415 #undef JSON_HEDLEY_TINYC_VERSION_CHECK
      +
      25416 #undef JSON_HEDLEY_TI_ARMCL_VERSION
      +
      25417 #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
      +
      25418 #undef JSON_HEDLEY_TI_CL2000_VERSION
      +
      25419 #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK
      +
      25420 #undef JSON_HEDLEY_TI_CL430_VERSION
      +
      25421 #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK
      +
      25422 #undef JSON_HEDLEY_TI_CL6X_VERSION
      +
      25423 #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK
      +
      25424 #undef JSON_HEDLEY_TI_CL7X_VERSION
      +
      25425 #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK
      +
      25426 #undef JSON_HEDLEY_TI_CLPRU_VERSION
      +
      25427 #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
      +
      25428 #undef JSON_HEDLEY_TI_VERSION
      +
      25429 #undef JSON_HEDLEY_TI_VERSION_CHECK
      +
      25430 #undef JSON_HEDLEY_UNAVAILABLE
      +
      25431 #undef JSON_HEDLEY_UNLIKELY
      +
      25432 #undef JSON_HEDLEY_UNPREDICTABLE
      +
      25433 #undef JSON_HEDLEY_UNREACHABLE
      +
      25434 #undef JSON_HEDLEY_UNREACHABLE_RETURN
      +
      25435 #undef JSON_HEDLEY_VERSION
      +
      25436 #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
      +
      25437 #undef JSON_HEDLEY_VERSION_DECODE_MINOR
      +
      25438 #undef JSON_HEDLEY_VERSION_DECODE_REVISION
      +
      25439 #undef JSON_HEDLEY_VERSION_ENCODE
      +
      25440 #undef JSON_HEDLEY_WARNING
      +
      25441 #undef JSON_HEDLEY_WARN_UNUSED_RESULT
      +
      25442 #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
      +
      25443 #undef JSON_HEDLEY_FALL_THROUGH
      +
      25444 
      +
      25445 
      +
      25446 
      +
      25447 #endif // INCLUDE_NLOHMANN_JSON_HPP_
      +
      +
      a template for a reverse iterator class
      Definition: json.hpp:9982
      +
      const_iterator find(KeyT &&key) const
      find an element in a JSON object
      Definition: json.hpp:20829
      +
      difference_type operator-(const iter_impl &other) const
      return difference
      Definition: json.hpp:11326
      +
      void int_to_string(string_type &target, std::size_t value)
      Definition: json.hpp:3293
      +
      iteration_proxy_value< IteratorType > begin() noexcept
      return iterator begin (needed for range-based for)
      Definition: json.hpp:3941
      +
      primitive_iterator_t & operator+=(difference_type n) noexcept
      Definition: json.hpp:10724
      +
      static auto to_json(BasicJsonType &j, ValueType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< ValueType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< ValueType >(val)), void())
      convert any value type to a JSON value
      Definition: json.hpp:4399
      +
      basic_json unflatten() const
      unflatten a previously flattened JSON value
      Definition: json.hpp:24601
      +
      #define JSON_HEDLEY_WARN_UNUSED_RESULT
      Definition: json.hpp:1147
      +
      basic_json flatten() const
      return flattened JSON value
      Definition: json.hpp:24564
      +
      typename BasicJsonType::parse_event_t parse_event_t
      Definition: json.hpp:4644
      +
      exception indicating executing a member function with a wrong type
      Definition: json.hpp:2075
      +
      T & at(const Key &key)
      Definition: json.hpp:16447
      +
      const_reference back() const
      access the last element
      Definition: json.hpp:20459
      +
      primitive_iterator_t & operator++() noexcept
      Definition: json.hpp:10698
      +
      typename T::difference_type difference_type_t
      Definition: json.hpp:2495
      +
      std::ptrdiff_t difference_type
      Definition: json.hpp:3300
      +
      #define JSON_TRY
      Definition: json.hpp:2072
      +
      void write_cbor(const BasicJsonType &j)
      Definition: json.hpp:12793
      +
      json_ref(value_type &&value)
      Definition: json.hpp:12532
      +
      std::char_traits< char >::int_type get_character() noexcept
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:4770
      +
      constexpr bool is_string() const noexcept
      return whether value is a string
      Definition: json.hpp:16894
      + +
      static allocator_type get_allocator()
      returns the allocator associated with the container
      Definition: json.hpp:16799
      +
      static auto from_json(BasicJsonType &&j, ValueType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
      convert a JSON value to any value type
      Definition: json.hpp:4382
      +
      boundaries compute_boundaries(FloatType value)
      Definition: json.hpp:12831
      +
      pointer operator->() const
      dereference the iterator
      Definition: json.hpp:11045
      +
      decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) start_array_function_t
      Definition: json.hpp:5066
      +
      basic_json(CompatibleType &&val) noexcept(noexcept(JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val))))
      create a JSON value
      Definition: json.hpp:17927
      +
      static bool accept(detail::input_adapter &&i)
      Definition: json.hpp:20754
      +
      std::size_t hash(const BasicJsonType &j)
      hash a JSON value
      Definition: json.hpp:4613
      +
      bool string(string_t &val)
      Definition: json.hpp:5558
      +
      byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))
      Definition: json.hpp:4447
      + +
      static constexpr CharType to_char_type(InputCharType x) noexcept
      Definition: json.hpp:14307
      + +
      json_ref & operator=(const json_ref &)=delete
      +
      IteratorType::reference value() const
      return value of the iterator
      Definition: json.hpp:3922
      +
      void get_arithmetic_value(const BasicJsonType &j, ArithmeticType &val)
      Definition: json.hpp:2912
      +
      NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
      user-defined to_string function for JSON values
      Definition: json.hpp:22620
      +
      reference operator+=(const typename object_t::value_type &val)
      add an object to an object
      Definition: json.hpp:21822
      +
      bool string(string_t &val)
      Definition: json.hpp:5383
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in UBJSON format
      Definition: json.hpp:24235
      +
      value_type moved_or_copied() const
      Definition: json.hpp:12565
      +
      general exception of the basic_json class
      Definition: json.hpp:1864
      + +
      iterator_input_adapter_factory< IteratorType >::adapter_type input_adapter(IteratorType first, IteratorType last)
      Definition: json.hpp:5088
      +
      basic_json(const value_t v)
      create an empty value with a given type
      Definition: json.hpp:15752
      +
      bool empty() const noexcept
      return whether pointer points to the root document
      Definition: json.hpp:10391
      +
      basic_json(std::nullptr_t=nullptr) noexcept
      create a null object
      Definition: json.hpp:17854
      +
      basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
      create a container (array or object) from an initializer list
      Definition: json.hpp:18087
      +
      Definition: json.hpp:2520
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3080
      +
      value_t
      the JSON type enumeration
      Definition: json.hpp:2854
      + +
      static void fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
      Definition: json.hpp:4887
      +
      const_reverse_iterator rbegin() const noexcept
      returns a const reverse iterator to the last element
      Definition: json.hpp:21115
      +
      detail::value_t value_t
      Definition: json.hpp:14751
      +
      iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
      converting constructor
      Definition: json.hpp:10918
      +
      iter_impl & operator--()
      pre-decrement (–it)
      Definition: json.hpp:11133
      +
      decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) start_object_function_t
      Definition: json.hpp:5055
      +
      const iter_impl operator++(int)
      post-increment (it++)
      Definition: json.hpp:11079
      +
      iter_impl & operator=(const iter_impl< const BasicJsonType > &other) noexcept
      converting assignment
      Definition: json.hpp:10906
      + +
      @ ignore
      ignore invalid UTF-8 sequences
      +
      decltype(std::declval< T & >().boolean(std::declval< bool >())) boolean_function_t
      Definition: json.hpp:5035
      +
      ReferenceType get_ref() const
      get a reference value (implicit)
      Definition: json.hpp:19674
      +
      static void construct(BasicJsonType &j, const CompatibleArrayType &arr)
      Definition: json.hpp:4138
      +
      void grisu2_round(char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
      Definition: json.hpp:13190
      +
      bool key(string_t &val)
      Definition: json.hpp:5588
      +
      void write_character(CharType c) override
      Definition: json.hpp:12700
      + +
      static void to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)
      Definition: json.hpp:23653
      +
      friend bool operator!=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: not equal
      Definition: json.hpp:22740
      +
      bool end_object()
      Definition: json.hpp:5852
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      type for unsigned integers
      Definition: json.hpp:4338
      +
      bool start_array(std::size_t len)
      Definition: json.hpp:5634
      +
      friend bool operator<(const_reference lhs, const ScalarType rhs) noexcept
      comparison: less than
      Definition: json.hpp:22850
      +
      @ replace
      replace invalid UTF-8 sequences with U+FFFD
      +
      bool operator==(const iter_impl &other) const
      comparison: equal
      Definition: json.hpp:11165
      +
      constexpr bool is_discarded() const noexcept
      return whether value is discarded
      Definition: json.hpp:19144
      +
      byte_container_with_subtype(container_type &&b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b))))
      Definition: json.hpp:4457
      +
      void from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
      Definition: json.hpp:3652
      +
      typename std::iterator_traits< IteratorType >::value_type char_type
      Definition: json.hpp:4846
      +
      typename T::mapped_type mapped_type_t
      Definition: json.hpp:2486
      +
      void type
      Definition: json.hpp:2265
      +
      Definition: json.hpp:5147
      +
      bool start_object(std::size_t=std::size_t(-1))
      Definition: json.hpp:5842
      +
      value_type const & operator*() const
      Definition: json.hpp:12574
      +
      virtual bool parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0
      a parse error occurred
      + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
      Create a JSON value from an input in BSON format.
      Definition: json.hpp:24332
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)
      Definition: json.hpp:4187
      +
      const_reverse_iterator rend() const noexcept
      returns a const reverse iterator to one before the first
      Definition: json.hpp:21152
      +
      virtual bool number_unsigned(number_unsigned_t val)=0
      an unsigned integer number was read
      +
      const T & operator[](const Key &key) const
      Definition: json.hpp:16442
      +
      void grisu2_digit_gen(char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
      Definition: json.hpp:13231
      +
      Definition: json.hpp:12699
      + +
      json_reverse_iterator operator+(difference_type i) const
      add to iterator
      Definition: json.hpp:11491
      +
      @ parse_error
      indicating a parse error
      +
      size_type size() const noexcept
      returns the number of elements
      Definition: json.hpp:19195
      +
      @ object
      object (unordered set of name/value pairs)
      +
      json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)
      Definition: json.hpp:5342
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4459
      + +
      void push_back(const typename object_t::value_type &val)
      add an object to an object
      Definition: json.hpp:21798
      +
      std::string get_token_string() const
      Definition: json.hpp:7319
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4460
      + +
      typename std::iterator_traits< iterator_type >::value_type char_type
      Definition: json.hpp:5053
      +
      static adapter_type create(IteratorType first, IteratorType last)
      Definition: json.hpp:5056
      +
      struct to capture the start position of the current token
      Definition: json.hpp:89
      +
      void dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
      internal implementation of the serialization function
      Definition: json.hpp:15533
      +
      diyfp w
      Definition: json.hpp:12819
      +
      basic_json get() const
      get special-case overload
      Definition: json.hpp:17101
      +
      Definition: json.hpp:2589
      +
      ::nlohmann::json_pointer< basic_json > json_pointer
      JSON Pointer, see nlohmann::json_pointer.
      Definition: json.hpp:14753
      +
      static constexpr CharType to_char_type(std::uint8_t x) noexcept
      Definition: json.hpp:12585
      +
      static bool accept(IteratorType first, IteratorType last, const bool ignore_comments=false)
      Definition: json.hpp:23235
      +
      std::less< StringType > object_comparator_t
      Definition: json.hpp:14936
      +
      binary_reader(InputAdapterType &&adapter)
      create a binary reader
      Definition: json.hpp:7712
      +
      static other_error create(int id_, const std::string &what_arg)
      Definition: json.hpp:2652
      +
      constexpr bool is_primitive() const noexcept
      return whether type is primitive
      Definition: json.hpp:18843
      +
      json_pointer(const std::string &s="")
      create JSON pointer
      Definition: json.hpp:11582
      +
      ValueType value(const json_pointer &ptr, const ValueType &default_value) const
      access specified object element via JSON Pointer with default value
      Definition: json.hpp:20351
      +
      constexpr value_t type() const noexcept
      return the type of the JSON value (explicit)
      Definition: json.hpp:16612
      +
      constexpr position_t get_position() const noexcept
      return position of last read token
      Definition: json.hpp:7311
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4943
      +
      constexpr bool has_subtype() const noexcept
      return whether the value has a subtype
      Definition: json.hpp:4540
      +
      iteration_proxy< iterator > items() noexcept
      helper to access iterator member functions in range-based for
      Definition: json.hpp:19059
      +
      exception indicating access out of the defined range
      Definition: json.hpp:2122
      +
      typename detected_or< Default, Op, Args... >::type detected_or_t
      Definition: json.hpp:2373
      +
      #define JSON_HEDLEY_PURE
      Definition: json.hpp:1470
      +
      @ array_end
      the parser read ] and finished processing a JSON array
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      Create a JSON value from an input in BSON format.
      Definition: json.hpp:21801
      +
      std::false_type value_t
      Definition: json.hpp:2352
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)
      Definition: json.hpp:4128
      +
      exception indicating errors with iterators
      Definition: json.hpp:2021
      +
      basic_json & operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
      copy assignment
      Definition: json.hpp:18662
      +
      typename BasicJsonType::binary_t binary_t
      Definition: json.hpp:5335
      +
      basic_json(size_type cnt, const basic_json &val)
      construct an array with count copies of given value
      Definition: json.hpp:18341
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4642
      + +
      AllocatorType< basic_json > allocator_type
      the allocator type
      Definition: json.hpp:14812
      +
      iterator find(const Key &key)
      Definition: json.hpp:16518
      +
      static std::string name(const std::string &ename, int id_)
      Definition: json.hpp:2369
      +
      static out_of_range create(int id_, const std::string &what_arg)
      Definition: json.hpp:2614
      +
      ValueType value(const typename object_t::key_type &key, const ValueType &default_value) const
      access specified object element with default value
      Definition: json.hpp:18003
      + +
      std::size_t chars_read_current_line
      the number of characters read in the current line
      Definition: json.hpp:94
      +
      Definition: json.hpp:2936
      +
      friend json_pointer operator/(const json_pointer &lhs, const json_pointer &rhs)
      create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer
      Definition: json.hpp:11698
      +
      json_sax_dom_parser & operator=(const json_sax_dom_parser &)=delete
      +
      constexpr std::uint8_t subtype() const noexcept
      return the binary subtype
      Definition: json.hpp:4519
      +
      BasicJsonType::object_t::iterator object_iterator
      iterator for JSON objects
      Definition: json.hpp:9290
      +
      Definition: json.hpp:2263
      +
      const T & at(const Key &key) const
      Definition: json.hpp:16460
      +
      typename std::enable_if< B, T >::type enable_if_t
      Definition: json.hpp:2191
      +
      constexpr bool is_binary() const noexcept
      return whether value is a binary array
      Definition: json.hpp:19117
      +
      void write_msgpack(const BasicJsonType &j)
      Definition: json.hpp:13098
      +
      void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
      Definition: json.hpp:2898
      +
      std::pair< iterator, bool > emplace(const key_type &key, T &&t)
      Definition: json.hpp:16424
      + +
      void write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
      Definition: json.hpp:13422
      +
      static void to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
      Definition: json.hpp:23758
      +
      void skip_whitespace()
      Definition: json.hpp:7371
      +
      byte_container_with_subtype(const container_type &b, std::uint8_t subtype) noexcept(noexcept(container_type(b)))
      Definition: json.hpp:4451
      +
      bool start_object(std::size_t len)
      Definition: json.hpp:5395
      +
      json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser &)=delete
      +
      static constexpr bool value
      Definition: json.hpp:5090
      +
      const_reference operator[](const json_pointer &ptr) const
      access specified element via JSON Pointer
      Definition: json.hpp:24451
      +
      auto key() const -> decltype(std::declval< Base >().key())
      return the key of an object iterator
      Definition: json.hpp:11515
      +
      namespace for Niels Lohmann
      Definition: json.hpp:84
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object(initializer_list_t init={})
      explicitly create an object from an initializer list
      Definition: json.hpp:16133
      +
      serialization to CBOR and MessagePack values
      Definition: json.hpp:11318
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4457
      +
      void set_end() noexcept
      set iterator to a defined past the end
      Definition: json.hpp:10659
      +
      static diyfp normalize_to(const diyfp &x, const int target_exponent) noexcept
      normalize x such that the result has the exponent E
      Definition: json.hpp:14496
      +
      void erase(const size_type idx)
      remove element from a JSON array given an index
      Definition: json.hpp:20759
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3050
      + +
      @ literal_or_value
      a literal or the begin of a value (only for diagnostics)
      +
      std::char_traits< char >::int_type get_character() noexcept
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:5013
      +
      size_type erase(const Key &key)
      Definition: json.hpp:16473
      +
      json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
      create reverse iterator from iterator
      Definition: json.hpp:11454
      +
      T & operator[](const Key &key)
      Definition: json.hpp:16437
      +
      static void to_bson(const basic_json &j, detail::output_adapter< char > o)
      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
      Definition: json.hpp:23850
      +
      size_type count(KeyT &&key) const
      returns the number of occurrences of a key in a JSON object
      Definition: json.hpp:20863
      +
      decltype(std::declval< T & >().binary(std::declval< Binary & >())) binary_function_t
      Definition: json.hpp:7547
      +
      void push_back(basic_json &&val)
      add an object to an array
      Definition: json.hpp:21713
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta()
      returns version information on the library
      Definition: json.hpp:16831
      +
      bool number_float(number_float_t val, const string_t &)
      Definition: json.hpp:5552
      +
      reference back()
      access the last element
      Definition: json.hpp:20449
      +
      constexpr difference_type get_value() const noexcept
      Definition: json.hpp:10647
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
      Definition: json.hpp:4108
      +
      constexpr bool is_end() const noexcept
      return whether the iterator is at end
      Definition: json.hpp:10671
      + +
      std::char_traits< char >::int_type get_character()
      get a character [0,255] or std::char_traits<char>::eof().
      Definition: json.hpp:4823
      +
      SAX implementation to create a JSON value from SAX events.
      Definition: json.hpp:4454
      + +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
      creates a diff as a JSON patch
      Definition: json.hpp:24958
      +
      @ number_float
      number value (floating-point)
      +
      primitive_iterator_t & operator--() noexcept
      Definition: json.hpp:10711
      +
      static constexpr std::size_t size() noexcept
      Definition: json.hpp:2691
      +
      JSON Pointer.
      Definition: json.hpp:2435
      +
      json_pointer parent_pointer() const
      returns the parent of this JSON pointer
      Definition: json.hpp:11757
      +
      token_type
      token types for the parser
      Definition: json.hpp:7170
      +
      IteratorType erase(IteratorType first, IteratorType last)
      remove elements given an iterator range
      Definition: json.hpp:20629
      +
      bool number_integer(number_integer_t val)
      Definition: json.hpp:5365
      +
      @ parse_error
      indicating a parse error
      +
      exception indicating other library errors
      Definition: json.hpp:2160
      +
      bool sax_parse(SAX *sax, const bool strict=true)
      Definition: json.hpp:8802
      +
      iteration_proxy_value & operator*()
      dereference operator (needed for range-based for)
      Definition: json.hpp:3867
      +
      json_reverse_iterator & operator+=(difference_type i)
      add to iterator
      Definition: json.hpp:11485
      +
      void merge_patch(const basic_json &apply_patch)
      applies a JSON Merge Patch
      Definition: json.hpp:25133
      +
      #define JSON_HEDLEY_LIKELY(expr)
      Definition: json.hpp:1400
      +
      bool key(string_t &)
      Definition: json.hpp:5847
      +
      @ error
      throw a parse_error exception in case of a tag
      +
      cached_power get_cached_power_for_binary_exponent(int e)
      Definition: json.hpp:12970
      +
      bool empty() const noexcept
      checks whether the container is empty.
      Definition: json.hpp:21421
      +
      virtual bool string(string_t &val)=0
      a string was read
      +
      reverse_iterator rbegin() noexcept
      returns an iterator to the reverse-beginning
      Definition: json.hpp:21107
      +
      iterator insert(const_iterator pos, basic_json &&val)
      inserts element
      Definition: json.hpp:22044
      +
      #define NLOHMANN_JSON_VERSION_PATCH
      Definition: json.hpp:35
      +
      @ number_integer
      number value (signed integer)
      +
      Definition: json.hpp:2350
      +
      ArrayType< basic_json, AllocatorType< basic_json > > array_t
      a type for an array
      Definition: json.hpp:15072
      +
      #define JSON_HEDLEY_UNLIKELY(expr)
      Definition: json.hpp:1401
      +
      typename BasicJsonType::parser_callback_t parser_callback_t
      Definition: json.hpp:4643
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in MessagePack format
      Definition: json.hpp:24119
      +
      json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
      Definition: json.hpp:5513
      +
      output_vector_adapter(std::vector< CharType > &vec) noexcept
      Definition: json.hpp:12648
      +
      iter_impl operator-(difference_type i) const
      subtract from iterator
      Definition: json.hpp:11315
      +
      std::input_iterator_tag iterator_category
      Definition: json.hpp:3304
      +
      friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:22885
      +
      string_t value(const typename object_t::key_type &key, const char *default_value) const
      overload for a default value of type const char*
      Definition: json.hpp:20301
      +
      void clear_subtype() noexcept
      clears the binary subtype
      Definition: json.hpp:4564
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in UBJSON format
      Definition: json.hpp:24219
      +
      static std::vector< uint8_t > to_msgpack(const basic_json &j)
      create a MessagePack serialization of a given JSON value
      Definition: json.hpp:23646
      +
      span_input_adapter(CharT b, std::size_t l)
      Definition: json.hpp:5156
      +
      bool parse_error(std::size_t, const std::string &, const Exception &ex)
      Definition: json.hpp:5680
      +
      std::string to_string() const
      return a string representation of the JSON pointer
      Definition: json.hpp:11600
      +
      bool string(string_t &)
      Definition: json.hpp:5832
      +
      std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)> parser_callback_t
      Definition: json.hpp:8711
      +
      friend json_pointer operator/(const json_pointer &ptr, std::size_t array_idx)
      create a new JSON pointer by appending the array-index-token at the end of the JSON pointer
      Definition: json.hpp:11739
      +
      std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)> parser_callback_t
      Definition: json.hpp:10155
      +
      typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type string_type
      Definition: json.hpp:3305
      +
      bool end_array()
      Definition: json.hpp:5434
      +
      static void fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
      Definition: json.hpp:4945
      +
      output_string_adapter(StringType &s) noexcept
      Definition: json.hpp:12696
      +
      @ end_array
      the character for array end ]
      + +
      reference at(const json_pointer &ptr)
      access specified element via JSON Pointer
      Definition: json.hpp:24494
      + +
      std::initializer_list< detail::json_ref< basic_json > > initializer_list_t
      helper type for initializer lists of basic_json values
      Definition: json.hpp:14759
      +
      const primitive_iterator_t operator++(int) noexcept
      Definition: json.hpp:10704
      +
      size_type count(const Key &key) const
      Definition: json.hpp:16506
      +
      iterator insert(const_iterator pos, const basic_json &val)
      inserts element
      Definition: json.hpp:22022
      +
      std::bidirectional_iterator_tag iterator_category
      Definition: json.hpp:9367
      +
      bool end_array()
      Definition: json.hpp:5651
      +
      char char_type
      Definition: json.hpp:4793
      +
      Definition: json.hpp:5905
      +
      ~input_stream_adapter()
      Definition: json.hpp:4795
      +
      decltype(std::declval< T & >().null()) null_function_t
      Definition: json.hpp:5031
      +
      void swap(array_t &other)
      exchanges the values
      Definition: json.hpp:22419
      +
      friend json_pointer operator/(const json_pointer &ptr, std::string token)
      create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
      Definition: json.hpp:11719
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
      deserialize from a pair of character iterators
      Definition: json.hpp:23174
      +
      lexical analysis
      Definition: json.hpp:7161
      +
      json_ref(std::initializer_list< json_ref > init)
      Definition: json.hpp:12543
      +
      std::random_access_iterator_tag iterator_category
      Definition: json.hpp:2310
      +
      void to_json_tuple_impl(BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
      Definition: json.hpp:3764
      +
      bool key(string_t &val)
      Definition: json.hpp:5408
      +
      virtual bool boolean(bool val)=0
      a boolean value was read
      +
      static void construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)
      Definition: json.hpp:4120
      +
      reference value() const
      return the value of an iterator
      Definition: json.hpp:11522
      +
      primitive_iterator_t operator+(difference_type n) noexcept
      Definition: json.hpp:10686
      + +
      bool boolean(bool val)
      Definition: json.hpp:5359
      +
      const std::size_t byte
      byte index of the parse error
      Definition: json.hpp:1971
      + +
      void swap(object_t &other)
      exchanges the values
      Definition: json.hpp:22452
      +
      bool number_unsigned(number_unsigned_t val)
      Definition: json.hpp:5371
      +
      const_iterator cend() const noexcept
      returns a const iterator to one past the last element
      Definition: json.hpp:18785
      +
      constexpr bool is_object() const noexcept
      return whether value is an object
      Definition: json.hpp:16850
      +
      output_stream_adapter(std::basic_ostream< CharType > &s) noexcept
      Definition: json.hpp:12672
      +
      bool operator!=(const iter_impl &other) const
      comparison: not equal
      Definition: json.hpp:11192
      +
      NumberIntegerType number_integer_t
      a type for a number (integer)
      Definition: json.hpp:15223
      +
      void set_begin() noexcept
      set iterator to a defined beginning
      Definition: json.hpp:10653
      +
      static diyfp sub(const diyfp &x, const diyfp &y) noexcept
      returns x - y
      Definition: json.hpp:14402
      +
      json_ref(Args &&... args)
      Definition: json.hpp:12552
      +
      output_adapter(std::basic_ostream< CharType > &s)
      Definition: json.hpp:12722
      +
      const std::string & back() const
      return last reference token
      Definition: json.hpp:11806
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
      deserialize from a compatible input
      Definition: json.hpp:23136
      +
      token_type scan()
      Definition: json.hpp:7380
      +
      Definition: json.hpp:11101
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in UBJSON format
      Definition: json.hpp:21714
      +
      bool start_array(std::size_t=std::size_t(-1))
      Definition: json.hpp:5857
      +
      decltype(std::declval< T >().template get< U >()) get_template_function
      Definition: json.hpp:2516
      +
      Definition: json.hpp:3041
      +
      bool binary(binary_t &val)
      Definition: json.hpp:5389
      +
      bool binary(binary_t &val)
      Definition: json.hpp:5564
      + +
      constexpr bool is_errored() const
      Definition: json.hpp:5453
      +
      input_stream_adapter(std::istream &i)
      Definition: json.hpp:4805
      +
      exception indicating a parse error
      Definition: json.hpp:1935
      + +
      constexpr bool is_begin() const noexcept
      return whether the iterator can be dereferenced
      Definition: json.hpp:10665
      +
      json_reverse_iterator< typename basic_json::iterator > reverse_iterator
      a reverse iterator for a basic_json container
      Definition: json.hpp:14824
      +
      decltype(std::declval< T & >().end_array()) end_array_function_t
      Definition: json.hpp:5069
      +
      friend bool operator==(const_reference lhs, const_reference rhs) noexcept
      comparison: equal
      Definition: json.hpp:22610
      +
      friend bool operator>(const ScalarType lhs, const_reference rhs) noexcept
      comparison: greater than
      Definition: json.hpp:22953
      +
      output adapter for byte vectors
      Definition: json.hpp:11211
      + +
      a template for a bidirectional iterator for the basic_json class This class implements a both iterato...
      Definition: json.hpp:9346
      +
      BasicJsonType::array_t::iterator array_iterator
      iterator for JSON arrays
      Definition: json.hpp:9292
      +
      static void construct(BasicJsonType &j, const CompatibleStringType &str)
      Definition: json.hpp:4050
      + +
      typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type reference
      defines a reference to the type iterated over (value_type)
      Definition: json.hpp:9381
      +
      bool accept(const bool strict=true)
      public accept interface
      Definition: json.hpp:10257
      +
      #define JSON_HEDLEY_CONST
      Definition: json.hpp:1500
      +
      static parse_error create(int id_, std::size_t byte_, const std::string &what_arg)
      Definition: json.hpp:2443
      +
      static diyfp mul(const diyfp &x, const diyfp &y) noexcept
      returns x * y
      Definition: json.hpp:14414
      +
      reference operator[](difference_type n) const
      access to successor
      Definition: json.hpp:11509
      +
      @ begin_object
      the character for object begin {
      + +
      typename make_void< Ts... >::type void_t
      Definition: json.hpp:2267
      +
      bool operator==(const byte_container_with_subtype &rhs) const
      Definition: json.hpp:4463
      +
      const_reference at(const json_pointer &ptr) const
      access specified element via JSON Pointer
      Definition: json.hpp:24537
      +
      void to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
      Definition: json.hpp:4280
      +
      nlohmann::byte_container_with_subtype< BinaryType > binary_t
      a type for a packed binary type
      Definition: json.hpp:17398
      +
      typename BasicJsonType::number_integer_t number_integer_t
      type for (signed) integers
      Definition: json.hpp:4336
      +
      #define JSON_ASSERT(x)
      Definition: json.hpp:2100
      +
      iterator erase(iterator pos)
      Definition: json.hpp:16492
      +
      error_handler_t
      how to treat decoding errors
      Definition: json.hpp:13779
      +
      std::uint64_t f
      Definition: json.hpp:12958
      +
      StringType string_t
      a type for a string
      Definition: json.hpp:15125
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in MessagePack format
      Definition: json.hpp:24103
      +
      typename T::iterator iterator_t
      Definition: json.hpp:2507
      +
      static void fill_buffer(const WideStringType &str, size_t &current_wchar, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
      Definition: json.hpp:4030
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array(initializer_list_t init={})
      explicitly create an array from an initializer list
      Definition: json.hpp:16089
      +
      ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >())))
      get a value (explicit)
      Definition: json.hpp:19409
      +
      Target reinterpret_bits(const Source source)
      Definition: json.hpp:12690
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(typename binary_t::container_type &&init, std::uint8_t subtype)
      explicitly create a binary array (with subtype)
      Definition: json.hpp:18224
      +
      typename T::value_type value_type_t
      Definition: json.hpp:2492
      +
      lexer(InputAdapterType &&adapter, bool ignore_comments_=false)
      Definition: json.hpp:5994
      +
      friend bool operator<=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:22907
      +
      friend bool operator>(const_reference lhs, const_reference rhs) noexcept
      comparison: greater than
      Definition: json.hpp:22931
      +
      Key key_type
      Definition: json.hpp:16407
      +
      friend bool operator>(const_reference lhs, const ScalarType rhs) noexcept
      comparison: greater than
      Definition: json.hpp:22942
      +
      typename parser::parser_callback_t parser_callback_t
      per-element parser callback type
      Definition: json.hpp:15712
      +
      static void to_msgpack(const basic_json &j, detail::output_adapter< char > o)
      Definition: json.hpp:23658
      +
      typename BasicJsonType::string_t string_t
      type for strings
      Definition: json.hpp:4342
      +
      typename BasicJsonType::binary_t binary_t
      Definition: json.hpp:5208
      +
      const_reference at(size_type idx) const
      access specified array element with bounds checking
      Definition: json.hpp:19840
      + +
      static CharType to_char_type(std::uint8_t x) noexcept
      Definition: json.hpp:14285
      +
      void grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
      Definition: json.hpp:13472
      +
      std::pair< iterator, bool > emplace(Args &&... args)
      add an object to an object if key does not exist
      Definition: json.hpp:21954
      +
      friend std::istream & operator>>(std::istream &i, basic_json &j)
      deserialize from stream
      Definition: json.hpp:23368
      +
      auto operator()(const BasicJsonType &j, T &val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void())
      Definition: json.hpp:3787
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
      Definition: json.hpp:4096
      +
      auto get() noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >())
      get a pointer value (explicit)
      Definition: json.hpp:19615
      +
      @ value_separator
      the value separator ,
      +
      std::ptrdiff_t difference_type
      Definition: json.hpp:9985
      +
      static constexpr bool little_endianess(int num=1) noexcept
      determine system byte order
      Definition: json.hpp:5268
      + +
      output_adapter(StringType &s)
      Definition: json.hpp:12725
      +
      bool number_integer(number_integer_t val)
      Definition: json.hpp:5540
      +
      Definition: json.hpp:2199
      +
      Definition: json.hpp:2990
      + +
      #define JSON_HEDLEY_NON_NULL(...)
      Definition: json.hpp:1296
      +
      static diyfp normalize(diyfp x) noexcept
      normalize x such that the significand is >= 2^(q-1)
      Definition: json.hpp:14479
      +
      iter_impl & operator++()
      pre-increment (++it)
      Definition: json.hpp:11090
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(detail::input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true)
      deserialize from a compatible input
      Definition: json.hpp:20745
      +
      ordered_map(const Allocator &alloc=Allocator())
      Definition: json.hpp:16417
      +
      reference operator+=(const basic_json &val)
      add an object to an array
      Definition: json.hpp:21772
      +
      syntax analysis
      Definition: json.hpp:8684
      + +
      span_input_adapter(IteratorType first, IteratorType last)
      Definition: json.hpp:5163
      +
      T mapped_type
      Definition: json.hpp:16408
      +
      const string_type & key() const
      return key of the iterator
      Definition: json.hpp:3350
      +
      void update(const_reference j)
      updates a JSON object from another object, overwriting existing keys
      Definition: json.hpp:22257
      +
      @ value_float
      an floating point number – use get_number_float() for actual value
      +
      int e
      Definition: json.hpp:12959
      +
      bool binary(binary_t &)
      Definition: json.hpp:5837
      +
      BinaryType container_type
      the type of the underlying container
      Definition: json.hpp:4437
      + +
      file_input_adapter & operator=(const file_input_adapter &)=delete
      +
      iterator_input_adapter< iterator_type > adapter_type
      Definition: json.hpp:5054
      +
      #define NLOHMANN_JSON_VERSION_MAJOR
      Definition: json.hpp:33
      +
      char char_type
      Definition: json.hpp:5008
      +
      string_t & get_string()
      return current string value (implicitly resets the token; useful only once)
      Definition: json.hpp:7301
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4458
      +
      json_pointer & operator/=(std::size_t array_idx)
      append an array index at the end of this JSON pointer
      Definition: json.hpp:11678
      +
      typename Base::reference reference
      the reference type for the pointed-to element
      Definition: json.hpp:9989
      + +
      iteration_proxy_value< IteratorType > end() noexcept
      return iterator end (needed for range-based for)
      Definition: json.hpp:3947
      +
      bool number_integer(number_integer_t)
      Definition: json.hpp:5817
      +
      bool operator>=(const iter_impl &other) const
      comparison: greater than or equal
      Definition: json.hpp:11246
      +
      std::size_t size_type
      a type to represent container sizes
      Definition: json.hpp:14809
      +
      json_reverse_iterator operator-(difference_type i) const
      subtract from iterator
      Definition: json.hpp:11497
      +
      serializer & operator=(const serializer &)=delete
      +
      #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
      Definition: json.hpp:1097
      +
      std::shared_ptr< output_adapter_protocol< CharType > > output_adapter_t
      a type to simplify interfaces
      Definition: json.hpp:11207
      +
      reference emplace_back(Args &&... args)
      add an object to an array
      Definition: json.hpp:21901
      +
      bool operator<(const value_t lhs, const value_t rhs) noexcept
      comparison operator for JSON types
      Definition: json.hpp:2877
      +
      friend bool operator==(const ScalarType lhs, const_reference rhs) noexcept
      comparison: equal
      Definition: json.hpp:22695
      +
      reverse_iterator rend() noexcept
      returns an iterator to the reverse-end
      Definition: json.hpp:21144
      +
      iter_impl(const iter_impl< const BasicJsonType > &other) noexcept
      const copy constructor
      Definition: json.hpp:10896
      +
      contiguous_bytes_input_adapter && get()
      Definition: json.hpp:5166
      +
      static std::vector< uint8_t > to_cbor(const basic_json &j)
      create a CBOR serialization of a given JSON value
      Definition: json.hpp:23551
      +
      parser(InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)
      a parser reading from an input adapter
      Definition: json.hpp:10174
      + +
      const primitive_iterator_t operator--(int) noexcept
      Definition: json.hpp:10717
      +
      input_format_t
      the supported input formats
      Definition: json.hpp:3887
      +
      bool operator<=(const iter_impl &other) const
      comparison: less than or equal
      Definition: json.hpp:11228
      + +
      @ strict
      throw a type_error exception in case of invalid UTF-8
      +
      constexpr int kGamma
      Definition: json.hpp:12954
      +
      reference operator+=(initializer_list_t init)
      add an object to an object
      Definition: json.hpp:21871
      +
      static void construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)
      Definition: json.hpp:4062
      +
      void pop_back()
      remove last reference token
      Definition: json.hpp:11782
      +
      decltype(std::declval< T & >().number_integer(std::declval< Integer >())) number_integer_function_t
      Definition: json.hpp:5039
      +
      std::uint64_t f
      Definition: json.hpp:12703
      +
      Definition: json.hpp:2297
      +
      bool number_unsigned(number_unsigned_t)
      Definition: json.hpp:5822
      +
      bool number_unsigned(number_unsigned_t val)
      Definition: json.hpp:5546
      +
      virtual bool number_float(number_float_t val, const string_t &s)=0
      an floating-point number was read
      +
      j template void())
      Definition: json.hpp:3108
      +
      ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >> object_t
      a type for an object
      Definition: json.hpp:15026
      +
      bool start_array(std::size_t len)
      Definition: json.hpp:5421
      +
      diyfp minus
      Definition: json.hpp:12820
      +
      reference operator*() const
      return a reference to the value pointed to by the iterator
      Definition: json.hpp:11008
      +
      const_reference operator[](const typename object_t::key_type &key) const
      read-only access specified object element
      Definition: json.hpp:20121
      +
      ReferenceType get_ref()
      get a reference value (implicit)
      Definition: json.hpp:19661
      +
      @ binary
      binary array (ordered collection of bytes)
      +
      basic_json(InputIT first, InputIT last)
      construct a JSON container given an iterator range
      Definition: json.hpp:18406
      +
      const JSON_HEDLEY_RETURNS_NON_NULL char * type_name() const noexcept
      return the type as string
      Definition: json.hpp:20987
      +
      iteration_proxy< const_iterator > items() const noexcept
      helper to access iterator member functions in range-based for
      Definition: json.hpp:21364
      +
      static void to_cbor(const basic_json &j, detail::output_adapter< char > o)
      Definition: json.hpp:23563
      + +
      decltype(std::declval< T & >().key(std::declval< String & >())) key_function_t
      Definition: json.hpp:5059
      +
      const int id
      the id of the exception
      Definition: json.hpp:1875
      +
      void swap(typename binary_t::container_type &other)
      Definition: json.hpp:22532
      +
      json_reverse_iterator< typename basic_json::const_iterator > const_reverse_iterator
      a const reverse iterator for a basic_json container
      Definition: json.hpp:14826
      + +
      virtual bool end_object()=0
      the end of an object was read
      +
      serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
      Definition: json.hpp:15493
      +
      size_type erase(const typename object_t::key_type &key)
      remove element from a JSON object given a key
      Definition: json.hpp:20724
      +
      bool operator<(const iter_impl &other) const
      comparison: smaller
      Definition: json.hpp:11201
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in CBOR format
      Definition: json.hpp:21517
      +
      friend bool operator>=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:22988
      + + +
      void update(const_iterator first, const_iterator last)
      updates a JSON object from another object, overwriting existing keys
      Definition: json.hpp:22308
      +
      @ value
      the parser finished reading a JSON value
      +
      NumberUnsignedType number_unsigned_t
      a type for a number (unsigned)
      Definition: json.hpp:15294
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
      Definition: json.hpp:23977
      +
      constexpr number_unsigned_t get_number_unsigned() const noexcept
      return unsigned integer value
      Definition: json.hpp:7289
      +
      basic_json(basic_json &&other) noexcept
      move constructor
      Definition: json.hpp:18625
      +
      primitive_iterator_t primitive_iterator
      generic iterator for all other types
      Definition: json.hpp:9294
      +
      std::size_t lines_read
      the number of lines read
      Definition: json.hpp:96
      +
      @ number_unsigned
      number value (unsigned integer)
      +
      size_type max_size() const noexcept
      returns the maximum possible number of elements
      Definition: json.hpp:21565
      +
      bool sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true)
      Definition: json.hpp:5210
      +
      Definition: json.hpp:2795
      +
      deserialization of CBOR, MessagePack, and UBJSON values
      Definition: json.hpp:5175
      + +
      JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent(char *buf, int e)
      appends a decimal representation of e to buf
      Definition: json.hpp:13572
      +
      @ array
      array (ordered collection of values)
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)
      Definition: json.hpp:4040
      +
      @ end_of_input
      indicating the end of the input buffer
      +
      decltype(T::from_json(std::declval< Args >()...)) from_json_function
      Definition: json.hpp:2513
      +
      typename BasicJsonType::number_integer_t number_integer_t
      Definition: json.hpp:4639
      +
      BooleanType boolean_t
      a type for a boolean
      Definition: json.hpp:15151
      +
      const_iterator end() const noexcept
      returns a const iterator to one past the last element
      Definition: json.hpp:21047
      +
      wide_string_input_adapter(BaseInputAdapter base)
      Definition: json.hpp:5010
      +
      void push_back(std::string &&token)
      append an unescaped token at the end of the reference pointer
      Definition: json.hpp:11834
      +
      binary_reader & operator=(const binary_reader &)=delete
      +
      value_type const * operator->() const
      Definition: json.hpp:12579
      +
      diyfp plus
      Definition: json.hpp:12821
      +
      static type_error create(int id_, const std::string &what_arg)
      Definition: json.hpp:2567
      +
      ordered_map(It first, It last, const Allocator &alloc=Allocator())
      Definition: json.hpp:16419
      +
      IteratorType iterator_type
      Definition: json.hpp:5052
      + +
      constexpr diyfp(std::uint64_t f_, int e_) noexcept
      Definition: json.hpp:14396
      +
      reference at(size_type idx)
      access specified array element with bounds checking
      Definition: json.hpp:19793
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)
      Definition: json.hpp:4071
      +
      bool contains(KeyT &&key) const
      check the existence of an element in a JSON object
      Definition: json.hpp:20896
      +
      typename detector< nonesuch, void, Op, Args... >::type detected_t
      Definition: json.hpp:2367
      +
      decltype(std::declval< T & >().end_object()) end_object_function_t
      Definition: json.hpp:5062
      +
      friend bool operator!=(json_pointer const &lhs, json_pointer const &rhs) noexcept
      compares two JSON pointers for inequality
      Definition: json.hpp:12502
      + +
      std::is_convertible< detected_t< Op, Args... >, To > is_detected_convertible
      Definition: json.hpp:2380
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4945
      +
      iteration_proxy_value & operator++()
      increment operator (needed for range-based for)
      Definition: json.hpp:3873
      +
      ValueType & get_to(ValueType &v) const
      Definition: json.hpp:19519
      +
      std::pair< iterator, bool > insert(value_type &&value)
      Definition: json.hpp:16542
      +
      iteration_proxy_value(IteratorType it) noexcept
      Definition: json.hpp:3320
      +
      @ discarded
      discarded by the the parser callback function
      +
      constexpr bool is_structured() const noexcept
      return whether type is structured
      Definition: json.hpp:18870
      +
      iterator begin() noexcept
      returns an iterator to the first element
      Definition: json.hpp:18674
      +
      void swap(string_t &other)
      exchanges the values
      Definition: json.hpp:22485
      +
      void swap(binary_t &other)
      exchanges the values
      Definition: json.hpp:22518
      +
      Default type
      Definition: json.hpp:2353
      +
      bool end_object()
      Definition: json.hpp:5415
      +
      ~basic_json() noexcept
      destructor
      Definition: json.hpp:18695
      +
      string_t dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
      serialization
      Definition: json.hpp:18759
      + +
      static void construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)
      Definition: json.hpp:4032
      +
      static void to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)
      Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
      Definition: json.hpp:23842
      +
      JSONSerializer< T, SFINAE > json_serializer
      Definition: json.hpp:14755
      +
      void push_back(initializer_list_t init)
      add an object to an object
      Definition: json.hpp:21853
      +
      Definition: json.hpp:2569
      +
      typename parser::parse_event_t parse_event_t
      parser event types
      Definition: json.hpp:15661
      +
      @ object_start
      the parser read { and started to process a JSON object
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(const typename binary_t::container_type &init)
      explicitly create a binary array (without subtype)
      Definition: json.hpp:18167
      +
      bool operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
      compare two value_t enum values
      Definition: json.hpp:25211
      +
      typename detector< nonesuch, void, Op, Args... >::value_t is_detected
      Definition: json.hpp:2364
      + +
      iter_impl(pointer object) noexcept
      constructor for a given JSON instance
      Definition: json.hpp:10854
      +
      @ value_string
      a string – use get_string() for actual value
      +
      virtual bool start_object(std::size_t elements)=0
      the beginning of an object was read
      +
      lexer(detail::input_adapter_t &&adapter)
      Definition: json.hpp:7237
      +
      void push_back(const basic_json &val)
      add an object to an array
      Definition: json.hpp:21748
      +
      json_pointer & operator/=(std::string token)
      append an unescaped reference token at the end of this JSON pointer
      Definition: json.hpp:11656
      +
      friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:22977
      +
      static bool accept(InputType &&i, const bool ignore_comments=false)
      check if the input is valid JSON
      Definition: json.hpp:23228
      +
      static void to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)
      Definition: json.hpp:23558
      +
      BasicJsonType get() const
      get special-case overload
      Definition: json.hpp:19359
      + + +
      static void construct(BasicJsonType &j, const CompatibleObjectType &obj)
      Definition: json.hpp:4196
      +
      #define JSON_INTERNAL_CATCH(exception)
      Definition: json.hpp:2074
      +
      reference operator[](size_type idx)
      access specified array element
      Definition: json.hpp:19988
      +
      lexer & operator=(lexer &)=delete
      +
      iter_impl()=default
      default constructor
      Definition: json.hpp:9349
      + +
      static constexpr bool value
      Definition: json.hpp:3043
      +
      virtual bool number_integer(number_integer_t val)=0
      an integer number was read
      +
      Definition: json.hpp:13787
      +
      bool operator>(const iter_impl &other) const
      comparison: greater than
      Definition: json.hpp:11237
      +
      iterator find(KeyT &&key)
      find an element in a JSON object
      Definition: json.hpp:18520
      +
      typename std::allocator_traits< allocator_type >::pointer pointer
      the type of an element pointer
      Definition: json.hpp:14815
      +
      friend bool operator<(const_reference lhs, const_reference rhs) noexcept
      comparison: less than
      Definition: json.hpp:22771
      +
      @ object_end
      the parser read } and finished processing a JSON object
      +
      const_iterator cbegin() const noexcept
      returns a const iterator to the first element
      Definition: json.hpp:18714
      +
      output adapter for output streams
      Definition: json.hpp:11235
      +
      Definition: json.hpp:2476
      +
      json_pointer & operator/=(const json_pointer &ptr)
      append another JSON pointer at the end of this JSON pointer
      Definition: json.hpp:11632
      +
      const_iterator begin() const noexcept
      returns a const iterator to the first element
      Definition: json.hpp:20976
      +
      typename std::iterator_traits< T >::value_type value_type
      Definition: json.hpp:5065
      +
      a class to store JSON values
      Definition: json.hpp:2421
      +
      static invalid_iterator create(int id_, const std::string &what_arg)
      Definition: json.hpp:2513
      +
      static bool sax_parse(detail::input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true)
      generate SAX events
      Definition: json.hpp:20814
      +
      const json_reverse_iterator operator++(int)
      post-increment (it++)
      Definition: json.hpp:11461
      +
      reference operator[](const typename object_t::key_type &key)
      access specified object element
      Definition: json.hpp:20072
      +
      friend bool operator==(const_reference lhs, const ScalarType rhs) noexcept
      comparison: equal
      Definition: json.hpp:22684
      + +
      virtual bool end_array()=0
      the end of an array was read
      +
      constexpr auto get() const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >())
      get a pointer value (explicit)
      Definition: json.hpp:19627
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
      Create a JSON value from an input in BSON format.
      Definition: json.hpp:24348
      +
      Definition: json.hpp:4940
      +
      #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
      Definition: json.hpp:2137
      +
      static parse_error create(int id_, const position_t &pos, const std::string &what_arg)
      create a parse error exception
      Definition: json.hpp:2436
      +
      constexpr bool is_number() const noexcept
      return whether value is a number
      Definition: json.hpp:16743
      +
      #define JSON_EXPLICIT
      Definition: json.hpp:2310
      +
      static constexpr T value
      Definition: json.hpp:2235
      +
      const_reference at(const typename object_t::key_type &key) const
      access specified object element with bounds checking
      Definition: json.hpp:19942
      +
      Definition: json.hpp:2551
      +
      reference at(const typename object_t::key_type &key)
      access specified object element with bounds checking
      Definition: json.hpp:19891
      +
      static std::vector< uint8_t > to_bson(const basic_json &j)
      Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-rep...
      Definition: json.hpp:23827
      + +
      Definition: json.hpp:5077
      +
      friend iter_impl operator+(difference_type i, const iter_impl &it)
      addition of distance and iterator
      Definition: json.hpp:11304
      +
      constexpr number_integer_t get_number_integer() const noexcept
      return integer value
      Definition: json.hpp:7283
      +
      static constexpr int kPrecision
      Definition: json.hpp:12701
      +
      Definition: json.hpp:3431
      +
      bool parse_error(std::size_t, const std::string &, const Exception &ex)
      Definition: json.hpp:5441
      +
      json_reverse_iterator & operator++()
      pre-increment (++it)
      Definition: json.hpp:11467
      +
      basic_json<> json
      default JSON class
      Definition: json.hpp:2445
      +
      constexpr friend difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:10693
      +
      Definition: json.hpp:4197
      +
      friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
      comparison: not equal
      Definition: json.hpp:22718
      +
      typename std::iterator_traits< iterator_type >::value_type char_type
      Definition: json.hpp:5076
      + +
      iter_impl & operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
      converting assignment
      Definition: json.hpp:10928
      + +
      static void to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
      Definition: json.hpp:23764
      +
      void push_back(const std::string &token)
      append an unescaped token at the end of the reference pointer
      Definition: json.hpp:10366
      +
      void from_json_tuple_impl(const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
      Definition: json.hpp:3190
      +
      iterator insert(const_iterator pos, const_iterator first, const_iterator last)
      inserts elements
      Definition: json.hpp:22121
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
      Definition: json.hpp:4084
      +
      void write_character(CharType c) override
      Definition: json.hpp:12652
      +
      static iteration_proxy< iterator > iterator_wrapper(reference ref) noexcept
      wrapper to access iterator member functions in range-based for
      Definition: json.hpp:18982
      +
      basic_json(const BasicJsonType &val)
      create a JSON value from an existing one
      Definition: json.hpp:17964
      +
      bool number_float(number_float_t, const string_t &)
      Definition: json.hpp:5827
      +
      #define JSON_THROW(exception)
      Definition: json.hpp:2071
      +
      std::vector< std::pair< const Key, T >, Allocator > Container
      Definition: json.hpp:16409
      +
      friend class basic_json
      Definition: json.hpp:10096
      +
      decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) parse_error_function_t
      Definition: json.hpp:5074
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(const typename binary_t::container_type &init, std::uint8_t subtype)
      explicitly create a binary array (with subtype)
      Definition: json.hpp:18204
      +
      auto get(const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
      Definition: json.hpp:3412
      +
      static void construct(BasicJsonType &j, const std::vector< bool > &arr)
      Definition: json.hpp:4148
      +
      input_stream_adapter(input_stream_adapter &&rhs) noexcept
      Definition: json.hpp:4814
      +
      @ value_unsigned
      an unsigned integer – use get_number_unsigned() for actual value
      +
      constexpr friend bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:10681
      +
      std::pair< iterator, bool > insert(const value_type &value)
      Definition: json.hpp:16547
      +
      void parse(const bool strict, BasicJsonType &result)
      public parser interface
      Definition: json.hpp:10196
      +
      const_reference front() const
      access the first element
      Definition: json.hpp:20413
      +
      void set_subtype(std::uint8_t subtype) noexcept
      sets the binary subtype
      Definition: json.hpp:4492
      +
      #define NLOHMANN_JSON_VERSION_MINOR
      Definition: json.hpp:34
      +
      iterator insert(const_iterator pos, initializer_list_t ilist)
      inserts elements
      Definition: json.hpp:22174
      +
      iter_impl & operator-=(difference_type i)
      subtract from iterator
      Definition: json.hpp:11284
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4944
      +
      typename BasicJsonType::binary_t binary_t
      Definition: json.hpp:5805
      +
      typename BasicJsonType::number_unsigned_t number_unsigned_t
      Definition: json.hpp:4640
      +
      decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) number_float_function_t
      Definition: json.hpp:5047
      +
      friend void swap(reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
      exchanges the values
      Definition: json.hpp:22389
      +
      token_type
      token types for the parser
      Definition: json.hpp:5909
      +
      an iterator value
      Definition: json.hpp:9287
      +
      #define JSON_CATCH(exception)
      Definition: json.hpp:2073
      +
      bool boolean(bool)
      Definition: json.hpp:5812
      + +
      json_ref(const value_type &value)
      Definition: json.hpp:12538
      +
      NumberFloatType number_float_t
      a type for a number (floating-point)
      Definition: json.hpp:15362
      +
      JSON_HEDLEY_RETURNS_NON_NULL char * to_chars(char *first, const char *last, FloatType value)
      generates a decimal representation of the floating-point number value in [first, last).
      Definition: json.hpp:13709
      +
      reference front()
      access the first element
      Definition: json.hpp:20405
      +
      std::size_t combine(std::size_t seed, std::size_t h) noexcept
      Definition: json.hpp:4595
      +
      typename BasicJsonType::value_type value_type
      the type of the values when the iterator is dereferenced
      Definition: json.hpp:9370
      +
      constexpr bool is_number_integer() const noexcept
      return whether value is an integer number
      Definition: json.hpp:16772
      +
      constexpr const JSON_HEDLEY_RETURNS_NON_NULL char * get_error_message() const noexcept
      return syntax error message
      Definition: json.hpp:7344
      +
      std::size_t chars_read_total
      the total number of characters read
      Definition: json.hpp:92
      + + +
      reference operator[](const json_pointer &ptr)
      access specified element via JSON Pointer
      Definition: json.hpp:24423
      +
      void operator=(nonesuch const &)=delete
      +
      output adapter for basic_string
      Definition: json.hpp:11259
      +
      iter_impl operator+(difference_type i) const
      add to iterator
      Definition: json.hpp:11293
      +
      binary_reader(input_adapter_t adapter)
      create a binary reader
      Definition: json.hpp:5189
      +
      static void construct(BasicJsonType &j, const std::valarray< T > &arr)
      Definition: json.hpp:4162
      +
      char char_type
      Definition: json.hpp:4757
      +
      decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) number_unsigned_function_t
      Definition: json.hpp:5043
      +
      reference operator[](difference_type n) const
      access to successor
      Definition: json.hpp:11347
      +
      const binary_t & get_binary() const
      Definition: json.hpp:19746
      +
      typename BasicJsonType::number_float_t number_float_t
      type for floating-point numbers
      Definition: json.hpp:4340
      +
      byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))
      Definition: json.hpp:4443
      +
      const json_reverse_iterator operator--(int)
      post-decrement (it–)
      Definition: json.hpp:11473
      + +
      constexpr bool is_number_unsigned() const noexcept
      return whether value is an unsigned integer number
      Definition: json.hpp:19001
      +
      decltype(T::to_json(std::declval< Args >()...)) to_json_function
      Definition: json.hpp:2510
      +
      static std::vector< uint8_t > to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)
      create a UBJSON serialization of a given JSON value
      Definition: json.hpp:23749
      +
      typename BasicJsonType::number_float_t number_float_t
      Definition: json.hpp:4641
      +
      bool start_object(std::size_t len)
      Definition: json.hpp:5570
      +
      primitive_iterator_t & operator-=(difference_type n) noexcept
      Definition: json.hpp:10730
      +
      iteration_proxy(typename IteratorType::reference cont) noexcept
      construct iteration proxy from a container
      Definition: json.hpp:3937
      +
      JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer(char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
      prettify v = buf * 10^decimal_exponent
      Definition: json.hpp:13624
      +
      const JSON_HEDLEY_RETURNS_NON_NULL char * what() const noexcept override
      returns the explanatory string
      Definition: json.hpp:2357
      +
      friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
      serialize to stream
      Definition: json.hpp:23044
      +
      void clear() noexcept
      clears the contents
      Definition: json.hpp:21636
      +
      friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
      serialize to stream
      Definition: json.hpp:20666
      +
      Definition: json.hpp:2336
      +
      ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())
      Definition: json.hpp:16421
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(typename binary_t::container_type &&init)
      explicitly create a binary array (without subtype)
      Definition: json.hpp:18214
      +
      constexpr bool is_null() const noexcept
      return whether value is null
      Definition: json.hpp:16691
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
      create a JSON value from an input in CBOR format
      Definition: json.hpp:23960
      +
      iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
      inserts elements
      Definition: json.hpp:22073
      +
      typename T::reference reference_t
      Definition: json.hpp:2501
      +
      const_reverse_iterator crend() const noexcept
      returns a const reverse iterator to one before the first
      Definition: json.hpp:18918
      +
      make_index_sequence< sizeof...(Ts)> index_sequence_for
      Definition: json.hpp:2225
      +
      bool operator!=(const iteration_proxy_value &o) const
      inequality operator (needed for range-based for)
      Definition: json.hpp:3888
      +
      basic_json patch(const basic_json &json_patch) const
      applies a JSON patch
      Definition: json.hpp:24662
      +
      #define JSON_HEDLEY_DIAGNOSTIC_PUSH
      Definition: json.hpp:936
      +
      constexpr int kAlpha
      Definition: json.hpp:12953
      +
      constexpr number_float_t get_number_float() const noexcept
      return floating-point value
      Definition: json.hpp:7295
      + +
      #define JSON_HEDLEY_RETURNS_NON_NULL
      Definition: json.hpp:1712
      +
      Definition: json.hpp:3918
      +
      bool skip_bom()
      skip the UTF-8 byte order mark
      Definition: json.hpp:7357
      +
      bool end_object()
      Definition: json.hpp:5605
      +
      @ end_object
      the character for object end }
      + +
      IteratorType erase(IteratorType pos)
      remove element given an iterator
      Definition: json.hpp:20516
      +
      constexpr auto get_ptr() const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
      get a pointer value (implicit)
      Definition: json.hpp:19580
      +
      decltype(std::declval< T & >().string(std::declval< String & >())) string_function_t
      Definition: json.hpp:5051
      +
      input_stream_adapter & operator=(input_stream_adapter &)=delete
      +
      constexpr bool is_array() const noexcept
      return whether value is an array
      Definition: json.hpp:16872
      +
      parse_event_t
      Definition: json.hpp:10137
      +
      bool operator==(const iteration_proxy_value &o) const
      equality operator (needed for InputIterator)
      Definition: json.hpp:3882
      +
      #define JSON_HEDLEY_DIAGNOSTIC_POP
      Definition: json.hpp:937
      +
      virtual bool start_array(std::size_t elements)=0
      the beginning of an array was read
      +
      typename T::key_type key_type_t
      Definition: json.hpp:2489
      +
      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name(const token_type t) noexcept
      return name of values of type token_type (only used for errors)
      Definition: json.hpp:5933
      +
      typename BasicJsonType::difference_type difference_type
      a type to represent differences between iterators
      Definition: json.hpp:9372
      +
      Array get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v)))
      Definition: json.hpp:19530
      +
      void from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
      Definition: json.hpp:3042
      +
      SAX interface.
      Definition: json.hpp:4333
      +
      friend bool operator>=(const ScalarType lhs, const_reference rhs) noexcept
      comparison: greater than or equal
      Definition: json.hpp:22999
      +
      void insert(const_iterator first, const_iterator last)
      inserts elements
      Definition: json.hpp:22215
      +
      file_input_adapter(std::FILE *f) noexcept
      Definition: json.hpp:3922
      +
      const_reverse_iterator crbegin() const noexcept
      returns a const reverse iterator to the last element
      Definition: json.hpp:18889
      +
      int k
      Definition: json.hpp:12960
      +
      virtual bool binary(binary_t &val)=0
      a binary string was read
      +
      constexpr bool is_boolean() const noexcept
      return whether value is a boolean
      Definition: json.hpp:16713
      +
      std::ptrdiff_t difference_type
      a type to represent differences between iterators
      Definition: json.hpp:14807
      +
      auto get_ptr() noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >()))
      get a pointer value (implicit)
      Definition: json.hpp:19567
      +
      proxy class for the items() function
      Definition: json.hpp:3385
      +
      static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(detail::input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
      create a JSON value from an input in MessagePack format
      Definition: json.hpp:21626
      +
      const object_t::key_type & key() const
      return the key of an object iterator
      Definition: json.hpp:11378
      +
      static void construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)
      Definition: json.hpp:4179
      +
      iterator_input_adapter(IteratorType first, IteratorType last)
      Definition: json.hpp:4848
      +
      cbor_tag_handler_t
      how to treat CBOR tags
      Definition: json.hpp:7668
      + +
      difference_type operator-(const json_reverse_iterator &other) const
      return difference
      Definition: json.hpp:11503
      +
      bool parse_error(std::size_t, const std::string &, const detail::exception &)
      Definition: json.hpp:5867
      + +
      typename T::pointer pointer_t
      Definition: json.hpp:2498
      +
      @ begin_array
      the character for array begin [
      +
      constexpr bool is_number_float() const noexcept
      return whether value is a floating-point number
      Definition: json.hpp:16828
      +
      friend bool operator!=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: not equal
      Definition: json.hpp:22729
      +
      int e
      Definition: json.hpp:12704
      +
      typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type pointer
      defines a pointer to the type iterated over (value_type)
      Definition: json.hpp:9376
      +
      const iter_impl operator--(int)
      post-decrement (it–)
      Definition: json.hpp:11122
      +
      virtual bool key(string_t &val)=0
      an object key was read
      +
      an internal type for a backed binary type
      Definition: json.hpp:4433
      +
      binary_writer(output_adapter_t< CharType > adapter)
      create a binary writer
      Definition: json.hpp:12764
      +
      basic_json(const basic_json &other)
      copy constructor
      Definition: json.hpp:18536
      +
      #define NLOHMANN_BASIC_JSON_TPL
      Definition: json.hpp:2146
      +
      virtual ~json_sax()=default
      +
      void write_character(CharType c) override
      Definition: json.hpp:12676
      + +
      const_iterator find(const Key &key) const
      Definition: json.hpp:16530
      +
      output_adapter(std::vector< CharType > &vec)
      Definition: json.hpp:12719
      +
      constexpr friend bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
      Definition: json.hpp:10676
      +
      @ value_integer
      a signed integer – use get_number_integer() for actual value
      +
      friend bool operator==(json_pointer const &lhs, json_pointer const &rhs) noexcept
      compares two JSON pointers for equality
      Definition: json.hpp:12485
      +
      typename BasicJsonType::string_t string_t
      Definition: json.hpp:4946
      +
      bool number_float(number_float_t val, const string_t &)
      Definition: json.hpp:5377
      +
      friend bool operator<=(const_reference lhs, const ScalarType rhs) noexcept
      comparison: less than or equal
      Definition: json.hpp:22896
      +
      std::char_traits< char_type >::int_type get_character()
      Definition: json.hpp:4851
      +
      const_reference operator[](size_type idx) const
      access specified array element
      Definition: json.hpp:20034
      +
      bool end_array()
      Definition: json.hpp:5862
      +
      int find_largest_pow10(const std::uint32_t n, std::uint32_t &pow10)
      Definition: json.hpp:13134
      +
      std::reverse_iterator< Base > base_iterator
      shortcut to the reverse iterator adapter
      Definition: json.hpp:9987
      +
      @ uninitialized
      indicating the scanner is uninitialized
      +
      json_reverse_iterator & operator--()
      pre-decrement (–it)
      Definition: json.hpp:11479
      +
      iterator insert_iterator(const_iterator pos, Args &&... args)
      Definition: json.hpp:21984
      +
      static void construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
      Definition: json.hpp:4020
      +
      reference value() const
      return the value of an iterator
      Definition: json.hpp:9932
      +
      JSON_HEDLEY_RETURNS_NON_NULL static const JSON_HEDLEY_CONST char * token_type_name(const token_type t) noexcept
      return name of values of type token_type (only used for errors)
      Definition: json.hpp:7194
      +
      reference operator+=(basic_json &&val)
      add an object to an array
      Definition: json.hpp:21738
      +
      json_reverse_iterator(const base_iterator &it) noexcept
      create reverse iterator from base class
      Definition: json.hpp:11458
      +
      bool operator!=(const byte_container_with_subtype &rhs) const
      Definition: json.hpp:4469
      +
      decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >())) contiguous_bytes_input_adapter
      Definition: json.hpp:5121
      +
      void to_json(BasicJsonType &j, T b) noexcept
      Definition: json.hpp:3647
      +
      byte_container_with_subtype() noexcept(noexcept(container_type()))
      Definition: json.hpp:4439
      + +
      constexpr bool is_errored() const
      Definition: json.hpp:5692
      +
      void write_bson(const BasicJsonType &j)
      Definition: json.hpp:12773
      +
      typename std::allocator_traits< allocator_type >::const_pointer const_pointer
      the type of an element const pointer
      Definition: json.hpp:14817
      +
      iter_impl & operator+=(difference_type i)
      add to iterator
      Definition: json.hpp:11255
      +
      Definition: json.hpp:11282
      +
      void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
      exchanges the values
      Definition: json.hpp:20054
      + +
      iterator end() noexcept
      returns an iterator to one past the last element
      Definition: json.hpp:18745
      +
      ValueType & get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v)))
      get a value (explicit)
      Definition: json.hpp:19506
      +
      typename T::iterator_category iterator_category_t
      Definition: json.hpp:2504
      +
      bool boolean(bool val)
      Definition: json.hpp:5534
      +
      BasicJsonType value_type
      Definition: json.hpp:11104
      +
      auto operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
      Definition: json.hpp:4350
      +
      void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
      exchanges the values
      Definition: json.hpp:22359
      +
      binary_t & get_binary()
      Definition: json.hpp:19735
      +
      typename BasicJsonType::template json_serializer< T, void > serializer
      Definition: json.hpp:3065
      +
      std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
      Definition: json.hpp:2376
      +
      @ key
      the parser read a key of a value in an object
      +
      friend bool operator<(const ScalarType lhs, const_reference rhs) noexcept
      comparison: less than
      Definition: json.hpp:22861
      +
      ValueType get() const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >())))
      get a value (explicit); special case
      Definition: json.hpp:19460
      +
      bool contains(const json_pointer &ptr) const
      check the existence of an element in a JSON object given a JSON pointer
      Definition: json.hpp:20927
      +
      std::size_t operator()(const nlohmann::json &j) const
      return a hash value for a JSON object
      Definition: json.hpp:25195
      +
      @ array_start
      the parser read [ and started to process a JSON array
      +
      basic_json(const JsonRef &ref)
      Definition: json.hpp:18509
      +
      typename BasicJsonType::binary_t binary_t
      Definition: json.hpp:5509
      +
      typename std::remove_cv< typename std::remove_reference< T >::type >::type uncvref_t
      Definition: json.hpp:2194
      + + + + diff --git a/help/html/tweetDuplicateException_8h.html b/help/html/tweetDuplicateException_8h.html new file mode 100644 index 0000000..6ea9913 --- /dev/null +++ b/help/html/tweetDuplicateException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetDuplicateException.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweetDuplicateException.h File Reference
      +
      +
      +
      +Include dependency graph for tweetDuplicateException.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::TweetDuplicateException
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/tweetDuplicateException_8h__dep__incl.map b/help/html/tweetDuplicateException_8h__dep__incl.map new file mode 100644 index 0000000..3a7968b --- /dev/null +++ b/help/html/tweetDuplicateException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/tweetDuplicateException_8h__dep__incl.md5 b/help/html/tweetDuplicateException_8h__dep__incl.md5 new file mode 100644 index 0000000..1098b31 --- /dev/null +++ b/help/html/tweetDuplicateException_8h__dep__incl.md5 @@ -0,0 +1 @@ +0d3cf83f70d89cfa9999b564b6f982c9 \ No newline at end of file diff --git a/help/html/tweetDuplicateException_8h__dep__incl.png b/help/html/tweetDuplicateException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..61a5016650e63c013b279e448a526aca0a2e4bdc GIT binary patch literal 6076 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 literal 0 HcmV?d00001 diff --git a/help/html/tweetDuplicateException_8h__incl.map b/help/html/tweetDuplicateException_8h__incl.map new file mode 100644 index 0000000..5da9781 --- /dev/null +++ b/help/html/tweetDuplicateException_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/tweetDuplicateException_8h__incl.md5 b/help/html/tweetDuplicateException_8h__incl.md5 new file mode 100644 index 0000000..f0a3ac3 --- /dev/null +++ b/help/html/tweetDuplicateException_8h__incl.md5 @@ -0,0 +1 @@ +dd9b6a7e9fce7922c8e69b33761baea4 \ No newline at end of file diff --git a/help/html/tweetDuplicateException_8h__incl.png b/help/html/tweetDuplicateException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..62d24fa16bf6d37de7ab17674f5f2217c7aed916 GIT binary patch literal 9220 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 + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetDuplicateException.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      tweetDuplicateException.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_TWEETDUPLICATEEXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_TWEETDUPLICATEEXCEPTION_H_
      +
      3 
      + +
      5 
      +
      6 namespace CocoaTweet::Exception {
      + + +
      9 };
      +
      10 } // namespace CocoaTweet::Exception
      +
      11 
      +
      12 #endif
      +
      +
      Definition: tweetDuplicateException.h:7
      +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: authenticateException.h:6
      +
      Definition: exception.h:8
      + + + + + diff --git a/help/html/tweetNotFoundException_8h.html b/help/html/tweetNotFoundException_8h.html new file mode 100644 index 0000000..4d39885 --- /dev/null +++ b/help/html/tweetNotFoundException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetNotFoundException.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweetNotFoundException.h File Reference
      +
      +
      +
      +Include dependency graph for tweetNotFoundException.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::TweetNotFoundException
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/tweetNotFoundException_8h__dep__incl.map b/help/html/tweetNotFoundException_8h__dep__incl.map new file mode 100644 index 0000000..41623dc --- /dev/null +++ b/help/html/tweetNotFoundException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/tweetNotFoundException_8h__dep__incl.md5 b/help/html/tweetNotFoundException_8h__dep__incl.md5 new file mode 100644 index 0000000..532fb2c --- /dev/null +++ b/help/html/tweetNotFoundException_8h__dep__incl.md5 @@ -0,0 +1 @@ +abf52a8c24b597ee0f46863f4f297b54 \ No newline at end of file diff --git a/help/html/tweetNotFoundException_8h__dep__incl.png b/help/html/tweetNotFoundException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3baa7e0c2664bdf02c1cb4fc4eed109ef86f8d GIT binary patch literal 6112 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 + + + + + diff --git a/help/html/tweetNotFoundException_8h__incl.md5 b/help/html/tweetNotFoundException_8h__incl.md5 new file mode 100644 index 0000000..5a35255 --- /dev/null +++ b/help/html/tweetNotFoundException_8h__incl.md5 @@ -0,0 +1 @@ +cf704f660016618d2bab713aad168315 \ No newline at end of file diff --git a/help/html/tweetNotFoundException_8h__incl.png b/help/html/tweetNotFoundException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e3954b911fd12f90d3582bbceb029108f8fbd620 GIT binary patch literal 9252 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 C{wehU literal 0 HcmV?d00001 diff --git a/help/html/tweetNotFoundException_8h_source.html b/help/html/tweetNotFoundException_8h_source.html new file mode 100644 index 0000000..d71c6d9 --- /dev/null +++ b/help/html/tweetNotFoundException_8h_source.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetNotFoundException.h Source File + + + + + + + + + + +
      +
      +
      tweetNotFoundException.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_TWEETNOTFOUNDEXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_TWEETNOTFOUNDEXCEPTION_H_
      +
      3 
      + +
      5 
      +
      6 namespace CocoaTweet::Exception {
      + + +
      9 };
      +
      10 } // namespace CocoaTweet::Exception
      +
      11 
      +
      12 #endif
      +
      +
      Definition: tweetNotFoundException.h:7
      +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: authenticateException.h:6
      +
      Definition: exception.h:8
      + + + + + diff --git a/help/html/tweetTooLongException_8h.html b/help/html/tweetTooLongException_8h.html new file mode 100644 index 0000000..d2ebaaf --- /dev/null +++ b/help/html/tweetTooLongException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetTooLongException.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweetTooLongException.h File Reference
      +
      +
      +
      +Include dependency graph for tweetTooLongException.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::TweetTooLongException
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/tweetTooLongException_8h__dep__incl.map b/help/html/tweetTooLongException_8h__dep__incl.map new file mode 100644 index 0000000..53e23a9 --- /dev/null +++ b/help/html/tweetTooLongException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/tweetTooLongException_8h__dep__incl.md5 b/help/html/tweetTooLongException_8h__dep__incl.md5 new file mode 100644 index 0000000..5c362d6 --- /dev/null +++ b/help/html/tweetTooLongException_8h__dep__incl.md5 @@ -0,0 +1 @@ +9ee88b694f56fdfa7fb2afdbf5bfd25b \ No newline at end of file diff --git a/help/html/tweetTooLongException_8h__dep__incl.png b/help/html/tweetTooLongException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9d81a7d58e9443ac2790329cbc65a8d8fa07b6 GIT binary patch literal 6455 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 literal 0 HcmV?d00001 diff --git a/help/html/tweetTooLongException_8h__incl.map b/help/html/tweetTooLongException_8h__incl.map new file mode 100644 index 0000000..2d3e7a1 --- /dev/null +++ b/help/html/tweetTooLongException_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/tweetTooLongException_8h__incl.md5 b/help/html/tweetTooLongException_8h__incl.md5 new file mode 100644 index 0000000..6465fed --- /dev/null +++ b/help/html/tweetTooLongException_8h__incl.md5 @@ -0,0 +1 @@ +550b0d8454554539c3f24258728a6f8b \ No newline at end of file diff --git a/help/html/tweetTooLongException_8h__incl.png b/help/html/tweetTooLongException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..59a06bd5fe105ea1b39a5f56a8a4a1ed0e9b8be3 GIT binary patch literal 9881 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 literal 0 HcmV?d00001 diff --git a/help/html/tweetTooLongException_8h_source.html b/help/html/tweetTooLongException_8h_source.html new file mode 100644 index 0000000..0d570ea --- /dev/null +++ b/help/html/tweetTooLongException_8h_source.html @@ -0,0 +1,97 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/tweetTooLongException.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      tweetTooLongException.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_TWEETTOOLONGEXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_TWEETTOOLONGEXCEPTION_H_
      +
      3 
      + +
      5 
      +
      6 namespace CocoaTweet::Exception {
      + + +
      9 };
      +
      10 } // namespace CocoaTweet::Exception
      +
      11 
      +
      12 #endif
      +
      +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: authenticateException.h:6
      +
      Definition: exception.h:8
      +
      Definition: tweetTooLongException.h:7
      + + + + + diff --git a/help/html/tweet_8cc.html b/help/html/tweet_8cc.html new file mode 100644 index 0000000..fbb32ef --- /dev/null +++ b/help/html/tweet_8cc.html @@ -0,0 +1,105 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model/tweet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      tweet.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/model/tweet.h>
      +#include "nlohmann/json.hpp"
      +
      +Include dependency graph for tweet.cc:
      +
      +
      + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Model
       
      +
      + + + + diff --git a/help/html/tweet_8cc__incl.map b/help/html/tweet_8cc__incl.map new file mode 100644 index 0000000..4f3729e --- /dev/null +++ b/help/html/tweet_8cc__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/tweet_8cc__incl.md5 b/help/html/tweet_8cc__incl.md5 new file mode 100644 index 0000000..e0d27ac --- /dev/null +++ b/help/html/tweet_8cc__incl.md5 @@ -0,0 +1 @@ +7aaa1edf6a75f5d8ea711ad820b7aaf4 \ No newline at end of file diff --git a/help/html/tweet_8cc__incl.png b/help/html/tweet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..08f0093b74ef41018dd356de423aab4ef6dc6e95 GIT binary patch literal 10379 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

      KC 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 + + + + + + +CocoaTweet: src/cocoatweet/api/model/tweet.h File Reference + + + + + + + + + +

      +
      + +
      +
      tweet.h File Reference
      +
      +
      +
      #include <string>
      +
      +Include dependency graph for tweet.h:
      +
      +
      + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Model::Tweet
       data class for tweet object More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Model
       
      +
      + + + + diff --git a/help/html/tweet_8h__dep__incl.map b/help/html/tweet_8h__dep__incl.map new file mode 100644 index 0000000..3224c1f --- /dev/null +++ b/help/html/tweet_8h__dep__incl.map @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/html/tweet_8h__dep__incl.md5 b/help/html/tweet_8h__dep__incl.md5 new file mode 100644 index 0000000..d969840 --- /dev/null +++ b/help/html/tweet_8h__dep__incl.md5 @@ -0,0 +1 @@ +ca3842e86a5cb6bb3305933800e7d4a5 \ No newline at end of file diff --git a/help/html/tweet_8h__dep__incl.png b/help/html/tweet_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9e9f8bab02e8c478b031e34ab9a01fda3a4fb80a GIT binary patch literal 90929 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

      DvnRF3F&h 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

      G<_u`vhYg8b&^_hSYE+(%Fr}-b_ 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 Ml~$B0kkI$~Un;CWb^rhX literal 0 HcmV?d00001 diff --git a/help/html/tweet_8h__incl.map b/help/html/tweet_8h__incl.map new file mode 100644 index 0000000..04e0d51 --- /dev/null +++ b/help/html/tweet_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/tweet_8h__incl.md5 b/help/html/tweet_8h__incl.md5 new file mode 100644 index 0000000..496d80c --- /dev/null +++ b/help/html/tweet_8h__incl.md5 @@ -0,0 +1 @@ +bae97ff5c92b0aa73adfd54da1a0c7b8 \ No newline at end of file diff --git a/help/html/tweet_8h__incl.png b/help/html/tweet_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..08bc5e08358b1e9d8f1982c30ba32271d049081d GIT binary patch literal 4140 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 VgS2N-EolECw~fpU>kQl;{tFzL6}$id literal 0 HcmV?d00001 diff --git a/help/html/tweet_8h_source.html b/help/html/tweet_8h_source.html new file mode 100644 index 0000000..07b7132 --- /dev/null +++ b/help/html/tweet_8h_source.html @@ -0,0 +1,131 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/model/tweet.h Source File + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      tweet.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_MODEL_TWEET_H_
      +
      2 #define COCOATWEET_API_MODEL_TWEET_H_
      +
      3 
      +
      4 #include <string>
      +
      5 
      +
      6 namespace CocoaTweet::API::Model {
      +
      7 
      +
      9 class Tweet final {
      +
      10 public:
      +
      12  Tweet() = default;
      +
      13 
      +
      15  Tweet(const Tweet&) = default;
      +
      16 
      +
      19  Tweet(const std::string& _json) : Tweet(Tweet::parse(_json)) {}
      +
      20 
      +
      24  static Tweet parse(const std::string& _json);
      +
      25 
      +
      29  void id(const std::string _id);
      +
      30 
      +
      34  void createdAt(const std::string _at);
      +
      35 
      +
      39  void text(const std::string _text);
      +
      40 
      +
      44  void source(const std::string _source);
      +
      45 
      +
      49  const std::string id() const;
      +
      50 
      +
      54  const std::string createdAt() const;
      +
      55 
      +
      59  const std::string text() const;
      +
      60 
      +
      64  const std::string source() const;
      +
      65 
      +
      66 private:
      +
      67  std::string id_;
      +
      68  std::string createdAt_;
      +
      69  std::string text_;
      +
      70  std::string source_;
      +
      71 };
      +
      72 } // namespace CocoaTweet::API::Model
      +
      73 
      +
      74 #endif
      +
      +
      data class for tweet object
      Definition: tweet.h:9
      +
      const std::string text() const
      get tweet text
      Definition: tweet.cc:38
      +
      static Tweet parse(const std::string &_json)
      response parser for tweet object
      Definition: tweet.cc:5
      +
      Tweet(const std::string &_json)
      constructor for create object from json response
      Definition: tweet.h:19
      +
      Tweet()=default
      constructor
      +
      const std::string createdAt() const
      get tweet create time
      Definition: tweet.cc:35
      +
      const std::string source() const
      get tweet source information
      Definition: tweet.cc:41
      +
      Definition: mediaStore.cc:5
      +
      const std::string id() const
      get tweet id
      Definition: tweet.cc:32
      + + + + diff --git a/help/html/unretweet_8cc.html b/help/html/unretweet_8cc.html new file mode 100644 index 0000000..358f2e0 --- /dev/null +++ b/help/html/unretweet_8cc.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/unretweet.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      unretweet.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/status/unretweet.h>
      +#include <iostream>
      +
      +Include dependency graph for unretweet.cc:
      +
      +
      + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/unretweet_8cc__incl.map b/help/html/unretweet_8cc__incl.map new file mode 100644 index 0000000..b140be7 --- /dev/null +++ b/help/html/unretweet_8cc__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/unretweet_8cc__incl.md5 b/help/html/unretweet_8cc__incl.md5 new file mode 100644 index 0000000..2cdaf56 --- /dev/null +++ b/help/html/unretweet_8cc__incl.md5 @@ -0,0 +1 @@ +e50fa07f2f3ca2452f005ef8be7a566f \ No newline at end of file diff --git a/help/html/unretweet_8cc__incl.png b/help/html/unretweet_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2051e35db39000f97fb9f4d5eff0aeeddf925d GIT binary patch literal 39365 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� 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 ac8`^vUDXr4yS(G@MY4Nm(hlo3jp;9SNCABS literal 0 HcmV?d00001 diff --git a/help/html/unretweet_8h.html b/help/html/unretweet_8h.html new file mode 100644 index 0000000..a19fe77 --- /dev/null +++ b/help/html/unretweet_8h.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/unretweet.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      unretweet.h File Reference
      +
      +
      +
      +Include dependency graph for unretweet.h:
      +
      +
      + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::Unretweet
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/unretweet_8h__dep__incl.map b/help/html/unretweet_8h__dep__incl.map new file mode 100644 index 0000000..455dcd7 --- /dev/null +++ b/help/html/unretweet_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/unretweet_8h__dep__incl.md5 b/help/html/unretweet_8h__dep__incl.md5 new file mode 100644 index 0000000..a850f05 --- /dev/null +++ b/help/html/unretweet_8h__dep__incl.md5 @@ -0,0 +1 @@ +3111e3767f6eb9b50e2e3cb61eade387 \ No newline at end of file diff --git a/help/html/unretweet_8h__dep__incl.png b/help/html/unretweet_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..93462c718cdab4e206cc315d96d2bddd29eb4ace GIT binary patch literal 6410 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 F{157S#!vtN literal 0 HcmV?d00001 diff --git a/help/html/unretweet_8h__incl.map b/help/html/unretweet_8h__incl.map new file mode 100644 index 0000000..b503583 --- /dev/null +++ b/help/html/unretweet_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/help/html/unretweet_8h__incl.md5 b/help/html/unretweet_8h__incl.md5 new file mode 100644 index 0000000..b7052e9 --- /dev/null +++ b/help/html/unretweet_8h__incl.md5 @@ -0,0 +1 @@ +deac754c113026ffb31661f410eaef07 \ No newline at end of file diff --git a/help/html/unretweet_8h__incl.png b/help/html/unretweet_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..877cecf9f93b84bd4680cd98829835c0e48b0b08 GIT binary patch literal 38036 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 cLw1@os0Qx&yzM4{K0WPzbvxBJvF^T>zvm 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 F{{YDhuPy)p literal 0 HcmV?d00001 diff --git a/help/html/unretweet_8h_source.html b/help/html/unretweet_8h_source.html new file mode 100644 index 0000000..d4f1eee --- /dev/null +++ b/help/html/unretweet_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/unretweet.h Source File + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      unretweet.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_UNRETWEET_H_
      +
      2 #define COCOATWEET_API_STATUS_UNRETWEET_H_
      +
      3 
      + + +
      6 
      + + +
      9 public:
      +
      10  Unretweet();
      +
      11 
      +
      12  void id(const std::string& _id);
      +
      13 
      +
      14  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      15 };
      +
      16 } // namespace CocoaTweet::API::Statuses
      +
      17 
      +
      18 #endif
      +
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      Definition: unretweet.h:8
      +
      data class for tweet object
      Definition: tweet.h:9
      + +
      void id(const std::string &_id)
      Definition: unretweet.cc:7
      + +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      Definition: unretweet.cc:12
      +
      Definition: destroy.cc:4
      +
      Unretweet()
      Definition: unretweet.cc:5
      + + + + diff --git a/help/html/unsupportedMediaTypeException_8h.html b/help/html/unsupportedMediaTypeException_8h.html new file mode 100644 index 0000000..9d8bdf5 --- /dev/null +++ b/help/html/unsupportedMediaTypeException_8h.html @@ -0,0 +1,119 @@ + + + + + + + +CocoaTweet: src/cocoatweet/exception/unsupportedMediaTypeException.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      unsupportedMediaTypeException.h File Reference
      +
      +
      +
      +Include dependency graph for unsupportedMediaTypeException.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + +
      +
      +

      Go to the source code of this file.

      + + + + +

      +Classes

      class  CocoaTweet::Exception::UnsupportedMediaTypeException
       
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Exception
       
      +
      + + + + diff --git a/help/html/unsupportedMediaTypeException_8h__dep__incl.map b/help/html/unsupportedMediaTypeException_8h__dep__incl.map new file mode 100644 index 0000000..ed72f16 --- /dev/null +++ b/help/html/unsupportedMediaTypeException_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/help/html/unsupportedMediaTypeException_8h__dep__incl.md5 b/help/html/unsupportedMediaTypeException_8h__dep__incl.md5 new file mode 100644 index 0000000..6f00c9f --- /dev/null +++ b/help/html/unsupportedMediaTypeException_8h__dep__incl.md5 @@ -0,0 +1 @@ +ea735e2c0a865afc984b8dc1725f7445 \ No newline at end of file diff --git a/help/html/unsupportedMediaTypeException_8h__dep__incl.png b/help/html/unsupportedMediaTypeException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6945a1fd2704ae16fdbaab47ef13b817df4e7668 GIT binary patch literal 6511 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 K9u-LId;cGGD!{}5 literal 0 HcmV?d00001 diff --git a/help/html/unsupportedMediaTypeException_8h__incl.map b/help/html/unsupportedMediaTypeException_8h__incl.map new file mode 100644 index 0000000..9f86bf4 --- /dev/null +++ b/help/html/unsupportedMediaTypeException_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/unsupportedMediaTypeException_8h__incl.md5 b/help/html/unsupportedMediaTypeException_8h__incl.md5 new file mode 100644 index 0000000..15c5a17 --- /dev/null +++ b/help/html/unsupportedMediaTypeException_8h__incl.md5 @@ -0,0 +1 @@ +5550d662a45dc2c25d731f3b7221dbce \ No newline at end of file diff --git a/help/html/unsupportedMediaTypeException_8h__incl.png b/help/html/unsupportedMediaTypeException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..71961e4aae6d334c42986d154fcab308a8177d6a GIT binary patch literal 9812 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 X + + + + + + +CocoaTweet: src/cocoatweet/exception/unsupportedMediaTypeException.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      unsupportedMediaTypeException.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_EXCEPTION_UNSUPPORTEDMEDIATYPEEXCEPTION_H_
      +
      2 #define COCOATWEET_EXCEPTION_UNSUPPORTEDMEDIATYPEEXCEPTION_H_
      +
      3 
      + +
      5 
      +
      6 namespace CocoaTweet::Exception {
      + + +
      9 };
      +
      10 } // namespace CocoaTweet::Exception
      +
      11 
      +
      12 #endif
      +
      +
      Definition: unsupportedMediaTypeException.h:7
      +
      Exception(const char *_msg)
      Definition: exception.h:10
      +
      Definition: authenticateException.h:6
      +
      Definition: exception.h:8
      + + + + + diff --git a/help/html/update_8cc.html b/help/html/update_8cc.html new file mode 100644 index 0000000..ee20ade --- /dev/null +++ b/help/html/update_8cc.html @@ -0,0 +1,116 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/update.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      update.cc File Reference
      +
      +
      +
      +Include dependency graph for update.cc:
      +
      +
      + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/update_8cc__incl.map b/help/html/update_8cc__incl.map new file mode 100644 index 0000000..7395cc3 --- /dev/null +++ b/help/html/update_8cc__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/help/html/update_8cc__incl.md5 b/help/html/update_8cc__incl.md5 new file mode 100644 index 0000000..026c603 --- /dev/null +++ b/help/html/update_8cc__incl.md5 @@ -0,0 +1 @@ +7e580cc883e54322d940bfa03f937150 \ No newline at end of file diff --git a/help/html/update_8cc__incl.png b/help/html/update_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6259def875e7ab52da24e469ce0ce560046590b7 GIT binary patch literal 55143 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 literal 0 HcmV?d00001 diff --git a/help/html/update_8h.html b/help/html/update_8h.html new file mode 100644 index 0000000..780d743 --- /dev/null +++ b/help/html/update_8h.html @@ -0,0 +1,135 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/update.h File Reference + + + + + + + + + + +
      + +
      +
      update.h File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpPost.h>
      +#include <cocoatweet/api/model/tweet.h>
      +#include <vector>
      +#include <utility>
      +#include <memory>
      +
      +Include dependency graph for update.h:
      +
      +
      + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::Update
       class for using statuses/update endpoint More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/update_8h__dep__incl.map b/help/html/update_8h__dep__incl.map new file mode 100644 index 0000000..d9df50a --- /dev/null +++ b/help/html/update_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/update_8h__dep__incl.md5 b/help/html/update_8h__dep__incl.md5 new file mode 100644 index 0000000..5b8d0a0 --- /dev/null +++ b/help/html/update_8h__dep__incl.md5 @@ -0,0 +1 @@ +9dd5200def6a66ab7beba597c06c69cc \ No newline at end of file diff --git a/help/html/update_8h__dep__incl.png b/help/html/update_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a4db9749bd2f5b1a23cfd599ef9453f5c02add02 GIT binary patch literal 8072 zcmZ9R1yt10x9>+la%iMON;(Hb1q5jUC8VTNI;5p@=#=i1kVcShh89GmrIhY&xM%+F z-n-s=3)XK~i!3r0)gPZmXlJ2KpsefzoRhG!ISF?xf}RE zH&&39g4`p2a$1W%Lm+gbuccn8xo7PD`J}71dWUf^It;1dVeel-FSZQJQH~9ew_=az zeJDLohNk(isbJ$b$tm*(Gt1m3X}!!3Clt43G%J&+xK&Cl!~BRIW3vl~@*dyZE%jkJ zkdi0CFxvK~A~f+v-?xoA(Y9s6)`#7sBKgoIFgK@(dc9=DG3nF%;_2yw{_}w3n95<& zgO#?STI|Pv{(QI`LU%-iPT0`XBh@Bpan4FnUsG1bN&VarjZr3YNtlE|{POa$!Tb8@ zqLDLZ0(7n)j!Sic=Z`rSBX$=WMJ04ZBNHONPeCMs$%=eHBqg7*yb#=Cj1Hr_@gQurc`P|>S z6@2+(+#CML!O5xn?)LiQ<~VagQj+n%{y42~7KF|&E)O8d+2%&!F0I9C7zS#O&X=r8^EOvK+%Arx#5k}1N zI8IJkMa4fQgk;cAwkWq$K$L?Y^%rKbqfu z`#o)3TpT&CA*9EcZ?Zx!B0io-N?JNsA({K)u#fI=yRv=dbjkoj`50q&e;*$*U1Ju} zWhP`Z4bjun>*?tcXHR5cXUEp5w|S+erdB%ztmlA;Klw~ADoR5oWEWIdCnys|8GO1u z#mK^f;p5{&E@Vdy$tfs6d;a`+|IkoiaPUJ_Rn@UpPq%`Cf{wmE4B%Y{N5=puhUNPE zn@cCJlb^D@e0-f`244Oy+mlB73#|lUQb-T9Yy3glug&r{L)_Gq>FRVl#J=qk{i{Z~ zgsv{N;+r=*u6ePfvdIIKG7NFz3JN$^S65>{e|8S>v`1bZuTSY9Mn~~0TaK`SRsjkH2}&;_LJf&c zPY2nBiRo@cg-`cV%F?oA+*MduxbeDD*cC$g8-s)6E1CZK`Z~uh%TH(mRB&u8SCY?p zLzx%haCKrC6db%fU2U>4Q9=xH*jIVrS6Ikw%1=Qn;@-iW)5NXU6qG9&QmQ-I)rF#3 zlF-cg&@Ur{8sgX3_`E>1WOkdBgv9XImp9W59~t3L3KUUMQEE{S67wG!%k}i6?e1|a zJ3Emh=|bHgAl%&C8}p5@CfD6?M%n0&>1lEh@RciOqA-V>i;v_~RP9xnEiEF2yWwXB zZab8}FqZavbk9$#jJp5reYPNNQk>)!yT5@M8ym-d{v5cqWz}!WFXDSg&7Z2ccSK4` z>VA7Vb-3WUPY;6;gS5Rko3oG0$bgopg@4tobW9!|OsWGB%Xt-e@KcuVV{&h^>u$i; zuN-chU-z046B7+1J3Bfcv$M0Hj-KH#m%MP>i;Rqf$`z{ax#8jAvGVZr`QBd}?8Q$5 z`Gnxpt?5slSx;9Pg@%VqxVk=N=ioR50y73_SX^4FI>T*$kK0$l=MAx1fVBYe0v!_4 z(Z$@{cr`RPe-);YqslWaHpLr1sHn&xv(9>|YjTow zzvUPYh%YuRExa=j4PR8}Ua&}|H;Ht927?h1xLY;A3yJ$oiDD~nNIUk`zhk&z`N zCr>HB#Yg^ZWr=#OWV$VM&e^v|WeU3)&o_J=o1C;$^X$GAqHacY6wvg2os9{K=A|V=G<0<1 z;S@eDQdwIpo-3HG%gL_$?t4c^ez#QFG&rK-Z!Q(|c7?w!%zT}q5cruEL zP_P3m?e0d!#uD7zUGL8yDP@Vgl9EDeX>H}Rp5)9BcB@!uo7gmvmVW5EI~&~5A%1aj z@tA=DC5Bd1)dN~nQ&VL#!|(3tX>xV4sY{Q=AmS|azQbxrfsNz3uvkR>oq|=#c*?km z%aD;Eyv9)rY#zLVg3_SiBBez^@!np~<*KL@nj#{0bAbBPZXQ!dM~CUj6XT&Iu4k@0 zDP5~!Yk4q9|56?OQa-bG5=)!cT?X4|6cm)Pc3)rTtqCmq)>Be!92^5y9ho5iAJB)TcAwZlRZBE$r&KK}Na8P* zj}hby`8{p>)GISP8!7jVt*y!HVf*fJ<2Sq6rTm8BgI>R*a_dW#&CCjG>!XvuX-Jq_{Zm*PEJn9q8J<;tjk~8T=wGj zojQ8tH(%#ePI25Jg%bAb-&G=sP0V$`eSrl9OrWJ$`I#>}-R#CQ^@S4-KP;Wq;F4ag zDl0GN0~@v1&0!xaC#RI19rw%Y9hjY{%hgm0zroyh`@W;qp>&^)(8oYbIq=m&wZ#8f z7|1MEc6JGIaR>tg!_x9{Cs!pW`lrI41lzAkAR_y1*WB#v?7S{pYEn{ChC9>M^B!Ag zO6sXR<83Nfl^TA0X$tQKjj#w453FEnT?(N=8v61Uhw;&2b~%`_V}lA9gD zK+BY2gGO=nGRXs=Q~Q70wKRV|cufs^TQ_KE!vZnM{)k&LQa!a<5)L9&*Z2^?qSVwm zxW!{(E%sNKnuNqz(yWlX$@vqe?e5v}%n}Glo8$&BvV)`*_2|DnXjgtjvOy2~MQ&y` zyD?sfGC3&&iM+tW$rMJNsz}W%C;$bUOLjD?ckFlhnsC_%n2=DBaf5BpOMeNqQnnTc zs{Ph;QM*N-j@!NF{kyQvK+hxUKZ^{E?VVYoViF1p(A3Dz(NT(_q*g2)9j7))#x$O| zczTtsn@csD1uqmK`!#V+(pOJRV&!@qK5j-;w(EDfxu1%7X$5H-L%#kMSr|EIYi~L`>Xp$!@+$-RUXoXTH65g`~(em`Ech*PEsN zeWb&kpq(qxW8FPUmFp| zgs{s?hZ!0f1zAr`Iwj|&ZEXF9w%ndo$Z)a+G&a)z$oPbz*F;|Lp(~aDGnM{9OAETu z@tQBhZyfeAOe#n^Vqt7U3KLS<`T>KbNIzDNM9Dr(3JQaX_Vn@ONXbFQSd{zk(?#cK z_S?m<{8oaBi;4o--p$YQbJhh1M+K;{-*al}=%5f2i&6{MqupNX4Cuj~MG~M`EUf*w zbKjK$^iMdXZ+}&~W!eEfc z0ZB>Z8X8~Z8XA;S((k=L2s`B94iBFYQhY-3@Oa^Vs;)zu&qTTORMdRhUtRq*pWEI8-Bu5L zEG!&e3uXMqp#jsKU@Ah1JkC4sYo9JS?xNuksqb)_U|AF+BPCOuyt|9Cy1MFcx*LIJ zh3Vs$`X3q49s?<`#`rF@5XQ<=Ojd|ub8+!~d6Qo$uv^SZ;VQ0L0yQ%F_{{g^qmLiy z9UR9q_;tNN$IBER!BOSm!fvYYV`L<2KUSbi zct29srH*8IIV7i$xl_j;cTJdS904YO9LZOvpBYNb;?wJo>cnfKMb{=d&T2h*;b1=E z;W6ueJmT*aA~j0@tbN6+aoncmb)(+XGmI!!QIprt^1U4*d-bX!MQH!=+w8Uxw`T>o zD&PoOZ*xgnT|F>eXU&d?{1m+JAdn=-)HPZDAm!PidQcE`PcV+#C0^J!LU}lixY~r< zbo06F&iwO7#81XNjY>nM7;NUA68`NIHe4GfXJRQjrXjLK1t;T1{FicF6?*rQYHE<1 z8~6cDw4of6@y`5vCsI-GEAs{q!NC1kIgWhO>1gk>8KsMZ?tA0yNr+;m{OG7)q7(z7 zLhl`)jh4Z1N;UperTHP4RvJuOa(g{$)D8c8G1czHXM#{}>n7v`rN`L#!{6VUwuIyj zR6_P2kZWKDgF!>hZE}0{SF09*fkWzkL=(MaX{}IYzi9L9*|gzcLaW>x?|wJAf=9~y zHs(Y`6-KLrXl1(3@gm4#R)jNLB{emv41AvBdtbYD_k{hFQ^>ERwzUTposmW94!$~s z&&Xto*44fE4~&&nQo=CsB7{;=!O+n65C*=Y%OGe0U@-Ch3n=7t1LffBYYY?J%1HO&=V1nfc7VhfDvpYMGLjlc=^f5igqmT$SK5nTC8w)B0mhS&Elxwtg`2)GVS9!|N} z87KilDl=69zc_D~G_;TlQ^rKDYw6EXvCQ4Ab~6fIF0c?jM}2&mQIAA&7s zX*77$DS;r-3xkT6!MGe2C3(J&D@DZ>Nz46l!BthfD?l;O?vVB%RE)Ki?MmOyCKrQ1 zKKanJ(D+<98+S#=M2R5&9-@y&{JY%~usChMB6D9UStVJU9ci2C1Kh=Bg6Cl3*!Xz! z6p>H($h`o>!Fk^f0TSZjr%$+DMcHrr{885lDPCi#{2J@FqRh)%dH&%?;_mN$M%Z~W>DK&E?| zz@|Dl=#^>3LAbcEyhQ`yIi~%!rR;2LBiGcRMOo^PlirvbjR#|?FtHsaKV3SN>6{BP z5%GC{OhyM|^TF7FK(W3$>vICSb^=t4S>zfdo!0R})CQ|Q{uLUVn(7=*?Y_V(ktD80 zKfkQ4twnOLwv|m~W0U=r$#N7AV@OXdXu>;{h5 z7kGgLjoKbQRyO=QQ>1#OPIYH&+Tu>+!^v?bUK9|APPL7UU zvvt;dj{oGyDJYf?mb+QGxe?=q3P#q}I4~G22oBFHD~r@w|2OdY;Oq>p#i`L`qpwf< zMKKix2M5P_dlDCB{-fttky7KXfVmzW9UZ9rfVxc2&Ke)Djm+2Der8dU0T}4RXclgq z9GZ}j5Ry;uw4M-szXR~*F;Q4-T-*Z)5+*4sDk|&g9ot$K78YtXIkS13ZasYW?j7=! z27`UpF?iqHayvvNZ021o`qX-|%s(UqBQh$A&$ORFx5Yiq+MXwQKtRmW=V^Ez%MI1` zk4#}j9i4Q&1_yt2HMOdL|4i$Rd$BA2{QMdBUR%2c0L&VIFc9P>#7`6r_xAR7Cd+lo za&r83|1>9OihPRKF~2xi-sz8HWKX8yGe$c;Ix+^_Zl|*S&KMj%hlhqD=H5C@maFUO zjrd%yl1&yV(UFpo_1!Ma%%pnXU9Qh>7b#`)S8EOP!(bF9kpQ7pw|QUJw0fTNBgp4k zKEcv?jZnU~WM|V+iTQ{O_4gY}OH12a9rST2EeHUP^T}-_X#INhIIe*4E(J?%a9T%LL1<8%y@I?9-n&Hr1D@V>_lPadDj> z*3*DL|Em{%@uCKBAg4+&69vTed{3`&NX+{xVRL)Cc4fu5aOg`>5ex!YsptH@-9pO% zqzVI{R=`^C)62UH6H;>W{?;V7Dm`7@X#kAhtEdpd`1p*j&-cwAJa`bvhmeV;9&p{8 zA0Rj3uZw4Yw+e+IVModlbc(S^cDn- zm!Ds?$woti^xL;@W6f^%dv4xWC(E;GwcHTo$-6(6o>xF12=pyL(Q%oX<<6WkF|<)Y zt$%lBYLUEZd37}y2sr24HuICn@ zjfGhGLcpn$o6A8ubWKfZuGWZpoQS))2;N<7^X$1O5SPJ ze!v|c9|ukCLxAhT!?F8KkJ<&A%}28i4i7sso;w}%(fQ^S7h_(Z?RI}(^oane!^F(o z+1Dq#TI1^KinN!MOFL+OUf0yjjGmJd`nNA8Br#FFcCtKbv8M;^#fujWUYGo?JJTwa zbQ&5OfcnU^2CnbzMFa66`ObYZ4RC(F{o;?-iruLoEMi{3Y{30NUP}x0RE1t3$P+;L z)a!@le7mcy73m;`qgkRCn?>2m092nZ`qItJ%p4pazjJ$GL7kQ@AVyV=H8tU=uAxz5 zJ6B)*67)>~jjnBM^tatzS^uXB^db3a6ZZIKVM12}xyR3)$+S&}}OoA-euqLm>{H?qD&{-?m;=_vznMvgqF7ixp34K zUc$tLTAL&R=YQ`H^pTk|%#!2vKG(ZKfb>b_)@Nl?x}+*%F86hZ;L{U@9b6omv`H@G zGD}KezM^93MkMU16rCtrCvp&Jw-js!xkd^WI%|1mblWCD1sk1XL?j}T1v1B?tH)Lz zWjqlH`NfHJR_%uo8u)n|mY1`blvj>Xy_V(z0VNwi} zAf4+ie?8gDRgvDFo}R9HSM>Jdb>*$Yr&q81$H{{z?e##x1fGpN-TRZCnwC}rz~7#c zzL_o8E4fh$>|OGyD9zvXRuR;I_re$%8K1fz7`iTZJ+!+7m5mp?=7Xte54e`2zC%?2HK5twsQm{>z z&}5J$qLe&{++J@`Ub2K;>9?+gJX}H;;WA_(_=JL;!*>-Rs+-%}8IZYJ+S-&(A3v5P zLw|2(m)7Xx9`Y%DQi8iEoENi~6xgi%wo+_lF#9a64wZ=b&TUqhtCm<~g(dMCIUg>V z?`*iLV)jTA6bdNB6O@T5S8#XGI8ar6YpwXcvgsnNsKpnh&~7sek)UQJm+2@ySRDS! z;&8ICOdz53NR1|JEc#>jk!DnG@r^p5TJ zYkv2QV%t_ve)8j&h7uh2KjuwToy0V)h6C1qaJinHUsXkrnwqLrXY~khLG;{S97tzp zr!LkLV01#A3lq{{fE>%U!v_s!=H^TQ;@4_%=Q}z+2E^4L+&2CnR9K@=DW;U}@TNQo zUg)Wos1~p3fi!z_b91=6I}o|8`J-agY;0KUi9Ryp!{pLOkf#f~aZ?Fek(_J4w`4`? z1alv$lOYb@LK~gP5^mqb%*+u)3|-}cT@8|MPAU+uu~iBw2WgziSsYqX(lbfs(wMwq z^ZiYG;DIWQS?Ia-Kk5%AtyHe__)STluvel0aN-x@Sw2$j771zQ7EH^KViBERD!(Zu zFdrcE=fVHo_sQGkFflQGGovoZwD{VU|KIIl@Bl9_Z4HMU!9&!^ej8~ZS oA_@iP$VSl_HTeJQ91nc!wfc-0+R<3S)jH(0^joP43B!Q@0=UhH?EnA( literal 0 HcmV?d00001 diff --git a/help/html/update_8h__incl.map b/help/html/update_8h__incl.map new file mode 100644 index 0000000..09ac75e --- /dev/null +++ b/help/html/update_8h__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/update_8h__incl.md5 b/help/html/update_8h__incl.md5 new file mode 100644 index 0000000..6c02329 --- /dev/null +++ b/help/html/update_8h__incl.md5 @@ -0,0 +1 @@ +b0426bc0db586e1946484d79814894ca \ No newline at end of file diff --git a/help/html/update_8h__incl.png b/help/html/update_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..46dd0f545f0445ec41369b4a88b7397b946fc5a1 GIT binary patch literal 46631 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 z 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

      f?(`pW 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 + + + + + + +CocoaTweet: src/cocoatweet/api/status/update.h Source File + + + + + + + + + +

      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      update.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_UPDATE_H_
      +
      2 #define COCOATWEET_API_STATUS_UPDATE_H_
      +
      3 
      + + +
      6 #include <vector>
      +
      7 #include <utility>
      +
      8 #include <memory>
      +
      9 
      +
      10 namespace CocoaTweet::API::Statuses {
      + +
      13 public:
      +
      15  Update();
      +
      16 
      +
      20  void status(const std::string _status);
      +
      21 
      +
      22  void mediaId(const std::vector<std::string> _media);
      +
      23 
      +
      24  void replyToStatusId(const std::string _reply);
      +
      25 
      +
      26  void autoPopulateReplyMetaData(bool _meta);
      +
      27 
      +
      28  void excludeReplyUserId(const std::vector<std::string> _ex);
      +
      29 
      +
      30  void attachmentUrl(const std::string _url);
      +
      31 
      +
      32  void coord(std::pair<std::string, std::string> _coord);
      +
      33 
      +
      34  void displayCoord(bool _disp);
      +
      35 
      +
      36  void trimUser(bool _trim);
      +
      37 
      +
      38  void enableDMCommands(bool _enable);
      +
      39 
      +
      40  void failDMCommands(bool _fail);
      +
      41 
      +
      45  CocoaTweet::API::Model::Tweet process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      46 
      +
      47 private:
      +
      48  std::string status_;
      +
      49 };
      +
      50 } // namespace CocoaTweet::API::Statuses
      +
      51 
      +
      52 #endif
      +
      +
      CocoaTweet::API::Model::Tweet process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      process request for endpoint
      Definition: update.cc:56
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      data class for tweet object
      Definition: tweet.h:9
      +
      void coord(std::pair< std::string, std::string > _coord)
      Definition: update.cc:35
      + +
      void attachmentUrl(const std::string _url)
      Definition: update.cc:31
      +
      void excludeReplyUserId(const std::vector< std::string > _ex)
      Definition: update.cc:27
      +
      void autoPopulateReplyMetaData(bool _meta)
      Definition: update.cc:23
      +
      void enableDMCommands(bool _enable)
      Definition: update.cc:48
      +
      Update()
      primary constructor
      Definition: update.cc:5
      +
      class for using statuses/update endpoint
      Definition: update.h:12
      +
      void trimUser(bool _trim)
      Definition: update.cc:44
      + +
      void replyToStatusId(const std::string _reply)
      Definition: update.cc:19
      +
      void displayCoord(bool _disp)
      Definition: update.cc:40
      +
      void failDMCommands(bool _fail)
      Definition: update.cc:52
      +
      Definition: destroy.cc:4
      +
      void mediaId(const std::vector< std::string > _media)
      Definition: update.cc:15
      +
      void status(const std::string _status)
      set tweet text for sending request to statuses/update
      Definition: update.cc:10
      + + + + diff --git a/help/html/update_8py.html b/help/html/update_8py.html new file mode 100644 index 0000000..d753df2 --- /dev/null +++ b/help/html/update_8py.html @@ -0,0 +1,114 @@ + + + + + + + +CocoaTweet: build/_deps/json-src/update.py File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      update.py File Reference
      +
      +
      + + + + +

      +Namespaces

       update
       
      + + + + + + + + + + + + + + + + + + + + + + + +

      +Variables

       update.releases = json.loads(str(urllib.request.urlopen('https://api.github.com/repos/nlohmann/json/releases').read(), 'utf-8'))
       
      list update.release_url_map = []
       
       update.process = subprocess.Popen(['git', 'tag'], stdout=subprocess.PIPE)
       
       update.tags = set(filter(None, str(tags, 'utf-8').split("\n")))
       
      bool update.did_update = False
       
       update.mode
       
       update.o777
       
       update.exist_ok
       
       update.data = urllib.request.urlopen(url).read();
       
      bool update.has_json_fwd = False
       
      string update.json_fwd_url = 'https://github.com/nlohmann/json/raw/{}/include/nlohmann/json_fwd.hpp'.format(tag);
       
      +
      + + + + diff --git a/help/html/upload_8cc.html b/help/html/upload_8cc.html new file mode 100644 index 0000000..a1f86d1 --- /dev/null +++ b/help/html/upload_8cc.html @@ -0,0 +1,121 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/upload.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      upload.cc File Reference
      +
      +
      +
      #include <cocoatweet/api/media/upload.h>
      +#include <cocoatweet/api/model/mediaStore.h>
      +#include <cocoatweet/exception/unsupportedMediaTypeException.h>
      +#include <fstream>
      +#include <iostream>
      +
      +Include dependency graph for upload.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Medias
       
      +
      + + + + diff --git a/help/html/upload_8cc__incl.map b/help/html/upload_8cc__incl.map new file mode 100644 index 0000000..e5b820e --- /dev/null +++ b/help/html/upload_8cc__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/help/html/upload_8cc__incl.md5 b/help/html/upload_8cc__incl.md5 new file mode 100644 index 0000000..dc8a303 --- /dev/null +++ b/help/html/upload_8cc__incl.md5 @@ -0,0 +1 @@ +e1eade12177f06e934da9fa31a905456 \ No newline at end of file diff --git a/help/html/upload_8cc__incl.png b/help/html/upload_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a7045749bfd9d1dbb54ca0caef34a11b6f077a GIT binary patch literal 69286 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 literal 0 HcmV?d00001 diff --git a/help/html/upload_8h.html b/help/html/upload_8h.html new file mode 100644 index 0000000..edcd061 --- /dev/null +++ b/help/html/upload_8h.html @@ -0,0 +1,137 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/upload.h File Reference + + + + + + + + + + +
      + +
      +
      upload.h File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpPost.h>
      +#include <cocoatweet/api/model/mediaStore.h>
      +#include <string>
      +#include <filesystem>
      +
      +Include dependency graph for upload.h:
      +
      +
      + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Medias::Upload
       entry point for using media/upload endpoint More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Medias
       
      +
      + + + + diff --git a/help/html/upload_8h__dep__incl.map b/help/html/upload_8h__dep__incl.map new file mode 100644 index 0000000..f7f28f3 --- /dev/null +++ b/help/html/upload_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/help/html/upload_8h__dep__incl.md5 b/help/html/upload_8h__dep__incl.md5 new file mode 100644 index 0000000..b1e2045 --- /dev/null +++ b/help/html/upload_8h__dep__incl.md5 @@ -0,0 +1 @@ +6cc24dc5e905aba0eda697f20737bb5a \ No newline at end of file diff --git a/help/html/upload_8h__dep__incl.png b/help/html/upload_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..9f192e937a7ff098ea74a30a3a9e352ed421270e GIT binary patch literal 19494 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 D2~#2j literal 0 HcmV?d00001 diff --git a/help/html/upload_8h__incl.map b/help/html/upload_8h__incl.map new file mode 100644 index 0000000..9b683e2 --- /dev/null +++ b/help/html/upload_8h__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/help/html/upload_8h__incl.md5 b/help/html/upload_8h__incl.md5 new file mode 100644 index 0000000..5599f86 --- /dev/null +++ b/help/html/upload_8h__incl.md5 @@ -0,0 +1 @@ +221fccd988a656f18eab18857d5a92d2 \ No newline at end of file diff --git a/help/html/upload_8h__incl.png b/help/html/upload_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..886be26de5d940c70c85b54797f550ed774fd087 GIT binary patch literal 45689 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 z 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 E1%qBV`Tzg` literal 0 HcmV?d00001 diff --git a/help/html/upload_8h_source.html b/help/html/upload_8h_source.html new file mode 100644 index 0000000..40f5d5f --- /dev/null +++ b/help/html/upload_8h_source.html @@ -0,0 +1,116 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/media/upload.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      upload.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_MEDIA_UPLOAD_H_
      +
      2 #define COCOATWEET_API_MEDIA_UPLOAD_H_
      +
      3 
      + + +
      6 #include <string>
      +
      7 #include <filesystem>
      +
      8 
      +
      9 namespace CocoaTweet::API::Medias {
      + +
      12 private:
      +
      13  std::string media_;
      +
      14  static const std::map<std::string, std::string> mimeType;
      +
      15 
      +
      16 public:
      +
      18  Upload();
      +
      19 
      +
      23  void media(const std::string& _media);
      +
      24 
      +
      26  void mediaId(const std::string& _mediaId);
      +
      27 
      +
      33  CocoaTweet::API::Model::MediaStore process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      34 };
      +
      35 } // namespace CocoaTweet::API::Medias
      +
      36 
      +
      37 #endif
      +
      +
      CocoaTweet::API::Model::MediaStore process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      upload media
      Definition: upload.cc:23
      +
      class for Send request with POST method
      Definition: httpPost.h:10
      +
      data class for tweet object
      Definition: mediaStore.h:9
      +
      void media(const std::string &_media)
      set media file with absolute path
      Definition: upload.cc:17
      +
      Upload()
      default constructor
      Definition: upload.cc:13
      +
      Definition: media.cc:3
      +
      void mediaId(const std::string &_mediaId)
      set media id(no affect to process. will be obsoleted)
      Definition: upload.cc:21
      + +
      entry point for using media/upload endpoint
      Definition: upload.h:11
      + + + + + diff --git a/help/html/userTimeline_8cc.html b/help/html/userTimeline_8cc.html new file mode 100644 index 0000000..3bdd9f7 --- /dev/null +++ b/help/html/userTimeline_8cc.html @@ -0,0 +1,118 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/userTimeline.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      userTimeline.cc File Reference
      +
      +
      +
      #include "cocoatweet/api/status/userTimeline.h"
      +#include <cocoatweet/util/util.h>
      +#include "nlohmann/json.hpp"
      +
      +Include dependency graph for userTimeline.cc:
      +
      +
      + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/userTimeline_8cc__incl.map b/help/html/userTimeline_8cc__incl.map new file mode 100644 index 0000000..4e541db --- /dev/null +++ b/help/html/userTimeline_8cc__incl.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/help/html/userTimeline_8cc__incl.md5 b/help/html/userTimeline_8cc__incl.md5 new file mode 100644 index 0000000..fb0a9aa --- /dev/null +++ b/help/html/userTimeline_8cc__incl.md5 @@ -0,0 +1 @@ +a6b6d500db7122f8e1a7dfd12d85bee8 \ No newline at end of file diff --git a/help/html/userTimeline_8cc__incl.png b/help/html/userTimeline_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2993234fc6ca2de0e2ac718548cd87819fa631 GIT binary patch literal 58034 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 + + + + + + +CocoaTweet: src/cocoatweet/api/status/userTimeline.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      userTimeline.h File Reference
      +
      +
      +
      #include <cocoatweet/api/interface/httpGet.h>
      +#include <cocoatweet/api/model/tweet.h>
      +#include <vector>
      +#include <utility>
      +#include <memory>
      +
      +Include dependency graph for userTimeline.h:
      +
      +
      + + + + + + + + + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + +

      +Classes

      class  CocoaTweet::API::Statuses::UserTimeline
       class for using statuses/user_timeline endpoint More...
       
      + + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::API
       
       CocoaTweet::API::Statuses
       
      +
      + + + + diff --git a/help/html/userTimeline_8h__dep__incl.map b/help/html/userTimeline_8h__dep__incl.map new file mode 100644 index 0000000..e2ea538 --- /dev/null +++ b/help/html/userTimeline_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/help/html/userTimeline_8h__dep__incl.md5 b/help/html/userTimeline_8h__dep__incl.md5 new file mode 100644 index 0000000..eee9411 --- /dev/null +++ b/help/html/userTimeline_8h__dep__incl.md5 @@ -0,0 +1 @@ +d4e37aec4ed8492709897b1f36dbcdc9 \ No newline at end of file diff --git a/help/html/userTimeline_8h__dep__incl.png b/help/html/userTimeline_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..14d6d28d01a984c194c70abfa3ad5350854b5889 GIT binary patch literal 7818 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 literal 0 HcmV?d00001 diff --git a/help/html/userTimeline_8h__incl.map b/help/html/userTimeline_8h__incl.map new file mode 100644 index 0000000..0109137 --- /dev/null +++ b/help/html/userTimeline_8h__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/help/html/userTimeline_8h__incl.md5 b/help/html/userTimeline_8h__incl.md5 new file mode 100644 index 0000000..8559c71 --- /dev/null +++ b/help/html/userTimeline_8h__incl.md5 @@ -0,0 +1 @@ +99850b77d475eecafe1a34c38b870725 \ No newline at end of file diff --git a/help/html/userTimeline_8h__incl.png b/help/html/userTimeline_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..95ef0bda61c55806c6f89c848c55833596cbba01 GIT binary patch literal 46505 zcmaI8by(F~*!PJosDOZ^h=7zJ-Kli9BGTR6t%7t&NrSY6APv&pUDDm%4Ri1FTr=~| zT<^?v{y3t0|6;AXzn_JlthC4z6nqpUB%~)|qJr{BNVjE>kZ!d;ybphq(N!f3|GTd( zAtH!$gZS@fb!Ipc(n};U!FP&|@tac)AD@km)XmK#2Ye-LRxc20o_5*M7SNILd1WQN`o&O=R7kYa^phKc7Ll$M-2IyW{RpxXWX4#AAsX zTwR>3Ojo-Y`-J{X7Vxn?-PNkz)KKa*KigljUF{&lUS6^V+Cn7) z?UsvU$Zo`T@QNf)D;;+9TZ0L!+^_Hn2ncGfj#WB-ym|E5)ANqq#>mq4RAqTZ#a<&C zpKO`A+J}7g?r)E99wH+r8x3XzKIgz-Vq!v~RV{xz_1CW7klD-Io7~Y{Q}dg02>_nT_G@L(&mm}zNj^lbR{Xkm4= z4M)TER#Q#sMqjdLAg^C9Nqaat|Es#zR-b3oA9gqLYqfQBJS!`?T0@9JWD=232|1er z@tA(eCf~k)|Gs1_vmcwqG`+*N>i%+fXO=={xz)n`qxIoC+L)hV!S2wz9B^lAQcL8X8)LOpf+cec8`vlXJ&|~sj2hSDuqKygv#x=@Cmu>7spFX{*8}o8ye!yxC;v2 zt-U%X;ILWNy*fXVOyrJ-r=UP;PZ$^(8zv{8V`5^y{*c@DN2`&Sy|t$&SUmEzmZs+C z+FCvwT2;-<(>*LY_4wx;)_ny!t*1?Ea4l}f-OsTsCgjfBMFzd)b{p8R5yTeLRUeg= z_qNJrtk(v})N5R0vQ1_TG&SFj73!^x{3clGO_JH=`1tXorjAZyiOJ~0Cr_647Fu1; zmZDUvou7R+8O@VR6@G$r`}S>imtz{f>r>K^k&)=QI40A7^sa7hd;9z1`;Pq69`^0k zK41hoCME$D6&!Bohr}M&m+@Q z+*0c$D~F%2@9Cz=f^b%;>Dbq@GPa%R>N~z336bCNS&S{W##w0Iyvb6`!mwK((rWg9 z=JoBH)y_0eOCa8zI#?m3)&A603Nvnx>-g{AzYB&$y?!rlau^_8)HuD($!C zoBS~M%y4mC&*f8ugYdgzS-@!@8IRx16?6UO${;G<d>pI^UoO=RRVcm$p6%QJ5G%V_XX>)E}T>h0r`N{KR7WYGHWU-ZSvPLWP)Fxob$Od_|Vvoi)E zA>obkQb!~*m=!ockcW^GSW~I_6#k9fq#KK2-{%UOmHCAQ0Y^vno2wI|a0(f6Mn=Z= zh4J&7(=oD@7ccF527jxRfm!NJl$zbWd$$ifqW8)koh0$qe7y$QKgtYCW>86KPYbFjzy?(QJt;cTmw9>V>V-kbW3Vy~Wi^A~65 z8~J#gwv-UBbsD^ovua8;>%TrG zJu7R5^-@Q4bhK=tt{4(xn+y$CAGBjOMH_noVe%n#SiY5S`rY z6-o5)Ala@DAw$%3K3uH_|BYrc2$sag;Y^l;Ovr^uJZKP0Tc@WJVLdWjW;&zjTAP~g zK6v0`yTg@w5pS?EJNvo1n&1jfb&)TwJ<{EIIHcAVA{Mgd&u2 zf77cb6nO!>4|N_z(mx{HfZ{L+v2?_YgzyBA1Y@GBN-^QzjRJ8QzIr}D%TVz^MMZti zzwEn4UL78HxGkgmEQepJ8LS45UjGl$B+I?Mg<|-{Rw|Jzan`fW*P1--SC~W^vPg zOgUb4gWp|W|7EE&3i6jII4mx+A$ne3p6N_Y0$hF|S>OTon@>#_OAo{SsS2*=&sB@` zpMcf#5OUi7gaz9pcCveD zjUaMA{j%I02kVCa_3Kw$*m@S@p`TD-vCpivHk#0Qzx)P83=NI3N@ z_ZZVeMpv2*hWOa}AA*%l+t;`0{)tqiR=KlVT88mn0s4zGJ zDdh9NrdgfdB)&|=Ecv&a!gX1D*XlO#&e5^4+WPv(^#*fub4aj+WNxvsv9}B2p0tv2 zQ+XgnH21GS2aLPW<-}Z4N{SE9&FSi#g~^~t z7q&n#Up)beumT7xXv_DF2nrZjSgvNHEHpJ|AGBfy%q=+bmHmbUiEx!l2f80WejxKE z9lEkaPDUS=xP>~knQ%dDd24IS97U%QJfpO=KAZzKzOb<&p{R%jwgu*cj){5aE##Zs z!^2mcocO+kZn9Y4Hphx|OijC>*5w;JJz6k9>WH9foNM$!MnotNc|5F=$hUA9Gk0{tQ4?q9@{bqZ6 z8&M>@p?xe+=%tH^r65hL zO_b5Kw6v`4UzUh%L?7-Ye!K3c+{wT7jNez%^x}By-^7H6YzQU8{~e5(gC*G*KUK|p zWJtvcL;mE$i@|a>^7$`n-7POKcilyioY5s@VxLp~l%6T>WNL~nlu21n9K`KkEVh?K@K2A+{`l7@XEU$3;F7xDX? z^H82jPL-rrBJfk0xw2fryhNcvi0=(IecxlHQP-iot$<{${dHPC=ZNsSw@lfJd#!b| z2PQ1kD5|yQK`E3GluspVT$7Wge#An9QSGnjcg-Ym()_Told|!!vvqEIf(9r(P8IN#U zwI6+@TiWK+t_^{B_NukK2{BAthrCv|Egeo88yYq}n~;Ax?o~y{;2q4?ALy37PZKqd zkH5dWQ|q8yv2U9_|62AX#lgzS{OKN1dlcP+slQkCbzge8oexRgZ=r;uJHd{i8@2V) zMN7re{xP3&`s&$eI8n+tQTilPj+CH8K!U-+!2<%`Zu^S2_x*_1kwk1|ixe_QPYA~8 zwfIH!d#7b8tnV3(wa0?% z?T9GR7g}b~I9A;L4g1aVV9AF33qJSu6rpNJCa=TE?YjE>Fq?w8BdHG7+A!Z%SdUOS zo1N4&2e>HYepIiyc7Btb{8UWi`(t6@`-dA!A&+p#_l`z`K9=v&cgOV_++4?T8foa7 z{r66BwV#OH_0+}rIQLsYLGn0p#wSC=yD~}l$vO8I zHwZ*UMIHSoSeckw#+>Ng-QTfunhQs5L>C&c>23ZijpyU@TOSU9_T;|vv1-dyWew+s zfG!W>UQGtResYL4{&FY5sBabr^?7-FTWEKMl@7kdkHd8N^af*}UkWc?TvPgowY4d{ z!xE~Wn%XHEA6>d@ZHDr!qdAPsjl2crLKCBU8mhFUo*e0vm^78 z&uPE5*PMc(w6ytO<%!D3?~B-pvTCCNUD_f8qS@{^2cv-`C>WOGA%--<8=3yIOjN7P z)6&&_8$~;8X=xZ3B=rs~4rhDY9g8lJtzPN-{rmVGk<@Kh7cvUNy}NVWj=Qrl(iGoK z2D9Ij#j?KXJwIAehV9^TP=`fhJzP_GARvIJgzgtk5(A~+=e9OORHB;33@O@po(FhdZ?>E*H}?gihZZhl^6S;NZBd_a>awN{J~dW%#O9>@i0h zgoZkNv~;HYl)7~UtyyzN z#IFeLy)WL{`S;Cy5-zt);62@?K8UC=RaMYHWZa! z%DC6+aailpJV2XVsV^)3YyWVVTc4B&pQ7=^S>>2mT)6aISGxlYjTc6<5C+M{~Ex?im` z8p;a5#3k9@(b=TgKm77+g$gom;$p>&YZ0oDoTdGX+@kA2m)jMr;FvU@Y`to){|YX3 z2t{+2JhEGl5Ipn6>HnB7c$oK|z^D{lUsR8ja~BYNZT%ds7v$_^{cz zxunHk3i1BW9$D=qn&&uVo*=vstF8U=ton2%X{Rl5>MmDh`s3%TT??&rgFM*DyohOC z%nu(QzHo}2WalHJuIPf0@e&E^%TxB_Et@n23YEaXMG;Nw^2!T}iUHal91X1H_Hd=U z4>n3y)9^9dN??5Tkjp+$7tGJmr8dQCfkQH}%4c?#epnl0O~&0Cnx@ET+;6EOJ6aaC zUt5A!tmnO`by|w&J0hvNl4b%>p5+dsGBjE_oJd&zk2yhaoR^nH{UfXU0<&!}`?ixc zi?MEFD5*{iPbJsIv0A42lroKqeLOha`vr_O0SF|58N2gB4?BMlW=bc-JbqDy|JiP% zW_hv#84*U}IlA8m)9W~2oxcH7l(Lkm40-lCB7obe&}JoACbo&m)sgA1LwKiHV`|5+`x*y{Hbhc}7& zOio?Vv#}-1CabpBw2YMEvRUwo6-6IvfeC$kw4&c0R`Z;l-g|eKa=ci%sV{kB@5t@9 zy&-=q!oPKK3p$(86jEDkg@eYuO6;Ud%?Ns6ZP!NgUyK#5wLTQo$EY00d+WcBKQ@lt z*tv1<-MeHX?5G;am!lb1}o)jsv>&ZG!eVY?*`G+p!Y9><7vn@CA>u%8?hZuj`#zAb<~~|NdBE{c@rVZDpww{ZpBGTe;PQ(;kW7 zR-YgWVpJe2Woe1q(_`>U$pYK$oPBRw?Ul6j9d;MiQdWiS$uaOX376A8A_0Lr;y=2Q z=1t7Z0`@kQU%I>38=;S7`eU_s`#-xnvIbj%stZaxzCVU?7Qrv7MXH^PJ{GUi&&|of zGKKxOOaoI1T)d`}j$i)o%zC;UN1nveKs*p!SxF=muv|aHyj1%-`@ zS3>xLCsb~Uun%9pcqj6h^d}3vAIanCw5TOq%CDtmaCdcaKKvDv@+_Fdt-TFGw^~z= zNQGbZ6$-+hn*&}*M)!RoV9Q|gaHkWCKa>?eF20CPPsbw@Uz8|Qa@=uMc?l$=6n##Q*#kiR18EVmG~qa`!-K1^0m-di3yfU8ERwq7Do_4uh#w| z&)o;L3S7*4Hwc$rm2`B(;<8sw77DmmY*vZO#>NMEv}dVPA(}Z$r|?7=bN%4x$>P?; zuCB$yT&b<`bjJ(U=SriQoPjh>jN=fE@LBv56nS0j9gerFrD2~f?Rmqu+kc%#NaEt~ zr;VqI(EY1ABZ*_HM90T}7sskW@8K?EJVcpnZ#d6XQF(DI&3F;gz}LkNy`D&Fb;UeY zL8W9e72&x5akZ=S;Z%jp?907YWc}`OL>Yz0mZ#=#Vu3sr8cG2rre97sv+b%gK1*yP zL{pe93PbM^6iNL+d_JNct{={35v&*)Ku_N%n<{Jt5oSP3mn!@zlxE>fnH*4CFJ7Mc z!O{h4HL~{QjG{o50Id=YLPHYtuW~vFmWop~95H=yd`#_l&F#C?d115Efz=XhCXvW3 zA4kO`x~03v4u!z{0GXXqklqmT;y4yom?d7;ORA^3lqRGbi$%+h7fpGbbdAkbGA z(v<;hgJKSABp%bTT&6UYbUbcrja#tox^6&d=p}o*q&C}KX}2?9m^aR^;CPjtP!kFs zIWeBYa%U^i_0+h{6lymk!ONt)^Bn6+bo&g=!!YU_iSJ4F{JwXEL|QEmS9vzKl=`5v zkxsN-s@(ZxbF{9w+`B{OVy&nB7vCxS!*5(jRN1369gi{F_%iwpSBKhvfW_}Z7xeGX z9Cr|Yw-yAjlvF)=r%z#vV!kx9V?}jX2}J0-wd0bW5AyG8PW{baD3dBE?)rhPg~Idn z`E&2u8-j#aGGNItpz)$s8j3r?T7j~TLb^PgFt`VofM9;M4;LpYX{|5$H73P&n%jj& zg=M|kRv+UVs3qDKf6(#0gJL%Ph^`+Bau_6Ym6-Hut_>^{o2lTz_r^-i*nfX|A2u$j z+|=lEjl}6>_Mm|5(IK(ZSI7fIEXE4n5E`TsxyNES27@svS`_|hN;@BZ^alTb!R?r5 zZx|B{Tc9iNp8_*IUg!x!LVBr#2`lrDs(gJZk9TUtGNo$=5q<2;vDR{z`D8gm5cIK> zpO|GhMQDeh<@3qPdMf07Dziwiza)=~d3p8vLK#DgU2dH%+rXKD(LbFr>1QPp>n>z3}t`pS5^y zQ<*KHH0IMd`F9bKR(g{WcW<~xEv@=%mkw-}4}Z$aYY$cZpDaLf{Nct4MHH=5O9(3-9$ult zj$LG`1i|}kEIp76b5%}Q9JWvUe)T^mmzfr@+^rPMCt%P{HAVJByuBmXN`}qK49qso zQv5LAN=kO!$dE*N@StqH;5`&b?U&6~bWbQXF^UQ5hzzjYo)kzZ&3PmeGTqon`nj%- zJ|*S)WJXp|k=f-~Rc607CouPYj(9xp6=sovgTc=9#!wF1BZCztK_NFzXSeNmf{Wv+ zpE5)giM&$ETjgEC2>bif=(E%JdqSRHfVBAf&qZ`fQ!q_DU%p3eotHa|h%znbRHNfI z+)MNtz4eZarxk2%A44;)dAb_}LsBERDMAd4o-Bo%EOfPV23FQIjauh;F19apwYi|fI3ki30N*Yy{}XllD2knuiT%K?#`d@*7I_6G-`Q;{ITR%?(b#wr2KnA8f~k~qO-)s#rEuhVM205eH#?Y9$@ih_d7 zH`gv`T$Sr|L$TVO#dW_bLF2HF2EFgJodc#Y_S;n{{I=@{Cuqw} z$fI{pS_1v#EUh`e6dmCGZe^lIw5`$K{VYLnmI3JCFUGcHuLMzTD~qk}OJDI=qk%`1_> zf6;oce@Gxw0}dWud)=2i1%Lh^#1C1n=gFx0BdK$8 z(u+#rujT3P$JdIKUMZBSwbyqwW=0{SnUhPcw>A14l)E~i5U{!eF;kpsV}O8Z(D_~) zX#T7p8hQvV*+UCaQQT_hHxw^tA)REtf!X?i5R9_$Sd6he?>`x+yf!m6{aEYH1G2cp zdm>OEhR&T-FOUgkeDe~=0JH$y1eL?4W4V^Z3XSNz|Ciht^G>E-r}*V=BWq8BO{$&A zRET#Xr=57_RuGX!LaK;Oky|Bo0M1UDLT0gta8`e@kwQYL5)7Q7LxGa`tlVSfdm>K& z2IS(wOybkiy9bM6n@O!9o{m@Ngb<~*4a%aEJj_4GD7VNk74!54dMNRyHGotLK_yK( zp;$RKVPuO!L{=6(BSSfdH%PPs>MzLQl-(K=w-!62JhR^iSRbxlF^eT4`D0OiO;1nn z8NZkh5I@|S@ZxbXmjfm#p(ID5zP|qSH0^3S(&|Jby(6=Ax(d0qkrc_{1c{%&D@(mv zGPX7R1BP3of1e6WZDqmvLQ_mYIKvVV5lI*H!w}C?t%x8N@TMdtCiYLE^iN7k8pxC( zA_KY4KQc0sQL_$d3Di^0ic$d|RFt1E14DcZA>TxTI3Og4)jU0|PF(8ff148c0y+Eb z$t+NLnlx?>dikh7&(F;zQ~IZhFq=+iy_--;NU<(8lWMqiBUGc$sPNcgNXLSotdPK(R`cT*>_b{Rlnp?@52}F z{#43WzkBbV)xok0$s+Dd-y^=-|Kk>5kV1)h`3i@#bNtQ(~9U?+aOQ{&)zzn?#@v_ zP~ygV3mlUF%_i(6%1>^$bLRJ>#s|QsQ6C>4?`e$wk`qt{x&Fb*P_D9qa8jgMvdN6{e(Sp@mdF^2K_-q)NEqbf(@N3mkNrkmQBm>I zgb@kou2Y??iV+Z!0kNUi>%an-LReDraqaavwVd1yb?&iy$uv7W_96gMz@RdhqF1CKNWWrdj}9VWYYAa2F&zs7 ztgOj{&_N@C%R#^I=R4p)pW-8Q9i=}-MWkT&2u>=*-+z90u5s@mG|UDKooi+7aBUFg z1l~Z20$AmlkT6BD;x>7`a>~BEIB8)0$}Zo}jc)bz{bUVoZLF#)bttvZgSlBuKVma6 z=>!u+^;7KeoquB50m)I1F^<(N1t6zlqd{+YH!EQ3fH1sY2S8I>DCvXu*^0>ks$tQp zM#H10osYu~(|cUI0;=Gdo=%29Uw}%zc$o+DUMqlM3-vmM;V*8{v#_KC6A~R0BL{*a z(x(z*Axq0$1Ue<1OAG7Fo4SwC&PN`mT?M99CX)?X3`s>gVY zUSi?oa=&DWSuLi!>OCK{C*2HcuoIQta1`?trEN2DgxUP}swD8LFrq%#R@429)#jQM z6T|R?;79jR{x&dM?LZbm^=M(_!V7lOR9{bAZ^Fx)*TE#caQ1=Z8E>ZI7tzF>+MDa} z_8GCPPbJxf@Gi_IeAF;A+=vXPP&w|$P2rFi2!x?M zfr||?>(bUl+2Qt79AF|0j=P%7_)?b-3jrL3&`Sn%1{S64=P!32>_gBvJvKEni(xjx zKxBZ1hOfZYWL$ZQl0u{5NB8ayRAZjPsl@d3^z|#@VWalrmvgZUpz{BM#A`qg6r^?L^VTP|2Me%V#7^Fu{^JX`kQOn5@7r(%+(BX1;A>6K=Z&OvxmI z0)i9>LRT$_F_0V$jyK2NZi==;lmWUo9bi+Wt|Y!Bz=Lf754B$IYDb{DjXr1#66IiJ zuj;S4d3a!y%B-%gzPI%Tcs}sJgUvA}fPrq|vKU8P-q~bYY76xQ!hB(IQ4ng#hiGU9 zVCW!^C4u@Zoam)qR8pchm?35CldKT4mnhhRt&;IJA(Y~CPlB0WVBq|}0+;MVKG-a< zWl6w^DWv0H!m_(R6_PLM#>ffCkg{H1ez(6~;^!3vlpe%`{rx2g`^|q}LPJBPJG1^P z{*?jx3FY>9kv49^^|{K)Mz+>nd02g_1ZYcu#8IEK*TJ%{LV4}lKaN=T4>(VFe~cs@af23Yl2acgKR*8JV*v>QpM{rU=ip#4?0Xp)6r?bvTX*~O!ILrlXcP1ca-@0@Ek8V2#fMwlE8g9=#XgKVaF|q^hCykg$WSgt& z16JG##5MBc$BRHG0~mDexiD^wl%dFPhM*SD4pwX+nF&e|xkBISHSM%Jd+W=WFGE=h z6jSHiwyWqt_$-h$F`z*72J{wDRjmX3%y;t6x2tVx>OTP?qAk<-Ib>)dx!JZ*uK(E$ z=_Fo+UuCIP9zSRe%QpM*QH|N`Xgn;tA}R*K%0tMI1r!-k6XoK6rizp$u(!8|DOw*? zI;TphoT7BUuWjT15|@351&3|>Kx!Y4re z6T&EDUVvb6eV)6K-V@#?%bOQk{J$yWuzpJ@Vyc|4FD^Dg)xNj4R}YXXBri;K^v^jt z)WF_p!)A)L{P-8P6hTudwVLQ9Y5_#WS`9SHe{Hi`VwlX~oWqALS;706lqgW9kgAlL z+U`uNt!zQldDsE|S>b&28Uj)9jp^ZP|4^P90aRVWfw*5Fg2}*sSWUp9qyn1==rg1H zr6URsZ5O!m!-o%%w3P;%#-O>n?1(M*i?fpWk&uu;rCj(5KsfMlB4GWurzFN+6RS;y zqi3b-2W5toz#LacN8tKwrF1;m_i@kUWIXH?3_)KfNMnVNwukpo!-}RrvVwM@$wOc7 zsFrBcidu78qdHVIT|Dx9(S(R7>9l$cQ22!qV7}2nHFrKVyfhGdqb!a5-;I{m@ZM(0 zpNDe8RIo2aNa%PgJl2@RuA!m9@puyta-Br@F_{yFv);}16;*a~vYDSTzl6p@SQ2|; zVj>omycg6tvS7WhOz6l;bU6xYzV(S*Ut2sxMIDR_rSScIW;@p)07dc;s*vy9b{Xen zwv?0<;AbrTkG%#<1zD2ya-^lD<9Xd;p;!82Imhqn>I(G(OxY0p9O6Jp2;a3YK(s(B zo}QgqLH0h~2>(w% z09;dTwLQrJz2*M9rKvPSm6X`N!eQtH>5T?nA<8s>OF1CAT~b3CK5n(#g*Q1hWz_fc z7VHdysb^y=LnC*mDA85M=`{Z)N(UCR*ro+NBj`>|5W8SjXnc7zN>(E9l;mAuSwbJd zxcZn|RZ@IR%-DmR0eogdu)d84D~1=3e?pxCrb$tMZ8DtQ42FRb)DM{rv8%uw{)V3L zYHxd13@l)+d2kRwjoib$Si7C+lCi3>Z*go%nkLi}5f85rTTcM^T-5p`e;O%T2+}Zh zfQdq?FtVvBN}=6GdaraMEaSY=fc`V9!3P7M#FcOi6#aN)01G?xj*E-iB%u}Lw01Zd z&4IL3RF>a8T|J8YC_r?t1Y%W)M`U6oK%y-&LZXl0fQr$0O^w*5Q%75P8wRiYdvd`K zFnb9CC7>gszjraqp!ZW(g3EW0>k6rpZ59PvGcddX%Iw_kfdTo%t($ProxIw<0-+_Q zt6MxB%ndEJ=ZD{~3#@bo2)rJJPXC9((6kK>5(Nnhw1=&mKa7w5a)-e3tdIiG5OTLd z^fgf!iNZAyGkw{*u+6a}2Xk4NMIrQqAOgByg#PG6|DC=nd zx5Q;-e~r&Qd@2J45eGCrrO<4EE-KgrI2lJtES6AzBQ&l{UbU~seZDGkxs*$^!57t*pn=5iOv=; z?`ewH>)*zcT}f0*t)t^S-f7N0O-U6PLKV@~29qha&=A_957RX=5-u}m`3R!BhTE{{ zwHEQ=*T)R21pqI*7T)@uccWT)>`N>#qGh)A_H6%mG;cKyAh=Qo?!)H`%g6DXV>t`+ z*2+g8i?1pi_b8ve9{MR6BeywbBX#6BurC7x_@QeVnobl{)P?2%^lCMulY)9r@SUf1 zdkab1&tG~0dere1YHQG$eL&~ow7+~pmyd)^x7~eq5RS`POvPcnx^s762(kumg>{U= z?@v}G0{z+Iktxr4&hPNJjOZ`6Nr6JQyftx{g-=t6>TvS!$rmQ^eZ}OjEK+el8r#>> z#*-i365WqThk6mt4?K%yiEEv$&$;!ncKVCQ&D9qWqP0v-e_4AO?KJsaFk7hK5)in$ z8es#nYFUyCPDM4uFrgXtYu{4JbIc5q1jDWZ%#Y?{e_STsDmkiy3zqmrr0>rF1xt~bji-BYUqAb#*<%3fabvggdu41 zkcv7_7eW>&{Y_ue$oCF1eFg$-?TC+rcjQmpM?;M$?Z9|ItQ<+3arTw*WSP*H_?*(4__=eWT)CXgrJunprRCv^2{5WE?iJ zIfSuob==&C4lLA+vDJ+!b;(ibF z(Rl7P@y;K33y}$|?{l!1cIOI!F#DD;CC_T{gQr%o13m&0dfRtW82~8RIZJgfjyt)X z_T{%M1+mH770A)y1;$GZvJkh(*i4qdQK418j6vvvvUT!XyN3;c^PFDPw)eGT0?Iu$ zR^{|CRk#EWjS+%b0XWaU^+)jj{KiGB!w$(&&0j};Koq`}*wOxY!kJUQ%gZmjijCCTllV+RnB6vEkv^)dbf7OA0D$I zOS*)L)%uW3S2QuH6f%eVWF+>R*Sgv3O}|w<>gO6~fHjnA4X$nHrVOP?OuPpEh^Mjp z%0&Yr2_jylON3+*`nRRPMKxjE(Ye^}VmR%}OQ+%e$Dp??S7Ybx-hAQyD`L<9A-*>G*R6n zAx-75X$gX*|3xVN7do#Oh$(u#XW8n+i45S)L#Se_p|Aw5uIhUJh{~g3rre6d{Y4oA|!&~6A)`XTZj80?>UT_@C=AvyIGwT;?&n`;pt0Yt3mU}?Q+67 zzx3=a2;2)RIBE8x{4&7Yk-UEG9Y)3^vVWIePu#$KYG426S_J|`Av)+$UEdyU7aJBJ zQDlZ+9x6OQB|J|w9`?^7{NQaj-{dA9RSH#-D+I8-*NT6Z>%K66?6x|fmxYCe_109+ z>hpXvQ?CcwGivOHp1k|Dm)4&_VlQcYs_X^XXMStKl3aRH3~+Qr(i_b5&|dA!z{P9V zkTZVHWzVOOS11vD`yLH~0R?$yp!$Nbs_HhZ$geKI%FYf{G>wch>?t`}th66oUU`oF znfrr7X-xbpnKel{EO3^-ih~^p6^s80h*rl- z{*G(uaqdhD&Ckz=>WO2$5-Bw$NBC#8bNbnSXC!DjAGf{>aso6sKUVY-5(syAGvD#B zQV`|)4u51!`)qLY#aB+^BA|*4q_#357#uHTLYOD8kBl&uQN2On%0Lix$3`k~VO48u zYd0l%pr)u-GrFFoV}c_6i!e--BIHH&OHNMm!C>xN;IZ@u(hfcGRtuo8KrPbN1ed4C zl)e(#7#g3{O?rIFXv zEp>dq69tB9pqn$kkGXATJW4AB3^1JHLbI6hMqEA(F0bRCg5aIck1oP9q&h*|n32np z*MgbXp>(`ucOe-{SmVEc-}!Ey3ueimtqmHG!P{oTgX;jPj76#GSK+igldQSF*i+?3 zP!CO84g`_#utlmT)y_vhYTRyg>%TTi#*IWG7)>&F%dGC@ifsM9E`lhhHJCxX z*kjfMPyC8r_J^Z^evDJ$X)7G|gkzLjX9v9s<$rnKb3G457Tb>yR#i(H$eYrJV66kf zK07<}2d*@lh0}umWx4;81=zb-?2bc-Ot3xEMStjZ4wi}GAo^hKO%fCih$SaYOjM?D zx{XW!lNUh<%r~hO?j-bah$Rlx^{1Y!j@wazOTZX&Crd81e4JR1sx@RL)9C<(F_R_+ z!TiGE2ulaF*~*>kFb(DyMg6?JGz4&`;l9>0oD=e|`XY9G&Q}tIeM0}Z8D_^_V??ic zyhYj;$L0ejM+Mv`RDGiAW9hQs3y55WO8B>NzF7on$5m+U?gBEXY`lp46RI!-EDKqW zoSj_~5-vF$Ob>=Ki^26&7y&{;(2wS;jlwcetj|(FLxMmS-w~?IeY75_e|@P=qkc*E zUoLr`EC5#aRxUzPZGnoI?`r6Uklg7~)Ex+Aj8DZ9ZC|pp2h!E5wgW;?pw~%%ev+SW zFRDCJpmUP-J_j1su_074fkNmTlr&i8FLuhTPxA7i$|i&vN?qN{gD9##a`0{ap3Rn) zAX-4>-y$BBxLx7(+1b582u@JY0ciK?34VkeY!@}T@Z90r&0?h5YpI0sZ?P;AyWMOi zdf~&84G_Ix=^KWIM7LxW`_m;@#!GU#Lio(1#%1^^z*g_Em95xro)W;Z8US&H*V(c* zTY_4v9G{ZF%>exPiQpYnzu87BU7Sqq+oKLhu=Cuyc<&bvesi=n? z#eD&N9n5sl>y9l_{kxb20njsiag7O>l^`gvJEF?;!QcSc%Y!BC0S85Xa`lHCCiEwU z!{WjTw&}t_^N4%_>9#G1KnAuv?Q2w2Aos1qP2~V+lo;$cKL8kaxp-P+AaA7cD&&<6 zmF<#04v!0MCQ!nrSJsF{%A=V zO_o20lQt0*BzTH|^xnEftZbd00KaeGcy_6?j7HV*)U%h(!ai9pwW9ESs3^8rqI?~Y z4!myhptjJMjJgNK#1w$-E5qnaP)Nw?x{7Nsb0-xr88|{PKa}+#o@+%II=pdWeH8p4 zZ=rxqP#$zfa<5>Wcs+sf^-q!gTO2u_y!!3-J?s60UP3Et&UUDcs~{@8^ZdYMK8Xsi zIlCyPR3dDpA5~T8VELJ)H9jRvydpN&eC9hjtdtaO(0BrL8@(SLu9tk> zU!vFtGMK~pF!Apf{o4@ybbI1oz%i6B;S@It5GnZ8)o;PEPuXI_7tqTPXt*m!wFGrC zXgA%DWsd1=56`3Y|0?Wx*@fN?X2S@-sUY6{>N?H&2;*{3gb%paxBPbTP=0*==iea` zJQ?aN!#Pk<^d^C80wz4iGRv{ZSIaO(=}&Q5Tp4j8AxWY7#Eb?(asT{i;xu%9)$kjW z!K5$HWgPs;J7Ba808y_^P58;D@57l^rRZqgZceK6mWBqJ{skzX0`Uf8L7q=n5R94G z9GgOZ5~K+u6mU)Xy3UPnT@KD6aT7MU!;0^ z>z2jpl*_$)C?8>HDhuaapc1&O1vtOou-M|#1P^Y=yv_{Vs5E53wOOavo_?07;OR`02#qp4Z< zHCpTs6*+HvGOZjqF)S9Vh!|9xxh3zC!hTr2a-{Pt>};oNP2bp68KKq zFiw*@q%*sxRq*j+rTyI(d_8qLwKF=L&&5$*c9gqXXR+-C(0xxi?F#S2y*X2Q>C>1&_UIR9|Kb|Y z++10K&5EAsB<^jC9eYV1f#DP}%sW+FCQWmHw9L)Df(S$ya3Zjk%jwaZo0lN-pbRF< z+KGy_d*{(Uu(vOktgqbMdSkiVW!ja%g=EV5=(%*a#y79NuzQMAhWm%XX=#!)%GMZ6 z`iG5ep*+#3KG~iH1-xDj4mhqDn^RoK`uesx&-MNkGuH>=UHyS4!NUH*NQnAAAd0R? z%fdo#1uL?2pkE7qU&A|gH)qyQrOdzgUib-;s8$L~V9S=I&iuNeqRp#2T=VIxb}^y( zgw119daLkkyMsE)t97McR2WT~1=N_r4p#mn|VN0p_MqYkZ+sbHi^3%fp zk`OLq8o@^z>};hwii!_c?>8v^Hr)5hzBg~Pe0d+X2q48&kMyitIy!FX{B?7G=GKix zIx*;fieb7*#>{*2xLjwX%Dna;aSRLc^ScE?w2#?DOI@EV+TXv=|BTTzwG7zFMCdY0 zAfaO)v(c(c3V!@|x7gIE1s?TrU{H>@$m+(1=4c)=^PFB=1QoAl!M}fHJNU5B7*(z@ zcOE?8+<%qxlyvebK_xoGhqXIcZYTMAxvWRnfk7@LZ@TYra_Xa_I7vQ8J8EcbWH63cpF~d^=1F+_vSG5K zwGX0}e%Gqf&cRAo%pE#9x_g4cV&UNm!H;kl>FqbsBz;okp!S7Mc*Hq@NsFIu^Pd%R zXegRt%)@74v9XVk45vOF8*$0V$bj`I$q{EI3=L^VL|N2{5V7cSV*SPj4bb)>QQ!Ka z(L`wg%#Yusq~f?*=48`=OsM!8bA&uSJ@WL@=IQUtJftJ3L@*D5w{Hyq_)8#{dHw3m zn+KenrvLu6T?fp-!TMvPhz_~tMKKc`|5xPt+84*TG|G(8(?KcTfq{pH^J)A5RC#)N zF>^b9@3EyEx=G7euItIeo67J_!Fo#_PQm{Wn~wL(_LPdw{vt29ikxw8V}P4_sX6L z2}QCKvdN6d-jeJUvI%8`C}fjO_UL!6-tX^ketzHE?e+Rk*Y&&}&&T6D&N=sSmTm}n zJiB$Cr$cUFNyhf41E_xSuZ=o9ILJ#CGwJBKQwf7}g%T!MwOCoN8CS1xOa1+cM=$oB zkDjog`@~O*O+6I><~ZP>5wY$@vz4gT6x?aOSkcD7Pmdc~im`Zjk6Tmc@Ni{__Jc9^ z($Z4jA3s>m&6#GSb{)Q8X1F)jC+eFCV-MZQF9ECooq9Pb#w*7tB1vODQJq+uK_Yrt*KNsgVbChTpma zeQ9~QfB9#2_H|g#4^t1poB&C8Sol4X<$pvC20mc`!w12ajg653cJ-pVy87e-Je;0) z+c2>fI0X*^AlN=Qh>v=A{Lx}}cXujyFqzapiUBeE4Gs=$M@PqngAFmBl1nFmGN~k< z@qK^z^lb$SqUq^YWP#f2T)=#QFQ5R5e?Z;|_S{uEf9zQNy<9YJehQ{OH;18j3$65y zsVQneb@pQvv{Hw1aI5HwB*b-wQ#&TRz!TA|a0wXP}k zA+HR|4C8^&6Pd+GN2d-}8_KGxxSZVFEI`j<2UM3?Hb=W~ai`vL2%NW&p{{W9*YDq| zgF{3803)baTQdQ3>K6D+u-?0O5BcE|5`6%wIJI1z_nMoVM}P}WBUnvwa&j^O+35!0 zIr1!|<22PZlk4y?;OYb!w@A2*_8~Q3uWV^RwZf`sc|U0~>2TKszY1`2_Lwb-8#f*$ zPLxx=s;c^|XddR&z^bPCN=s_Wq5_Hg-G%>kDxN%OD{Q)a0~n*bo7;7-omo}|1qC}` z;B|F%h4}4tQ?iJNyq54iiU#aCK0F-z-x~os(JNpoB!a0?!qSr6!uGZ%;??Hn!?amS z75;(T);8DV>#{fhon#Qmq5{EBqtU!tN_w!SMhNveI73|o+wxj`ypHGt(}(UjN$^KP zTn7Na>04vM!yk1qVCNS8_tv@^cvWb^iB|%XwFuZ0Q}wP{4SI(M2h2a}jXXb_@w`S{ zPfJT%coHhhgj`8LNfUfN)*ZoH3y+T{ncsUR(1Honh$_4O1e&kz?(QUB(K~_Gb8W5p zOMr7~2xk&Kx3jZTj=q=jZ&iT;VZhwel)$c1QTzVu3vT{CS%!W+6BEM9x=gu+g#=np z`qFvDxLJk!U!}M%BX){i_vO!p$G0betke%kTz4<8Wve<|@0>h56w)$NZ7TiKJvavl5p&c^7Y>Ed z52{w<!t+k4;D* zC9`swA@|z;sPEMLEl^kQ3Ash#^CRcdxr*8cdvn{=U@8Y0wJgv$og@rrDpY*u1O)_! z^HmaQ{1=<0r44=uC*564EUKzf4GEj;$yb?;cG3Iw>lY$NI~>A}pBo4e42iMPm9_r5 znnuB1+pFx!0Op`+G=n4!a0I&m*JdJ(0KGQF-bX3KhbhJY^oz?&5?b1*wY3NMRD1{^ z=72R^`$V~^wY4=0B_$<72Kbxp_p9R*6VYUqWB$Ixr@nFc%wxsQz1+!bU9<9AJXRjR(_p8gbeF?a7llG`o)_oJatGx>G$$X97; zL`q8CY+5yzWA6eqrq3TaID{o6klNYXkB1k%DLuR!S-97)C*MV%^!k9`N9c(cBY<+q zxCT~KAdJ`2F*XjD^gX)H#f1x~@-8p{kVJs9Lua=}Grxl&5y0V}*VcOGeYth>X0S5L z3pfvd{`?_kWQ+p>-?#9g>1i6+|D}5chet=4alJ?vneM=t)AMs%fb|ywjoRKrw6Xy! zG$c5#s-}kY>jLMiyxd&b-|i|~c<87Z(t!+MABVU;=8Sj_x4=BmvlMl7NNzv+86F*t z4}ToE`|-G9j(De+dtf6ewB}#5vEc8Es;<7Kkx2!Cl}O66csHJXy28=0jcv={b*zv8 zNDwj5N~4*Yno?F#X-{BPvkRCLis@n33L~76ar;0!IFwet;jz?5;<5dc8V!pu1YGQp zw_mIOIVu8DK>*yM!Dr^v&=5ggU7e`Mns(k-PdB$uz>DGsMgZJVHb7K70n;q!u3A9h zGsL|Jf!VpxEc@s1aDHox0Q`}VAC2Gxn)L3ok2G)b5uiNAX7v9<0&yGq%MsvkWeqE{ zV7gmCAJ}#YdkXB4G$lN^2Vf<5+b&4q#tx2&A&6y=j0FDS1Xb1hqpL$&*->A%Ezi%g zDgPFN0Tv=y?ulEY_h^=KzqyGC4}!zqnF7{Avkg=EZ(3+rSYAT|mCJO^T_BYA#4%b{ z9BbrpIJjIBd~bgK+Sv3fQ$z&yslX|~ief2n_w-~9BVsiCepnkJK@m+R ztE{e0ii}5*Q3K1w*9;h86|Zmo;C+AWP0;uwHh};#93_mvIj5r+dmzaGb2b!u@o52i zT-Ln4zCJ|)NkM=A(#X(Ie#EfG3+h)XDQflhI{dI{CB)RRvN;qKmPG@lNap;HaiA(V z+y!K$wpGeN!LqH?dHx_2Un$q$qIIyaKQS`r^3BS~_xK_Z@5o*!w&^1_DwG?+MkWv7 z9+gTcmy1QjVD+=X9k;QLtL>3NVV<6+gR^~s%x6JPZ#9jf@oC8|q5ktrnyo1Ps2(;g zcFmt)1M`;3l0#Exy11r>6hYo9iG9e#^IG$VPExL;-F{MheB8+ic{J5L6! zk6j7Y%a$V6k4nzQ`j*xq!G&Z7;eX!5M;~co>lC&P$y+e-i~aq_7e_x_zqk5}!xdEY zjjFiE`@D`A3N0ZQr!Ef;6IMw2pFjRgUMyaCCZa0%z;55;>cSSEYB;_!a^cOw41H5j z>6b#wwgAYoLaVCrJ5KFKj2}ccHxCba zh?bBzGqSL-gvSZnP3}xvh!`|SNBe!BeiJPjsMb@jP)^5t{PG7l zjY_SRL3V@z?sI!jjNTceP(-o5FZSPqUW z$E=uyoA7&_b}oNd648r=0H<#O*iTf_0TNQ6(IJ*~yEt(NhO9NvXs(A`my)trupI}s zNho9B1qn1NLE3*8d{L{atEC@UUMGe>U;uXD-7G2pt~ezHg&<;7sjN82uIXVzbOET2 z(4X||!f#z~!FgKEN46K~?EsbpF*@G9kf zv$YJ|#hY8{Bl!lHY;1}buF}%dYis&523+NqB^%Go z{g=-lSmuif@pw16F_ApHO&buv$Pe#&;Op03xJ&nd5gNsq4%xHM(IyTvGc#oAXpoda zL2J-bAqkdn$b9$PH*#==djSSoS0{@^dwXD&2f6uOBO^*+FJj~3c7T1NR0CmH=Uwn& z1KA=sq-B_h?6NXENl8g$9{uSP0%%9@YtazbK@thfX{@8|89Y#UAR`#qn?BoHz(`0) zaEdXqs4z`uVaabFDil*;a&Bay8w0XJ5Ke8SVU051_2IXO85@lKyP*oUSz$*`F;YP$Lg+9D%-nM+$RIBjl5kFk< z!!6BdV>$3(-{|1UFyYCL;hq8E8YbAEy?p(e5)};%c>^yj*mQMwMmLimozb{n6%wcYtu8eR4L(!Ig6NS%X+!6fO~RQ=O9L2JMjt` zS!{UL`DKpYcHl56YiM)>H*)^BiNU7+^rI!vFBpSSXF_6P`|1G`Id1oAU)9DjP$H$j zvm}*f!DETusm=D9=Deq(f&sMN^}a;%gfkHp|74JrJd2jaS$$A#OZqv}(FsT|W$o|Oa!wEP`%i7I!!d7-Gv3~0 zuW_`E&`6ghpQVWEmIYH$pr;q?)+M=sJ=^f)WG`@@mjkxI%GU;TLAXCOL!C09Sb#iU z=!B4gM}#Odvkd$b$9`>Wa9^UUKKhdBAMQ9t2+X9zg%*qr=o`i(N+-yj1Qd>3lWdBA z?ff945!~0;)eSm79)nOQ4nfY>BkWOW&X>$`E^RfX%p~4hw zx=vl5JN`Nd-Q9QUgpC!qJ**-84HSm_5471$vQtn>O76IM@|Xw6UrEqHtzn42GjPOR_D8WmuZ9wHwy|^M!Oft3s`6bUA%TIxWG3T z*-5FH0IJV$euR{t-H7lx*jYZn-9KtC^Hgc z%Yz^3`PyhVYG;@@GGNagd3 ziv!lRwT~SQ?pe?RD?oS3VvzPd!bI$jC>cT`JgzVhb4Pvt zRq8+nYWvEkTle6F;{rV)C@hSuWh~j+>=6T8U;Okh4b{{KWmdmH8~iS3#5B8BfB!x3 zPQ@7OfcNsO@zdlawey605OD{5yz@Xx)Pu?QtWsAE?qdr2 zi}?ixu*;dX206L7l;A2B^UMVUG1;xeq9waG68&g#MzNuI%+QW~)X?z#*XQI=DiKZp zN$GcHcgW)y?0@}PKZm7`2Trgs^891qVFnEuUXrM2^enH)Duod^J0G4gDiPY>AoFiK#OxVZVwQX03X=S)4UKwIO@n(gezAfRYrLM?D# zjIK5%Q7;acNQ9W4!0E_JYWIMBA>0IG{n0r zc0oZ#)FA9~laZwePB^`wsek^yWn94Nt>;H?Jp?VSn7t9LEOsnigj`#|#@>+&)0d32 zn8OXF_CDpf_2HyQI6>>9*OBN}y=xH!9g|3SozG5O-kBV7;uF+v9OQj&_*qJ$1@ZO{ z6k}`OM^a`ba_ql}dHWoe5`zJ&cLKy&EM}#v7X@lsHVg8uW(|CnW%a|m$2$l{MhDmy zjwYhjnPA?&yH!6=C0vSyN$`8nL-d>Y=;&kXhwrpR?C)#CR)M3l@wO($gk8&ZmV8uv zYnGWf{Daqy0hsNfU|oY@T9&q8YKct{11|smz$KRe*-qs8 z2YtmbLW592qYA00&#ES(dK7Jc1Hj>v2tua=_ypRB(fyWOUvKpI9D5h8lHy|G2ZzP2 zb-F*6B8XqqyLvlW;+QhPo_)I65OO#8b`Sss3*8v0(t*T)6RL+5KBnMhh~C`1adEcc ziL6iHN7_tP&GEb2xc=EXCmEa9Ce#U4GsAz3K4A{(u)gP&$w64z!txk~f%Q5ze( zg}iOFWo2pJR*mU8ou{Yt-b6!C(K=i1d#rv@^Sjtnq?7VPbDoF>05*_7NlEM>cNv?; zAAYZG86;*z@g)fv4gq}Qns`qSj^#HCJ9C`kGc61XpKJc$XJ#*=g4K6>^2ADvJQBqz zUEsQurQ!R##Ev5BOQQi;69(@h1JuwF_67}$a3P%Y? zIB98#+wa^(wDn??l3B4q5YW!BKYt`3Yc|<>%XGY508mDbvyqQp>}}n}C6#8y%=c!e zSgozj?n}ya@LUm{VQnEX1h>Y9wZ}sRnVA`fJJSB@nVAJ~>IFbWD?HPzNswQ#+%Y;D zqFE-e1aA@qu?e%Gr3K$ay}7WWx<^l1rk;I#%xy*$RB7wg+1-t4^q#v5ZZmj^B$)VX z;Zpw7i(!mk9{A6zOIe2Vwn-oW1ob`E%=L0A4f^xP405EqI5>`L6EW|-Mh%_bN>I~o zIR7yx$Tr@-s`OE_QOk+8GPRpOA-8KwykG9`N zr`%ds{PFwwz)+rWCRN8Oo;&EReU3crV0D?CG9?^WlFZ@mY&~7!=!u&{^YX$nYplW! z#%dOzPf`5+eS{(_;P=b%vb>r)x0RJ4N;g=ZfYaqC4UHph`Qr*EH066;Nnu1|I);Wg z0F0`K$@0S`z)nUsq?UPunGu}*JYl-U9YVU)7au<0@QF-rn;1scc{mbRRY!dYY&*L4 z6d=5rsSJ<+^qfxQe_^6|k3v3kwJ{sA&MV7ybD|hp6cxBa^@J;zzwDbnYS`|HUkE zIbtG@%+AZJn@1})**%?dXx<$+3L_?8id1_|(eb01e$3jD6#(zSv;%$+?$SVknM$aX zlaL^=ce?63Ql#bkaQ1?_oUHIA+~wJ213}5xT7u-KGNt@67%HM;B^>Y64oQW`9@2Z? z2myte=%0;x2G==?g~7BbFq=qH)Q~I9`zpPIq0~!Z+zjsQIUIvv3B>30P19p*8n^jr zOc5*2H+^W=ZEn6PabYa}@@PgiC@qa7<83)|!Cy@W9E8Y{e1CX|C;k5k{aM>F`8PZ~ zz8hEB@qNkg2Cr=kNG^XOv#pUluN+9zH|L}=e0;>z!{mjveZ*SEVv+AN+d)eyh9^-@ zr6^#k_b+y+e0kv(Iw}b;1|q=^FgrV&Tu0~0hllrwFEI*jpgn``x^r|gA2vo~AS!t0 z4j!}O=JPyTJfMwXU}82QKN=NwAiga2qZyyOlj1tRGbC`@=ZlqA{{C5a#;0#0$jOOM z<NQ4!H}^5?6qZuB;q0E5#T6BAYjG8g0K7 zzkM(_iwpYsvA*dC(=WeLLVHQJiHQ#lOzbfA^yI(|Z2&;(&Tlqfz(__2ZZTYFLlQ^G zb8v8UCbFk-@KRcB|Fq?}RW9%7$O_Sq-=_xaC6Pmb$O(`>K*56#>9cVIA7ZTNxFAY= zyl=E1cz&w|6O3LzQCgm$B2?9GRz7jy=CQoOf_0^e)oyBNpiJenCi?hs+U9sWVtCRh zszRJq;r@NtM4ma9G^p@$v{?eS z;a;YWB13#0IQ?F;j{0<~2_G3cn*Q9Pqc`QFAu|Y^n9$(2S7m%S>qmkNA$XLemG_74 zEiGRQ9=ad=l~O?Lg|WeEw1IP4(ApXc%!WZhNB3y2bFp1}P=u+X^%Vml=2Bz_8PDDx z?*}^-VyIHNWNsxCLD=k^n4qh$Sk8Md{1L`1to@wQWa3BGcHh4v;1--bgD$v*&DF(X z-{%EuC{C!vClV)yb!;sIx8mf&9(8H zRZnyPBapMX8KNlO$|#3pfuvJq2X~au(XkPlnKEOAijZ0xFi0rNL6gdJ51!?gR%9$tH>vOJLIE2p?G4!+X%*r=)W_oUpSth}#54wa9^;`dnk z*I+LwTBxxRb-3ZUkRLHRwx0P^y}{>@8gheQOY#n+9KvAAV)f?%QMi1rN!-DyEIv(s zYRfMmRzxf<)x*pkk}q$4%@)5W-~9V&((4xFjGfc9%k+)o}^WP5mlu9_d8neRW zuhn*HY&#A&zRquK40=!{MQTSmif20=7+P97n6;d323y`oSlQ(ly?T7w8{56u6(N2- z0bDd zA`sKR4e>u`n}?4Uavwzi7XXV;{jT;a=eJ|#H%RX4>K2kRmnFP457}uIH(%rrk_rD0 z%WVEzNgDhE)b(}m2jh{k5}bN|ez*`&W_*)K^~#nUKRu6qFtORGkN_VdBSYC(X8`$z zN@BpJRjKxM;)RP-c~Ia}KpN4JefRD1G*36Tq$GVvsKzI#r#v-%?eDJu2c@E`@45Ye zW=`&lzwH`i<9Od0rIxsa8B|XrBR|JyS<2Sm*QvT`banUq=+-)8e^ROmEAsb7Gi>3| zzkS234#~Cuc>qiOQ*0)1D$RR#+2nMq{~Ykv_ZI$&lSvOaD565I-Fyl3;jp0Y1T#Vz zmK#t->6)llR%(%4J0wO8S}Kv3eGV1E{LvP9LAN|7gf_c*)^viQED=~c4 z&|-sqbi`th_oeI5SfG~_xFRXOPfi3VH9CrttbJ9@B3lz1@HkGxir56x^rYWuaHE5p z6H5BfnH5dN@7U%^)rdSuMh{jQU(bKJ^8#qo*TtKaIo)+W_b#s>nIm7mWI$U$(Z`2J zSGQ_CNz@>CnpLaZ)HGX(NXdN)^>%vbCmEwg^S=}2zifL!kqBxZB zzu{oh9yC>b2_zO>Zc8cod3T*bK)Ukuo~lyNo|8*SeW_8Eh9929^=$H2`+MV$C*-PX z10y-X1nUnUT#0h z$1pQ{M{-RVi-}2m@3#TUiC<2~P6HXXJkYVJzCSdK`I-+*MQHCqrpE8rKr3~c57W+S z^&fC2IsJMJT?nN_c6&}JJ9xG+49juvi;=5#7u)aKS!G87mD1|(l{1h7%go+4KAN#? z@UAX35sd0aO&@xx%@GnG&m$o*jm(uGEMz}%5P!q%$O)G+5q^Z^4fKUA@j4CQBF-?YkexRxh$3OswC-;eiGj!d9 zdCcDp7shmp<9SAbk+~M_cuGkLC+O+Ni=F#yprMQFDrdUBQEm0;QP71S8cfu~U}H;u z?3(w{4C{EO9{tmc_wTW9nULpr9|!=C_&O643_ZbGnk{6z64-BSsIjneX2N zhb!|4-o1Mefm&Kflu!h~oSlOMa3;oQ+j{#;s4p%ueyx3Ph|Mo9MxCrEvgyIs@>sVa zz`}YGx`oxVxJUljTm@X9aDc4#eTwsbo}Ek2eX@pzrC-ZxPm)r8a{;YcO;Bzir2s}7 z0iW|)wgJCgBGA=NPM#HZYGX50&`DTOn;+!Mzvh+hX3z4lg|mw>F6J@`PBr#DBOtdG z>ll2uCm!YN^Ypcx(5Ud!kaw+M)C6x;k+W9A2}#ha zSH#Fq=MkYql<(zp1A|ssV<_I4;I8VE;^j9*PW#Fk9HsnAZ$(jH<_M`#n2nH4z4* zmvGo&AQRhvN<&qQ5sNpu9I6DvG+LiMw|_GGUAVLR1QWB8T(5b* z&kOTM3=GMY8B(Z+fzgP&gpB*(fsk5w|k%OM8*K#-tTL`1}XgI&vr-OF4K z4Z~!Kk$84{XjhV)9X<(aZ8hP=D{Zx?dC(u|Fp&+N!Fm;)5wyK%>dEA4q|G6Lo)ozpJ;PmXVyC zWwx*zur{D}k-93ri*WL7Ls{RkxBXJS;h*xSTFUb`NWA`%sIh@X28XKP?tc z&WNSe)x-}U_`nMlCZ~0QmCfc{TbrUU0|SE{7+@|0p8t=8ypx8SqcR+H)Pz^BWMEpP z8jvnboPDc+_rL=C>rkvH2k~lm*DWo}a`ODvR?EY|#&IX#thvAUR+pDaZl`OEj*h~l zHyDza0Dy2jd_O!Cl0pX$c1>CuY@lG+-K(S|a$RF%+w|ROnWKl;#c_vj5GE0NLVJocizY`)$;{kTVPi`QSrW$1$|W$M@J0DvHMJS{7%>) zJukiWV&osUY+=#c+Z!Fx-`95?01$M9_tiyX*HJ#J*8jzO>t&Pp2w{%LD+F z;~^+SZ1t-e075tG>WJJA$xD~V_eQ@?&&<3-TrQcwQ(T)4;HF$5awzt1j8<)U}Wb`DrazAbTbZ{n^`d$Iz|{1H-J64M`zOIxN4 z|NS9iS^zUH{1p*;M{@&MM{-V1T%vS@U@tV5z47?}%}&d&CDM1{o^J8=0{iD+C^_3j|aMX4h}sA^_q+!l{|BuP;~>g6nPn zv$H>(K#8n$_{so!CKLqtCGCNMl}RFU-Wt+55DWyL!F00*GahJZ(ZYWJG(BzNbZ&2N z4^=g^cY`xC8NkB~i4~_U8i{ze%#F?t^km!|IOkq>*aFHFEIIfzMJc8I2d2i{Yb&#y z9L|yBcVCbPGAKUy_cc6OC43PatfQmDbl8x8gn^2J#OZ;}j2M-6uKK9xICsr4>-e}t zE*ilHPDeD-yroZtymdc94XmTnu4H9J2~p?U^Nxff;OsN8vtt3d3(2D>$_g;4IEbUW z^8!o}7T@FHdRI#X_+H~74N*W6HPKMLY7Ph^Xy6rJ^O*lyS-}K;BM`fk z3+w3V=%8HkL2?9vH4IcLi?fj>EYV4_IDrkTOPQ_i$?a=ry51bXly5-$8ib52v>Z)A7+u}zKMCjU1( zb1<7$-uCBbGovZzx(S*%OBKXzaUOU7A(b9AaY?vo7)8rEp(Lej&v z9!YWoB8b7ZV(2CCJ*rP3X@|S;q09ONcjW$R*75w#97$mzCh|Ani0#YkkQa0`{FE>@ zc{8fvbd3e@CU^IKs@w1WZP*YtE$~m`iU#PxI6nT^`ayBj)g?f>xCM$2{_{^u6WAdQ z;Rw7+dk(N1)Dj@MP>mS|P@6+F6q1B)6^$WCV#Qt(Yyh__=}itG={iZc1B3ad)f}Jq z7V80`=lpM<;l7i3ka5<#QWsFYeau{SgW}Uuxp}YHR*<(os1v)vJ znIEHGy~_OMwkC>dAYIF*1%_uj_vuXX6rw0pot=RO`n}1sY;<}|pDvaYAAdSGpXF}P zYPt+dDS|1vR;stJnEB5ilbq~del0fqx3^IwC27g8&7fyxnO8jFJnURvK|yS8IqtK# zA}JP=6?i11qlwV+6#jE}AG}iT**ZK?m2}h%wP)LVW=|#NAr6hg@W{y5jyjI@kLJL2 z{t9}uMH8!C-7TMrb=p9ev$HYo-PhpVf+R3)S`F^vp;;m4ATQ2>hmK|^#|tSgQ*127S&%|kjg8ukLa+M zwjYW2@sE7t99jfm^9dq;Q z%9sD?HeDPbuD>>#Dex#2VcwQ(T7_ImDbWp?s%c{|*_v8_2t-CEYl;fC0ag3F2*63AL zk-z;VRS$;+Fd|7v+_9kE2?G%VGM+}l_B_lKbl3*d((NX;po7}-SjNFOC#T{fgNuSCzE?|!sH@cVyFZ)X3clIc|bOl;iWk*=+$1i-i> za3U*K%>|&QV<>&#!?QgrdHJ7UGbjz#EVvRD_kt_b_=`$=$jrHUv_Pv3s*h_;UamuM zDroZHR9tF7xy+{i9Zy6A3#`fDd4L^491%XqtTjGS!H7doe;ejJx@tG?2nc=a{8l2> z;QfRev}weygOT@hOO8{i z%h{jc;gNZ()h~O8ngOLap*Ik(9EZl50fX8b(^_=fvmuRTNY={fMWR|y?gxUc3#p*P zQ76#ZI|rPvA%VgD$E{}5+2ln{J!G(At4saO#qY>%z7;bd-}fDO-{k*VBzueabP}T1 zz$n^r*RyozP1)BPb79ag03JsKO`3=$yHkS`k=yT8a~Bp;Z2vsaLUvPId@FhY(bl=g z`N~v0$SE zf_m3;|J#R(iHp-Df8vsoT$W+W5*K=qNF@34+*QVI39YFm4maB#cL@ox zQ}VLe{1cwZI%30XGI1WsC4-Wvo43tx_LpPb@!n|+t#|2d`$!_d&^k7!+H!JbD>o80 zHwP;NE;)d(BKw->X)6CBpGK~}j3Oqy{N>@CbjZXN|8wgLp(7s~utI~2QwLP!$p$%H z;tx;S=9Lnf^dZQ)^7eqI%5g==k1ModAx8m&}9Wznd>Ze z>>&NMVqtL6Hec-TDMZpaYJHDK!JSbIM48CWQzu-$qclbpS5d)Ot~N7G@wn#&-%@X+ z)mBysbSAI{!zf&P37@XyAD$a!4qEIPVu!*Voo%R4djs4L^SoQ0?Jr%k<##LvJQ)P0 zip~t~-KpZF5^qq^_7OgO-g_nA*!Hz+&1 zacK0;{y4%IwUzmky>)1|A{YZdl8hD7%d4v1&U1H6_}9dkR0jGUlKKSJ480JiFmwCK z3a-KY5foW$!}2rzoGlKUC7j|ntv?#v$$@LJJHT7{xaFzb;rbZEDiD3Yyj?^hnkT2_ z-9YnEaB?CX%PEmGDa_srI9n%$ww2-lnKtg-M0VB1w_=`1szs&$ITcX7^M~t}bXcly z!(oI(@_OCF#&CzPvwfFm1fU_|vr{&@xIDJm{JwW*dsZW~V#fpt1BkfdrV(nnKveor zU(~NB*W#@g4x{sa0k0sqGpB8Z<1{aeOEqtKIT`7^(bW|(3x#;a?op{yCi%FvR{9DS zC8aYM8^{*m8n>p)yZoej0k#P3or_AyPk;CBMq#I(I5l-mkDhHvsCf{$7r!L(0`97+ z91vqhAIt>?(g05#G|I(EM^~l?`KdO3bcD3&B7rYMLi9mrW2j6UlLPn+2<sG!A)5 zsN~^6>T_rk3fgaS@+1NJOq0F=z{+Xz0E<+L>w!7d0mG9;c-x%az;Z08Tv)L91@Rnt zo5F>VG+LNDA<;4bdz_5j2MOq37pXV4-V#Dex1qs3zcOTR{P7td$kD(?n-O9v61iR9 z)i?2sVHX#FBO%-cqq5M#^bSw+I20iHD~RX1iD6vBfqHq~Y&D$yMb+8pI&sj@ea`%s z-*L()+YJAt3;w>4gs+qwG#5q6&jr=A9;3ANW3u-0}>|4n}EYL4u7!MNz@)5 z-jGM}qYyf9acP3*i`z3hd{6F6BgLs7KN?#1#;QT{RFFPXbspNg_V$X$*3QrKlooYN zOd|Rd&yfl6Jn|4^0KpTv9pMKNPfUC+ALb^HTrxB_dy{?L=;Yk%(?U19_Pvsy<)$>B zzc+A2L`Ip$j^s&JdLJnK*>0inJ+?4NpUi$xqkgv&I^dhL{un@!f>JYe-Hn3)ddjMc zpnJ#V;h9Jk)j2g4;BbbNBTgD~5k#q*vzPUw(@9uQ4%m$AxUuV9D?SxvH8BYZks|NU zcxLy7q2$_YuhkNZUW&Re5YDzPTTcrinN~H(izVjq`Y0JV2jL@`M)7Anur?)Qw~*&R zxJ6dI;hak5GqXkO- z`_b&T_GCCQkRJ`%(FY$-a#U2YJP0p}HpJK=s_AuQ;7D|7Wo;b|+pwVSrq=D-8heXz z?F|9`oPPdqD?Qd#ko+h(oBE}h$pXXW_kQpEYNze%=j;%fJ3-#TtjP6_4iEqF?CPR? z)JaU`261?jm`V+C)v-0-HiiAD*GrnN`#3d~W_x+26CPt8!ehS4XWL_aa_+1} znhaFGgalj&3=BY}guzCvAiU4}BOIG_gp4>O|HXPCf0I2wGK}tKBIfX#em@P!0&wkN zLh#=Z<@_rZ#UFJkpd8`0v1wHRRVly!852Hr6~V}e3Xr3;$AvT3`Vu#v?p)DA=?^}M zypX4wKpB;!h`g0>@do%DzQ`yp7Mt*W8JzqLFcScL>LC3Ki$A*7{y$w-%_d0>51^S$ z1jqdLZ4Yz>3g}rQKOZ1*Fd_LvD6Z-aOHx+GLSwiz86zXZ1PDGziGpD{4WYRB6Hv>@X~k`S zW$XV@FY)L1wa8FBvZwf#v*BGu1EZ_xlhF^e{yPrZz;T{Vta@d*h-9uIT@lfhqEQCtYb3q?;(enHbO z%7hLc0AL!0M#fb74(?YvNt(FR1FX@m2peQ>R@=RbR|#yyXxdc_h#k>gyKs3UzDYeR z%j-mf`c@B$Kd#IB`_pq9^I^ALQpBx(o#QGuXZ!!XY-7JY@q&r~E=~@n&qR&Q;u8se zMkC<1@mt@rM{2IrX{MD!a+9~V+M4y5u`ct|{LRm$d|3D`IU0^gt2y8X3 zJ2szYW>Dxfx3U-s!!#)6+SmaEN75f5ij9OGlG`E=3aczO&^cgMV3S}IJqXfC0C@W* z<^xe4hEdWd(;1BO&akRsf{7{Ig%y}Mo{y?D5RTF^5M&?3~zUAAIkbP!$ST-yV&n9!v!+%SQwh>g7le9I@?R%r71l+T|~ILIG-DspU4;@@`$_hXCvcc{oKO* z`YChk$pQ#x{{}ol4I)OeK$rUHp_DLCeF!!XZXOT!+82?F@Mb9{<(5V=X_y$?sJ8Hf zAR3T?-v#hcRR`EPt zzcw|7)8bn{9x1+)&o40AIhb}y!q`T~#KiFIbtw3kgIt$m>-j1_sKu zu$;Y&xr@7sOSz^h7fIn|eQ>izKu|{J;fGJ4vH)>)vd?*&P?q0lZI2LuJRPb0k-U+d zQB&1ezs?RFpc~2xSvEQu8QRiv^7GF4pO?Un6WOLu>vu<5LYmHYn&l zzTzK7K*W(hQTmb`G%j3BtgN(wSKdUxI0&7VF+lZP)#Q@;>nFl>^IEzLm@hZ=-2W1S zune5h%5f=8hui5nC{)!me}+Mu3isc49h|shLSH4>u-w$}mPsn|XaJX^sp%m)W)ql~ zJzxLOb${sW@6ooz`<2bVXeS#y1sV#G`BiotYEz0TECM&w>$E?U_K*rrP!IU^;umK5 z)5?+whYGRDrBwDjc*sOeU65P+h_m12$?LB>M0q3%>$B&lKYhS7JTC0~-WTsVU+J0i z*42!!cP`ym)NeeR`(hy3yX^e8$;dGA zr-6aiFJJL3Vf@O^_NnS)uohQ-^X9o5CaacwIo%ynB0N0i@6(T6KdtS~S8O*WDlbuq zrC-%C0rretEt*SU7}HZki6n-%xDA%n%TsM!PR=&aZu^fNSs?=7sYE z?BVPnVhIMK$BlGYL>8U<%VEhBlN*hnBqXIn)2Mw9Qrw5m4g-Ik9+1K{7`>&9UGiK! zSP}d5`T246-kJ`>&!1vO=NSO6c8rbbMd%oSt5XCx1jVhcF^eNOb}Qx5ba zg)ul!cUoZrw*K)Ox4W8}grJ}tV03mwnV66;Hl;;-CT#Fry$AAms;McPaCrqFjLJT( zqe@G&f&G15^aP04)sWHEb}W+N;xUo$@2wa40Is9+?6lU}))oznWRfS-Q&S^mnt83p zOXG!xgP#$@*v)(D{@jME`nX|K9TJb8CD17wcn=FFiZVlO#xL-430&Olk!RYg@^|J6_SvbL)9l zU~3=pAAES?fDgy%)5_2y6Zz;Q**s5^ScFM~kMK1~-#SATb3ie$@$mG{#bzBoCrLE~ zND}Prt-tG*=}S*Yr~>g44!4;o_Qb>x^4X4amm=IU5&W7!?+~@yT(HZ7)U5bpahbc(5o|D^Z5 zg+_PEEeG(K;j3{{2waqx)ZUjD-TCsi7c#HtWXpW8yP%Tt69qem7rD7N!n4_2m z92oKv(%dW#v&+yCFxO2UymYuSvNAI8bF_^E2Gh6a+K9jv0!RdTAYK=R*+#0FW6o!1 zCR7p)g3x*^9rYOxg=t;j?|}vI8qg!#dwMVdwCx4~>qxEw9w10ofQh~u_-iV3;y>Bj zo06887z~P0z$wu|m>F78!MlHOa5JgVV_jENTs#kCpKec|z8~@ID_s2=HNV67GT?H$ zbF!ZD$2_sF%fH3*JqBWiQ_j8*nEs3a@FfHWjxgye=>2;haL0d@kr55kD)Nhp^8C+_ zc6WE5oAHE!xD;G%NNCUJM03G#sbhTnT1v{!(>nlx-T)*E>=%%p5+OKbNp&X=4WLsN zadP7Ev*ldA;IK5RxR~SNbPW#t(TDo_Fo5@ARpLTI&_TXC56B|Ybm4Swr&&s>ZV*VC z5P(+0FWmrBCb@p?>$5`e0Zzj?$ClVn5n4P4zMjV7SGttsy@A&ZLwS0Yyc{LBQ#_%AtlkT#kcDZ`6oEm|a#zzX~(mQh|Ci zzSh{H!Sh53cQl&T->9oG&XA;8W@Oz zxzZKXFH2?*b;bnrbakl^>Lw;8r&qvl;X|Yj4i4@Mz$lh`Oh>;h!WbW4U3e>kDbLBr z-`Ip#iTr}+ksyv_DM-=^C#BC%VefFfG4cdBL8;VIlfK)bz7-$RSHL)VEaYrU5FcC>f#ZPx{ zgZTS&`uN1eawY5(0&8 z*bCSY;7x>y0P`yJtgpQwJa6Yy4-KqnONA*b!_^K*7cfeg3zI794$4I#eHvd4Z=WN1 z9UW@T3}v{_YYpFSv+s6eMo?QIRlY7YjHHnnBPFg?Fyfi7 zfjMw6PJ!g6=fSDp=4=Zs4-e1USP>D7jDQw~Hgvcd9zA-*$Ip+Pv4VV1Oz@4(S_SSC zSR%mBNcO69n<>_rabMRZt*Xwd22+BvFNZpMa5});L2mWS+mUip5pZvS^yE+Qs{5YU z&xSoBvyZ7E^x}R%9G+&B58)tEcuA7M+6Gx_lS%0YuHMdMR_8Zt>Wr1b`0qVXud9qHI zCl#c$w6y8Ciw9B@Q`Hf>hXfs^2FyTcHs09Bw$@>(l_1d^_{=49u=4U@n2rm6=Py9; zU)0szMhVlPKlAH=vmYi@eN0|4(h!UbeBj- zONb&Nf*`Ggg8cUT{l4cu_g??;@j>1=?>YPIv)5j0O<5YG#m3TsaUS@L_ob55eU!4o z$@u!ODXXhP>k09p2AL&&N=bW2h}GU7irEAmP3WlSxM_{S>7MZuNKbxo$eowBJhJs_ znMlFXJyb6GTuP#4wq52z;6MJVc1&eU(#j2ir$!B5YJm)C4_V^;rj(~Hg7P%1wV=IQ5`Ke$-s`V!^1@*P%JBof;*xEL&OmyPKZh zo;>H0E;^o_Tc@o{O&}q@6E^nN$xCRTk#9_1cbr1jZy?mUg|@Sssf3Mo{>yx0=P){RkR0 z8$}-WoLHe(VM1-~C4}*x8EM}A;p3G@P2R=5-S6!p8ye!ycTG?8f}c%g?7TD2%%aT3#{NQ+W68-Qe(W!B}}zRO-ggG!SvBCTiS2%dM<3>ZRQ1Wu7g{ z&emJ{VYnVzF9H{$P7VHBi3ml?7U8R_$(r`>T`%tWvom!DkM973K>PHxUWbjD{>a#- z7@J;2mn$YEL*wJuBIqP{uHIVv(i@V$NH;O@Oh9~)5{o$$6Y}CRo5jCj8QOYfH&y*I z%(Ne2H&lwP)UPW>q?riq?XR{%eN$KY{$mMWH(MZ6&aRocbgI@YwuW*?b5)Z$e|mOj z-CW7e(XoPu38N0_{_Hu(@#^Y6t7YJ_vE;|hIzHEyh)a$Vz5HOtm{j}cI2vh0^YKN3 zM&mIYk;AOcxTUX%F_x!L&ddk52|-QV|CdhLTc?nX4g2&z4+L?k$jlXFOYtaJux}4n z$}BAfOp&!(Iwd?D1uCo|L?Wi4!5fmnu(qBO=*^*&sn!NoKn5HDt_cd-Sa(D^+f7zb z?X0G0M==wPkgFM*9>h!Vy$6*TS+^MxD5cSeiguQ;=H-v0{_bc|z8naR8*qv2w4oL~ zvZg&@MMzBKJ|#qe1?tup!xgu&zi2X4S9zhW?R96=s1h>EyIkTy(;n4sn78Xia^Sa;Ts zLYRc~&b!a2MLiL5oAq9V9E4jgIcT9bLio3sfQH6N;7gHFQN;mKQt|!5Pi?*K#qGi7 zW?JnR*|ksKgKMSC>_X-7Pzo>Xjlol4)oo1KV#w=uCQ+3@`08tk_%bA929r9C7xSykdt$_w*>Pb1C%tT0A)PT4H`-)}*n+(`H{Npw}aGB%ioaqUgVw%>p9O2=DyPl(cJDpX=4@X37%L%-Yu5>@EhQ zT8Oe}FWdQ>%e$LDjy+wv#3uR}a1lC?Q0Pgms_rV0n?d!aRE;tzYymcIpu9RgHyB}IwdJ-9;kA=jd z4so|T*H~DSW_yxYZY~QI_-xKStf_SdjZ8M}jC7qSW{hhV91+;kinX({%HQ{hw1gb{ zSxVCkfs8}Eg`%mc{^_%4#H~Lc`Z!xZ)m_qlscqo*1y}jag95Cf!c)e@XgKbKS_HnJ zWln%?L>0Y=e2Bs;WSE|wQzE6+uV2%cRHe6m>(&;RaD27(=j&;P4QNAPhMFPC`BF33 zv5ov_00NP;YlwZYQ-p^50TitkaQOR<)0gEi3fk9c$xnKaYigL7FbfJ6=wy(R4dfJQ zKAwE@x3FQY0KPv1izF3L+gnFGBYN`b+`L`lMn_HM{S)(t{i7Tprjy82#{dl&YmlgP z@55Ywr4E|?KhfO8giKKIyy0zI^9=BLe|Kl+=RdpA>qfa=f!Eu^Z$lZK8gd6%Z7i%r zmlG*EO3ud=8Yv>9_OID^F)dhgP+Ymfe!*$tp7E{JnZDFxOJl`?QSKisGd^6q^Fvx35UdMK-gQpaDp*-37$%o7E?jyfPjdLT6dXY>0VyM_*3+zYaik*! zZ@~WF>#;Mqaex0FGy7vw-^T0FITI64kPln zw@ds72Rk6u&binxiXF%(o}?o%RH`5W*04%m@bo1&> z%ICxk)y$yAN{)!@c&@yP|HERlw;^U+>v8I4i98r%II5R| z1thjl05Ba1c`JmjnBnE+FZH5Wtk~@28v#z!B8vWWwT^L%YgkA_M)KT2%$yRIqMp!y zc0wqP@TW*XZ=ddM9-8($zn61BE0+@rnufO(dUig@sE9il&}+V^V+W>#a4|1sgfuG1 zaXit85`lKu_vQ!;dwV~_bF58FYc`|=wee>dkZ)sN?euMtUAQUH=JGgu zuh*n-j(9GW18Nzt-vnOusJJftn}c(?1r{iL^CUe*B2TJj?97bP?6+ShU8Vzo@RbKm zRGYBbS;|Rbms!*^(6&-82O^N{YhLP3Fc9g27$Oe&8i>5)C0;gAF`=I?)BhzHYyMP?SX)7shF&rC{m3ZXhX&x789ux9!MS90=I>hmwP;Mk9* zN5r5m`aW34x|drm_AF1nq1_AM6|=}26OwKW5boSrU7VRIV-nIn#V~d#?{2W*}l@JPEgg7B`x} zL)C6(E{^clrzfic-$IR*9+Bzi{c7zbe1%$U^6DU(D1+>9V@0VXxa>u0Q3<7Hba3$E z1<$ARV@Joi zcWq%V(ATx*fyIxi!XRrqj`g8n1E&`C>`fjS9A&Xu9&Mr)O(E3XFIR>g6o??lVT)qD zSrV$k1u4Rlgl(*)O?-i%5JBAelR2Q8RHP()LOT8J{V$rtWnBBb?eL=-$b}`Oq;U80 z=5A-eX(+t$fi;AnOn-^YvF;zt;QYV~*dZH)%QLUQWO7RR%(wX-R)>drc>qQM4_2|J zrr~yn&p<}^-tX~SOQXbNQ(269r9(9H_z`G0*y!T(VYxZ|sZwYVhNYq5C+p3;%NrX@ zkBf>(L4t!((%}{1g0+K;Wp;)+83tL!+wK<+U2 zd4DW_=GS_>8wo5HBe*1msuiKr-YPMR5CNsAG`We#oqTaThF$k zIk;qS&5tV6$X*+rKg+F@k(s%KM%}el>Vg@!&UP1$cHrL-^mm(DAM~p*w$fJPqlBv~>nTA$x_5{pQ5K`M4pVO|z`6c^9Bx zBqWP+J!U*v*E-+|W<$Ql3+^9l>QzN~`6>YcD~j}VMcoDc zIqoQ2IPf&D0#l5RFN5st*@Uf!5Wygy9fWXsTF1Mff(Eh_D{G4{owlI&4~;|Db1!b} z%YzcFy#HHmBH_|FD~Qc?Ryo@;p77)O@chIb5G>%3+tIgk(91_*xY^VKv+(-iG?RFk z)hMWHpk5BN_ofU}cWvwk++Q>O9W+Tv?~$2>3Bn1e7>v^5R6DcGn=FeFXSjB0xBJ87P!S`WUxItI%I=~LY3Yonl~lRtX8eCi7xHz z_gv5QKyVMAT`dktJ2IFU<<3*&(2N)M(t=Mt9j$v3S(GOvUo$&7i%!eQnhHE^lJQg5 z?8D>q-1}m20@v(`EFdWhqAL zeeh?n3Y-7C;~W7Hsq&d3|FTBq7T}0!C305RF%o(iSne~%#uh@m%o%{J85l2+4GmdX zO^C~Jj^H9WvtM4ud;Z&Pw&b{AHT58_yxiV=p(!yjU1V1+*W=qFq1h}3SxK~-Zuh;$p1wkuG#qG5{q`Qi}5T~=10;lw?s&kO+RA1i%~ z(E`8*Sob0)O)G(hdNN>B7484aI2e+pwy(`fE}!@4KnW(RBkIZJ5ZEHrU@eNSWBr+- z^jGZs(agKMJ6mLT)3>zWqN?xkD|zNWI)_+-M*9;?+LM)yaW<)E#in8tZ{OZ!gb6S{JOgZ(Bua`Oy}Wj$x9E`AvEt|3N79c znzcldV8b6_AZRGbZrVXTkB+Y?s@(cPvg`b|-$Yp}b4kgHh(f-ipbq3CAQN>Fyg6xk z>46z={Lz8CWS!TWyO1bEGU+0xd_j%Rt>Uiq2gz9~ly5`^)YQ6zm2Z@*Mhz^gK%OvO z67^froz$F`;%FhoJ~HxIFnp~ZlWzq~930#IRXeL%7arDm=7zq|(pvGZHnX&(YHJhA z2|TKVqW|%^c?ogXY2}X2LwYXh=v)|S{~#FYTg4_^*1wi?&YsI{6Q{ZCU3A$`U7g90 zqxmEYb!KjE@cZ|vQ00H4H*YATt^E@64^=eHFV#2qD3YqM-3v5;gSa31f0FzAec*^j zD{VP+;AmYQlJ|5Aw^}$lK%yb?Py^lI0fTpZJr(QrDO=S=_WqfYgYwwedtvp>)86am_x2l9;2inq4=t>c?Z#rm-zOlf z4Q6>mHx)A$YX#*kDkw^c+)tto3xH|^E{?ZYB)zb>I7-S<9uC8A0=ULaULaKk8+Gyc zcpPlu4cqC{$_G8Qe+t~FG@ z>i_{JywH&{U7;R*E$&eiz@WnJ00wk3~CWW4kMnYTtU zZx2=o`ZV{|z6W(Cjg-2R(%!ty+fXK9|UWxlsk zSu|4qg*oGzkv9Lj`3~jqKa598FNvg;atL{DyI{);lfw6 z`~NNm{9#~b{+*GsX#JI5OKWDzmD1{`v0RZwAR81YI-ors{y9Z$Js4!9ue|qH?j-*V z%dg*I>h%-_^Q*fnP;`QWTyzAz=hxIxeHE1;s39t!PM9AhHn)lg5eQOMuDii7a*}q+ zd~x_EJwy3qx~~yqjl`*(2*sUMN0iowIgu5R8&dTDB_7t?%riWq&!SgaC#3V(SLu6y zW#^ar59O{F0$7!S*4EiCE`zZ=l|bXh+^t~$&og}3J$rHMG8|vfwdutB!r*`tYu&{J zTIf*ThyXvbvk=Y=PKaS}T5$Mf>3{d`s<7HM?<%%;an+?BB!;{LEO1ykocXN!5%ksD z9hfq&!+q0V1gA=zfb0=Tl|>ZZjlNZYbA8#H!a7I8Thjr}>KcNe4kE)X>&A)_F}wPm zm4YdXWva@r{c}2-#A&<%UyPrCgY_J)Yqv!HYqhIf*eUH-9`d}UJsng)e$%?8mOh=B zm`H0h?iCr`KoM>^ogmvNz_0<1+h(k)*U-eXOKIV+WBxRxQ}2WG53l7+i0W*D{4C~A@HaQMxAoN?{`vE%tjvz4eBuccKQ>Z*@R<{pGfkS-V?WSGr?wtJQ-cQ_5Ug0R`7}9cxxcmG=I#!(Z^ciQj!+ELPFfG#`bI@T&r1WS9z5wCKwV}weSyqK z1c6En-hdghZ!h2zPQ0~ehW7$fCVDV$_}m=G2g(58WY7+UGj}le*qYDD$!Qg*ImJZv z=krN2w9CF@Hxi%61KX%%~Yz{j3Fo&ss1~1+#{0s(ueV=PRq4DA+7Jx+nyl~LQaZy5I6RdE6RBHv}i;yGXFKD7w64|n6 z#74Hkv^BPMax(oFC@Lxn{u0VYM%8Uq@$pA&dtfDj1LA2`em*7eKWjY~=K#cJ?E&HB z-*RzZ6~hfi3k=T!g`4jB)x7!7pDYNJESQ*>rqv7_+k1Mzk(>^w$=6(5#Nb|=A7s9sDGGr5Q6TrTpR5oZ zE4md5Um00M+uuL5M>3wAzT^Te0mdK`{anU17MSCprc{L8<@YlJ*BMJVOn}3Tq{Ap0 z-o69sX~>YHjNjTZYNyMRI6JRy)vvOE;4LXkL_4rhKw27L?vtV5l~`|5Vi3%4f3RX6 zKdKCUX#l~BM7!%s$;ru`GcH2`_nyz}>i;(MfNDWeO^b0$*ltc&MGvES1eugXzVio=g=l>nG z;0I_T2^5e1_rI)Foumd0;z-!Ws@nOFvUlMMEQENW>>JY3(oPY|)5`0}JM$tB3%{ZF w@F_If{GSl`|6WWP%^$zY|DOwwb|f89_L85hTh&O5L%|<4Rc%}e_D;zE05lyqPyhe` literal 0 HcmV?d00001 diff --git a/help/html/userTimeline_8h_source.html b/help/html/userTimeline_8h_source.html new file mode 100644 index 0000000..5dab264 --- /dev/null +++ b/help/html/userTimeline_8h_source.html @@ -0,0 +1,113 @@ + + + + + + + +CocoaTweet: src/cocoatweet/api/status/userTimeline.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      userTimeline.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_API_STATUS_USERTIMELINE_H_
      +
      2 #define COCOATWEET_API_STATUS_USERTIMELINE_H_
      +
      3 
      + + +
      6 #include <vector>
      +
      7 #include <utility>
      +
      8 #include <memory>
      +
      9 
      +
      10 namespace CocoaTweet::API::Statuses {
      + +
      13 public:
      +
      15  UserTimeline();
      +
      16 
      +
      19  void screenName(const std::string& _screenName);
      +
      20 
      +
      24  std::vector<CocoaTweet::API::Model::Tweet> process(
      +
      25  std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
      +
      26 
      +
      27 private:
      +
      28  std::string status_;
      +
      29 };
      +
      30 } // namespace CocoaTweet::API::Statuses
      +
      31 
      +
      32 #endif
      +
      + + +
      UserTimeline()
      primary constructor
      Definition: userTimeline.cc:6
      +
      class for using statuses/user_timeline endpoint
      Definition: userTimeline.h:12
      +
      class for Send request with POST method
      Definition: httpGet.h:10
      +
      void screenName(const std::string &_screenName)
      set screen name to get timeline
      Definition: userTimeline.cc:11
      +
      std::vector< CocoaTweet::API::Model::Tweet > process(std::weak_ptr< CocoaTweet::OAuth::OAuth1 > _oauth)
      process request for endpoint
      Definition: userTimeline.cc:15
      +
      Definition: destroy.cc:4
      + + + + diff --git a/help/html/util_8cc.html b/help/html/util_8cc.html new file mode 100644 index 0000000..5422a81 --- /dev/null +++ b/help/html/util_8cc.html @@ -0,0 +1,115 @@ + + + + + + + +CocoaTweet: src/cocoatweet/util/util.cc File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      util.cc File Reference
      +
      +
      +
      #include "cocoatweet/util/util.h"
      +#include <cctype>
      +#include <iomanip>
      +
      +Include dependency graph for util.cc:
      +
      +
      + + + + + + + + + +
      +
      + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Util
       
      + + + + + +

      +Functions

      std::string CocoaTweet::Util::urlEncode (const std::string &_str)
       
      std::string CocoaTweet::Util::join (const std::vector< std::string > _vec, const std::string &_delim)
       
      +
      + + + + diff --git a/help/html/util_8cc__incl.map b/help/html/util_8cc__incl.map new file mode 100644 index 0000000..ec6a21d --- /dev/null +++ b/help/html/util_8cc__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/help/html/util_8cc__incl.md5 b/help/html/util_8cc__incl.md5 new file mode 100644 index 0000000..68ace1f --- /dev/null +++ b/help/html/util_8cc__incl.md5 @@ -0,0 +1 @@ +3922e1bf7ca1447c9244afe1dffe6c1f \ No newline at end of file diff --git a/help/html/util_8cc__incl.png b/help/html/util_8cc__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0b18ab59bc21667a18525f6f39af7e0ebb6a0b GIT binary patch literal 11342 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 literal 0 HcmV?d00001 diff --git a/help/html/util_8h.html b/help/html/util_8h.html new file mode 100644 index 0000000..0dcb8da --- /dev/null +++ b/help/html/util_8h.html @@ -0,0 +1,129 @@ + + + + + + + +CocoaTweet: src/cocoatweet/util/util.h File Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      + +
      +
      util.h File Reference
      +
      +
      +
      #include <vector>
      +#include <string>
      +#include <sstream>
      +
      +Include dependency graph for util.h:
      +
      +
      + + + + + + +
      +
      +This graph shows which files directly or indirectly include this file:
      +
      +
      + + + + + + + + + + +
      +
      +

      Go to the source code of this file.

      + + + + + + +

      +Namespaces

       CocoaTweet
       
       CocoaTweet::Util
       
      + + + + + +

      +Functions

      std::string CocoaTweet::Util::urlEncode (const std::string &_str)
       
      std::string CocoaTweet::Util::join (const std::vector< std::string > _vec, const std::string &_delim)
       
      +
      + + + + diff --git a/help/html/util_8h__dep__incl.map b/help/html/util_8h__dep__incl.map new file mode 100644 index 0000000..7b5ceb6 --- /dev/null +++ b/help/html/util_8h__dep__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/help/html/util_8h__dep__incl.md5 b/help/html/util_8h__dep__incl.md5 new file mode 100644 index 0000000..e71eca8 --- /dev/null +++ b/help/html/util_8h__dep__incl.md5 @@ -0,0 +1 @@ +1834c1155d9a4ba3a9914a01c1dee097 \ No newline at end of file diff --git a/help/html/util_8h__dep__incl.png b/help/html/util_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..337ac494bf5cc5eb5cdad1bc322e412bd5d2da0b GIT binary patch literal 21636 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 literal 0 HcmV?d00001 diff --git a/help/html/util_8h__incl.map b/help/html/util_8h__incl.map new file mode 100644 index 0000000..94f7e73 --- /dev/null +++ b/help/html/util_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/help/html/util_8h__incl.md5 b/help/html/util_8h__incl.md5 new file mode 100644 index 0000000..48ddf92 --- /dev/null +++ b/help/html/util_8h__incl.md5 @@ -0,0 +1 @@ +020a174cd31d85b1e2a8568690961306 \ No newline at end of file diff --git a/help/html/util_8h__incl.png b/help/html/util_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..08715faa21fe519ba596bed3f1ae82a37f86be3c GIT binary patch literal 6634 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 + + + + + + +CocoaTweet: src/cocoatweet/util/util.h Source File + + + + + + + + + +
      +
      + + + + + + +
      +
      CocoaTweet +
      +
      +
      + + + + + + + + +
      +
      + + +
      + +
      + + +
      +
      +
      +
      util.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef COCOATWEET_UTIL_UTIL_H_
      +
      2 #define COCOATWEET_UTIL_UTIL_H_
      +
      3 
      +
      4 #include <vector>
      +
      5 #include <string>
      +
      6 #include <sstream>
      +
      7 
      +
      8 namespace CocoaTweet::Util {
      +
      9 std::string urlEncode(const std::string& _str);
      +
      10 std::string join(const std::vector<std::string> _vec, const std::string& _delim);
      +
      11 } // namespace CocoaTweet::Util
      +
      12 
      +
      13 #endif
      +
      +
      Definition: util.cc:5
      +
      std::string join(const std::vector< std::string > _vec, const std::string &_delim)
      Definition: util.cc:22
      +
      std::string urlEncode(const std::string &_str)
      Definition: util.cc:6
      + + + + diff --git a/src/cocoatweet/api/api.cc b/src/cocoatweet/api/api.cc index af529c1..06be17e 100644 --- a/src/cocoatweet/api/api.cc +++ b/src/cocoatweet/api/api.cc @@ -9,6 +9,10 @@ API::API(CocoaTweet::OAuth::Key _key) { directMessage_ = DirectMessages::DirectMessage(oauth_); } +const std::string& API::generateBearerToken() const{ + return oauth_->generateBearerToken(); +} + Statuses::Status API::status() const { return status_; } diff --git a/src/cocoatweet/api/api.h b/src/cocoatweet/api/api.h index 0366517..62ab2ff 100644 --- a/src/cocoatweet/api/api.h +++ b/src/cocoatweet/api/api.h @@ -26,6 +26,7 @@ public: Medias::Media media() const; DirectMessages::DirectMessage directMessage() const; + const std::string& generateBearerToken() const; private: Statuses::Status status_; diff --git a/src/cocoatweet/api/interface/httpGet.cc b/src/cocoatweet/api/interface/httpGet.cc index f1f26db..fdd4f96 100644 --- a/src/cocoatweet/api/interface/httpGet.cc +++ b/src/cocoatweet/api/interface/httpGet.cc @@ -1,5 +1,12 @@ #include #include "cocoatweet/util/util.h" +#include +#include +#include +#include +#include +#include +#include "nlohmann/json.hpp" #include #include #include @@ -20,19 +27,36 @@ void HttpGet::process(std::weak_ptr _oauth, // エンドポイントへのパラメータにOAuthパラメータを付加して署名作成 auto oauth = _oauth.lock(); - auto oauthParam = oauth->oauthParam(); - auto sigingParam = oauthParam; + // auto oauthParam = oauth->oauthParam(); + // auto sigingParam = oauthParam; + // if (contentType_ == "application/x-www-form-urlencoded") { + // for (const auto [k, v] : bodyParam_) { + // sigingParam.insert_or_assign(k, v); + // } + // } + + // auto signature = oauth->signature(sigingParam, "GET", url_); + + // // 作成した署名をエンドポイントへのパラメータ及びOAuthパラメータに登録 + // oauthParam.merge(signature); + + + // // ヘッダの構築 + // std::string oauthHeader = "authorization: OAuth "; + // { + // std::vector tmp; + // for (const auto& [key, value] : oauthParam) { + // tmp.push_back(key + "=" + CocoaTweet::Util::urlEncode(value)); + // } + // oauthHeader += CocoaTweet::Util::join(tmp, ","); + // } + auto oauthHeader = std::string(); if (contentType_ == "application/x-www-form-urlencoded") { - for (const auto [k, v] : bodyParam_) { - sigingParam.insert_or_assign(k, v); - } + oauthHeader = oauth->calculateAuthHeader(bodyParam_, "GET", url_); + }else{ + oauthHeader = oauth->calculateAuthHeader({}, "GET", url_); } - auto signature = oauth->signature(sigingParam, "GET", url_); - - // 作成した署名をエンドポイントへのパラメータ及びOAuthパラメータに登録 - oauthParam.merge(signature); - // URLの構築 { std::vector tmp; @@ -42,16 +66,6 @@ void HttpGet::process(std::weak_ptr _oauth, url_ += std::string("?" + CocoaTweet::Util::join(tmp, "&")); } - // ヘッダの構築 - std::string oauthHeader = "authorization: OAuth "; - { - std::vector tmp; - for (const auto& [key, value] : oauthParam) { - tmp.push_back(key + "=" + CocoaTweet::Util::urlEncode(value)); - } - oauthHeader += CocoaTweet::Util::join(tmp, ","); - } - // do post CURL* curl; CURLcode res; @@ -91,6 +105,33 @@ void HttpGet::process(std::weak_ptr _oauth, exit(1); } +std::cout << rcv << std::endl; + if ((responseCode / 100) == 4) { + auto j = nlohmann::json::parse(rcv); + auto error = j["errors"][0]["code"]; + auto message = j["errors"][0]["message"]; + if (j.count("error") != 0) { + // この形式はエラーコードを持たないのでエラー種別が特定できない + throw new CocoaTweet::Exception::Exception(j["error"]); + } + if (error.get() == 144) { + throw CocoaTweet::Exception::TweetNotFoundException(message.get().c_str()); + } else if (error.get() == 32) { + throw CocoaTweet::Exception::AuthenticateException(message.get().c_str()); + }else if(error.get() == 89){ + throw CocoaTweet::Exception::TokenInvalidException(message.get().c_str()); + }else if (error.get() == 187) { + throw CocoaTweet::Exception::TweetDuplicateException(message.get().c_str()); + } else if (error.get() == 88 || error.get() == 185) { + throw CocoaTweet::Exception::RateLimitException(message.get().c_str()); + } else if (error.get() == 186) { + throw CocoaTweet::Exception::TweetTooLongException(message.get().c_str()); + } + else{ + + } + } + if (_callback) { _callback(rcv); } diff --git a/src/cocoatweet/api/interface/httpPost.cc b/src/cocoatweet/api/interface/httpPost.cc index 1d42587..409a5a7 100644 --- a/src/cocoatweet/api/interface/httpPost.cc +++ b/src/cocoatweet/api/interface/httpPost.cc @@ -5,6 +5,7 @@ #include #include #include +#include #include "nlohmann/json.hpp" #include #include @@ -125,6 +126,8 @@ void HttpPost::process(std::weak_ptr _oauth, throw CocoaTweet::Exception::TweetNotFoundException(message.get().c_str()); } else if (error.get() == 32) { throw CocoaTweet::Exception::AuthenticateException(message.get().c_str()); + }else if(error.get() == 89){ + throw CocoaTweet::Exception::TokenInvalidException(message.get().c_str()); } else if (error.get() == 187) { throw CocoaTweet::Exception::TweetDuplicateException(message.get().c_str()); } else if (error.get() == 88 || error.get() == 185) { diff --git a/src/cocoatweet/api/media/upload.cc b/src/cocoatweet/api/media/upload.cc index 43de855..16c3019 100644 --- a/src/cocoatweet/api/media/upload.cc +++ b/src/cocoatweet/api/media/upload.cc @@ -2,8 +2,6 @@ #include #include #include -#include - namespace CocoaTweet::API::Medias { const std::map Upload::mimeType = {{".jpg", "image/jpeg"}, {".jpeg", "image/jpeg"}, diff --git a/src/cocoatweet/api/model/tweet.cc b/src/cocoatweet/api/model/tweet.cc index 27064d0..20dab8b 100644 --- a/src/cocoatweet/api/model/tweet.cc +++ b/src/cocoatweet/api/model/tweet.cc @@ -3,7 +3,7 @@ namespace CocoaTweet::API::Model { Tweet Tweet::parse(const std::string& _json) { - auto j = nlohmann::json::parse(_json); + auto j = nlohmann::json::parse(_json); Tweet tweet; tweet.id(j["id_str"]); @@ -11,6 +11,8 @@ Tweet Tweet::parse(const std::string& _json) { tweet.text(j["text"]); tweet.source(j["source"]); + tweet.user(CocoaTweet::API::Model::User(j["user"].dump())); + return tweet; } @@ -29,16 +31,27 @@ void Tweet::source(const std::string _source) { source_ = _source; } +void Tweet::user(const CocoaTweet::API::Model::User _user) { + user_ = _user; +} + const std::string Tweet::id() const { return id_; } + const std::string Tweet::createdAt() const { return createdAt_; } + const std::string Tweet::text() const { return text_; } + const std::string Tweet::source() const { return source_; } + +const CocoaTweet::API::Model::User Tweet::user() const { + return user_; +} } // namespace CocoaTweet::API::Model diff --git a/src/cocoatweet/api/model/tweet.h b/src/cocoatweet/api/model/tweet.h index 8e16a5c..aed22fe 100644 --- a/src/cocoatweet/api/model/tweet.h +++ b/src/cocoatweet/api/model/tweet.h @@ -1,6 +1,7 @@ #ifndef COCOATWEET_API_MODEL_TWEET_H_ #define COCOATWEET_API_MODEL_TWEET_H_ +#include #include namespace CocoaTweet::API::Model { @@ -43,6 +44,8 @@ public: /// @param[out] none void source(const std::string _source); + void user(const CocoaTweet::API::Model::User _user); + /// @brief get tweet id /// @param[in] none /// @param[out] const std::string : tweet id @@ -63,11 +66,14 @@ public: /// @param[out] const std::string : source information const std::string source() const; + const CocoaTweet::API::Model::User user() const; + private: std::string id_; std::string createdAt_; std::string text_; std::string source_; + CocoaTweet::API::Model::User user_; }; } // namespace CocoaTweet::API::Model diff --git a/src/cocoatweet/api/model/user.cc b/src/cocoatweet/api/model/user.cc new file mode 100644 index 0000000..b187069 --- /dev/null +++ b/src/cocoatweet/api/model/user.cc @@ -0,0 +1,35 @@ +#include +#include "nlohmann/json.hpp" + +namespace CocoaTweet::API::Model { +CocoaTweet::API::Model::User User::parse(const std::string& _json) { + auto j = nlohmann::json::parse(_json); + User user; + + user.id(j["id_str"]); + return user; +} + +void User::id(const std::string& _id){ + id_ = _id; +} + +void User::name(const std::string& _name){ + name_ = _name; +} + +void User::screenName(const std::string& _screen){ + screenName_ = _screen; +} + +void User::location(const std::string& _location){ + location_ = _location; +} + +const std::string& User::id() const{ + return id_; +} + + + +} // namespace CocoaTweet::API::Model diff --git a/src/cocoatweet/api/model/user.h b/src/cocoatweet/api/model/user.h new file mode 100644 index 0000000..c7b11b8 --- /dev/null +++ b/src/cocoatweet/api/model/user.h @@ -0,0 +1,78 @@ +#ifndef COCOATWEET_API_MODEL_USER_H_ +#define COCOATWEET_API_MODEL_USER_H_ + +#include + +namespace CocoaTweet::API::Model { + +/// @brief data class for tweet object +class User final { +public: + /// @brief constructor + User() = default; + + /// @brief copy constructor + User(const User&) = default; + + /// @brief constructor for create object from json response + /// @param[in] const std::string& _json : received content from twitter endpoint + User(const std::string& _json) : User(User::parse(_json)) {} + + /// @brief response parser for user object + /// @param[in] const std::string& _json : received content from twitter endpoint + /// @param[out] CocoaTweet::API::Model::User + static User parse(const std::string& _json); + + void id(const std::string& _id); + void name(const std::string& _name); + void screenName(const std::string& _screen); + void location(const std::string& _location); + void url(const std::string& _url); + void description(const std::string& _description); + void protectedUser(const bool _protected); + void follower(const long _follower); + void follow(const long _follow); + void listed(const long _listed); + void favorite(const long _favorite); + void tweet(const long _tweet); + void createdAt(const std::string& _created); + void bannerUrl(const std::string& _banner); + void iconUrl(const std::string& _icon); + + + const std::string& id() const; + const std::string& name() const; + const std::string& screenName() const; + const std::string& location() const; + const std::string& url() const; + const std::string& description() const; + bool protectedUser() const; + long follower() const; + long follow() const; + long listed() const; + long favorite() const; + long tweet() const; + const std::string& created() const; + const std::string& banner() const; + const std::string& icon() const; + +private: + std::string id_; + std::string name_; + std::string screenName_; + std::string location_; + std::string url_; + std::string description_; + bool protectedUser_; + long follower_; + long follow_; + long listed_; + long favorite_; + long tweet_; + std::string createdAt_; + std::string bannerUrl_; + std::string iconUrl_; +}; +} + +#endif diff --git a/src/cocoatweet/api/status/retweet.cc b/src/cocoatweet/api/status/retweet.cc index 10203ce..32d34b5 100644 --- a/src/cocoatweet/api/status/retweet.cc +++ b/src/cocoatweet/api/status/retweet.cc @@ -1,5 +1,4 @@ #include -#include namespace CocoaTweet::API::Statuses { Retweet::Retweet() {} diff --git a/src/cocoatweet/api/status/unretweet.cc b/src/cocoatweet/api/status/unretweet.cc index 92378da..3d59158 100644 --- a/src/cocoatweet/api/status/unretweet.cc +++ b/src/cocoatweet/api/status/unretweet.cc @@ -1,5 +1,4 @@ #include -#include namespace CocoaTweet::API::Statuses { Unretweet::Unretweet() {} diff --git a/src/cocoatweet/exception/authenticateException.h b/src/cocoatweet/exception/authenticateException.h index 53f0a30..487a71f 100644 --- a/src/cocoatweet/exception/authenticateException.h +++ b/src/cocoatweet/exception/authenticateException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class AuthenticateException final : Exception { +class AuthenticateException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/exception/invalidParameterException.h b/src/cocoatweet/exception/invalidParameterException.h new file mode 100644 index 0000000..0b5ccbf --- /dev/null +++ b/src/cocoatweet/exception/invalidParameterException.h @@ -0,0 +1,12 @@ +#ifndef COCOATWEET_EXCEPTION_INVAILDPARAMETEREXCEPTION_H_ +#define COCOATWEET_EXCEPTION_INVAILDPARAMETEREXCEPTION_H_ + +#include + +namespace CocoaTweet::Exception { +class InvalidParameterException final : public Exception { + using Exception::Exception; +}; +} // namespace CocoaTweet::Exception + +#endif diff --git a/src/cocoatweet/exception/rateLimitException.h b/src/cocoatweet/exception/rateLimitException.h index 2021f49..6a9b41b 100644 --- a/src/cocoatweet/exception/rateLimitException.h +++ b/src/cocoatweet/exception/rateLimitException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class RateLimitException final : Exception { +class RateLimitException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/exception/tokenInvalidException.h b/src/cocoatweet/exception/tokenInvalidException.h new file mode 100644 index 0000000..bca2721 --- /dev/null +++ b/src/cocoatweet/exception/tokenInvalidException.h @@ -0,0 +1,12 @@ +#ifndef COCOATWEET_EXCEPTION_TOKENINVALIDEXCEPTION_H_ +#define COCOATWEET_EXCEPTION_TOKENINVALIDEXCEPTION_H_ + +#include + +namespace CocoaTweet::Exception { +class TokenInvalidException final : public Exception { + using Exception::Exception; +}; +} // namespace CocoaTweet::Exception + +#endif diff --git a/src/cocoatweet/exception/tweetDuplicateException.h b/src/cocoatweet/exception/tweetDuplicateException.h index 83a5433..8749926 100644 --- a/src/cocoatweet/exception/tweetDuplicateException.h +++ b/src/cocoatweet/exception/tweetDuplicateException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class TweetDuplicateException final : Exception { +class TweetDuplicateException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/exception/tweetNotFoundException.h b/src/cocoatweet/exception/tweetNotFoundException.h index 6c576ab..69a0091 100644 --- a/src/cocoatweet/exception/tweetNotFoundException.h +++ b/src/cocoatweet/exception/tweetNotFoundException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class TweetNotFoundException final : Exception { +class TweetNotFoundException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/exception/tweetTooLongException.h b/src/cocoatweet/exception/tweetTooLongException.h index 680bf1f..f522b88 100644 --- a/src/cocoatweet/exception/tweetTooLongException.h +++ b/src/cocoatweet/exception/tweetTooLongException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class TweetTooLongException final : Exception { +class TweetTooLongException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/exception/unsupportedMediaTypeException.h b/src/cocoatweet/exception/unsupportedMediaTypeException.h index 97bf57d..e071a68 100644 --- a/src/cocoatweet/exception/unsupportedMediaTypeException.h +++ b/src/cocoatweet/exception/unsupportedMediaTypeException.h @@ -4,7 +4,7 @@ #include namespace CocoaTweet::Exception { -class UnsupportedMediaTypeException final : Exception { +class UnsupportedMediaTypeException final : public Exception { using Exception::Exception; }; } // namespace CocoaTweet::Exception diff --git a/src/cocoatweet/oauth/key.cc b/src/cocoatweet/oauth/key.cc index 41685ac..ffbfc1a 100644 --- a/src/cocoatweet/oauth/key.cc +++ b/src/cocoatweet/oauth/key.cc @@ -2,6 +2,8 @@ #include "nlohmann/json.hpp" #include #include +#include + namespace CocoaTweet::OAuth { Key Key::fromJsonFile(const std::string _jsonFile) { @@ -9,7 +11,26 @@ Key Key::fromJsonFile(const std::string _jsonFile) { std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); auto j = nlohmann::json::parse(str); - return Key(j["consumer_key"], j["consumer_secret"], j["access_token"], - j["access_token_secret"]); + Key key; + if(j.contains("consumer_key")){ + key.consumerKey(j["consumer_key"].get()); + } + + + if(j.contains("consumer_secret")){ + key.consumerSecret(j["consumer_secret"].get()); + } + + + if(j.contains("access_token")){ + key.accessToken(j["access_token"].get()); + } + + + if(j.contains("access_token_secret")){ + key.accessTokenSecret(j["access_token_secret"].get()); + } + +return key; } } // namespace CocoaTweet::OAuth diff --git a/src/cocoatweet/oauth/key.h b/src/cocoatweet/oauth/key.h index 8d51002..0c5cbd8 100644 --- a/src/cocoatweet/oauth/key.h +++ b/src/cocoatweet/oauth/key.h @@ -6,10 +6,11 @@ namespace CocoaTweet::OAuth { class Key { - const std::string consumerKey_; - const std::string consumerSecret_; - const std::string accessToken_; - const std::string accessTokenSecret_; + std::string consumerKey_; + std::string consumerSecret_; + std::string accessToken_; + std::string accessTokenSecret_; + std::string bearerToken_; public: Key() : consumerKey_(""), consumerSecret_(""), accessToken_(""), accessTokenSecret_("") {} @@ -19,6 +20,27 @@ public: consumerSecret_(_consumerSecret), accessToken_(_accessToken), accessTokenSecret_(_accessTokenSecret) {} + Key(const std::string& _consumerKey, const std::string& _consumerSecret): consumerKey_(_consumerKey), consumerSecret_(_consumerSecret){} + + void consumerKey(const std::string& _consumerKey){ + consumerKey_ = _consumerKey; + } + + void consumerSecret(const std::string& _consumerSecret){ + consumerSecret_ = _consumerSecret; + } + + void accessToken(const std::string& _accessToken){ + accessToken_ = _accessToken; + } + + void accessTokenSecret(const std::string& _accessTokenSecret){ + accessTokenSecret_ = _accessTokenSecret; + } + + void bearerToken(const std::string& _bearer){ + bearerToken_ = _bearer; + } const std::string& consumerKey() const { return consumerKey_; } @@ -31,6 +53,11 @@ public: const std::string& accessTokenSecret() const { return accessTokenSecret_; } + + const std::string& bearerToken() const{ + return bearerToken_; + } + std::map noSecret() const { return std::map{{"oauth_consumer_key", consumerKey_}, {"oauth_token", accessToken_}}; diff --git a/src/cocoatweet/oauth/oauth.cc b/src/cocoatweet/oauth/oauth.cc index 8224e68..070af6b 100644 --- a/src/cocoatweet/oauth/oauth.cc +++ b/src/cocoatweet/oauth/oauth.cc @@ -7,17 +7,25 @@ #include #include #include +#include + +#include extern "C" { #include #include #include +#include } -namespace CocoaTweet::OAuth { -OAuth1::OAuth1() {} +#ifndef NDEBUG +#include +#endif -OAuth1::OAuth1(const Key _key) : key_(_key) {} +namespace CocoaTweet::OAuth { +OAuth1::OAuth1(): authType_(AuthType::OAuth) {} + +OAuth1::OAuth1(const Key _key) : key_(_key), authType_(AuthType::OAuth) {} std::map OAuth1::signature( const std::map& _param, const std::string& _method, @@ -38,6 +46,98 @@ std::map OAuth1::signature( return ret; } +const std::string OAuth1::calculateAuthHeader(std::map _bodyParam, const std::string& _method, const std::string& _url){ + if(authType_ == AuthType::Bearer){ + return "Authorization: Bearer " + key_.bearerToken(); + } + + auto authParam = oauthParam(); + auto sigingParam = authParam; + if (!_bodyParam.empty()) { + for (const auto [k, v] : _bodyParam) { + sigingParam.insert_or_assign(k, v); + } + } + + auto sign = signature(sigingParam, _method, _url); + + authParam.merge(sign); + // ヘッダの構築 + std::string oauthHeader = "authorization: OAuth "; + { + std::vector tmp; + for (const auto& [key, value] : authParam) { + tmp.push_back(key + "=" + CocoaTweet::Util::urlEncode(value)); + } + oauthHeader += CocoaTweet::Util::join(tmp, ","); + } + + return oauthHeader; +} + + + +const std::string& OAuth1::generateBearerToken(){ + auto signature = key_.consumerKey() + ":" + key_.consumerSecret(); + auto k64Signature = base64(signature); + auto authHeader = std::string("Authorization: Basic ") + k64Signature; + auto contentType = std::string("Content-Type: application/x-www-form-urlencoded;charset=UTF-8"); + auto url = std::string("https://api.twitter.com/oauth2/token"); + auto requestBody = std::string("grant_type=client_credentials"); + + // do post + CURL* curl; + CURLcode res; + std::string rcv; + long responseCode; + curl = curl_easy_init(); + if (curl) { + curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl, CURLOPT_POST, 1); + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, requestBody.c_str()); + curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, requestBody.length()); + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curlCallback_); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, (std::string*)&rcv); +#ifndef NDEBUG + std::cout << "requestBody : " << requestBody << std::endl; + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); +#endif + // Headerを保持するcurl_slist*を初期化 + struct curl_slist* headers = NULL; + // Authorizationをヘッダに追加 + headers = curl_slist_append(headers, authHeader.c_str()); + headers = curl_slist_append(headers, contentType.c_str()); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + res = curl_easy_perform(curl); + curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &responseCode); + curl_easy_cleanup(curl); + } + if (res != CURLE_OK) { + throw std::runtime_error(std::string("INTERNAL ERROR : curl(") + std::to_string(res) + ")"); + exit(1); + } + + + auto j = nlohmann::json::parse(rcv); + if ((responseCode / 100) == 4) { + auto error = j["errors"][0]["code"]; + auto message = j["errors"][0]["message"]; + if (j.count("error") != 0) { + // この形式はエラーコードを持たないのでエラー種別が特定できない + throw new CocoaTweet::Exception::Exception(j["error"]); + } + if (error.get() == 44) { + throw CocoaTweet::Exception::InvalidParameterException(message.get().c_str()); + } + } + + key_.bearerToken(j["access_token"]); + authType_ = AuthType::Bearer; + return key_.bearerToken(); + +} + const std::string OAuth1::nonce() const { std::random_device engine; std::string nonceTable = "abcdefghijklmnopqrstuvwxyz0123456789"; diff --git a/src/cocoatweet/oauth/oauth.h b/src/cocoatweet/oauth/oauth.h index 4761ee7..347dfb9 100644 --- a/src/cocoatweet/oauth/oauth.h +++ b/src/cocoatweet/oauth/oauth.h @@ -9,11 +9,22 @@ namespace CocoaTweet::OAuth { class OAuth1 { public: + + enum AuthType{ + OAuth, + Bearer + }; + OAuth1(); OAuth1(const Key _key); std::map signature(const std::map& _param, const std::string& _method, const std::string& _url); + + const std::string& generateBearerToken(); + const std::string calculateAuthHeader(std::map _bodyParam, const std::string& _method, const std::string& _url); + + const std::string nonce() const; const std::string timestamp() const; const std::string method() const; @@ -24,9 +35,16 @@ public: const std::string base64(const std::string& _raw); private: + AuthType authType_; Key key_; const std::string SIGNATURE_METHOD_ = "HMAC-SHA1"; const std::string OAUTH_VERSION_ = "1.0"; + static size_t curlCallback_(char* _ptr, size_t _size, size_t _nmemb, std::string* _stream) { + int realsize = _size * _nmemb; + _stream->append(_ptr, realsize); + return realsize; + } + }; } // namespace CocoaTweet::OAuth diff --git a/src/cocoatweet/util/util.cc b/src/cocoatweet/util/util.cc index 022a629..cb1ebfc 100644 --- a/src/cocoatweet/util/util.cc +++ b/src/cocoatweet/util/util.cc @@ -32,4 +32,5 @@ std::string join(const std::vector _vec, const std::string& _delim) return str; } + } // namespace CocoaTweet::Util diff --git a/src/main.cc b/src/main.cc index 61bb4e6..53ccdf7 100644 --- a/src/main.cc +++ b/src/main.cc @@ -3,6 +3,20 @@ #include #include +#include +#include +#include +#include + +#include +#include + + +bool starts_with(const std::string& s, const std::string& prefix) { + auto size = prefix.size(); + if (s.size() < size) return false; + return std::equal(std::begin(prefix), std::end(prefix), std::begin(s)); +} auto main() -> int { // Generate Key object @@ -16,14 +30,20 @@ auto main() -> int { // accessTokenSecret); // also can generate Key object from JSON file - // CocoaTweet::OAuth::Key key = CocoaTweet::OAuth::Key::fromJsonFile("api_key.json"); + CocoaTweet::OAuth::Key key = CocoaTweet::OAuth::Key::fromJsonFile("api_key.json"); + // auto oauth = CocoaTweet::OAuth::OAuth1(key); + // oauth.GenerateBearerToken(); + // std::cout << "sdfgwregfresgfresdwefgweragregreagretgreawgrt#$QTWREATGREWTGF$ERTF"; // Generate API Entry object using Key object - // CocoaTweet::API::API api(key); + CocoaTweet::API::API api(key); + // std::cout << api.generateBearerToken() << std::endl; // Now, you can use a twitter api // auto status = api.status().update("Hello Twitter World via Cocoa Twitter Library"); // api.favorite().create(status.id()); // api.favorite().destroy(status.id()); // api.status().destroy(status.id()); + auto timeline = api.status().userTimeline("milkcocoa0902"); + std::cout << timeline[0].user().id(); }
    7. +
      +
      README
      +
      +
      +

      https://jenkins.milkcocoa.info/job/CocoaTweet/job/master

      +

      +CocoaTweet

      +

      This is a library for using Twitter API from C++
      +

      +

      +Features

      +

      you can use these endpoint

        +
      • statuses/update
      • +
      • statuses/destroy/:id
      • +
      • statuses/retweet/:id
      • +
      • statuses/unretweet/:id
      • +
      • statuses/user_timeline
      • +
      • favorites/create
      • +
      • favorites/destroy
      • +
      • media/upload(support: jpg, jpeg, png, gif, mp4)
      • +
      • direct_messages/events/new (message_create)
      • +
      +

      +Dependency

      +
        +
      • libcurl(openssl version)
      • +
      • libssl
      • +
      +

      +Installation

      +

      +Ubuntu

      +
      # apt install clang cmake git libboost-dev libboost-test-dev libcurl4-openssl-dev libssl-dev nunja-build
      +
      $ git clone https://github.com/koron0902/CocoaTweet
      +
      $ cd CocoaTweet
      +
      $ mkdir build
      +
      $ cd build
      +
      $ cmake .. -G Ninja
      +
      $ ninja
      +

      +macOS

      +
      $ brew install cmake curl git ninja openssl pkg-config
      +
      $ git clone https://github.com/koron0902/CocoaTweet
      +
      $ cd CocoaTweet
      +
      $ mkdir build
      +
      $ cd build
      +
      $ cmake .. -G ninja -DOPENSSL_ROOT_DIR=<path/to/openssl/install> # CANNOT detect libssl automatically with homebrew and cmake bug
      +
      $ ninja
      +

      +Windows

      +
        +
      • Get MinGW32 from here(start download automatically at open link)
        +
      • +
      • Install mingw32-base-bin and mingw32-gcc-g+-bin via MinGW32
        +
      • +
      • Add PATH in System Environment
        +
      • +
      • Get libcurl-32bit and OpenSSL-32bit from here
        +
      • +
      • Get ninja from here and add PATH(Optional, but build faster)
        +
      • +
      +

      and then....

      $ git clone https://github.com/koron0902/CocoaTweet
      +
      $ cd CocoaTweet
      +
      $ mkdir build
      +
      $ cd build
      +
      +
      // if install ninja
      +
      $ cmake .. -G Ninja -DOPENSSL_ROOT_DIR=<path/to/openssl/install> -DCURL_ROOT_DIR=<path/to/curl/install> -DCMAKE_CXX_COMPILER=mingw32-g++ -DCMAKE_C_COMPILER=mingw32-gcc -DCMAKE_MAKE_PROGRAM=ninja
      +
      $ ninja
      +
      +
      // if NOT install ninja
      +
      $ cmake .. -G "MinGW Makefiles" -DOPENSSL_ROOT_DIR=<path/to/openssl/install> -DCURL_ROOT_DIR=<path/to/curl/install>
      +
      $ mingw32-make
      +

      +How

      +

      +API Key Registration

      +

      +1.Write Key into code

      +

      write api key into code and create Key object use it.
      +

      #include "cocoatweet/oauth/key.h"
      +
      +
      auto consumerKey = "your consumer key";
      +
      auto consumerSecret = "your consumer secret";
      +
      auto accessToken = "your access token";
      +
      auto accessTokenSecret = "your access token secret";
      +
      +
      CocoaTweet::OAuth::Key key(consumerKey, consumerSecret, accessToken, accessTokenSecret);
      +

      +2. Load Key from JSON file

      +

      prepare file which written 'api-key' with json format.
      +

      {
      +
      "consumer_key" : "your consumer key",
      +
      "consumer_secret" : "your consumer secret",
      +
      "access_token" : "your access token",
      +
      "access_token_secret" : "your access token secret"
      +
      }
      +

      then you can load api key from json file.
      +

      #include "cocoatweet/oauth/key.h"
      +
      +
      CocoaTweet::OAuth::Key key = CocoaTweet::OAuth::Key::fromJsonFile("api_key.json");
      +

      +Generate API object

      +

      generating API object with Key.
      + this object is API entry point.
      +

      +
      #include "cocoatweet/api/api.h"
      +
      +
      CocoaTweet::API::API api(key);
      +

      +Use API

      +
      // Post a tweet
      +
      api.status().Update("Hello, World!!\nTweet from Cocoa Twitter Library");
      +
      +
      // Upload a media
      +
      auto media1 = api.media().Upload("path/to/file/image.jpeg");
      +
      auto media2 = api.media().Upload("path/to/file/image2.png");
      +
      api.status().Update("Upload media from Cocoa Twitter Library", std::vector<std::string>{media1.id(), media2.id()});
      +
      +
      // Retweet a tweet
      +
      api.status().Retweet("tweet id");
      +
      +
      // un RT a tweet
      +
      api.status().Unretweet("tweet id")
      +
      +
      // Delete a tweet
      +
      api.status().Destroy("tweet id");
      +
      +
      // Fav. a tweet
      +
      api.favorite().Create("tweet id");
      +
      +
      // un Fav. a tweet
      +
      api.favorite().Destroy("tweet id");
      +
      +
      // get a timeline with screen name
      +
      auto timeline = api.status().UserTimeline("milkcocoa0902");
      +
      +
      // send a direct message
      +
      // you cau get recipient_id using https://idtwi.com/
      +
      api.directMessage().messageCreate("<recipient_id>", "Sent message using Cocoa Twitter Library");
      +

      +More Information

      +

      See API Document

      +

      donate by BitCoin : bc1qhpm8tmq72scqpl2ccemcf0ktfjg4rsu73e99tz
      +

      +
      +
      + + + + + + + + + + +
      + + + +
      + + + + + + + +
      + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + + + + + + + + +
      + + + +
      + + + +
      +