コンパイラ/ライブラリのバグに問題があるようです。やってみると
#include <iostream>
#include <type_traits>
#include <memory>
int main()
{
typedef std::unique_ptr<int> T;
std::cout << "is_copy_assignable: "
<< std::is_copy_assignable<T>::value
<< "\n"
<< "is_copy_constructible: "
<< std::is_copy_constructible<T>::value << "\n";
}
Visual Studio 2012Update1を使用すると
is_copy_assignable: 1
is_copy_constructible: 1
それ以外の
is_copy_assignable: 0
is_copy_constructible: 0
別の解決策はありますか?