jzmaddock
bc54a3f54f
Travis.yml: add gcc-4.4 and 4.6 testers.
2018-03-13 08:55:30 +00:00
jzmaddock
24fa07bbd7
Update history and regenerate docs.
...
[CI SKIP]
2018-02-21 18:51:22 +00:00
jzmaddock
e5003ad808
is_likely_lambda.hpp: Allow use of the workaround for msvc-14.0.
...
Note that 14.0 update 3 doesn't require this, but update 2 and earlier do.
2018-02-21 18:30:50 +00:00
jzmaddock
5240cd67d8
Comparison tests: disable tests that gcc-4.6 and earlier cannot handle.
2018-02-16 19:38:41 +00:00
jzmaddock
10f09a6327
is_complete: implementation chokes with gcc-4.5, disable for that compiler.
...
[CI SKIP]
2018-02-16 19:32:41 +00:00
jzmaddock
75160cd755
clang: we can't use the new operator detector code for clang < 3.2.
2018-02-16 19:08:49 +00:00
jzmaddock
8d938a4bb9
binary operator traits: previous fix using is_complete can't be used since even incomplete types may have non-member operators declared.
2018-02-14 18:09:52 +00:00
jzmaddock
875b95974a
binary operators: msvc-12 and under can't cope with new gcc workarounds, so disable in that case.
2018-02-13 19:55:06 +00:00
John Maddock
84f9b6da68
binary operators: add revised workaounds for gcc-4.7 and 4.8
2018-02-13 19:18:12 +00:00
John Maddock
28658d6c11
Comparison operators: add poor man's workaround for captureless lambdas
2018-02-12 18:30:08 +00:00
jzmaddock
0155b7030c
Update docs for binary operator traits.
2018-02-11 11:31:23 +00:00
jzmaddock
014ac72782
Switch to a centralised macro for binary operator traits implementation selection.
2018-02-10 17:40:39 +00:00
jzmaddock
7d42b545e9
Merge pull request #62 from glenfe/develop
...
For MSVC2017 use detector_t instead of make_void
2018-02-10 11:59:38 +00:00
jzmaddock
3a0382ccbe
Merge pull request #64 from boostorg/issue_13012
...
Improve binary operators.
2018-02-10 11:45:32 +00:00
John Maddock
fb4430512d
Fix up -= and += detection for clang.
2018-02-09 18:20:23 +00:00
John Maddock
94e54c030d
binary operators: disable new code for older gcc versions
2018-02-08 19:21:13 +00:00
jzmaddock
98d6eaf1e9
Add missing function bodies to test cases - it suppresses gcc warnings.
2018-02-08 09:02:05 +00:00
jzmaddock
e9399adefa
Add tests for improved binary operators.
2018-02-07 19:50:26 +00:00
jzmaddock
e4d3cba6dd
Binary Operators: switch to the "detection idiom" if the compiler supports it.
...
This gives us almost perfect fidelity in the detection and solves the known issues for binary operators.
Also fixes: https://svn.boost.org/trac10/ticket/13012 .
2018-02-07 19:14:50 +00:00
jzmaddock
fdf9b67335
is_complete: correct namespace names.
2018-02-07 18:03:08 +00:00
jzmaddock
ed21a2d9c7
is_complete: no std::declval in gcc-4.4 and earlier.
...
So disable in that case.
2018-02-07 18:00:06 +00:00
Glen Fernandes
b406b574a5
For MSVC2017 use detector_t, instead of make_void.
...
(Not using boost::void_t to workaround a VC12 defect)
2018-02-06 22:16:52 -05:00
jzmaddock
6d294b5ff2
is_complete: qualify the detail namespace as otherwise it can trip up msvc-14.0.
2018-02-05 12:05:15 +00:00
jzmaddock
23520c13a1
Merge pull request #61 from boostorg/issue12285
...
Assert when we try to use an incomplete type on a trait which require…
2018-02-04 19:27:23 +00:00
jzmaddock
df4eccb911
Document is_complete.
...
[CI SKIP]
2018-02-04 19:26:10 +00:00
jzmaddock
0886e13a99
Assert completeness fixes: fix up msvc failures.
2018-02-04 18:15:34 +00:00
jzmaddock
bfb6384a0a
Assert on incomplete types: begin fixing test failures for msvc-12.0, 14.0, and clang.
2018-02-04 12:52:24 +00:00
jzmaddock
ac351390b2
Assert when we try to use an incomplete type on a trait which requires complete types as arguments.
...
This prevents some traits from doing the wrong thing (ie compiling but giving the wrong answer when handed an incomplete type.
See https://svn.boost.org/trac10/ticket/12285 .
A by-product of this is we add is_complete as a new trait.
2018-02-04 10:03:30 +00:00
jzmaddock
85a03d3453
Fix integral_constant.hpp for the case where the user has explicitly defined BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE.
...
Fixes: https://svn.boost.org/trac10/ticket/12212
2018-02-03 16:18:12 +00:00
jzmaddock
33bd73e26d
Add macro to indicate when is_constructible is fully implemented.
...
Fixes: https://svn.boost.org/trac10/ticket/12003
[SKIP CI]
2018-02-02 19:24:52 +00:00
jzmaddock
30b029d937
Fix typos in is_mem_fun_pointer_tester.hpp.
...
See https://svn.boost.org/trac10/ticket/11884
[SKIP CI]
2018-02-02 19:18:18 +00:00
jzmaddock
f5823d6732
type_traits:function type testing, change to explicit noexcept specifiers as clang-4 can't handle partial-specialisation on noexcept(bool).
...
Also reinstate and test support for functions with ellipsis.
2018-02-02 18:17:03 +00:00
jzmaddock
c8c95f18ca
type_traits: function types, update to detect functions with exception specifications in is_function and is_member_function_pointer.
2018-02-01 19:14:30 +00:00
jzmaddock
b78fd5f29d
Type_traits.detection idiom: flesh out docs and add history.
2018-01-31 18:55:04 +00:00
Glen Fernandes
35c105501b
Implement detection idiom toolkit
2018-01-28 09:40:24 -05:00
jzmaddock
5d5c651ea6
Type_traits.is_default_constructible: workaround for std::pair is required for more compilers. We don't need functional appveyor.yml any more.
2018-01-28 10:44:12 +00:00
jzmaddock
05c4fdcabb
Merge branch 'feature/container_hash' of https://github.com/danieljames/type_traits into develop
...
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-01-28 10:40:14 +00:00
John Maddock
7beb519980
GCC-5.x also needs workaround for std::pair issue
2018-01-27 18:31:28 +00:00
John Maddock
a6e879f091
Add tests and tentative fix for issue with clang mis-identifying pairs of non-constructible types. See github #51 .
2018-01-25 13:18:38 +00:00
jzmaddock
5ed289c317
Update docs.
2018-01-25 10:56:23 +00:00
jzmaddock
837fe4d245
Merge pull request #57 from danieljames/develop
...
Fallback for is_nothrow_swappable on pre-C++11
2018-01-25 10:44:12 +00:00
Daniel James
3e9608230c
Fallback for is_nothrow_swappable on pre-C++11
2017-11-28 22:12:01 +00:00
jzmaddock
1146f73070
Travis.yml: Correct use of "cxxstd-dialect".
2017-10-28 16:56:08 +01:00
jzmaddock
af2546ae5c
travis.yml: need to unset IFS before b2 invocation.
2017-10-28 08:25:13 +01:00
jzmaddock
3530a015ed
One more try with travis.yml: remove ":" from command line as travis mangles it.
2017-10-27 17:18:19 +01:00
jzmaddock
4cd7655730
Correct travis.yml syntax one more time.
2017-10-27 08:31:49 +01:00
jzmaddock
4ac0c52b66
Merge pull request #50 from Lastique/fix_clang30_decltype
...
Add a workaround for clang 3.0 not supporting decltype in base class list
2017-10-26 18:34:02 +01:00
jzmaddock
9ee7745626
Merge pull request #47 from kuhlenough/develop
...
VxWorks has double align issues similar to unix
2017-10-26 18:32:02 +01:00
jzmaddock
51c82dc0fe
Merge pull request #46 from tanzislam/fix_detail_namespace_for_borland
...
Fix 'detail' namespace opening for Borland
2017-10-26 18:28:24 +01:00
jzmaddock
73fd7479dd
Type_traits: try using --hash on the Appveyor b2 command line as we appear to be exceeding the max path length.
2017-10-26 18:09:49 +01:00