0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-29 12:18:54 +02:00
Commit graph

277 commits

Author SHA1 Message Date
Jason Volk
005d1226b2 ircd::json: Consolidate type grammars; move outside functions; apply visibility. 2020-05-18 18:12:34 -07:00
Jason Volk
648d6e42b4 ircd::json: Inline vector::const_iterator related. 2020-05-18 18:12:34 -07:00
Jason Volk
d870385e6c ircd::json: Move vector static grammars outside function; apply visibility. 2020-05-18 18:12:34 -07:00
Jason Volk
1b90964630 ircd::json: Move array static grammars outside functions; apply visibility; remove branch. 2020-05-18 16:51:50 -07:00
Jason Volk
021e875b29 ircd::json: Reorg object grammars; fix visibility attribute; remove branch on begin(). 2020-05-18 15:28:35 -07:00
Jason Volk
a2f6acd73f ircd::json: Reduce branch mispredictions in linear_any alternative parser. 2020-05-13 05:01:22 -07:00
Jason Volk
226c8702e9 ircd::json: Additional internal visibilities. 2020-05-11 01:56:47 -07:00
Jason Volk
27146c471c ircd::json: Use rule::alias() for property name string. 2020-04-18 00:08:08 -07:00
Jason Volk
ca147df40f ircd::json: Cleanup visibility attributions for internal assets. 2020-04-17 20:17:33 -07:00
Jason Volk
f151eb2e6c ircd::json::object: Reuse/reorg member rule instance; out-of-line static durations. 2020-04-17 20:17:33 -07:00
Jason Volk
f288d4a816 ircd::json::stack::member: Fix critical assertion; use stack buffer. 2020-04-15 16:09:55 -07:00
Jason Volk
777ea844e7 ircd::json::stack::checkpoint: Trigger unforced flush from checkpoint dtor. 2020-04-15 16:09:55 -07:00
Jason Volk
79a4394626 ircd::json::stack: Simplify checkpoint interface controls. 2020-04-14 15:31:41 -07:00
Jason Volk
cb41660c94 ircd: Applications of loopless copy overload for single character. 2020-04-13 23:58:33 -07:00
Jason Volk
a7d9476a05 ircd::json: Split array::const_iterator from array header; inline comparison suite. 2020-04-03 11:02:49 -07:00
Jason Volk
c4d041d1ae ircd::json: Inline object::const_iterator comparison suite.
ircd::json: Split object::const_iterator from object header.

