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_LOONGARCH64) || defined(DOXYGEN)
98@property (
class, readonly, nonatomic)
bool supportsLSX;
101# if defined(OF_WINDOWS) || defined(DOXYGEN)
102@property (
class, readonly, nonatomic, getter=
isWindowsNT)
bool windowsNT;
161#if defined(OF_WINDOWS) || defined(DOXYGEN)
238#if defined(OF_AMD64) || defined(OF_X86) || defined(DOXYGEN)
527#if defined(OF_POWERPC) || defined(OF_POWERPC64) || defined(DOXYGEN)
538#if defined(OF_LOONGARCH64) || defined(DOXYGEN)
558#if defined(OF_WINDOWS) || defined(DOXYGEN)
569+ (instancetype)
alloc OF_UNAVAILABLE;
570- (instancetype)
init OF_UNAVAILABLE;
575#ifdef OF_HAVE_SOCKETS
576# 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:143
A class for querying information about the system.
Definition OFSystemInfo.h:35
nullable OFString * CPUVendor()
Returns the vendor of the CPU.
Definition OFSystemInfo.m:759
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:449
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 supportsLSX()
Returns whether the CPU and OS support LSX.
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:501
nullable OFIRI * temporaryDirectoryIRI()
Returns a path where temporary files for can be stored.
Definition OFSystemInfo.m:677
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:474
OFString * ObjFWVersion()
The version of ObjFW.
Definition OFSystemInfo.m:459
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:482
size_t numberOfCPUs()
Returns the number of CPUs installed in the system.
Definition OFSystemInfo.m:454
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:782
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.
bool supportsLASX()
Returns whether the CPU and OS support LASX.
nullable OFIRI * userConfigIRI()
Returns the path where user configuration for the application can be stored.
Definition OFSystemInfo.m:593
bool supportsSSE42()
Returns whether the CPU supports SSE4.2.
unsigned short ObjFWVersionMinor()
The minor version of ObjFW.
Definition OFSystemInfo.m:469
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:464
bool supportsSSE2()
Returns whether the CPU supports SSE2.
bool supportsMMX()
Returns whether the CPU supports MMX.