1#include "MaterialDefinitionManager.h"
3void Cogs::Core::MaterialDefinitionManager::add(MaterialDefinition && definition)
5 auto code = StringView(definition.name).hash();
6 auto it = byName.find(code);
8 if (it != byName.end()) {
9 definitions[it->second] = std::move(definition);
11 definitions.emplace_back(std::move(definition));
12 byName[code] = definitions.size() - 1;
18 auto code = StringView(name).hash();
19 auto it = byName.find(code);
21 if (it != byName.end()) {
22 return &definitions[it->second];
29std::string Cogs::Core::MaterialDefinitionManager::getReport()
const
31 assert(definitions.size() == byName.size());
33 auto rv = std::snprintf(buf,
sizeof(buf),
"size=%zu", definitions.size());
34 if (0 <= rv && rv <
static_cast<int>(
sizeof(buf))) {
35 return std::string(buf);