Boost C++ Libraries: Ticket #8802: Add is_copy_constructible<T> trait https://svn.boost.org/trac10/ticket/8802 <p> Add an implementation of <code>is_copy_constructible&lt;T&gt;</code> trait. It must work with C++11 and in C++03 it must detect constructors assuming that if type is derived from <code>boost::noncopyable</code> or uses BOOST_MOVABLE_BUT_NOT_COPYABLE macro - it has no copy constructor. </p> <p> Boost.Move requires the following patch applied to to BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN in boost/move/core.hpp : </p> <pre class="wiki">#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ private:\ TYPE(TYPE &amp;);\ TYPE&amp; operator=(TYPE &amp;);\ + public: \ + typedef int boost_move_no_copy_constructor_or_assign; \ + private: \ // #else </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8802 Trac 1.4.3 Antony Polukhin Tue, 09 Jul 2013 07:22:07 GMT owner, status changed https://svn.boost.org/trac10/ticket/8802#comment:1 https://svn.boost.org/trac10/ticket/8802#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">John Maddock</span> to <span class="trac-author">Antony Polukhin</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Antony Polukhin Tue, 09 Jul 2013 07:49:45 GMT <link>https://svn.boost.org/trac10/ticket/8802#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:2</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/84987" title="Added is_copy_constructible triat implementation and tests (refs #8802)">[84987]</a>) Added is_copy_constructible triat implementation and tests (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Thu, 11 Jul 2013 10:27:54 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:3</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85002" title="Improvemants for is_copy_constructible triat (refs #8802): * Added ...">[85002]</a>) Improvemants for is_copy_constructible triat (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>): </p> <ul><li>Added small in-place documentation for trait </li><li>Trait is now included by boost/type_traits.hpp header </li><li>Added qbk documentation </li><li>Documentation regenerated </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Fri, 12 Jul 2013 11:14:12 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:4</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85006" title="Fix tests build under MSVC for is_copy_constructible triat (refs #8802)">[85006]</a>) Fix tests build under MSVC for is_copy_constructible triat (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Wed, 17 Jul 2013 14:38:41 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:5</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85060" title="Fix tests for is_copy_constructible triat and fix ...">[85060]</a>) Fix tests for is_copy_constructible triat and fix reference-to-reference issue (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Mon, 22 Jul 2013 12:51:10 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:6</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85104" title="Unify behavior of is_copy_constructible triat when dealing with ...">[85104]</a>) Unify behavior of is_copy_constructible triat when dealing with rvalues + add comments for some tests (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>): </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Tue, 30 Jul 2013 07:50:23 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:7</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85173" title="Workaround some of the Intel warinings/bugs in the ...">[85173]</a>) Workaround some of the Intel warinings/bugs in the is_copy_constructible_tests file (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Sat, 03 Aug 2013 06:09:36 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:8</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85193" title="Test is_copy_constructible trait on C++03/98 with Boost.Move emulation ...">[85193]</a>) Test is_copy_constructible trait on C++03/98 with Boost.Move emulation of noncopyable-movable type (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>, refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8842" title="#8842: Patches: BOOST_MOVABLE_BUT_NOT_COPYABLE and is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8842</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Tue, 06 Aug 2013 15:37:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:9</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85222" title="Atempt to workaround Intel issue with SFINAE (refs #8802)">[85222]</a>) Atempt to workaround Intel issue with SFINAE (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Mon, 12 Aug 2013 13:25:03 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:10</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85319" title="Intel compiler: do not use SFINAE with decltype/sizeof on deleted ...">[85319]</a>) Intel compiler: do not use SFINAE with decltype/sizeof on deleted functions. Use fallback mode instead (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Thu, 15 Aug 2013 15:17:41 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8802#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8802#comment:11</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85357" title="Disable tests that can not be passed by intel compiler due to its ...">[85357]</a>) Disable tests that can not be passed by intel compiler due to its usege of the is_copy_constructible trait in C++98/fallback mode (beacause of the bugs in SFINAE for deleted functions). (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8802" title="#8802: Feature Requests: Add is_copy_constructible&lt;T&gt; trait (closed: fixed)">#8802</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Mon, 18 Nov 2013 11:22:28 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/8802#comment:12 https://svn.boost.org/trac10/ticket/8802#comment:12 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> This issue was fixed in 1.55 </p> Ticket