2
0
mirror of https://github.com/boostorg/pfr.git synced 2026-01-19 04:22:13 +00:00

256 Commits

Author SHA1 Message Date
Antony Polukhin
623e0ec093 More compile time checks and tests for #14 2017-10-13 21:30:06 +03:00
Antony Polukhin
41d73e45d4 Added one more example and some tests 2017-10-01 21:57:27 +03:00
Antony Polukhin
f75fa56076 Fixed issue #11 - incorrect fields count detection for non-default-constructible types 2017-09-28 21:08:32 +03:00
Antony Polukhin
49ae43f99f Started work on issue #11 (wrong fields count if class member is not default constructible) 2017-09-27 20:30:28 +03:00
Antony Polukhin
14d59f5340 Enable more tests for loophole 2017-09-16 20:46:38 +03:00
Antony Polukhin
3d8b5c33e6 Loophole implementation now works. Added many tests, added BOOST_PFR_USE_LOOPHOLE flag, disabled some unwanted ADLs 2017-09-12 21:18:13 +03:00
Antony Polukhin
5262e209e4 Split examples.cpp into two files 2017-08-19 12:18:12 +03:00
Antony Polukhin
b0f042d1d8 Fix issue with tuple_element and add examples from Readme to tests 2017-08-19 12:14:05 +03:00
Antony Polukhin
efd11f441f Make sure the we are not working with polymorphyc type. More tests added 2017-08-10 20:18:05 +03:00
Antony Polukhin
b7d7abd65d Fix compilation on clang 3.9, more tests for private/protected and improved error detection for #7 2017-08-10 20:16:25 +03:00
Antony Polukhin
62a9e5b758 Tested on a C++17 compatible compiler, fixed a bunch of issues and made all the tests compil and run successfully 2017-05-29 23:24:17 +03:00
Antony Polukhin
191184a422 Use BOOST_PFR_USE_CPP17 macro instead of copypasted check, fix copyright dates, drop unnecessary dependencies in core17_generated.hpp 2017-01-15 10:49:56 +03:00
Antony Polukhin
afc6fe1272 Remove vendor specific macro for C++14 detection and aply a fix for appveyor.yml 2017-01-07 00:19:29 +03:00
Antony Polukhin
3eda0d10c6 try to test on MSVC 2017 2017-01-06 22:29:12 +03:00
Antony Polukhin
2f3c46dd9d Attempt to test on Windows 2017-01-06 18:17:41 +03:00
Antony Polukhin
7532ba8ba1 Polishing the docs 2017-01-03 21:44:26 +03:00
Antony Polukhin
459a25f817 A few more examples 2016-12-31 21:42:44 +03:00
Antony Polukhin
af0a937126 More tests, some refactoring, flat functions now have their precise version, started improving the documents, fixed issues with const propagations, better separation of functions (now IO functions are not part of the core.hpp) 2016-12-28 22:19:29 +03:00
Antony Polukhin
63a41e0256 Cleanup code and fix hash functor 2016-12-28 22:16:22 +03:00
Antony Polukhin
bc849f583e Operators and functors for precise mode added 2016-12-28 22:15:07 +03:00
Antony Polukhin
32b682261d Functions write and read now use for_each_field in C++14 mode 2016-12-28 22:13:52 +03:00
Antony Polukhin
d6d1082157 Separate tests on common, flat and precise 2016-12-28 22:12:29 +03:00
Antony Polukhin
0147c60f1e More code and tests for for_each_field function 2016-12-28 22:11:38 +03:00
Antony Polukhin
88f7ad3902 Started adding code for for_each_field function 2016-12-28 22:10:43 +03:00
Antony Polukhin
2d289f6b28 Started adopting the precise functions for C++14 2016-12-28 22:09:39 +03:00
Antony Polukhin
fb04223e5e Separate folders for precise and flat functions 2016-12-28 22:08:05 +03:00
Antony Polukhin
1314722a22 Started rewriting the library to support precise and flat operations independently from C++ Standard 2016-12-28 22:07:09 +03:00
Antony Polukhin
e353fd63f2 Fixed typo 2016-10-12 22:05:27 +03:00
Antony Polukhin
a277cdac19 Minor cleanups and made fields_count() correctly work with structures that have bitfields 2016-10-08 18:04:27 +03:00
Antony Polukhin
48b86158f0 Added static_assert for fields_count() function. Now noncopy constructable classes are not allowed 2016-10-08 18:02:44 +03:00
Antony Polukhin
8e0f27baee Add more tests and try to relax POD requirement as was proposed by Anton Bikineev 2016-10-08 18:00:47 +03:00
Antony Polukhin
9c88c56cb3 Remove unused classes, drop member reference checks as was proposed by Anton Bikineev 2016-10-08 17:58:51 +03:00
Antony Polukhin
c110bdf0e6 Minor refactoring and one more test 2016-09-30 20:28:15 +03:00
Antony Polukhin
7c252b4ca5 Updated the motivating example 2016-09-29 22:35:22 +03:00
Antony Polukhin
940cb1507f Fix testing issue with missing boost/type_index.hpp header and enable clang 2016-09-29 21:42:23 +03:00
Antony Polukhin
378acb1fe9 More tests and significant compilation time improvement 2016-09-29 21:33:24 +03:00
Antony Polukhin
c9bc21ed9c Fix all the known clang related issues 2016-09-29 21:31:42 +03:00
Antony Polukhin
d6687e5d18 Cleanups, clang related workarounds 2016-09-29 21:30:47 +03:00
Antony Polukhin
b0347fb617 Improving compilation times 2016-09-29 21:29:27 +03:00
Antony Polukhin
282094999e Attempt to use std::tuple to avoid reinventing all the tuple functionality from scratch 2016-09-29 21:23:01 +03:00
Antony Polukhin
72c831cb1a More fixes and debugging for nested structures 2016-09-29 21:21:59 +03:00
Antony Polukhin
3dad4f6271 More tests fixed and enabled, dropped hand-written comparators in favour of std::tuple default ones 2016-09-28 22:45:01 +03:00
Antony Polukhin
46ca2b70b2 More tests enabled and more fixes 2016-09-28 22:43:47 +03:00
Antony Polukhin
558a49daee Use std::tuple in most of the places, instead adding and reinventing new functionality in our own tuple 2016-09-28 22:42:19 +03:00
Antony Polukhin
fd381c5dd4 Continuing work on correct representation of structures with tricky alignments 2016-09-28 22:40:35 +03:00
Antony Polukhin
4c2f7fbce4 Representing nested structures as nested tuples; fails to compile 2016-09-26 20:43:49 +03:00
Antony Polukhin
f4126ca464 Added test case from Lisa Lippincott and started fixing the issue 2016-09-26 20:41:45 +03:00
Antony Polukhin
9fbb780839 Move more files to better reflect their content and usability (pod_ -> flat_) 2016-07-18 23:54:07 +03:00
Antony Polukhin
135faf692d Move some files and change header names 2016-07-18 23:46:45 +03:00
Antony Polukhin
4211404f20 Added tuple_size method, updated the docs and dropped some useless specializations 2016-07-14 22:29:05 +03:00