template std::ostream& operator<< (std::ostream& out, const std::vector& v) { if ( !v.empty() ) { out << '['; std::copy (v.begin(), v.end(), std::ostream_iterator(out, ", ")); out << "\b\b]"; } return out; }