12 #include "../Utils/Util.h"
13 #include "../Process/SynchronizedProcess.h"
24 static void Finalize();
45 template<
typename T>
void Log(T *field, std::size_t size, std::string name, std::string source)
49 int count = size /
sizeof(*field);
50 Field f = {count == 1 ?
typeid(*field).name() :
51 "A" +
Util::ToString(count) +
"_" +
typeid(*field).name(), source +
"/" + name, size};
65 template<
typename T>
void Log(T *field, std::string name, std::string source)
67 Log(field,
sizeof(*field), name, source);
76 template<
typename T>
void Log(T value, std::string name, std::string source)
78 Log(&value,
sizeof(value), name, source);
105 void Write(
void* field, std::size_t size);
107 static Logger* m_instance;
109 static std::vector<Loggable*> loggables;
110 std::vector<Field> fields;
117 std::size_t dataSize;