<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.12"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>MuldeR's Utilities for Qt: include/MUtils/CPUFeatures.h File Reference</title> <link href="../../tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="../../jquery.js"></script> <script type="text/javascript" src="../../dynsections.js"></script> <link href="../../search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="../../search/searchdata.js"></script> <script type="text/javascript" src="../../search/search.js"></script> <link href="../../doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">MuldeR's Utilities for Qt </div> <div id="projectbrief">MUtilities</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.12 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); </script> <script type="text/javascript" src="../../menudata.js"></script> <script type="text/javascript" src="../../menu.js"></script> <script type="text/javascript"> $(function() { initMenu('../../',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_b076b53667bc06ebb413a190e197fc7b.html">MUtils</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">CPUFeatures.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>This file contains function for detecting information about the CPU. <a href="#details">More...</a></p> <div class="textblock"><code>#include <<a class="el" href="../../d5/d3b/_global_8h_source.html">MUtils/Global.h</a>></code><br /> <code>#include <QStringList></code><br /> </div> <p><a href="../../d2/db5/_c_p_u_features_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">MUtils::CPUFetaures::_cpu_info_t</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct to hold information about the CPU. See <code><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">_cpu_info_t</a></code> for details! <a href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:d3/da6/namespace_m_utils"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></td></tr> <tr class="memdesc:d3/da6/namespace_m_utils"><td class="mdescLeft"> </td><td class="mdescRight">Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html">MUtils::CPUFetaures</a></td></tr> <tr class="memdesc:d3/d02/namespace_m_utils_1_1_c_p_u_fetaures"><td class="mdescLeft"> </td><td class="mdescRight">This namespace contains functions and constants for detecting CPU information. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="memItemLeft" align="right" valign="top"><a id="a8b80fb34713dbc70a63ae5cd48b0630e"></a> typedef struct <a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">MUtils::CPUFetaures::_cpu_info_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e">MUtils::CPUFetaures::cpu_info_t</a></td></tr> <tr class="memdesc:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="mdescLeft"> </td><td class="mdescRight">Struct to hold information about the CPU. See <code><a class="el" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">_cpu_info_t</a></code> for details! <br /></td></tr> <tr class="separator:a8b80fb34713dbc70a63ae5cd48b0630e"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a5f26f530b11eee62845fb45fba6a32fc"><td class="memItemLeft" align="right" valign="top">MUTILS_API cpu_info_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">MUtils::CPUFetaures::detect</a> (void)</td></tr> <tr class="memdesc:a5f26f530b11eee62845fb45fba6a32fc"><td class="mdescLeft"> </td><td class="mdescRight">Detect processor information. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">More...</a><br /></td></tr> <tr class="separator:a5f26f530b11eee62845fb45fba6a32fc"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:af1d34d67451c27e125b507089bfd147f"><td class="memItemLeft" align="right" valign="top">static const quint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">MUtils::CPUFetaures::VENDOR_INTEL</a> = 0x01U</td></tr> <tr class="memdesc:af1d34d67451c27e125b507089bfd147f"><td class="mdescLeft"> </td><td class="mdescRight">CPU vendor flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">More...</a><br /></td></tr> <tr class="separator:af1d34d67451c27e125b507089bfd147f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37e26e9e81b42bd517928449fa28fc4e"><td class="memItemLeft" align="right" valign="top">static const quint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">MUtils::CPUFetaures::VENDOR_AMD</a> = 0x02U</td></tr> <tr class="memdesc:a37e26e9e81b42bd517928449fa28fc4e"><td class="mdescLeft"> </td><td class="mdescRight">CPU vendor flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">More...</a><br /></td></tr> <tr class="separator:a37e26e9e81b42bd517928449fa28fc4e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf2416d7ed2553f313fb08c289365f5c"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">MUtils::CPUFetaures::FLAG_CMOV</a> = 0x001U</td></tr> <tr class="memdesc:adf2416d7ed2553f313fb08c289365f5c"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">More...</a><br /></td></tr> <tr class="separator:adf2416d7ed2553f313fb08c289365f5c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">MUtils::CPUFetaures::FLAG_MMX</a> = 0x002U</td></tr> <tr class="memdesc:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">More...</a><br /></td></tr> <tr class="separator:a1c2235ceac6576dace2a0ea9ddc1cbdf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a02a1dd90366db8200e38299635e54a90"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">MUtils::CPUFetaures::FLAG_SSE</a> = 0x004U</td></tr> <tr class="memdesc:a02a1dd90366db8200e38299635e54a90"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">More...</a><br /></td></tr> <tr class="separator:a02a1dd90366db8200e38299635e54a90"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ba4833265029796db9279e9bd8beae8"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">MUtils::CPUFetaures::FLAG_SSE2</a> = 0x008U</td></tr> <tr class="memdesc:a9ba4833265029796db9279e9bd8beae8"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">More...</a><br /></td></tr> <tr class="separator:a9ba4833265029796db9279e9bd8beae8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">MUtils::CPUFetaures::FLAG_SSE3</a> = 0x010U</td></tr> <tr class="memdesc:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">More...</a><br /></td></tr> <tr class="separator:a52bb099e73cb9f6d02ef6ac9f89b4061"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5125a29c37e57656f45ad168e654fd05"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">MUtils::CPUFetaures::FLAG_SSSE3</a> = 0x020U</td></tr> <tr class="memdesc:a5125a29c37e57656f45ad168e654fd05"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">More...</a><br /></td></tr> <tr class="separator:a5125a29c37e57656f45ad168e654fd05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">MUtils::CPUFetaures::FLAG_SSE41</a> = 0x040U</td></tr> <tr class="memdesc:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">More...</a><br /></td></tr> <tr class="separator:a425bc8f89d64bf6dafdbd00c89b9874b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">MUtils::CPUFetaures::FLAG_SSE42</a> = 0x080U</td></tr> <tr class="memdesc:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">More...</a><br /></td></tr> <tr class="separator:afcb03b5edb1518bfca9984ff9ccc4f99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad8a4de23ab21ecd4871358e7edea90cb"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">MUtils::CPUFetaures::FLAG_AVX</a> = 0x100U</td></tr> <tr class="memdesc:ad8a4de23ab21ecd4871358e7edea90cb"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">More...</a><br /></td></tr> <tr class="separator:ad8a4de23ab21ecd4871358e7edea90cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">MUtils::CPUFetaures::FLAG_AVX2</a> = 0x200U</td></tr> <tr class="memdesc:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">More...</a><br /></td></tr> <tr class="separator:a9d8a032c0fdeb501e4a39826ab2aa23c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">MUtils::CPUFetaures::FLAG_FMA3</a> = 0x400U</td></tr> <tr class="memdesc:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">More...</a><br /></td></tr> <tr class="separator:a0700ba3ad4c671b7a6465b871bd60d2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acac041ff2292d32c1bd3f26f61486a01"><td class="memItemLeft" align="right" valign="top">static const quint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">MUtils::CPUFetaures::FLAG_LZCNT</a> = 0x800U</td></tr> <tr class="memdesc:acac041ff2292d32c1bd3f26f61486a01"><td class="mdescLeft"> </td><td class="mdescRight">CPU feature flag. <a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">More...</a><br /></td></tr> <tr class="separator:acac041ff2292d32c1bd3f26f61486a01"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>This file contains function for detecting information about the CPU. </p> <p>Call the <a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc" title="Detect processor information. ">MUtils::CPUFetaures::detect()</a> to detect information about the processor, which will be returned in a <code><a class="el" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e" title="Struct to hold information about the CPU. See _cpu_info_t for details! ">MUtils::CPUFetaures::cpu_info_t</a></code> struct. </p> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="../../doxygen.png" alt="doxygen"/> </a> 1.8.12 </small></address> </body> </html>