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
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
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
jmjatlanta
6fece96eae
fix std::min parameter conversion
2019-02-05 15:44:06 -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
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
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
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
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
abitmore
43ac0b0520
Slightly improve performance for pack/unpack
2018-03-13 13:06:00 -04:00
abitmore
86e18663a0
Add max_depth parameter to pack/unpack functions
2018-03-11 17:31:55 -04:00
Daniel Larimer
de9a29c33e
Progress toward binary RPC"
2016-07-30 19:24:15 -04:00
theoreticalbts
232d59525a
raw.hpp: Use fc::raw:: namespace explicitly everywhere, cleanup whitespace
2016-02-19 16:36:29 -05:00
Daniel Larimer
bde8a7f424
fixes updates for deque to variant
2016-02-11 17:16:39 -05:00
theoreticalbts
7b6431f20e
raw.hpp: Add pack() override for shared_ptr<T>
2016-01-08 11:20:32 -05:00
Daniel Larimer
cb27b810e3
adding support for unpacking shared_ptr
2015-11-25 12:49:49 -05:00
theoreticalbts
1e10d3dc47
raw.hpp: Require high bits to be 0 when unpacking bool
2015-10-12 10:09:08 -04:00
Daniel Larimer
63677c47d9
helper for smart_ref
2015-07-08 16:43:25 -04:00
Daniel Larimer
f9f965809b
bug fixes
2015-02-27 16:07:50 -05:00
Daniel Larimer
c0a4ed77b1
adding static_variant type
2015-02-27 13:41:55 -05:00