<commit_before>#include "JsonSerialization.hpp"
#include <glm/glm.hpp>
#include <glm/gtc/type_ptr.hpp>

namespace JsonSerialization
{

	void save(const int &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		rapidjson::Value v(rapidjson::kNumberType);
		v.SetInt(value);
		json.AddMember("int", v, document.GetAllocator());
	}

	void load(int &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		if (!json.HasMember("int"))
			return;
		value = json["int"].GetInt();
	}

	void save(const glm::uvec2 &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		rapidjson::Value v(rapidjson::kArrayType);
		v.PushBack(value.x, document.GetAllocator()).PushBack(value.y, document.GetAllocator());
		json.AddMember("uvec2", v, document.GetAllocator());
	}

	void load(glm::uvec2 &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		if (!json.HasMember("uvec2"))
			return;
		value.x = json["uvec2"][(rapidjson::SizeType)(0)].GetUint();
		value.y = json["uvec2"][(rapidjson::SizeType)(1)].GetUint();
	}
}<commit_msg>String serialization added to configuration manager<commit_after>#include "JsonSerialization.hpp"
#include <glm/glm.hpp>
#include <glm/gtc/type_ptr.hpp>

namespace JsonSerialization
{

	void save(const int &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		rapidjson::Value v(rapidjson::kNumberType);
		v.SetInt(value);
		json.AddMember("int", v, document.GetAllocator());
	}

	void load(int &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		if (!json.HasMember("int"))
			return;
		value = json["int"].GetInt();
	}

	void save(const glm::uvec2 &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		rapidjson::Value v(rapidjson::kArrayType);
		v.PushBack(value.x, document.GetAllocator()).PushBack(value.y, document.GetAllocator());
		json.AddMember("uvec2", v, document.GetAllocator());
	}

	void load(glm::uvec2 &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		if (!json.HasMember("uvec2"))
			return;
		value.x = json["uvec2"][(rapidjson::SizeType)(0)].GetUint();
		value.y = json["uvec2"][(rapidjson::SizeType)(1)].GetUint();
	}

	void save(const std::string &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		rapidjson::Value v(rapidjson::kArrayType);
		json.AddMember("string", value.c_str(), document.GetAllocator());
	}

	void load(std::string &value, rapidjson::Value &json, rapidjson::Document &document)
	{
		if (!json.HasMember("string"))
			return;
		value = json["string"].GetString();
	}

}
{'fraction_non_alphanumeric': 0.18050117462803444, 'fraction_numerical': 0.006264682850430697, 'mean_word_length': 6.279202279202279, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6125802', 'n_tokens_mistral': 950, 'n_tokens_neox': 907, 'n_words': 158}