I am confused about:
cout << is_copy_constructible<int>::value
<< is_copy_constructible<unique_ptr<int>>::value
<< is_copy_constructible<vector<unique_ptr<int>>>::value;
I expected 100
, but got 101
with gcc 4.9.1 and clang 3.4.2
How can vector<unique_ptr>
be copy constructible (or assignable for that matter) while keeping correct unique_ptr
semantics?