MaMiCo 1.2
Loading...
Searching...
No Matches
OstreamOperators.h
1#pragma once
2
3#include <map>
4#include <set>
5#include <vector>
6
7template <class T> std::ostream& operator<<(std::ostream& os, const std::vector<T>& v) {
8 os << "[";
9 for (auto& item : v) {
10 os << " " << item;
11 }
12 os << "]";
13 return os;
14}
15
16template <class T> std::ostream& operator<<(std::ostream& os, const std::set<T>& s) {
17 os << "{";
18 for (auto& item : s) {
19 os << item << ", ";
20 }
21 os << "}";
22 return os;
23}
24
25template <class K, class V> std::ostream& operator<<(std::ostream& os, const std::map<K, V>& m) {
26 os << "{";
27 for (auto& item : m) {
28 os << item.first << ": " << item.second << ",";
29 }
30 os << "}";
31 return os;
32}