Commit Graph
1233 Commits
Author SHA1 Message Date
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
jzmaddock ceaddeef42 Type_traits: correct travis.yml. 2017-10-26 11:27:44 +01:00
jzmaddock bb94535ba8 Type_traits: add CI defines to Jamfile. Update travis script to build multiple configurations at once for faster build times. 2017-10-25 19:10:02 +01:00
Andrey Semashev 455e6129be Added a workaround for clang 3.0 not supporting decltype in base class list.
Use an additional proxy class to define the base class using decltype in a
typedef, which is supported by the compiler, judging by Boost.Config tests.
2017-09-19 14:51:45 +03:00
Tanzinul Islam 7bc78f51ff Move the detail namespace entirely within the #ifndef __BORLANDC__-block. 2017-09-08 21:37:03 +01:00
jzmaddock b23f18cac2 is_complex.hpp: include boost/config.hpp first so we get compiler specific workarounds prior to including std lib headers. 2017-09-07 18:09:53 +01:00
Brian Kuhl d6f2dd9186 Whoops, updating intrinsics.hpp again 2017-09-06 10:33:34 -04:00
Brian Kuhl dfaad9ed21 Update intrinsics.hpp 2017-09-05 23:54:19 -04:00
Brian Kuhl 54f3c61f08 VxWorks has double align issues similar to unix
but only on 32bit IA
2017-09-05 23:46:58 -04:00
Tanzinul Islam 907bbbb759 Fix 'detail' namespace closing for Borland
In `type_with_alignment.hpp`, the `boost::detail` namespace is opened in line 28 just before starting the main `#ifndef __BORLANDC__`-block at line 30. The `detail` namespace is closed within the `#ifndef`-block at line 79. Highlight that namespace closing-brace with a comment for visibility.

Furthermore, the main `#ifndef __BORLANDC__`-block has a `#else`-case beginning at line 209, which effectively begins the `boost::detail` namespace at that point. This continuation of the namespace was missing a closing brace, causing a compilation failure with C++Builder (due to not finding `::boost::tt_align_ns::a16` in line 230, but merely finding `::boost::detail::tt_align_ns::a16`). Add that closing brace in line 217 with a visibility comment, just before opening the `tt_align_ns` namespace (which is expected by existing code to be directly inside the `boost` namespace, and not inside `boost::detail`).
2017-08-27 15:15:31 +01:00
jzmaddock 06d07e3d11 Merge pull request #44 from boostorg/2017_07_21
Cherry pick fixes from develop for Boost-1.47
2017-07-21 18:27:30 +01:00
jzmaddock d17304143e Merge branch 'develop' into 2017_07_21 2017-07-21 13:38:00 +01:00
Peter Dimov defd5612a4 Replace exception specification with noexcept(false) (except.spec. invalid in C++17) 2017-07-21 13:33:56 +01:00
Peter Dimov d59b9f419e Suppress g++ bool use warnings 2017-07-21 13:33:56 +01:00
Peter Dimov bc98c3b05f Add g++-7 in -std=c++ mode as well 2017-07-21 13:33:55 +01:00
Peter Dimov 33328ddad0 Add g++-7, clang-4 to Travis 2017-07-21 13:33:55 +01:00
Peter Dimov db654452a3 Fix MSVC failures caused by warning C4800 2017-07-21 13:33:55 +01:00
Peter Dimov bd30493d1c Add corresponding required include 2017-07-21 13:33:54 +01:00
Peter Dimov 26b2676928 Add floating_point_promotion test 2017-07-21 13:33:54 +01:00
Peter Dimov 6acc283b49 Add missing includes 2017-07-21 13:33:53 +01:00
Peter Dimov 05982c1b09 Reorder test includes to test header self-sufficiency 2017-07-21 13:33:53 +01:00
jzmaddock 336162c8c4 Merge pull request #42 from boostorg/feature/is_list_constructible
Add is_list_constructible
2017-07-16 19:04:56 +01:00
jzmaddock 1321945e8b Merge pull request #41 from boostorg/pdimov-patch-1
Fix typo in .travis.yml
2017-07-16 19:03:11 +01:00
jzmaddock 847b2b3b06 Merge pull request #40 from boostorg/feature/is_nothrow_swappable
Add is_nothrow_swappable
2017-07-16 19:02:45 +01:00
jzmaddock 7af1f795c1 Merge pull request #43 from boostorg/pr/fix-gcc7-warnings
Disable g++-7 warnings in a proper manner
2017-07-16 19:00:21 +01:00