2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-02 23:17:26 +00:00
Files
OpenAssetTools/src/ZoneCodeGeneratorNew/Utils/NamespaceBuilder.cpp
2021-02-07 23:31:45 +01:00

40 lines
687 B
C++

#include "NamespaceBuilder.h"
#include <sstream>
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();
}