Jason Volk
df605d5646
ircd::json: Add functions to determine if object members are sorted.
2018-03-21 12:33:43 -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
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
2a539cb22c
ircd::json: Ensure space for null string terminator in print().
2018-03-20 14:12:44 -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
8c02823d49
ircd: Tweak client error handling; fwddecl json::expectation_failure.
2018-03-08 07:40:41 -08:00
Jason Volk
664bee7f78
ircd::json: Add semantics to prevent json::strung'ing itself.
2018-03-05 01:09:37 -08:00
Jason Volk
2fcaf8c758
ircd::json: Add default ctor for array/object/vector const_iterators.
2018-02-28 22:33:50 -08:00
Jason Volk
ff94fdd3a6
ircd::json: Array list protocol for stringifying tuple.
2018-02-28 02:31:13 -08:00
Jason Volk
114bee0381
ircd::json: Add back support for tuple string reference indexing overloads.
2018-02-24 19:45:57 -08:00
Jason Volk
268861013e
ircd::json: Add these for consistency.
2018-02-21 14:24:01 -08:00
Jason Volk
a8d72ebbaa
ircd::json: Ensure rvalue-reference ownership transfer for these ctors.
2018-02-18 22:38:23 -08:00
Jason Volk
23fb76ae8e
ircd::json: Improve the member/value construction relationship.
2018-02-18 22:38:23 -08:00
Jason Volk
f8e5ca20d3
ircd::json: Remove the double-indirected member stringify.
2018-02-18 22:35:35 -08:00
Jason Volk
42a22a6c79
ircd::json: Use consumption protocol for create_string closure.
2018-02-18 22:22:38 -08:00
Jason Volk
0e526484ea
ircd::json: Ensure iov's are in a fixed location.
2018-02-18 22:18:52 -08:00
Jason Volk
575f5829dd
ircd::json: Verifiably pasken the strongly typed object::size() result.
2018-02-17 16:17:59 -08:00
Jason Volk
39d2196336
ircd::json: Modernize json::strung ctor.
2018-02-17 14:07:46 -08:00
Jason Volk
0bf053197c
ircd::json: Massage away json::value template ctor.
2018-02-09 21:33:06 -08:00
Jason Volk
e40f11429e
ircd::json: Tuple defined(number) decides on max value rather than zero.
2018-02-08 14:01:53 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
d53eef4ab6
ircd: Eliminate the raw_buffer concept.
2018-02-05 18:54:55 -08:00
Jason Volk
e3f671a523
ircd::json: Move property.h into tuple/ dir.
2018-02-02 14:58:55 -08:00
Jason Volk
2e356709bd
ircd::json: Break up json.h into util.h
2018-01-30 10:26:46 -08:00
Jason Volk
01235e3851
ircd::json: Add a bang ADL for falsy semantic on object/array.
2018-01-30 10:14:41 -08:00
Jason Volk
08d00bb3c8
ircd::json: Add strongly typed empty() for object/array with an ADL.
2018-01-29 11:59:59 -08:00
Jason Volk
aefca6bea4
ircd::json: Move extern const strings out of value.h
2018-01-29 11:59:59 -08:00
Jason Volk
61e9bd018f
ircd::json: Eliminate unnecessary print() overload.
2018-01-26 10:29:36 -08:00
Jason Volk
ddc70b014c
ircd::json: Add templates to dedup boilerplates for building IOV's.
2018-01-24 08:07:36 -08:00
Jason Volk
ac27005cd7
ircd::json: Move these outside of value class.
2018-01-23 21:18:47 -08:00
Jason Volk
e4863aa073
ircd::json: Check stringify size on all builds; note valid assert issue.
2018-01-23 20:59:47 -08:00
Jason Volk
c0fa317475
ircd::json: Move tuple into dir; remove some cruft.
2018-01-22 01:07:38 -08:00
Jason Volk
152b3c351b
ircd::json: Fix README formatting.
2018-01-22 00:54:52 -08:00
Jason Volk
90ea730a04
ircd::json: Add recursion depth checking.
2018-01-18 06:05:56 -08:00
Jason Volk
e511818e57
ircd: Add some abstract (non json::) tuple related.
2017-12-24 19:26:05 -07:00
Jason Volk
cea114d41d
ircd::json: Use the defined() rather than default ctor / cleanup.
2017-12-12 14:59:40 -07:00
Jason Volk
ff76d3e061
ircd::json: Add key filtering for tuple enumerations.
2017-12-12 14:59:40 -07: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
4733df3d1b
ircd::json: Add more value ctor template specializations.
2017-11-30 11:23:47 -08:00
Jason Volk
d1f0667b1e
ircd: Add validations of outgoing JSON.
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
5e9a82af86
ircd::json: Add uint64_t ctor to value.
...
This ctor is actually not supposed to be used, so it gives a
pseudo-narrowing warning. Not having this ctor simply gives a compile error
which makes very little sense to the developer who is simply trying to pass
a commonly used size_t et al.
2017-11-30 11:23:45 -08:00
Jason Volk
b42dffb24c
ircd::json: Improve tuple assignment typography.
2017-11-30 11:23:45 -08:00
Jason Volk
78e8a3668d
ircd::json: Add missing stringify participant; minor cleanup.
2017-11-30 11:23:44 -08:00
Jason Volk
87c9ebdbc3
ircd::json: Fix assign source here.
2017-11-30 11:23:43 -08:00
Jason Volk
7f97ffdede
ircd::json: Add support for parsing a vector of objects (non-standard).
2017-11-30 11:23:42 -08:00
Jason Volk
93c9935338
ircd::json: Add preliminary tuple iteration with mask of keys.
2017-11-30 11:23:41 -08:00