ircd::json: Split object::member related from object header.
2020-04-03 11:02:49 -07:00
Jason Volk
291de1a49b ircd::json: Increase the recursion limit. 2020-03-19 21:54:07 -07:00
Jason Volk
e6c9f757ce ircd::json: Add a members replacement tool. 2020-03-18 19:47:18 -07:00
Jason Volk
66c4ebfbb4 ircd::json: Add a member replacement tool. 2020-03-18 16:28:16 -07:00
Jason Volk
468b591186 ircd::json: Cast to enumeral for balanced ternary result to switch. 2020-03-11 15:12:37 -07:00
Jason Volk
43d608c8cb ircd::json: Increase recursion depth limit. 2020-03-01 11:26:12 -08:00
Jason Volk
901890d2af ircd::json: Remove branch in ~value(). 2020-02-28 15:11:39 -08:00
Jason Volk
4f0920d2ba ircd::json: Reorder value rule initialization. 2020-02-21 12:22:56 -08:00
Jason Volk
421af71f58 ircd::json: Reopen namespace with default visibility for clang. 2020-02-19 21:02:37 -08:00
Jason Volk
e1e7457e2d Revert "ircd::json: Printer operator template type conveyance; minor cleanup."
This reverts commit 60b0a5eab3.
2020-02-12 18:36:19 -08:00
Jason Volk
9dfcd63797 ircd::json: Add expect; minor rename. 2020-02-12 14:34:26 -08:00
Jason Volk
e17318a334 ircd::json: Remove const for any recursive repropagation. 2020-02-12 14:34:26 -08:00
Jason Volk
4007e4f2e2 ircd::json: Fix rule construction for clang. 2020-02-10 15:28:00 -08:00
Jason Volk
bb3c8dfb53 ircd::json: Fix output grammar rule constness for clang. 2020-02-10 15:05:35 -08:00
Jason Volk
60b0a5eab3 ircd::json: Printer operator template type conveyance; minor cleanup. 2020-02-10 14:35:17 -08:00
Jason Volk
04595054d8 ircd::json: Fix member constructor template. 2020-02-10 14:35:17 -08:00
Jason Volk
4c84df62e7 ircd::json: Simplify reference name. 2020-02-10 14:35:17 -08:00
Jason Volk
622a0fe7c1 ircd::json: Simplify/cleanup members stringify. 2020-02-09 16:28:11 -08:00
Jason Volk
ab6672877d ircd::json: Move max_string_size constant to header. 2020-02-09 14:54:38 -08:00
Jason Volk
b899a1dc24 ircd::json: Emit specific attributes for GCC only. 2020-02-07 12:53:02 -08:00
Jason Volk
a7e97f124e ircd::json: Fix value copy to closure. 2020-02-07 12:47:17 -08:00
Jason Volk
d512ef1006 ircd::json: Fix format string. 2020-02-07 12:45:09 -08:00
Jason Volk
d91b9d0aee ircd::json: Reorder alternative operands. 2020-01-17 17:26:23 -08:00
Jason Volk
f588dad9eb ircd::json: Fix lifetime dead store elimination; regression from df79d61 2019-12-04 23:28:29 -08:00
Jason Volk
875c0bce05 ircd::json: Add assertion for stack unwind. 2019-12-04 16:04:52 -08:00
Jason Volk
09e315a8f0 ircd::json::stack: Maintain enough space for JSON to close on all stack unwinds. 2019-12-01 21:37:54 -08:00
Jason Volk
66934f317a ircd::json::stack: Track and assert the running recursion level. 2019-12-01 21:37:22 -08:00
Jason Volk
2aaef63e04 ircd::json::stack: Fix missing move members. 2019-12-01 21:22:58 -08:00
Jason Volk
f86b129ea6 ircd::json::stack: Add class member counters; assertions; conditions. 2019-09-23 20:11:20 -07:00
Jason Volk
a8d9c78e12 ircd::json: Add comments and assertions in stack::append(). 2019-09-23 12:58:02 -07:00
Jason Volk
1f82e009b7 ircd::json: Deinline member ctor. 2019-09-13 16:32:26 -07:00
Jason Volk
bd1b060314 ircd::json: Split some print_error cases into print_panic; relax print_error; minor cleanup. 2019-09-09 19:03:23 -07:00
Jason Volk
c01a816582 ircd::json: Enforce max string size on stringify(value). 2019-09-08 19:58:58 -07:00
Jason Volk
a6eb3c28ff ircd::json: Enforce max string size on create_string(). 2019-09-08 19:58:58 -07:00
Jason Volk
f3845d9ed0 ircd::json: Minor cleanup / noexcept closures. 2019-08-26 11:36:20 -07:00
Jason Volk
b95a7a8a9e ircd::exception: Add hide_name construction overload to macro. 2019-08-26 11:10:30 -07:00
Jason Volk
af48bdfa6e ircd::json: Stub an unescape(). 2019-08-02 15:04:29 -07:00
Jason Volk
181ed12bd7 ircd::json: Add more escapes to map. 2019-08-02 15:04:28 -07:00
Jason Volk
7984f4bdee ircd::json: Require full range of control chars to be escaped. 2019-08-02 15:04:28 -07:00
Jason Volk
75927abb42 ircd::json: Restrict escaped unicodes to UTF-16 surrogates. 2019-08-02 15:04:28 -07:00
Jason Volk
de986d2272 ircd::json::stack: Make completed() return a string_view instead of const_buffer. 2019-07-30 12:26:26 -07:00
Jason Volk
b191b153e3 ircd::json: Add shortcut equality comparison for two serialized values. 2019-07-29 16:46:15 -07:00
Jason Volk
4d8d2a4dd7 ircd::json: Improve and inline value comparison operators. 2019-07-15 11:06:01 -07:00
Jason Volk
0344a12b40 ircd::json: Inline value constructors. 2019-07-15 11:06:01 -07:00
Jason Volk
94148ec80a ircd::json::stack: Use character appends where possible. 2019-07-08 06:03:20 -07:00
Jason Volk
d58e119f7b ircd::json: Synthesized repropagation of recursive grammars. 2019-06-24 04:41:06 -07:00
Jason Volk
abe9fed5fa ircd::json: Make grammar rules const if possible. 2019-06-24 03:52:44 -06:00
Jason Volk
cf3b1218c4 ircd: Misc fixes for clang. 2019-06-23 16:22:06 -06:00
Jason Volk
5bf62fc33f ircd: Degrade enum addressing for clang. 2019-06-23 07:37:23 -06:00
Jason Volk
cd45ef8aeb ircd::json: Fix comment. 2019-04-30 21:40:00 -07:00
Jason Volk
57d2cc9350 ircd::json: Fix and optimize for loss of type on member property names. 2019-04-24 21:03:41 -07:00
Jason Volk
a3a4741708 ircd::json: Simplify value move ctor. 2019-04-24 19:52:44 -07:00
Jason Volk
c45353efec ircd::json: Preserve string quotes for typed comparisons here. 2019-04-24 19:50:01 -07:00
Jason Volk
744438ec49 ircd: Precompile the spirit.h header. 2019-04-20 19:24:18 -07:00
Jason Volk
af1bd92b26 ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces. 2019-04-16 18:33:01 -07:00
Jason Volk
128fdfa8a3 ircd::json::stack: Improve active checkpoint invalidation related. 2019-03-30 14:58:34 -07:00
Jason Volk
9b2de5f4fc ircd::json::stack: Add conditional exception rollback toggle. 2019-03-30 14:35:48 -07:00
Jason Volk
f7fa89b061 ircd::json::stack: Alter checkpoint rollback() behavior to proactive. 2019-03-30 14:13:34 -07:00
Jason Volk
a9a6adf28d ircd::json::stack: Add checkpoint ctor option for initial commitment state. 2019-03-30 14:09:47 -07:00
Jason Volk
ee5e31e0bf ircd::json: Use strict type analysis for value constructions. 2019-03-28 21:50:08 -07:00
Jason Volk
f6f73e87cb ircd::json: Add strict check overload to type() suite. 2019-03-28 21:01:56 -07:00
Jason Volk
4b816f8c74 ircd::json::stack: Warning when flushing under a checkpoint. 2019-03-28 15:49:48 -07:00
Jason Volk
840b3c4b0c ircd::json::stack: Add method to check for pending eptr. 2019-03-28 15:49:48 -07:00
Jason Volk
a6ae9a7c90 ircd::json: Provide a more appropriate type_error to help matrix.org. 2019-03-19 17:31:47 -07:00
Jason Volk
8c61f6370a ircd::json: Fix serialized type propagation on value copy. 2019-03-07 14:06:06 -08:00
Jason Volk
af6ac4a2ac ircd: Replace various unwind count patterns with scope_count. 2019-02-28 17:12:03 -08:00
Jason Volk
a600a28095 configure: Check for <memory_resource> availability. 2019-02-28 10:24:43 -08:00
Jason Volk
85cae708db ircd::json: Add candidate vector merge impl. 2019-02-27 15:52:39 -08:00
Jason Volk
33d89755e8 ircd::json: Reorg utility headers; start a tool header. 2019-02-27 12:10:10 -08:00
Jason Volk
9ac64fcff7 ircd::json: Add vector utility methods to interface. 2019-02-27 11:23:52 -08:00
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