Jason Volk
6576406123
ircd::json: Various tuple cleanup; split tuple transform suites into files.
2018-11-14 00:58:55 -08:00
Jason Volk
7c0b4dcbe8
ircd::json: Remove cruft.
2018-11-06 19:48:06 -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
fb6bb04207
ircd: Various fixes for resolution of constexpr string_view & hash related; cleanup.
2018-09-16 21:28:46 -07:00
Jason Volk
e1b9d69c21
ircd::json: Fix exporting path operator<< to ircd:: in include stack here.
2018-09-13 05:02:24 -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
c189feb87b
ircd::json: Assignment semantic for 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
0d688b386b
ircd::json: Perform unquote() in json::string ctor as described...
2018-06-12 01:00:15 -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
fb1c7236ac
ircd::json: Default selection to all keys.
2018-05-20 01:48:47 -07:00
Jason Volk
208a0198c0
ircd::json: Add specific extern undefined number.
2018-05-19 22:55:03 -07:00
Jason Volk
d30aa971e5
ircd::json: Additional initializer list convenience constructors for keys.
2018-05-19 22:55:02 -07:00
Jason Volk
2991144b38
ircd::json: Use vector_view for keys selectors.
2018-05-19 19:17:07 -07:00
Jason Volk
64170b6fef
ircd::json: Add tuple keys vector_view convenience conversion.
2018-05-19 18:52:50 -07:00
Jason Volk
52de335c8f
ircd::json: Split tuple key() suite.
2018-05-19 18:49:08 -07:00
Jason Volk
9d2a796f17
ircd::json: Elaborate on keys interface; cleanup; add comments.
2018-05-19 18:49:08 -07:00
Jason Volk
39e403c1d2
ircd::json: Add template to get tuple key string with runtime index.
2018-05-19 18:49:07 -07:00
Jason Volk
52976d3faf
ircd::json: Fix tuple _key_transform constexpressness.
2018-05-19 18:49:03 -07:00
Jason Volk
ce6c4d357e
ircd::json: Add flush watermarking to json::stack.
2018-05-07 23:48:31 -07:00
Jason Volk
671622d778
ircd::json: Preliminary rough splitup of tuple headers.
2018-05-06 22:28:17 -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
102ef2cb47
ircd::json: Object semantics for json::stack classes.
2018-04-10 13:48:14 -07:00
Jason Volk
6dda8d70eb
ircd::json: Streamline some strung conversions.
2018-04-09 19:27:39 -07:00
Jason Volk
93316f4692
ircd::json: Deinline various value related.
2018-04-04 22:54:58 -07:00
Jason Volk
43e77537c6
ircd::json: Improve value ctor suite; maintain type of object/array; copy std::string.
2018-04-04 14:28:27 -07:00
Jason Volk
c35d74b7fd
ircd::json: Remove redundant member passthru.
2018-04-04 14:10:53 -07:00
Jason Volk
7438c558e3
ircd::json: Tweak callstack path for this transform.
2018-04-04 14:00:57 -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
1a02642aef
ircd::json: Eliminate redundant sort for tuple.
2018-03-28 18:12:49 -07:00
Jason Volk
e60370de75
ircd::json: Remove redundant.
2018-03-23 00:42:24 -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
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
Jason Volk
4ae58a4f46
ircd::json: Add tuple construction from a different tuple object.
2017-11-30 11:23:41 -08:00
Jason Volk
57ae71fe4e
ircd::json: Add additional commentary.
2017-11-30 11:23:40 -08:00
Jason Volk
6562efb11e
ircd::json: Add 'defaults' construct to iov.
2017-11-30 11:23:40 -08:00
Jason Volk
43e35786ce
ircd: Move subsystem 'index header' into subsystem directories.
2017-10-19 01:38:03 -07:00
Jason Volk
0fe97a2ed5
ircd::json: Use a non-pack enable_if template for get(tuple) like at(tuple).
2017-10-17 00:52:17 -07:00
Jason Volk
9bc7587557
ircd::json: Add a preliminary suite of sign()/verify()/hash() for tuple.
2017-10-15 21:22:52 -07:00
Jason Volk
9c875c71a6
ircd::json: Better bool related conversions etc.
2017-10-15 21:21:56 -07:00
Jason Volk
52e2525b30
ircd::json: Fix member construction related.
2017-10-15 21:21:16 -07:00
Jason Volk
a3f7a41650
ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type.
2017-10-15 21:18:42 -07:00
Jason Volk
1cede9a21f
ircd::json: Various fixes/cleanup; debug related.
2017-10-11 20:54:02 -07:00
Jason Volk
bc5be1c6be
ircd::json: Improve constexpr-hashed-name related and uniform overloads for non-tuples.
2017-10-11 20:54:02 -07:00