Jason Volk
b0217fd371
ircd::json: Eliminate double-references; optimize ABI.
...
ircd::json: Inline trivial functions; value optimize.
2023-02-12 19:19:56 -08:00
Jason Volk
57dbd72c82
ircd::json::value: Add single-arg template ctors for value and member array.
2023-01-19 19:58:22 -08:00
Jason Volk
5a4a395fc2
Add noexcept to various lambdas (gcc-11).
2022-06-29 14:42:42 -07:00
Jason Volk
401f61e564
ircd::json: Remove unit linkages for constant expression values.
2022-06-17 21:11:54 -07:00
Jason Volk
9f09eb6581
ircd::json::value: Inline trivial indirections.
2020-08-05 17:27:54 -07:00
Jason Volk
476f1d6548
ircd::json: Minor cleanup; header convention.
2020-03-18 19:35:34 -07:00
Jason Volk
1ebe09f36b
ircd::json: Resize value bitfields to alignment for movdqa.
2020-02-11 10:12:58 -08:00
Jason Volk
ab6672877d
ircd::json: Move max_string_size constant to header.
2020-02-09 14:54:38 -08: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
33d89755e8
ircd::json: Reorg utility headers; start a tool header.
2019-02-27 12:10:10 -08:00
Jason Volk
4f721f48e5
Eliminate friend-injection.
2019-02-15 18:48:59 -08:00
Jason Volk
efc4831497
ircd::json: Improve conformity of various limitation constants.
2019-01-21 14:38:34 -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
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
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
42a22a6c79
ircd::json: Use consumption protocol for create_string closure.
2018-02-18 22:22:38 -08:00
Jason Volk
0bf053197c
ircd::json: Massage away json::value template ctor.
2018-02-09 21:33:06 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -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
ac27005cd7
ircd::json: Move these outside of value class.
2018-01-23 21:18:47 -08:00
Jason Volk
4733df3d1b
ircd::json: Add more value ctor template specializations.
2017-11-30 11:23:47 -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
9c875c71a6
ircd::json: Better bool related conversions etc.
2017-10-15 21:21:56 -07:00
Jason Volk
723cd3440b
ircd::json: Towards uniform defined().
2017-10-11 20:54:02 -07:00
Jason Volk
eaca7429b6
ircd::json: Simplify grammar / various cleanup.
2017-09-24 18:16:35 -07:00
Jason Volk
f8fc03e57b
ircd::json: Improve value semantics and various fixes.
2017-09-24 18:16:34 -07:00
Jason Volk
54d6793f59
Update various documentation and comments.
2017-09-24 18:16:33 -07:00
Jason Volk
e95fe7fbd9
ircd::json: Improve tuple/builder related.
2017-09-24 18:16:32 -07:00
Jason Volk
147a49a86c
ircd::json: Improve stringification interface et al.
2017-09-08 07:47:07 -07:00
Jason Volk
77ba8696d9
ircd::json: Commentary / minor cleanup.
2017-09-08 03:47:53 -07:00
Jason Volk
fd3bb037c7
ircd::json: Add value constructor template to attempt cast to string_view.
2017-09-08 03:47:50 -07:00
Jason Volk
81bd73f6f0
ircd::json: Add boolean constructor for literal rep.
2017-09-08 03:47:49 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
a9f52a70b2
ircd::json: Add commentary; Add path related.
2017-08-23 15:52:15 -06:00
Jason Volk
4fd787d9d5
ircd::json/modules: Rename various types.
2017-08-23 15:32:28 -06:00