Nathan Hourt
c69ea32613
Improve reflection system and static_variant
...
Previously, fc reflection generated visitor infrastructure capable of
visiting each field of a struct; however, this is only useful for run-
time operations on structures. No compile-time information was preserved
about the fields of a struct, making compile-time introspection of types
impossible.
Now FC reflection generates rich compile-time information about the
members of structs, including types, names, and structure, allowing
code to be written to explore types in detail at compile-time and fetch
arbitrary fields at runtime without needing to iterate over the unwanted
fields.
To make this a reality, a new `typelist` type was added to store this
compile-time information. This type is also useful within the context of
`static_variant`, as SV previously used implementation detail types in a
private namespace to provide this functionality. Now `static_variant`
uses the reusable functionality of `typelist` to operate, dramatically
reducing the amount of code dedicated to `static_variant` and also
making `static_variant` types more flexible to work with since their
infrastructure is now based on the `typelist` public interface.
2019-08-30 14:21:36 -05:00
Nathan Hourt
5278a125df
Merge pull request #154 from nathanhourt/sv_overloads
...
Replace improper static_variant operator overloads with comparators
2019-08-30 14:19:06 -05:00
Nathan Hourt
45cb433d47
Fixes from code review
2019-08-30 11:52:05 -05:00
Nathan Hourt
cce644f686
Fix warnings
...
The `appender` class is intended to be inherited and used polymorphically, but does not have a virtual destructor, which causes warnings. This adds a virtual destructor to fix these warnings.
2019-08-29 11:26:34 -05:00
Nathan Hourt
9f7f1b4790
Replace improper static_variant operator overloads with comparators
2019-08-28 15:51:14 -05:00
Peter Conrad
71f5348101
Merge pull request #150 from pmconrad/tcp_socket_size
...
Fix core #1935
2019-08-20 15:43:39 +02:00
Peter Conrad
7b37cd6eff
Fix core #1935
2019-08-19 12:09:53 +02:00
crypto-ape
a1c2ff9943
support openbsd // make code compliant with clang
2019-08-15 12:22:54 +02:00
John M. Jones
91d8772b7b
Merge pull request #147 from bitshares/jmj_winfix
...
Increase size for Boost 1.70
2019-08-13 14:02:18 -05:00
John Jones
8426b45d6c
Increase size for Boost 1.70
2019-08-13 13:11:36 -05:00
Abit
17c46399ed
Merge pull request #145 from nathanhourt/bts_1898
...
Resolves issue https://github.com/bitshares/bitshares-core/issues/1898 : Fix crash in API
2019-08-13 19:24:18 +02:00
Nathan Hourt
06f88979a0
Resolve #1898 : Fix crash in API
...
We were getting the moral equivalent of a null pointer dereference by
incrementing an iterator past its past-the-end position, then
dereferencing it. This is now fixed.
2019-08-11 13:51:08 -05:00
Peter Conrad
d8bec3d847
Resolved another begin/data inconsistency
2019-08-05 21:27:53 +02:00
Peter Conrad
42be69c3f7
Removed unused var
2019-08-02 17:31:28 +02:00
Peter Conrad
6008c96c1a
Allow more space for windows sockets due to fc::future changes
2019-07-26 15:02:17 +02:00
Peter Conrad
451ed46ecc
Replace one more "new promise" with "promise::create"
2019-07-26 15:02:17 +02:00
Abit
966e9ea64e
Merge pull request #121 from crypto-ape/master_mingw
...
CMake cleanup & MinGW support
2019-07-25 09:44:37 +02:00
Abit
e4b35e4a42
Update a comment to avoid confusing doxygen
2019-07-18 23:15:22 +02:00
crypto-ape
e0dd942875
Update build system for MinGW
2019-07-08 10:43:02 +02:00
Peter Conrad
6ed94317ab
Merge pull request #137 from pmconrad/1584_more_simplification
...
More simplifications
2019-06-19 18:34:59 +02:00
Peter Conrad
deb9d4f0a6
Make task internal storage private
2019-06-19 17:40:22 +02:00
Peter Conrad
3fa4fa6148
Fixed typo
2019-06-19 17:31:54 +02:00
crypto-ape
f29248d139
extend static_variant with is_type() method
2019-06-11 18:00:01 +02:00
Peter Conrad
ed7eefec67
Avoid array copy
2019-06-11 13:32:04 +02: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
b16bf00a10
Made task_base destructor virtual
2019-06-10 23:25:56 +02:00
Peter Conrad
f1746b705a
Make data_size static in hash classes
2019-06-10 23:24:09 +02:00
Peter Conrad
40797b1026
Fixed typo
2019-06-10 18:52:46 +02:00
Peter Conrad
79b2a0d634
Add support for native 128bit types
2019-06-08 10:25:52 +02:00
Peter Conrad
7649f1f47d
Removed broken http_server + unused http_api
2019-06-06 14:54:48 +02:00
Peter Conrad
8196eb98c8
Added fc::int128_t
2019-06-06 14:41:47 +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
1025c36153
Replaced fc::nullptr_t with std::nullptr_t
2019-06-06 14:41:47 +02:00
Peter Conrad
8ad041cea0
Replaced fc::deduce with std::remove_reference<std::remove_const<>>
2019-06-06 14:41:47 +02:00
Peter Conrad
0aac8a4afc
Replaced fc::forward with std::forward
2019-06-06 14:41:47 +02:00
Peter Conrad
a8337ecc42
Added constexpr where applicable
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
648d969fb9
Remove unused header
2019-06-06 14:39:14 +02:00
Peter Conrad
022c40dde2
Removed unused real128
2019-06-06 14:39:14 +02:00
Peter Conrad
7506aaefe7
Moved retain/release to task_base
2019-06-06 14:39:14 +02:00
Peter Conrad
19bbc4080e
Added retain where applicable
2019-06-06 14:39:14 +02:00
Peter Conrad
7cf371736b
Intermediate
2019-06-06 14:39:14 +02:00
Peter Conrad
58e16e543d
Replaced most fc::shared_ptr with std::shared_ptr
2019-05-29 11:28:40 +02:00
Peter Conrad
3b3cadf7d5
Separate exception declaration and implementation
2019-05-28 17:22:57 +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
aa8870e793
Fixed JSONRPC error handling
2019-05-24 18:11:19 +02:00
Nathan Hourt
afb96a0e7e
Ref #126 : Cleanup/revert unwanted changes
2019-05-13 17:25:49 -05:00