Util: Optimize Value member away

This commit is contained in:
Riyyi
2022-07-18 12:18:56 +02:00
parent 99759b82b7
commit 93eb2f4f6a
3 changed files with 8 additions and 11 deletions
+4 -5
View File
@@ -16,9 +16,8 @@
namespace Json { namespace Json {
Serializer::Serializer(const Value& value, const uint32_t indent, const char indentCharacter) Serializer::Serializer(const uint32_t indent, const char indentCharacter)
: m_value(value) : m_indent(indent)
, m_indent(indent)
, m_indentCharacter(indentCharacter) , m_indentCharacter(indentCharacter)
{ {
} }
@@ -29,9 +28,9 @@ Serializer::~Serializer()
// ------------------------------------------ // ------------------------------------------
std::string Serializer::dump() std::string Serializer::dump(const Value& value)
{ {
return dumpHelper(m_value); return dumpHelper(value);
} }
// ------------------------------------------ // ------------------------------------------
+2 -4
View File
@@ -16,18 +16,16 @@ namespace Json {
class Serializer { class Serializer {
public: public:
Serializer(const Value& value, const uint32_t indent = 0, const char indentCharacter = ' '); Serializer(const uint32_t indent = 0, const char indentCharacter = ' ');
virtual ~Serializer(); virtual ~Serializer();
std::string dump(); std::string dump(const Value& value);
private: private:
std::string dumpHelper(const Value& value, const uint32_t indentLevel = 0); std::string dumpHelper(const Value& value, const uint32_t indentLevel = 0);
std::string dumpArray(const Value& value, const uint32_t indentLevel = 0); std::string dumpArray(const Value& value, const uint32_t indentLevel = 0);
std::string dumpObject(const Value& value, const uint32_t indentLevel = 0); std::string dumpObject(const Value& value, const uint32_t indentLevel = 0);
Value m_value;
uint32_t m_indent { 0 }; uint32_t m_indent { 0 };
char m_indentCharacter { ' ' }; char m_indentCharacter { ' ' };
}; };
+2 -2
View File
@@ -159,8 +159,8 @@ Value Value::parse(const std::string& input)
std::string Value::dump(const uint32_t indent, const char indentCharacter) const std::string Value::dump(const uint32_t indent, const char indentCharacter) const
{ {
Serializer serializer(*this, indent, indentCharacter); Serializer serializer(indent, indentCharacter);
return serializer.dump(); return serializer.dump(*this);
} }
void Value::emplace_back(Value value) void Value::emplace_back(Value value)