<commit_before>#pragma once

#include <map>

#include <utki/Shared.hpp>
#include <papki/File.hpp>
#include <stob/dom.hpp>

#include "Exc.hpp"


namespace morda{



class App;
class Resource;



/**
 * @brief Resource manager.
 * This class manages application recources loading from STOB reource description scripts.
 */
class ResourceManager{
	friend class morda::App;
	friend class Resource;
	
	std::map<const std::string, std::weak_ptr<Resource>> resMap;

	class ResPackEntry{
	public:
		ResPackEntry() = default;
		
		//For MSVC compiler, it does not generate move constructor automatically<commit_msg>stuff<commit_after>#pragma once

#include <map>

#include <utki/Shared.hpp>
#include <papki/File.hpp>
#include <stob/dom.hpp>

#include "Exc.hpp"


namespace morda{



class App;
class Resource;



/**
 * @brief Resource manager.
 * This class manages application recources loading from STOB resource description scripts.
 * 
 * TODO: format of the resource script, includes.
 */
class ResourceManager{
	friend class morda::App;
	friend class Resource;
	
	std::map<const std::string, std::weak_ptr<Resource>> resMap;

	class ResPackEntry{
	public:
		ResPackEntry() = default;
		
		//For MSVC compiler, it does not generate move constructor automatically
{'fraction_non_alphanumeric': 0.10722795869737888, 'fraction_numerical': 0.0, 'mean_word_length': 4.625, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, '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': '2463936', 'n_tokens_mistral': 418, 'n_tokens_neox': 385, 'n_words': 124}