tlx
set.hpp
Go to the documentation of this file.
1 /*******************************************************************************
2  * tlx/logger/set.hpp
3  *
4  * Part of tlx - http://panthema.net/tlx
5  *
6  * Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
7  *
8  * All rights reserved. Published under the Boost Software License, Version 1.0
9  ******************************************************************************/
10 
11 #ifndef TLX_LOGGER_SET_HEADER
12 #define TLX_LOGGER_SET_HEADER
13 
14 #include <tlx/logger/core.hpp>
15 
16 #include <set>
17 
18 namespace tlx {
19 
20 template <typename T, typename C, typename A>
21 class LoggerFormatter<std::set<T, C, A> >
22 {
23 public:
24  static void print(std::ostream& os, const std::set<T, C, A>& data) {
25  os << '{';
26  for (typename std::set<T, C, A>::const_iterator it = data.begin();
27  it != data.end(); ++it)
28  {
29  if (it != data.begin()) os << ',';
31  }
32  os << '}';
33  }
34 };
35 
36 template <typename T, typename C, typename A>
37 class LoggerFormatter<std::multiset<T, C, A> >
38 {
39 public:
40  static void print(std::ostream& os, const std::multiset<T, C, A>& data) {
41  os << '{';
42  for (typename std::multiset<T, C, A>::const_iterator it = data.begin();
43  it != data.end(); ++it)
44  {
45  if (it != data.begin()) os << ',';
47  }
48  os << '}';
49  }
50 };
51 
52 } // namespace tlx
53 
54 #endif // !TLX_LOGGER_SET_HEADER
55 
56 /******************************************************************************/
STL namespace.
template class for formatting. contains a print() method.
Definition: core.hpp:25
static void print(std::ostream &os, const std::multiset< T, C, A > &data)
Definition: set.hpp:40
static void print(std::ostream &os, const std::set< T, C, A > &data)
Definition: set.hpp:24