/*** Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: SOOPrimitives.hpp Date: 2023-3-21 Author: Reece ***/ #pragma once namespace Aurora::Threading::Primitives { static const auto kDefaultPrimitiveSize = 128; static const auto kPrimitiveSizeNTMutex = 16; static const auto kPrimitiveSizeNTSemaphore = 64; static const auto kPrimitiveSizeNTCS = 32; static const auto kPrimitiveSizeNTEvent = 64; static const auto kPrimitiveSizeNTRWLock = 104; static const auto kPrimitiveSizeNTCond = 32; static const auto kPrimitiveSizeNTCondMutex = 16; #if defined(AURORA_IS_MODERNNT_DERIVED) static const auto kPrimitiveSizeMutex = kPrimitiveSizeNTMutex; static const auto kPrimitiveSizeSemaphore = kPrimitiveSizeNTSemaphore; static const auto kPrimitiveSizeCS = kPrimitiveSizeNTCS; static const auto kPrimitiveSizeEvent = kPrimitiveSizeNTEvent; static const auto kPrimitiveSizeRWLock = kPrimitiveSizeNTRWLock; static const auto kPrimitiveSizeCond = kPrimitiveSizeNTCond; static const auto kPrimitiveSizeCondMutex = kPrimitiveSizeNTCondMutex; //#elif defined(AURORA_IS_LINUX_DERIVED) // #else static const auto kPrimitiveSizeMutex = kDefaultPrimitiveSize; static const auto kPrimitiveSizeSemaphore = kDefaultPrimitiveSize; static const auto kPrimitiveSizeCS = kDefaultPrimitiveSize; static const auto kPrimitiveSizeEvent = kDefaultPrimitiveSize; static const auto kPrimitiveSizeRWLock = kDefaultPrimitiveSize; static const auto kPrimitiveSizeCond = kDefaultPrimitiveSize; static const auto kPrimitiveSizeCondMutex = kDefaultPrimitiveSize; #endif }