fork download
  1. #include <vector>
  2. #include <iterator>
  3. #include <iostream>
  4.  
  5. template < template<typename...> class Container, typename... Ts>
  6. std::ostream& operator<<(std::ostream& oss, const Container<Ts...>& c) {
  7. oss << "[";
  8. if (!c.empty()) { // use std::empty() in C++17 and later
  9. auto last = std::prev(std::cend(c));
  10. /*
  11.   using value_type = typename Container<Ts...>::value_type;
  12.   std::copy(std::cbegin(c), last, std::ostream_iterator<value_type>(oss, ","));
  13.   */
  14. for(auto iter = std::cbegin(c); iter != last; ++iter)
  15. oss << *iter << ",";
  16. oss << *last;
  17. }
  18. return oss << "]";
  19. }
  20.  
  21. int main() {
  22. std::vector<std::vector<unsigned>> data(5);
  23. std::cout << data << std::endl;
  24. return 0;
  25. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
[[],[],[],[],[]]