]> granicus.if.org Git - icinga2/blob - lib/base/stringbuilder.cpp
Merge pull request #7185 from Icinga/bugfix/gelfwriter-wrong-log-facility
[icinga2] / lib / base / stringbuilder.cpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #include "base/stringbuilder.hpp"
4 #include <cstring>
5
6 using namespace icinga;
7
8 void StringBuilder::Append(const String& str)
9 {
10         m_Buffer.insert(m_Buffer.end(), str.Begin(), str.End());
11 }
12
13 void StringBuilder::Append(const std::string& str)
14 {
15         m_Buffer.insert(m_Buffer.end(), str.begin(), str.end());
16 }
17
18 void StringBuilder::Append(const char *begin, const char *end)
19 {
20         m_Buffer.insert(m_Buffer.end(), begin, end);
21 }
22
23 void StringBuilder::Append(const char *cstr)
24 {
25         m_Buffer.insert(m_Buffer.end(), cstr, cstr + std::strlen(cstr));
26 }
27
28 void StringBuilder::Append(char chr)
29 {
30         m_Buffer.emplace_back(chr);
31 }
32
33 String StringBuilder::ToString() const
34 {
35         return String(m_Buffer.data(), m_Buffer.data() + m_Buffer.size());
36 }