#pragma once #include #include struct PlatformMutex { virtual ~PlatformMutex(); }; struct PlatformScopedMutexLock { virtual ~PlatformScopedMutexLock(); }; struct PlatformSharedMemory { virtual ~PlatformSharedMemory(); void* data; size_t capacity; std::string name; }; std::unique_ptr CreatePlatformMutex(const std::string& name); std::unique_ptr CreatePlatformScopedMutexLock( PlatformMutex* mutex); std::unique_ptr CreatePlatformSharedMemory( const std::string& name, size_t size); void PlatformInit(); std::string GetWorkingDirectory();