#include "NamespaceBuilder.h" #include std::string NamespaceBuilder::Combine(const std::string& _namespace, const std::string& name) { std::ostringstream str; str << _namespace << "::" << name; return str.str(); } void NamespaceBuilder::Push(std::string element) { m_elements.emplace_back(std::move(element)); } void NamespaceBuilder::Pop() { m_elements.pop_back(); } std::string NamespaceBuilder::ToString() { std::ostringstream str; auto first = true; for(const auto& element : m_elements) { if (first) first = false; else str << "::"; str << element; } return str.str(); }