2#include "common/object_descr.hpp"
4#include "util/uuid.hpp"
10template <
typename T,
typename... Args1>
11void load_and_log(std::map<UUID, T> &map, ObjectType type, std::tuple<Args1...> args,
12 Logger::Domain dom = Logger::Domain::UNSPECIFIED)
14 load_and_log(map, object_descriptions.at(type).name, std::forward<std::tuple<Args1...>>(args), dom);
17template <
typename T,
typename... Args1>
18void load_and_log(std::map<UUID, T> &map,
const std::string &type, std::tuple<Args1...> args,
19 Logger::Domain dom = Logger::Domain::UNSPECIFIED)
21 auto uu = std::get<0>(args);
23 map.emplace(std::piecewise_construct, std::forward_as_tuple(uu), std::forward<std::tuple<Args1...>>(args));
25 catch (
const std::exception &e) {
26 Logger::log_warning(
"couldn't load " + type +
" " + (std::string)uu, dom, e.what());
29 Logger::log_warning(
"couldn't load " + type +
" " + (std::string)uu, dom);