Antony Polukhin
e27bb2a979
Add helper GIT files
2018-06-12 13:08:15 +03:00
Antony Polukhin
aec668962d
Document the unions behavior and fix #22
2018-06-12 13:06:37 +03:00
Antony Polukhin
8efe184b7a
Fix test compilation on MSVC (2)
2018-06-02 20:18:16 +03:00
Antony Polukhin
4ca855fdbb
Fix test compilation on MSVC
2018-06-02 19:58:47 +03:00
Antony Polukhin
ee7a716b6d
Update copyrights
2018-06-02 12:21:56 +03:00
Antony Polukhin
d36729a3ad
Make static_assert messages more visible
2018-06-02 00:18:27 +03:00
Antony Polukhin
4a6d8d10c7
More static asserts and tests on unions ( #22 )
2018-05-31 23:26:15 +03:00
Antony Polukhin
cb12e9a05d
Disable all the flat reflection for unions (refs #22 )
2018-05-30 23:33:19 +03:00
Antony Polukhin
ea47144b60
More tests on unions (refs #22 )
2018-05-30 23:04:03 +03:00
Antony Polukhin
e7abff68f6
Some tests for unions #22
2018-05-24 20:36:20 +03:00
Antony Polukhin
8b575abe43
We can pass string_view by copy now (like all the cool people do\!), because we do not use forward declared string_view any more.
2018-02-21 23:29:26 +03:00
Antony Polukhin
d9735b867c
Set sudo to true to make sanitizers comfortable
2018-02-20 23:31:43 +03:00
Antony Polukhin
a229d560ee
Remove leak sanitizer comand line option (address sanitizer includes leak sanitizer). This may probably fix the CI failures with GCC-7
2018-02-20 23:16:18 +03:00
Antony Polukhin
a11ff11ab4
Do not forward declare basic_string_view. Fixes #19
2018-02-20 22:52:48 +03:00
Antony Polukhin
250d5011f4
Travis CI related fixes
2017-10-20 18:02:26 +03:00
Antony Polukhin
30d65a2ad4
Test on GCC7 in C++14 and C++17 modes instead of testing on clang
2017-10-20 17:08:44 +03:00
Antony Polukhin
2007f2f339
Test on clang too in TravisCI
2017-10-20 16:46:57 +03:00
Antony Polukhin
1bdc6cae9b
Made tests more strict and updated MSVC bersion in readme
2017-10-20 16:45:55 +03:00
Antony Polukhin
72b69d3288
GCC related fixes and simplifications
2017-10-20 14:26:07 +03:00
Antony Polukhin
8031f575fe
Ironed out the lvalues and rvalues in detail namespace. Less template instantiations must happen now
2017-10-18 22:40:54 +03:00
Antony Polukhin
999e7d8619
Dropped BOOST_PFR_NO_STRICT_ALIASING macro
2017-10-18 22:38:32 +03:00
Antony Polukhin
b8f5ddd70f
MSVC related checks improved and Appveyor fixes applied
2017-10-18 22:37:29 +03:00
Antony Polukhin
f686c9a77e
Fixes for autotesting on MinGW
2017-10-18 11:05:10 +03:00
Antony Polukhin
6a5a04de55
Run MinGW instead of MSVC in Appveyor. Apveyor does not have the latest MSVC, required for PFR library build
2017-10-17 23:20:41 +03:00
Antony Polukhin
372f72a9fd
Appveyor script fixes
2017-10-17 22:23:07 +03:00
Antony Polukhin
a9e5e73c30
Simplifications for MSVC and some polishing
2017-10-17 22:02:31 +03:00
Antony Polukhin
0c0332fe97
Use preview version of msvc in appveyor
2017-10-17 10:11:01 +03:00
Antony Polukhin
ab5140df52
Relax MSVC check
2017-10-17 09:00:26 +03:00
Antony Polukhin
d487496605
Appveyor fixes and badges update
2017-10-17 00:06:50 +03:00
Antony Polukhin
52b7f8f83a
Final MSVC fixes, including detection idiom rewrite and simplifications of some tests. Docs updated to show MSVC usage ability
2017-10-17 00:01:15 +03:00
Antony Polukhin
d7cfbef235
MSVC fixes
2017-10-16 23:59:21 +03:00
Antony Polukhin
c48df9ba12
Multiple small fixes and improved testing
2017-10-16 23:58:34 +03:00
Antony Polukhin
12f8e1baa1
Fixes for non default constructible classes in loophole impl
2017-10-16 23:56:32 +03:00
Antony Polukhin
1b138a4bd7
Fixes for classes that could be constructed from everything. Fixes #15
2017-10-16 23:55:05 +03:00
Antony Polukhin
623e0ec093
More compile time checks and tests for #14
2017-10-13 21:30:06 +03:00
Antony Polukhin
5770f67671
Polishing: use std::addressof for getting address of user provided type, make some functions static and constexpr
2017-10-13 20:33:39 +03:00
Antony Polukhin
6814449a82
Merge pull request #13 from cbeck88/develop
...
Attempt to factor out cast_to_layout_compatible
2017-10-12 14:52:03 +03:00
Antony Polukhin
f91d809fc0
Polished readme
2017-10-01 22:10:34 +03:00
Antony Polukhin
41d73e45d4
Added one more example and some tests
2017-10-01 21:57:27 +03:00
Chris Beck
d37163cc98
use internal implementation of std::aligned_storage, remove constexpr
...
this fixes msvc2017 issues in godbolt
2017-09-28 15:40:39 -07:00
Chris Beck
29ab2524aa
massaging of offset_based_getter offset calculation and code comments
2017-09-28 15:13:38 -07:00
Chris Beck
96b7c38666
fixup handling of volatile qualified user-defined types in offset_based_getter
2017-09-28 12:37:57 -07:00
Chris Beck
a9b952cdb8
add a configuration flag to control the use of offset_based_getter
...
this might be useful if on some compilers, cast_to_layout_compatible
leads to better codegen
2017-09-28 12:33:52 -07:00
Antony Polukhin
f75fa56076
Fixed issue #11 - incorrect fields count detection for non-default-constructible types
2017-09-28 21:08:32 +03:00
Chris Beck
af8be96595
adjust a code comment in offset_based_getter
2017-09-28 07:55:34 -07:00
Chris Beck
3aba48c9a9
use cast_to_layout_compatible again for enums in core14_loophole
...
this partially reverts a subtle change to static_cast in
551b36a536
the reason that is wrong is that the static_cast produces a new value,
while we need to produce a reference to the underlying type of the enum
essentially.
2017-09-28 07:13:55 -07:00
Chris Beck
62b972e500
comment out rvalue-reference overloads of offset_based_getter
...
this mirrors the earlier practice of commenting this out in
cast_to_layout_compatible
2017-09-28 07:03:50 -07:00
Chris Beck
6844dcb48f
attempt to fixup value category logic changes introduced in the refactor
...
i didn't think intuitively that these changes were significant but they
appear to be necessary to pass the tests
2017-09-27 23:23:53 -07:00
Chris Beck
2a6a4752b8
add support for volatile qualifier to offset_based_getter
2017-09-27 22:14:21 -07:00
Chris Beck
f0dfa5ed4e
add some more code comments around offset_based_getter
2017-09-27 21:48:36 -07:00