1054 Commits

Author SHA1 Message Date
jzmaddock
d66cb6e905 Fix Oracle C++11 failure. 2015-06-17 19:29:25 +01:00
jzmaddock
dca27f8b3d Fix Oracle failure - needs to filter result through is_constructible. 2015-06-17 19:13:19 +01:00
jzmaddock
d9255a7958 Disable fully conforming is_convertible for gcc-4.6.4 as it fails our tests. 2015-06-17 18:17:42 +01:00
jzmaddock
904a4adf00 Fix #include. 2015-06-16 19:32:27 +01:00
jzmaddock
57134385f1 Use old version of is_copy_constructible with older GCC versions. 2015-06-16 19:23:37 +01:00
jzmaddock
5a4f30208a More fixes for older GCC versions:
Don't filter through is_constructible/is_assignable etc as older GCC versions can't cope, and don't need these anyway.
2015-06-16 19:11:53 +01:00
jzmaddock
9ab3aae3e6 Fix use of is_constructible - to limits to cases where it's really needed.
And to not use it when the compiler would choke.
2015-06-16 18:42:55 +01:00
jzmaddock
863ba0a7c5 Revert "Move private-constructor tests into separate file."
This wasn't the right fix, and didn't fix the issue anyway.

This reverts commit fe5f4e2253.
2015-06-16 18:30:02 +01:00
jzmaddock
fe5f4e2253 Move private-constructor tests into separate file.
These tests fail on older GCC versions.
2015-06-16 12:47:29 +01:00
jzmaddock
fc2b8e14b9 Disable move-construction for arrays - fixes Oracle C++ issue. 2015-06-15 09:02:10 +01:00
jzmaddock
821d5a177f Clean up macros after use. 2015-06-14 19:39:13 +01:00
jzmaddock
b65423f1fa Fix comment. 2015-06-14 19:36:43 +01:00
jzmaddock
642bf8377d More Oracle C++ fixes:
Disable noexcept code for is_destructible - Oracle seems to always return false.
Filter has_trivial_move_assign through is_assignable.
2015-06-14 19:34:26 +01:00
jzmaddock
b554c5ae26 Oops should be using is_constructible not is_assignable in has_trivial_move_constructor.hpp. 2015-06-14 19:27:32 +01:00
jzmaddock
d3a0be9f48 Fix for Oracle compiler thinking non-moveable types are POD's. 2015-06-14 19:17:21 +01:00
jzmaddock
0408a8888f Add missing #include for Solaris. 2015-06-14 18:50:08 +01:00
jzmaddock
6b7ed138b2 Stop including type_traits headers from intrinsics.hpp: it leads to cyclic dependencies. 2015-06-14 18:46:24 +01:00
jzmaddock
136b7dbd7f Oracle has_nothrow_assign need to check for assignablility. 2015-06-14 18:27:57 +01:00
jzmaddock
745bf9bee1 Fix for Oracle+STLPort. 2015-06-14 18:05:58 +01:00
jzmaddock
4da98d4e8c Disable use of __oracle_has_nothrow_copy which appears not to do the right thing. 2015-06-14 13:20:18 +01:00
jzmaddock
6f5f212fa0 Function types need to be screened out of is_pod on Oracle. 2015-06-14 13:06:23 +01:00
jzmaddock
17985daa3c Add Oracle compiler to the list that needs extra includes. 2015-06-14 12:49:59 +01:00
jzmaddock
693c7a9ca6 Fix for copy-constructibility with Oracle compiler. 2015-06-14 12:47:31 +01:00
jzmaddock
c4243e2914 Ooops, revert to using add_reference for C++98 compilers. 2015-06-14 12:43:27 +01:00
jzmaddock
979fc5b293 Delete dead file. 2015-06-14 09:31:45 +01:00
jzmaddock
2f2ca65e48 Switch to using boost::declval.
Change has_nothrow_copy to use is_copy_constructible as it has better broken-compiler workarounds than is_constructible.
2015-06-14 09:30:46 +01:00
jzmaddock
e68fddd992 Document new traits classes. 2015-06-13 19:19:22 +01:00
jzmaddock
739956e561 Update type_traits.hpp to include lots of otherwise missing stuff. 2015-06-13 13:09:04 +01:00
jzmaddock
68413905af Update more compiler requirements. 2015-06-12 19:37:19 +01:00
jzmaddock
587298b93a Update compiler compatibility notes. 2015-06-12 18:44:01 +01:00
jzmaddock
1c91d63197 Looks like some intrinsics are only available in C++11 mode. 2015-06-12 17:57:56 +01:00
jzmaddock
cb98a630ff Change is_copy_constructible to use is_constructible where possible, and fix some MSVC failures. 2015-06-12 13:26:27 +01:00
jzmaddock
ae76223bab Move trivial/nothrow construct traits closer into line with the standard. 2015-06-11 11:26:33 +01:00
jzmaddock
b069b3ce3c Fix spelling of ::value ! 2015-06-11 11:01:18 +01:00
jzmaddock
229e99880b Add missing #include to has_trivial_move_constructor.hpp 2015-06-11 10:59:52 +01:00
jzmaddock
2fc65e67a8 Add missing #include to has_trivial_move_constructor.hpp. 2015-06-11 10:58:09 +01:00
jzmaddock
d44141cf88 Fix behaviour of references and arrays in has_trivial_move_assign. 2015-06-11 10:57:11 +01:00
jzmaddock
e8e7724303 Volatile types are not trivially movable. 2015-06-11 10:25:39 +01:00
jzmaddock
11cd9e6674 Improve is_destructible - especially for references. 2015-06-11 10:13:30 +01:00
jzmaddock
434e26e7a3 Improve is_destructible and add tests. 2015-06-11 10:00:31 +01:00
jzmaddock
2d71379074 Fix has_trivial* traits and improve their tests. 2015-06-11 10:00:09 +01:00
jzmaddock
24548d6158 Add missing #includes. 2015-06-11 09:58:39 +01:00
jzmaddock
1dfcdd7bb2 Bring more docs up to date. 2015-06-11 09:57:56 +01:00
jzmaddock
c0ca135b78 Add docs for undocumented has_nothrow_destructor trait. 2015-06-10 17:10:41 +01:00
jzmaddock
79942e93cd More intrinsics corrections for clang 2015-06-09 19:38:05 +01:00
jzmaddock
ade5857d78 Clang intrinsic needs to be filtered through is_constructible. 2015-06-09 19:33:07 +01:00
jzmaddock
c1d885edbd Test nothrow_copy in no-intrinsics mode. 2015-06-09 18:52:17 +01:00
jzmaddock
4777c0b4a6 Fix has_nothrow_destructor so it actually works.
Add tests for it.
2015-06-09 18:51:46 +01:00
jzmaddock
05e1b3b7a5 Reduce trivial copy dependencies. 2015-06-09 18:51:04 +01:00
jzmaddock
b21b0f0476 Fix test case: arrays are not explicitly copyable 2015-06-09 18:50:29 +01:00