You do not need to use std::bindor for this std::remove_if; std::removewill be sufficient:
std::vector<T> v;
v.erase(std::remove(v.begin(), v.end(), false), v.end());
Or you can use a function object std::logical_notwith std::remove_if:
v.erase(std::remove_if(v.begin(), v.end(), std::logical_not<T>()), v.end());
, operator bool(): - ++, , , , , . safe-bool operator bool(). , operator bool(), safe-bool .