ObjFW
OFSystemInfo.h
1 /*
2  * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
3  * Jonathan Schleifer <js@heap.zone>
4  *
5  * All rights reserved.
6  *
7  * This file is part of ObjFW. It may be distributed under the terms of the
8  * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
9  * the packaging of this file.
10  *
11  * Alternatively, it may be distributed under the terms of the GNU General
12  * Public License, either version 2 or 3, which can be found in the file
13  * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
14  * file.
15  */
16 
17 #import "OFObject.h"
18 #import "OFString.h"
19 
20 OF_ASSUME_NONNULL_BEGIN
21 
33 + (size_t)pageSize;
34 
42 + (size_t)numberOfCPUs;
43 
55 
69 
77 + (nullable OFString *)CPUVendor;
78 
79 #if defined(OF_X86_64) || defined(OF_X86) || defined(DOXYGEN)
80 
87 + (bool)supportsMMX;
88 
98 + (bool)supportsSSE;
99 
109 + (bool)supportsSSE2;
110 
120 + (bool)supportsSSE3;
121 
131 + (bool)supportsSSSE3;
132 
142 + (bool)supportsSSE41;
143 
153 + (bool)supportsSSE42;
154 
164 + (bool)supportsAVX;
165 
175 + (bool)supportsAVX2;
176 #endif
177 
178 #if defined(OF_POWERPC) || defined(OF_POWERPC64)
179 
186 + (bool)supportsAltiVec;
187 #endif
188 @end
189 
190 OF_ASSUME_NONNULL_END
OFString * userConfigPath()
Returns the path where user configuration for the application can be stored.
Definition: OFSystemInfo.m:232
size_t numberOfCPUs()
Returns the number of CPUs installed in the system.
Definition: OFSystemInfo.m:144
size_t pageSize()
Returns the size of a page.
Definition: OFSystemInfo.m:139
bool supportsSSE3()
Returns whether the CPU supports SSE3.
A class for handling strings.
Definition: OFString.h:114
bool supportsSSE41()
Returns whether the CPU supports SSE4.1.
A class for querying information about the system.
Definition: OFSystemInfo.h:27
bool supportsAVX2()
Returns whether the CPU supports AVX2.
The root class for all other classes inside ObjFW.
Definition: OFObject.h:379
bool supportsSSSE3()
Returns whether the CPU supports SSSE3.
bool supportsSSE2()
Returns whether the CPU supports SSE2.
nullable OFString * CPUVendor()
Returns the vendor of the CPU.
Definition: OFSystemInfo.m:309
bool supportsAVX()
Returns whether the CPU supports AVX.
bool supportsSSE()
Returns whether the CPU supports SSE.
bool supportsMMX()
Returns whether the CPU supports MMX.
bool supportsSSE42()
Returns whether the CPU supports SSE4.2.
OFString * userDataPath()
Returns the path where user data for the application can be stored.
Definition: OFSystemInfo.m:149