0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-06 02:28:38 +02:00
Commit graph

192 commits

Author SHA1 Message Date
Jason Volk ce609c00bf ircd::json: Fix comparison suite for vector::const_iterator. 2019-02-26 18:38:49 -08:00
Jason Volk dd42e04bb5 ircd::json::stack: Complete the move semantics for entities. 2019-02-26 15:27:03 -08:00
Jason Volk 7b226d5477 ircd::json: Use the ircd::spirit expectation_failure. 2019-02-26 10:58:05 -08:00
Jason Volk 940975b448 ircd::json::stack: Add checkpoint device. 2019-02-24 14:49:29 -08:00
Jason Volk ea4912d09a ircd::json::stack: Move final-flush to stack dtor rather than top value dtor. 2019-02-24 14:49:29 -08:00
Jason Volk d083d09e03 ircd::json: Relax assertion for array::empty() expectations. 2019-02-21 14:11:13 -08:00
Jason Volk 0cb852e732 ircd::json::array: Deinline various. 2019-02-21 14:00:00 -08:00
Jason Volk 4f721f48e5 Eliminate friend-injection. 2019-02-15 18:48:59 -08:00
Jason Volk 77bbdd9ebe ircd::json: Cleanup generator definition here; use better rule template. 2019-02-08 19:41:04 -08:00
Jason Volk 4c43b42f62 ircd::json::stack: Add overload for character append. 2019-02-07 08:19:28 -08:00
Jason Volk a36f375162 ircd::json: Max iov::max_size a constexpr. 2019-02-06 20:51:50 -08:00
Jason Volk 67d57ed2b6 ircd::json: Add a specific escape transform utility to interface. 2019-02-05 15:42:39 -08:00
Jason Volk d2380ecd36 ircd::json::stack: Add raw rewind method to interface. 2019-01-26 17:01:07 -08:00
Jason Volk f95ed6851b ircd::json: Deinline / defriend various json::object related. 2019-01-22 12:04:23 -08:00
Jason Volk 39dde3b323 ircd::json: deinline / defriend various json::member related. 2019-01-22 11:43:55 -08:00
Jason Volk 0d78a07f55 ircd::json: Minor reorg / cleanup; improve some thrown errors. 2019-01-22 11:05:30 -08:00
Jason Volk c9a4690d0c ircd::json: Add escape mapping; unify the string generators. 2019-01-21 15:34:57 -08:00
Jason Volk efc4831497 ircd::json: Improve conformity of various limitation constants. 2019-01-21 14:38:34 -08:00
Jason Volk 1198f7bc56 ircd::json::stack: Add object::append() convenience. 2019-01-10 16:58:44 -08:00
Jason Volk f9ec33916c ircd::json::stack: Add internal convenience member instance in the object and array class. 2019-01-08 15:53:41 -08:00
Jason Volk ce999b916a ircd::json::stack: Add chase device; add top() conveniences. 2019-01-08 11:06:00 -08:00
Jason Volk cf6fc070a7 ircd::json::stack: Keep state for member append; null member if no append. 2019-01-07 14:00:24 -08:00
Jason Volk 23b8874dc8 ircd::json::stack: Add a throw point before array append. 2019-01-03 15:54:53 -08:00
Jason Volk aa166d0c5d ircd::json::stack: Add noexcept for non-throwers called during stack unwinds. 2018-12-24 12:06:57 -08:00
Jason Volk 1ef9fa7676 ircd:json: De-template output grammar and assume iterator type; remove ostreamer. 2018-12-21 14:02:02 -08:00
Jason Volk d28c007f3c ircd::json: De-template input grammar and assume iterator type. 2018-12-21 14:00:54 -08:00
Jason Volk 2914487aad ircd::json: Add more explicit integer ctors to value; minor reorg ctors. 2018-11-04 18:00:24 -08:00
Jason Volk 5ac5a26f83 ircd::json: Conditions for which string grammar to invoke. 2018-09-05 23:23:26 -07:00
Jason Volk 8593d09c80 ircd::json: Enforce string type for member key on constructions. 2018-09-05 23:23:26 -07:00
Jason Volk cffe958d2b ircd::json: Add splice operations over json::strung. 2018-09-05 19:37:59 -07:00
Jason Volk d3493e5901 ircd::json: Split strung into file. 2018-09-05 18:45:25 -07:00
Jason Volk ace2a990b5 ircd::json: Change condition order. 2018-09-05 00:55:55 -07:00
Jason Volk 2424208a01 ircd::json: Reverse number's <alternative>. 2018-08-25 15:06:17 -07:00
Jason Volk 5146ddf67e ircd::json: Reduce iov interface; make conditional nodes evaluate conditionally. 2018-06-05 11:16:52 -07:00
Jason Volk 1a12b7331d ircd::json: Add conditioned-closure iov::add_if. 2018-06-04 23:17:29 -07:00
Jason Volk b69848b620 ircd::json: Add non-const iov::at(); minor cleanup. 2018-05-25 17:45:49 -07:00
Jason Volk f641076072 ircd::json: Antipodal undefined number; add assert that it's not zero. 2018-05-23 00:32:37 -07:00
Jason Volk 2b71ad8a04 ircd::json: Various cleanup. 2018-05-19 22:55:03 -07:00
Jason Volk 208a0198c0 ircd::json: Add specific extern undefined number. 2018-05-19 22:55:03 -07:00
Jason Volk ce6c4d357e ircd::json: Add flush watermarking to json::stack. 2018-05-07 23:48:31 -07:00
Jason Volk dd69acbad3 ircd::json::stack: Handle and properly propagate flusher exception out of stack. 2018-04-13 16:03:34 -07:00
Jason Volk 54e3719097 ircd::json: Consolidate authority for value defined() semantics. 2018-04-11 23:40:31 -07:00
Jason Volk 97ec3a62ab ircd::json: Fix bugs related to bool type. 2018-04-11 23:40:30 -07:00
Jason Volk baf8b192b1 ircd::json: Add the stack flusher semantic. 2018-04-10 19:32:56 -07:00
Jason Volk 9270937957 ircd::json: Simplify internal stack appending; pass expected append size. 2018-04-10 17:00:57 -07:00
Jason Volk b244959c35 ircd::json: Fix stack::object error. 2018-04-10 15:11:44 -07:00
Jason Volk bc4cb5cf8c ircd::json: Allow stack objects to have dtor called manually to close JSON. 2018-04-10 14:17:56 -07:00
Jason Volk 102ef2cb47 ircd::json: Object semantics for json::stack classes. 2018-04-10 13:48:14 -07:00
Jason Volk 93316f4692 ircd::json: Deinline various value related. 2018-04-04 22:54:58 -07:00
Jason Volk 6b5bfaf4c0 ircd::json: Minor cleanup of value serialize cattle grid. 2018-04-04 13:36:30 -07:00
Jason Volk 39da63828c ircd::json: Fix error in stack::~object. 2018-04-03 23:34:09 -07:00
Jason Volk db9e5f3b78 ircd::json: Improve validator grammar; clarify magic number. 2018-03-28 22:19:26 -07:00
Jason Volk 4a1ca1a525 ircd::json: Deinline output validators from template. 2018-03-28 22:17:09 -07:00
Jason Volk 7ad99ab387 ircd::json: Add why() to specifically return err str from valid(). 2018-03-28 22:17:09 -07:00
Jason Volk f01fdc0528 ircd::json: Return non-magic size; return stringify views of written data. 2018-03-27 21:44:01 -07:00
Jason Volk fb58bdf7de ircd::json: Granular stringify size assertions. 2018-03-27 21:44:01 -07:00
Jason Volk 49cb8fee1a ircd::json: Assertions for empty object iterator equality. 2018-03-27 21:44:01 -07:00
Jason Volk 1436ce36c1 ircd::json: Checkpoint output escape echo. 2018-03-27 21:44:01 -07:00
Jason Volk 968ef4115c ircd: Fix signage related. 2018-03-23 23:19:53 -07:00
Jason Volk 503ab33c38 ircd::json: Stricter escape conditions in string values. 2018-03-21 18:47:56 -07:00
Jason Volk df7b6f0ca9 ircd::json: Extend escaped unicode codepoint target. 2018-03-21 17:12:48 -07:00
Jason Volk 0e7ef9ef7d ircd::json: Fix value type LITERAL serialize/stringify consistency. 2018-03-21 17:12:48 -07:00
Jason Volk 502675e527 ircd::json: Minor cleanup of function static grammar type decls. 2018-03-21 17:12:48 -07:00
Jason Volk b949a1f3dc ircd::json: Checkpoint output grammar cleanup. 2018-03-21 17:12:48 -07:00
Jason Volk 99608b6bd2 ircd::json: Sort json::member vectors on stringify; w/ recursive reentrance. 2018-03-21 13:55:58 -07:00
Jason Volk 0483a381f8 ircd::json: Move member.h definitions to proper dependency ordered location. 2018-03-21 13:49:00 -07:00
Jason Volk df605d5646 ircd::json: Add functions to determine if object members are sorted. 2018-03-21 12:33:43 -07:00
Jason Volk d01aef9c35 ircd::json: Sort object members for stringify; recursive reentrant tls. 2018-03-21 01:09:41 -07:00
Jason Volk 615ccdc426 ircd::json: Hello, goodbye. 2018-03-20 23:51:14 -07:00
Jason Volk fef1c0b1b8 ircd::json: Add stringify vector of object::member. 2018-03-20 23:40:31 -07:00
Jason Volk 53a4fae580 ircd::json: Recursive output grammar. 2018-03-20 17:39:57 -07:00
Jason Volk 7a9bb89506 ircd::json: All output through the generator. 2018-03-20 17:39:57 -07:00
Jason Volk 09d971fa9e ircd::json: Make print_error an assertion; improve output validation messages. 2018-03-20 16:31:02 -07:00
Jason Volk b169ac1ce8 ircd::json: Whitespace monoid. 2018-03-18 21:17:54 -07:00
Jason Volk 931fe2439e ircd::json: Introduce the json::stack device. 2018-03-17 21:40:27 -07:00
Jason Volk 373a791158 ircd::json: Limit IOV size and take stringify buffer off-stack. 2018-03-17 11:53:21 -07:00
Jason Volk 30eb9178bd ircd: Consolidate spirit typedefs from all relevant units into spirit.h. 2018-03-17 10:44:40 -07:00
Jason Volk 78d5825315 ircd::json: Deeper copying on value copy ctor. 2018-03-12 11:14:11 -07:00
Jason Volk 8c02823d49 ircd: Tweak client error handling; fwddecl json::expectation_failure. 2018-03-08 07:40:41 -08:00
Jason Volk 2a7d7fa8c8 ircd::json: Value stringify semantic fixes. 2018-02-28 03:12:17 -08:00
Jason Volk 5a16a5ded9 ircd::json: Indicate static duration for these printer closures. 2018-02-18 22:35:35 -08:00
Jason Volk f8e5ca20d3 ircd::json: Remove the double-indirected member stringify. 2018-02-18 22:35:35 -08:00
Jason Volk 89ca9c9b24 ircd::json: Allow multiple attributes to the printer; simplify printer stack. 2018-02-18 22:35:27 -08:00
Jason Volk 42a22a6c79 ircd::json: Use consumption protocol for create_string closure. 2018-02-18 22:22:38 -08:00
Jason Volk e149f38d79 ircd::json: This has to be more relaxed for now here. 2018-02-17 16:17:59 -08:00
Jason Volk a66f0f9423 ircd::json: Update the generator grammar. 2018-02-13 21:14:52 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk a20e2c2319 ircd::json: Minor cleanup; note todo for exp. 2018-01-30 13:37:13 -08:00
Jason Volk 52ee74fe55 ircd::json: Place missing break; cleanup branches. 2018-01-26 19:27:12 -08:00
Jason Volk 429e5e1dcf ircd::json: Fix treatment of already stringified number. 2018-01-24 07:30:36 -08:00
Jason Volk ac27005cd7 ircd::json: Move these outside of value class. 2018-01-23 21:18:47 -08:00
Jason Volk 89ccdaa510 ircd::json: Proper throw when iov::at() key is not found. 2018-01-23 15:07:05 -08:00
Jason Volk 90ea730a04 ircd::json: Add recursion depth checking. 2018-01-18 06:05:56 -08:00
Jason Volk db24cef649 ircd::json: Minor cleanup/formatting. 2017-12-24 21:54:59 -07:00
Jason Volk 42246d8d5f ircd::json: Fix an empty string test. 2017-12-12 14:59:40 -07:00
Jason Volk 219d1ba245 ircd::json: Fix empty value stringification cases; Fix serialized number printing. 2017-11-30 11:23:47 -08:00
Jason Volk 2fa64e5b87 ircd::json: Update grammars: string escapes; generalize rules without raw[] if possible. 2017-11-30 11:23:47 -08:00
Jason Volk d354991c68 ircd::json: Stub a canonize() function which isn't complete yet. 2017-11-30 11:23:47 -08:00
Jason Volk 0e2fe01426 ircd::json: Add a validator suite. 2017-11-30 11:23:46 -08:00
Jason Volk 78e8a3668d ircd::json: Add missing stringify participant; minor cleanup. 2017-11-30 11:23:44 -08:00