23OF_ASSUME_NONNULL_BEGIN
33OF_SUBCLASSING_RESTRICTED
35#ifdef OF_HAVE_CLASS_PROPERTIES
36@property (
class, readonly, nonatomic)
size_t pageSize;
37@property (
class, readonly, nonatomic)
size_t numberOfCPUs;
42@property (
class, readonly, nullable, nonatomic)
44#if defined(OF_WINDOWS) || defined(DOXYGEN)
52# if defined(OF_AMD64) || defined(OF_X86) || defined(DOXYGEN)
53@property (
class, readonly, nonatomic)
bool supportsMMX;
56@property (
class, readonly, nonatomic)
bool supportsSSE;
62@property (
class, readonly, nonatomic)
bool supportsAVX;
69@property (
class, readonly, nonatomic)
71@property (
class, readonly, nonatomic)
74@property (
class, readonly, nonatomic)
76@property (
class, readonly, nonatomic)
78@property (
class, readonly, nonatomic)
80@property (
class, readonly, nonatomic)
82@property (
class, readonly, nonatomic)
84@property (
class, readonly, nonatomic)
86@property (
class, readonly, nonatomic)
88@property (
class, readonly, nonatomic)
94# if defined(OF_POWERPC) || defined(OF_POWERPC64) || defined(DOXYGEN)
97# if defined(OF_WINDOWS) || defined(DOXYGEN)
98@property (
class, readonly, nonatomic, getter=
isWindowsNT)
bool windowsNT;
157#if defined(OF_WINDOWS) || defined(DOXYGEN)
234#if defined(OF_AMD64) || defined(OF_X86) || defined(DOXYGEN)
523#if defined(OF_POWERPC) || defined(OF_POWERPC64) || defined(DOXYGEN)
534#if defined(OF_WINDOWS) || defined(DOXYGEN)
545+ (instancetype)
alloc OF_UNAVAILABLE;
546- (instancetype)
init OF_UNAVAILABLE;
551#ifdef OF_HAVE_SOCKETS
552# import "OFSystemInfo+NetworkInterfaces.h"
An abstract class for storing objects in a dictionary.
Definition OFDictionary.h:84
A class for representing IRIs, URIs, URLs and URNs, for parsing them as well as accessing parts of th...
Definition OFIRI.h:41
The root class for all other classes inside ObjFW.
Definition OFObject.h:692
instancetype init()
Initializes an already allocated object.
Definition OFObject.m:696
instancetype alloc()
Allocates memory for an instance of the class and sets up the memory pool for the object.
Definition OFObject.m:548
A class for handling strings.
Definition OFString.h:139
A class for querying information about the system.
Definition OFSystemInfo.h:35
nullable OFString * CPUVendor()
Returns the vendor of the CPU.
Definition OFSystemInfo.m:743
bool supportsAVX512Float16Instructions()
Returns whether the CPU and OS support AVX-512 Float16 Instructions.
bool supportsAVX()
Returns whether the CPU and OS support AVX.
size_t pageSize()
Returns the size of a page.
Definition OFSystemInfo.m:433
bool supportsAVX512VectorNeuralNetworkInstructions()
Returns whether the CPU and OS support AVX-512 Vector Neural Network Instructions.
bool supportsAVX512PrefetchInstructions()
Returns whether the CPU and OS support AVX-512 Prefetch Instructions.
bool supportsSSE3()
Returns whether the CPU supports SSE3.
bool supportsAVX512VectorByteManipulationInstructions()
Returns whether the CPU and OS support AVX-512 Vector Byte Manipulation Instructions.
bool supports3DNow()
Returns whether the CPU supports 3DNow!.
bool supportsAVX512VectorPopulationCountInstruction()
Returns whether the CPU and OS support the AVX-512 Vector Population Count Instruction.
bool supportsAltiVec()
Returns whether the CPU and OS support AltiVec.
bool supportsAVX512Foundation()
Returns whether the CPU and OS support AVX-512 Foundation.
bool supportsEnhanced3DNow()
Returns whether the CPU supports enhanced 3DNow!.
bool supportsAVX512ExponentialAndReciprocalInstructions()
Returns whether the CPU and OS support AVX-512 Exponential and Reciprocal Instructions.
nullable OFIRI * userDataIRI()
Returns the path where user data for the application can be stored.
Definition OFSystemInfo.m:485
nullable OFIRI * temporaryDirectoryIRI()
Returns a path where temporary files for can be stored.
Definition OFSystemInfo.m:661
bool supportsAVX512IntegerFusedMultiplyAdd()
Returns whether the CPU and OS support AVX-512 Integer Fused Multiply-Add.
bool supportsFusedMultiplyAdd()
Returns whether the CPU supports fused multiply-add.
bool supportsAVX512DoublewordAndQuadwordInstructions()
Returns whether the CPU and OS support AVX-512 Doubleword and Quadword Instructions.
bool supportsAVX512BFloat16Instructions()
Returns whether the CPU and OS support AVX-512 BFloat16 Instructions.
bool supportsF16C()
Returns whether the CPU supports F16C.
bool supportsAVX512ByteAndWordInstructions()
Returns whether the CPU and OS support AVX-512 Byte and Word Instructions.
nullable OFString * operatingSystemName()
Returns the name of the operating system the application is running on.
Definition OFSystemInfo.m:458
OFString * ObjFWVersion()
The version of ObjFW.
Definition OFSystemInfo.m:443
bool supportsAVX512ConflictDetectionInstructions()
Returns whether the CPU and OS support AVX-512 Conflict Detection Instructions.
nullable OFString * operatingSystemVersion()
Returns the version of the operating system the application is running on.
Definition OFSystemInfo.m:466
size_t numberOfCPUs()
Returns the number of CPUs installed in the system.
Definition OFSystemInfo.m:438
nullable OFString * wineVersion()
Returns the version of Wine the application is running on, or nil if not running on Wine (e....
bool supportsAVX512VectorByteManipulationInstructions2()
Returns whether the CPU and OS support AVX-512 Vector Byte Manipulation Instructions 2.
nullable OFString * CPUModel()
Returns the model of the CPU.
Definition OFSystemInfo.m:766
bool supportsSSE41()
Returns whether the CPU supports SSE4.1.
bool supportsSSSE3()
Returns whether the CPU supports SSSE3.
bool isWindowsNT()
Returns whether the application is running on Windows NT.
nullable OFIRI * userConfigIRI()
Returns the path where user configuration for the application can be stored.
Definition OFSystemInfo.m:577
bool supportsSSE42()
Returns whether the CPU supports SSE4.2.
unsigned short ObjFWVersionMinor()
The minor version of ObjFW.
Definition OFSystemInfo.m:453
bool supportsAVX512VectorLengthExtensions()
Returns whether the CPU and OS support AVX-512 Vector Length Extensions.
bool supportsAVX512BitAlgorithms()
Returns whether the CPU and OS support AVX-512 Bit Algorithms.
bool supportsAVX2()
Returns whether the CPU and OS support AVX2.
bool supportsAESNI()
Returns whether the CPU supports AES-NI.
bool supportsSSE()
Returns whether the CPU supports SSE.
bool supportsSHAExtensions()
Returns whether the CPU supports Intel SHA Extensions.
unsigned short ObjFWVersionMajor()
The major version of ObjFW.
Definition OFSystemInfo.m:448
bool supportsSSE2()
Returns whether the CPU supports SSE2.
bool supportsMMX()
Returns whether the CPU supports MMX.