Opened 9 years ago
Closed 9 years ago
#8802 closed Feature Requests (fixed)
Add is_copy_constructible<T> trait
| Reported by: | Antony Polukhin | Owned by: | Antony Polukhin |
|---|---|---|---|
| Milestone: | Boost 1.55.0 | Component: | type_traits |
| Version: | Boost 1.54.0 | Severity: | Problem |
| Keywords: | has_copy_constructor is_copy_constructible move traits | Cc: |
Description
Add an implementation of is_copy_constructible<T> trait. It must work with C++11 and in C++03 it must detect constructors assuming that if type is derived from boost::noncopyable or uses BOOST_MOVABLE_BUT_NOT_COPYABLE macro - it has no copy constructor.
Boost.Move requires the following patch applied to to BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN in boost/move/core.hpp :
#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS
#define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
private:\
TYPE(TYPE &);\
TYPE& operator=(TYPE &);\
+ public: \
+ typedef int boost_move_no_copy_constructor_or_assign; \
+ private: \
//
#else
Change History (12)
comment:1 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 9 years ago
comment:3 by , 9 years ago
comment:4 by , 9 years ago
comment:5 by , 9 years ago
comment:6 by , 9 years ago
comment:7 by , 9 years ago
comment:8 by , 9 years ago
comment:10 by , 9 years ago
comment:11 by , 9 years ago
comment:12 by , 9 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
This issue was fixed in 1.55
Note:
See TracTickets
for help on using tickets.

(In [84987]) Added is_copy_constructible triat implementation and tests (refs #8802)