I am still confused about the requirements for a type to be used with a std::vector in C++11, but this may be caused by a buggy compiler (gcc 4.7.0). This code:
In C++11, the requirements depend on the operations performed. In the case of std::vector::resize(), the requirement on T is that it be CopyInsertable into the vector.