Opened 10 years ago
Last modified 9 years ago
#8189 closed Feature Requests
Port some type traits from Boost.Variant — at Version 1
Reported by: | Antony Polukhin | Owned by: | Antony Polukhin |
---|---|---|---|
Milestone: | Boost 1.54.0 | Component: | type_traits |
Version: | Boost 1.52.0 | Severity: | Problem |
Keywords: | rvalues move trivial | Cc: | john@… |
Description (last modified by )
Boost.Varaint has the following traits, that can be used across modules and sould be ported to Boost.TypeTraits
has_nothrow_move_assign has_nothrow_move_constructor has_trivial_move_assign has_trivial_move_constructor
Implementation may be tuned to use C++11 features it they are available.
Change History (2)
by , 10 years ago
Attachment: | type_traits.patch added |
---|
comment:1 by , 10 years ago
Description: | modified (diff) |
---|---|
Status: | new → assigned |
Current patch has following issues, that must be solved before merging:
has_*
functions must be renamed tois_*able
to better reflect their behavior and to have more conformance with C++11is_pod<T>::value || __has_trivial_move_assign(T)
andis_pod<T>::value || __has_trivial_move_constructor(T)
must be added to Clang and VC11 intrinsics- tests for detection of triviality and noexcept of user defined move operators and constructors on compilers with
noexcept
support
Note:
See TracTickets
for help on using tickets.
Initial patch (no documentation, but there are some tests)