// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Types/BaseTypes.h"
///
/// Contains information about CPU (Central Processing Unit).
///
API_STRUCT() struct CPUInfo
{
DECLARE_SCRIPTING_TYPE_MINIMAL(CPUInfo);
///
/// The number of physical processor packages.
///
API_FIELD() uint32 ProcessorPackageCount;
///
/// The number of processor cores (physical).
///
API_FIELD() uint32 ProcessorCoreCount;
///
/// The number of logical processors (including hyper-threading).
///
API_FIELD() uint32 LogicalProcessorCount;
///
/// The size of processor L1 caches (in bytes).
///
API_FIELD() uint32 L1CacheSize;
///
/// The size of processor L2 caches (in bytes).
///
API_FIELD() uint32 L2CacheSize;
///
/// The size of processor L3 caches (in bytes).
///
API_FIELD() uint32 L3CacheSize;
///
/// The CPU memory page size (in bytes).
///
API_FIELD() uint32 PageSize;
///
/// The CPU clock speed (in Hz).
///
API_FIELD() uint64 ClockSpeed;
///
/// The CPU cache line size (in bytes).
///
API_FIELD() uint32 CacheLineSize;
};