Commit graph

135 commits

Author SHA1 Message Date
Nathaniel
8b50451373
Add support for auxiliary serialization data
To supplement the new custom serialization feature, we also would like
the ability to use standard reflection-based serialization, but also to
add some extra data in on the side. This is now possible as auxiliary
serialized data. A class can define auxiliary data serializers which will
add additional data to the serialized record generated by the usual
reflection-based serializers.
2022-03-16 20:41:15 -05:00
Nathaniel
ac40f449f8
Cleanup and organization
Delete a useless and unused overload of raw::unpack

Also, make the new custom serialization bit work for unreflected types
(they still need typename reflection)
2022-03-16 18:59:36 -05:00
Nathaniel
907dc57fb6
Enable classes to customize their serialization
Add support for classes to define members to customize their
serialization from the default from reflection.
2022-03-16 15:47:17 -05:00
Nathan Hourt
2f89e0812a
Use signed_int to serialize enums 2020-09-17 21:11:28 -05:00
Nathan Hourt
747567fbdc
Revert "Removed signed_int"
This reverts commit 1dcacbafc9.
2020-09-17 12:26:06 -05:00
Abit
c72d5d31cc
Merge branch 'master' into for-core-4.0.x 2020-04-19 10:55:50 +02:00
abitmore
9763d1c194 Update bool serialization
Make the logic clearer, to avoid issues on some compilers.
Thanks to @pureland and team.
2020-03-26 16:27:59 +00:00
Nathan Hourt
cb06e42e80
Fix Build
This is necessary to build in my environment for both clang and g++

Clang 9.0.1
G++ 9.2.1
Boost 1.72.0
2020-03-17 14:42:13 -05:00
Peter Conrad
1bda001b8c Use common inline functions for splitting/combining uint128 to/from two uint64 values 2019-06-11 08:51:59 +02:00
Peter Conrad
a11a50d4e1 Replaced true_type, false_type, is_class, is_enum with std type_traits 2019-06-06 14:41:47 +02:00
Peter Conrad
f732a587d7 Replace NO_RETURN with [[noreturn]] standard attribute 2019-06-06 14:41:47 +02:00
Peter Conrad
632a90709e Replace fc::array with std::array 2019-06-06 14:41:47 +02:00
Peter Conrad
a3e2410091 Replace fc::uint128 with boost::multiprecision::uint128_t 2019-06-06 14:41:09 +02:00
Peter Conrad
58e16e543d Replaced most fc::shared_ptr with std::shared_ptr 2019-05-29 11:28:40 +02:00
Peter Conrad
9069e05cb0 Get rid of some inlines 2019-05-28 17:20:57 +02:00
Peter Conrad
de46823a99 Dont inline generic pack/unpack to enable externalized serialization 2019-05-28 17:20:57 +02:00
Peter Conrad
379e59f661 Moved delete declaration to raw_fwd 2019-04-23 16:49:25 +02:00
Peter Conrad
532093bda5 Added missing serialization for std::shared_ptr<T> 2019-04-23 16:49:24 +02:00
Peter Conrad
cb9a96755d Add proper serialization for boost::endian::endian_buffer 2019-04-23 16:48:17 +02:00
Peter Conrad
f0c6976aea Removed superfluous return statement 2019-04-23 16:45:44 +02:00
Peter Conrad
9a0d92820d Fixes for endianness 2019-04-23 16:45:44 +02:00
Peter Conrad
8f1abdd4be Delete unused backup(?) file 2019-04-23 16:44:44 +02:00
Peter Conrad
4511300081 Minor fixes for Windows 2019-04-09 08:46:56 +02:00
Peter Conrad
579914c84d Removed unused stuff 2019-04-04 17:59:51 +02:00
Nathan Hourt
6665406f83 Requested changes for #115 2019-03-24 09:54:57 -05:00
Nathan Hourt
ba96174e7f Support for BTS #1670: allow serializing shared_ptr<const T> 2019-03-23 11:35:40 -05:00
John Jones
19590fd413 Removal of smart_ref 2019-02-15 08:23:05 -05:00
Nathan Hourt
25ae3222f8 Add missing operator overloads for fc::unsigned_int
Turns out that bitshares/bitshares-core#1506 is easier if you can
do greater-than comparisons on fc::unsigned_int. Go ahead and add
the complement of missing operators.
2019-02-13 12:21:30 -06:00
jmjatlanta
6fece96eae fix std::min parameter conversion 2019-02-05 15:44:06 -05:00
John Jones
7de33aa33a whitespace only 2019-01-21 09:15:56 -05:00
John Jones
fa07984234 fix overly agressive cleanup 2019-01-21 09:11:11 -05:00
John Jones
be4d480174 Remove unnecessary asserts 2019-01-18 12:29:38 -05:00
Peter Conrad
fb75dc9bb5 Added limits for resize() / reserve() 2018-12-28 20:36:29 +01:00
Alfredo
53d3f729ea reduce number of changes 2018-10-09 16:41:51 -03:00
Alfredo
67d2eb9b63 remove WITH_EXOTIC_JSON_PARSERS 2018-10-08 19:35:56 -03:00
Peter Conrad
02a4516610 Handle b<0 2018-08-21 16:48:00 +02:00
Peter Conrad
79ff75423f Throw overflow_exception instead of silently cutting off data 2018-08-19 18:51:45 +02:00
Peter Conrad
1dcacbafc9 Removed signed_int 2018-08-19 18:26:46 +02:00
Peter Conrad
4b61f3ca3d Fixed alleged c&p bug 2018-08-19 11:01:05 +02:00
Peter Conrad
72bcc8a926 Fix #993 - limit unpacking length of signed_int and unsigned_int 2018-08-19 11:01:05 +02:00
Peter Conrad
58ac6ae208 Changed some casts to uint64_t 2018-08-19 11:01:05 +02:00
Peter Conrad
9483935d64 Support 64 bit values in unsigned_int object 2018-08-19 11:01:05 +02:00
Valera Cogut
1169c2d966 removed using statement from header file 2018-07-17 19:46:43 +03:00
Valera Cogut
20724f7ecc fixed issue #809 2018-07-09 17:17:32 +03:00
Abit
2bb93c8b5d
Merge pull request #21 from pmconrad/variant_fix
Variant fix
2018-03-19 17:35:57 +01:00
Peter Conrad
1eb7b9d5c6 Added some missing checks, fixed indentation, handle different meanings of max_depth 2018-03-19 15:49:07 +01:00
Peter Conrad
a91822616e Added max_depth to remaining variant conversions 2018-03-18 10:49:44 +01:00
abitmore
d9ac2691a1 Remove default pack/unpack functions for class 2018-03-14 17:20:48 -04:00
abitmore
85ea20e2c9 Deprecate default pack/unpack functions for class 2018-03-14 06:25:14 -04:00
Peter Conrad
81c8d89341 Added max_depth parameter to variant conversions 2018-03-13 22:00:18 +01:00