Productive day. Got my C++-based app framework on the way.
Added a system for unique and fast string-based identifiers (akin to UE's FName) - and made it thread safe (could probably do it better, but for later)
So this works:
Identifier nameIdent = Identifier::FindOrAdd("name");
// same as comparing only a pointer and size
if (otherIdent == nameIdent)
{
}
And made a C++20-powered logging library.
All you need for a new log category is:
using FileSystemLog = Logger<"FileSystem">;
void Example()
{
FileSystemLog::Log(LogType::Warning, "Example run! {}", "Hello, World!");
}
(Its also totally rebindable with a template parameter for a custom Log System, which can provide custom allocator support too)
