<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile doxygen_version="1.13.2">
  <compound kind="file">
    <name>version.hpp</name>
    <path>build/numapp/src/include/numapp/</path>
    <filename>version_8hpp.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>NUMAPP_VERSION</name>
      <anchorfile>group__numapp.html</anchorfile>
      <anchor>ga5b6bb47d7670df90bb57ee1cec2a8dbb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cpuaffinity.cpp</name>
    <path>numapp/src/</path>
    <filename>cpuaffinity_8cpp.html</filename>
    <includes id="cpuaffinity_8hpp" name="cpuaffinity.hpp" local="no" import="no" module="no" objc="no">numapp/cpuaffinity.hpp</includes>
    <includes id="lowlevel_8hpp" name="lowlevel.hpp" local="no" import="no" module="no" objc="no">numapp/lowlevel.hpp</includes>
    <includes id="thread_8hpp" name="thread.hpp" local="no" import="no" module="no" objc="no">numapp/thread.hpp</includes>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga9b159a11106344eb751db7233db07951</anchor>
      <arglist>(CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga9b159a11106344eb751db7233db07951</anchor>
      <arglist>(CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>bitmask.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>bitmask_8hpp.html</filename>
    <class kind="class">numapp::Bitmask</class>
    <namespace>numapp</namespace>
  </compound>
  <compound kind="file">
    <name>config.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>config_8hpp.html</filename>
  </compound>
  <compound kind="file">
    <name>cpuaffinity.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>cpuaffinity_8hpp.html</filename>
    <includes id="cpumask_8hpp" name="cpumask.hpp" local="yes" import="no" module="no" objc="no">cpumask.hpp</includes>
    <class kind="class">numapp::CpuAffinity</class>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga9b159a11106344eb751db7233db07951</anchor>
      <arglist>(CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga9b159a11106344eb751db7233db07951</anchor>
      <arglist>(CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cpumask.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>cpumask_8hpp.html</filename>
    <includes id="bitmask_8hpp" name="bitmask.hpp" local="yes" import="no" module="no" objc="no">bitmask.hpp</includes>
    <class kind="class">numapp::Cpumask</class>
    <namespace>numapp</namespace>
  </compound>
  <compound kind="file">
    <name>thread.hpp</name>
    <path>numapp/src/include/numapp/detail/</path>
    <filename>detail_2thread_8hpp.html</filename>
    <includes id="numapolicies_8hpp" name="numapolicies.hpp" local="no" import="no" module="no" objc="no">numapp/numapolicies.hpp</includes>
    <namespace>numapp</namespace>
  </compound>
  <compound kind="file">
    <name>thread.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>thread_8hpp.html</filename>
    <includes id="config_8hpp" name="config.hpp" local="no" import="no" module="no" objc="no">numapp/config.hpp</includes>
    <includes id="detail_2thread_8hpp" name="thread.hpp" local="no" import="no" module="no" objc="no">numapp/detail/thread.hpp</includes>
    <includes id="numapolicies_8hpp" name="numapolicies.hpp" local="no" import="no" module="no" objc="no">numapp/numapolicies.hpp</includes>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga9eb93890e614de69dc00af726549eb64</anchor>
      <arglist>(std::string_view thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga5cb8fe40a5e83d57213feb15f223ceb1</anchor>
      <arglist>(char const *thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga9eb93890e614de69dc00af726549eb64</anchor>
      <arglist>(std::string_view thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga5cb8fe40a5e83d57213feb15f223ceb1</anchor>
      <arglist>(char const *thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>flags.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>flags_8hpp.html</filename>
    <namespace>numapp</namespace>
    <member kind="define">
      <type>#define</type>
      <name>NUMAPP_ENABLE_BITFLAG</name>
      <anchorfile>flags_8hpp.html</anchorfile>
      <anchor>a33e3aa504ef386d2cb51acee08cfc95f</anchor>
      <arglist>(enum)</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator|</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a0b1c59d8a6001afc1fa7cb51121e6988</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>add9c8a4b1b6c5adb41f3de74a897c8fd</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator&amp;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>ab597c35e6c770bdc812717381c92d734</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a377b2e9f4598b2e6dda33b05ddf51d4d</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator|</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a0b1c59d8a6001afc1fa7cb51121e6988</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>add9c8a4b1b6c5adb41f3de74a897c8fd</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator&amp;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>ab597c35e6c770bdc812717381c92d734</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a377b2e9f4598b2e6dda33b05ddf51d4d</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>lowlevel.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>lowlevel_8hpp.html</filename>
    <includes id="config_8hpp" name="config.hpp" local="yes" import="no" module="no" objc="no">config.hpp</includes>
    <includes id="cpumask_8hpp" name="cpumask.hpp" local="yes" import="no" module="no" objc="no">cpumask.hpp</includes>
    <includes id="nodemask_8hpp" name="nodemask.hpp" local="yes" import="no" module="no" objc="no">nodemask.hpp</includes>
    <namespace>numapp</namespace>
    <namespace>numapp::ll</namespace>
  </compound>
  <compound kind="file">
    <name>memory.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>memory_8hpp.html</filename>
    <includes id="config_8hpp" name="config.hpp" local="no" import="no" module="no" objc="no">numapp/config.hpp</includes>
    <includes id="flags_8hpp" name="flags.hpp" local="no" import="no" module="no" objc="no">numapp/flags.hpp</includes>
    <includes id="mempolicy_8hpp" name="mempolicy.hpp" local="no" import="no" module="no" objc="no">numapp/mempolicy.hpp</includes>
    <includes id="nodemask_8hpp" name="nodemask.hpp" local="no" import="no" module="no" objc="no">numapp/nodemask.hpp</includes>
    <class kind="class">numapp::PageResource</class>
    <class kind="class">numapp::LockResource</class>
    <class kind="class">numapp::HugePageSize</class>
    <class kind="class">numapp::HugePageResource</class>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LockFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga9f35bb2de2c61c2b3dbf6426551b9924</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924a8b66d753495338ad922aac75b034daa6">PreFault</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LockAllFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga51ed9c35a734e9601c808994b3806f93</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93a222a267cc5778206b253be35ee3ddab5">Current</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93aadff855173c9b92b5478129af7d39e03">Future</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga3e4ada8e380258fdbeb97d9133ebb9b6</anchor>
      <arglist>(void const *addr, std::size_t len, LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5ae7f07a255754129b925dadae0969e8</anchor>
      <arglist>(void const *addr, std::size_t len) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaccf09c69ecb7a20c08a45a6090228b83</anchor>
      <arglist>(LockAllFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabfd34a3e852d9e479ca1f2febaae5408</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mempolicy.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>mempolicy_8hpp.html</filename>
    <includes id="config_8hpp" name="config.hpp" local="no" import="no" module="no" objc="no">numapp/config.hpp</includes>
    <includes id="flags_8hpp" name="flags.hpp" local="no" import="no" module="no" objc="no">numapp/flags.hpp</includes>
    <includes id="nodemask_8hpp" name="nodemask.hpp" local="no" import="no" module="no" objc="no">numapp/nodemask.hpp</includes>
    <class kind="class">numapp::MemPolicy</class>
    <class kind="class">numapp::ScopedMemPolicy</class>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac65de767bcf44101f5e748e8e4176c09</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>ApplyStack</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8fb38b6af4da9dda14b710cf7d4c5de9</anchor>
      <arglist>(MemPolicy const &amp;policy, MemPolicyFlag flags=MemPolicyFlag::Move|MemPolicyFlag::Strict) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac65de767bcf44101f5e748e8e4176c09</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>ApplyStack</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8fb38b6af4da9dda14b710cf7d4c5de9</anchor>
      <arglist>(MemPolicy const &amp;policy, MemPolicyFlag flags=MemPolicyFlag::Move|MemPolicyFlag::Strict) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>nodemask.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>nodemask_8hpp.html</filename>
    <includes id="bitmask_8hpp" name="bitmask.hpp" local="yes" import="no" module="no" objc="no">bitmask.hpp</includes>
    <class kind="struct">numapp::Nodemask</class>
    <namespace>numapp</namespace>
  </compound>
  <compound kind="file">
    <name>numapolicies.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>numapolicies_8hpp.html</filename>
    <includes id="cpuaffinity_8hpp" name="cpuaffinity.hpp" local="no" import="no" module="no" objc="no">numapp/cpuaffinity.hpp</includes>
    <includes id="mempolicy_8hpp" name="mempolicy.hpp" local="no" import="no" module="no" objc="no">numapp/mempolicy.hpp</includes>
    <includes id="scheduler_8hpp" name="scheduler.hpp" local="no" import="no" module="no" objc="no">numapp/scheduler.hpp</includes>
    <class kind="class">numapp::NumaPolicies</class>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>numapolicies_8hpp.html</anchorfile>
      <anchor>a8197fd42281eace4e4a2f1ce4b5eb23f</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>numapolicies_8hpp.html</anchorfile>
      <anchor>a8197fd42281eace4e4a2f1ce4b5eb23f</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scheduler.hpp</name>
    <path>numapp/src/include/numapp/</path>
    <filename>scheduler_8hpp.html</filename>
    <class kind="class">numapp::IdleScheduler</class>
    <class kind="class">numapp::StaticScheduler</class>
    <class kind="class">numapp::DynamicScheduler</class>
    <class kind="class">numapp::Scheduler</class>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac86cb9a0a121c68cf2c89123ebc40d49</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga6b6373a7bba5fe8a2592a9709f18bb93</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga034721c227f8fcc0f05424b9af8b2989</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaaa5cc031daf81419b85d7f3368f1eb97</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac86cb9a0a121c68cf2c89123ebc40d49</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga6b6373a7bba5fe8a2592a9709f18bb93</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga034721c227f8fcc0f05424b9af8b2989</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaaa5cc031daf81419b85d7f3368f1eb97</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>memory.cpp</name>
    <path>numapp/src/</path>
    <filename>memory_8cpp.html</filename>
    <includes id="memory_8hpp" name="memory.hpp" local="no" import="no" module="no" objc="no">numapp/memory.hpp</includes>
    <includes id="mempolicy_8hpp" name="mempolicy.hpp" local="no" import="no" module="no" objc="no">numapp/mempolicy.hpp</includes>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga3e4ada8e380258fdbeb97d9133ebb9b6</anchor>
      <arglist>(void const *addr, std::size_t len, LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5ae7f07a255754129b925dadae0969e8</anchor>
      <arglist>(void const *addr, std::size_t len) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaccf09c69ecb7a20c08a45a6090228b83</anchor>
      <arglist>(LockAllFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabfd34a3e852d9e479ca1f2febaae5408</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga3e4ada8e380258fdbeb97d9133ebb9b6</anchor>
      <arglist>(void const *addr, std::size_t len, LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5ae7f07a255754129b925dadae0969e8</anchor>
      <arglist>(void const *addr, std::size_t len) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaccf09c69ecb7a20c08a45a6090228b83</anchor>
      <arglist>(LockAllFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabfd34a3e852d9e479ca1f2febaae5408</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>numapolicies.cpp</name>
    <path>numapp/src/</path>
    <filename>numapolicies_8cpp.html</filename>
    <includes id="numapolicies_8hpp" name="numapolicies.hpp" local="no" import="no" module="no" objc="no">numapp/numapolicies.hpp</includes>
    <namespace>numapp</namespace>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>numapolicies_8hpp.html</anchorfile>
      <anchor>a8197fd42281eace4e4a2f1ce4b5eb23f</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>numapolicies_8hpp.html</anchorfile>
      <anchor>a8197fd42281eace4e4a2f1ce4b5eb23f</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>thread.cpp</name>
    <path>numapp/src/</path>
    <filename>thread_8cpp.html</filename>
    <includes id="thread_8hpp" name="thread.hpp" local="no" import="no" module="no" objc="no">numapp/thread.hpp</includes>
    <namespace>numapp</namespace>
  </compound>
  <compound kind="class">
    <name>numapp::Bitmask</name>
    <filename>classnumapp_1_1Bitmask.html</filename>
    <templarg>class Class</templarg>
    <member kind="function">
      <type>Bitmask &amp;</type>
      <name>operator=</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a93c8f5e1fccfc41f78e1db23b8c5ea4f</anchor>
      <arglist>(Bitmask const &amp;rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a16b525eff468f35f9b52c8d80b2817b9</anchor>
      <arglist>(Bitmask const &amp;rhs) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ae69d7d56cffacddef2a356f8042e9afb</anchor>
      <arglist>(Bitmask const &amp;rhs) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>struct bitmask const *</type>
      <name>GetNative</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ac4266efef75ad7ede9ef17a2d6ea9997</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>struct bitmask *</type>
      <name>GetNative</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a42270ff0a3230aba9c71e549345a5bcc</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetSize</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a106446b9aa88e1a029a8f6bb43f5548a</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>Test</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ae0a51c3c69184317c4d4efc7f33e1221</anchor>
      <arglist>(unsigned int position) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>Bitmask &amp;</type>
      <name>Set</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a1b57d0542415efbdb8f0818b12944ebb</anchor>
      <arglist>(unsigned int position, bool value=true) noexcept</arglist>
    </member>
    <member kind="function">
      <type>Bitmask &amp;</type>
      <name>Reset</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ac05d72a51f7e3dc6f6f829fb8bbbd85e</anchor>
      <arglist>(unsigned int position) noexcept</arglist>
    </member>
    <member kind="function" protection="protected">
      <type></type>
      <name>Bitmask</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ab0466c1c43b133fe8ade0d97203b388b</anchor>
      <arglist>(NumaBitmaskPtr &amp;&amp;bitmask)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ForEach</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga955b01739303ea982a29082bf4393028</anchor>
      <arglist>(Bitmask&lt; Class &gt; const &amp;bitmask, F &amp;&amp;f, bool value=true)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gabdb0f3002f77e3bcd5d66205cdbdac5e</anchor>
      <arglist>(std::ostream &amp;os, Bitmask&lt; Class &gt; const &amp;mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga5cdb2d748f3a2f6fc936bbb4ea2275c3</anchor>
      <arglist>(std::ostream &amp;os, bitmask const *mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a16b525eff468f35f9b52c8d80b2817b9</anchor>
      <arglist>(Bitmask const &amp;rhs) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ae69d7d56cffacddef2a356f8042e9afb</anchor>
      <arglist>(Bitmask const &amp;rhs) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>struct bitmask const *</type>
      <name>GetNative</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ac4266efef75ad7ede9ef17a2d6ea9997</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>struct bitmask *</type>
      <name>GetNative</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a42270ff0a3230aba9c71e549345a5bcc</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetSize</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a106446b9aa88e1a029a8f6bb43f5548a</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>Test</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ae0a51c3c69184317c4d4efc7f33e1221</anchor>
      <arglist>(unsigned int position) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>Bitmask &amp;</type>
      <name>Set</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>a1b57d0542415efbdb8f0818b12944ebb</anchor>
      <arglist>(unsigned int position, bool value=true) noexcept</arglist>
    </member>
    <member kind="function">
      <type>Bitmask &amp;</type>
      <name>Reset</name>
      <anchorfile>classnumapp_1_1Bitmask.html</anchorfile>
      <anchor>ac05d72a51f7e3dc6f6f829fb8bbbd85e</anchor>
      <arglist>(unsigned int position) noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::CpuAffinity</name>
    <filename>classnumapp_1_1CpuAffinity.html</filename>
    <member kind="function">
      <type></type>
      <name>CpuAffinity</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a876903f2a6ade72d3c4aacaef8e456c7</anchor>
      <arglist>(Cpumask &amp;&amp;mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>Cpumask const &amp;</type>
      <name>GetMask</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a1f03decc61322d640275224025194bec</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static CpuAffinity</type>
      <name>MakeFromActive</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>ad5fdb86bba9143015a2c221f768937b6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static CpuAffinity</type>
      <name>MakeFromCpuString</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>aebd96370bd46295aa2aadbd809c32ff0</anchor>
      <arglist>(char const *cpustring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static CpuAffinity</type>
      <name>MakeFromCpuStringAll</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a235442b87d97b27dbb233513c1119be8</anchor>
      <arglist>(char const *cpustring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static CpuAffinity</type>
      <name>MakeBindNode</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a77c7309adec110a4ffe1a59f4403afeb</anchor>
      <arglist>(int node)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static CpuAffinity</type>
      <name>MakeBindCpu</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a737f87098130d1e8c71989adb8c9539d</anchor>
      <arglist>(int cpu)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1CpuAffinity.html</anchorfile>
      <anchor>a8b218d87babe286e352dc99ce26a682d</anchor>
      <arglist>(std::ostream &amp;os, CpuAffinity const &amp;affinity)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga240b5e6d437cf9e10b3c02c242c6c939</anchor>
      <arglist>(CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab4836a9d294e685bc676566205f777ba</anchor>
      <arglist>(pid_t thread, CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga240b5e6d437cf9e10b3c02c242c6c939</anchor>
      <arglist>(CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab4836a9d294e685bc676566205f777ba</anchor>
      <arglist>(pid_t thread, CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::Cpumask</name>
    <filename>classnumapp_1_1Cpumask.html</filename>
    <base>numapp::Bitmask&lt; Cpumask &gt;</base>
    <member kind="function" static="yes">
      <type>static Cpumask</type>
      <name>MakeFromCpuStringAll</name>
      <anchorfile>classnumapp_1_1Cpumask.html</anchorfile>
      <anchor>af5619f12df5c00a5c709e7266d0e5dee</anchor>
      <arglist>(char const *cpustring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static Cpumask</type>
      <name>MakeFromCpuString</name>
      <anchorfile>classnumapp_1_1Cpumask.html</anchorfile>
      <anchor>a345b847e1b2760c292dc4b91916b91b7</anchor>
      <arglist>(char const *cpustring)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::DynamicScheduler</name>
    <filename>classnumapp_1_1DynamicScheduler.html</filename>
    <member kind="enumeration">
      <type></type>
      <name>Policy</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a11cc49b58ec489833f71e7f5e1882672</anchor>
      <arglist></arglist>
      <enumvalue file="classnumapp_1_1DynamicScheduler.html" anchor="a11cc49b58ec489833f71e7f5e1882672a6311ae17c1ee52b36e68aaf4ad066387">Other</enumvalue>
      <enumvalue file="classnumapp_1_1DynamicScheduler.html" anchor="a11cc49b58ec489833f71e7f5e1882672a51ffe9dd1b1e143c1b9f1144d040e454">Batch</enumvalue>
    </member>
    <member kind="function">
      <type></type>
      <name>DynamicScheduler</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a5b0765fca0a221f417749d905bfc0e7b</anchor>
      <arglist>(Policy policy=Policy::Other, int nice=0)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetNice</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a5dfa9a43c7c4795ae2807c2e3fbec756</anchor>
      <arglist>(int value) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetPolicy</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a6f64e095e25a4d089cd498ee7a818f51</anchor>
      <arglist>(Policy policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNice</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a76627d9a705d3e7660374df70f86109f</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Policy</type>
      <name>GetPolicy</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>a49c1b7aadbaad59c377f9128e1dc4032</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>aa8595f2cb32f66c742d10b2de7dfd3a5</anchor>
      <arglist>(std::ostream &amp;os, DynamicScheduler const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1DynamicScheduler.html</anchorfile>
      <anchor>aabfdac150c16b0b01f613c1581ab6063</anchor>
      <arglist>(std::ostream &amp;os, DynamicScheduler const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac1ff339fa940263dfc8007a6aac8bda8</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac1ff339fa940263dfc8007a6aac8bda8</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::HugePageResource</name>
    <filename>classnumapp_1_1HugePageResource.html</filename>
    <member kind="function">
      <type></type>
      <name>HugePageResource</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>a7bbd6ee91ebc48850b9e68828113c945</anchor>
      <arglist>(HugePageSize page_size, MemPolicy policy, MemPolicyFlag flags=MemPolicyFlag::None)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~HugePageResource</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>afe161adf036d0d5f8f0967daf6f50c3a</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>HugePageResource &amp;</type>
      <name>operator=</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>a1f8c9c4636f6b0a15e0ccd814c0fe0ce</anchor>
      <arglist>(HugePageResource const &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetPolicy</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>aed28aa6121b7efc7216bf4e70936eabb</anchor>
      <arglist>() const noexcept -&gt; MemPolicy const &amp;</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetFlags</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>a826c6ec652db616a122e4b3f7fe9aeb7</anchor>
      <arglist>() const noexcept -&gt; MemPolicyFlag</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetPageSize</name>
      <anchorfile>classnumapp_1_1HugePageResource.html</anchorfile>
      <anchor>a429b2f026d934676ce681f38ac7a3be1</anchor>
      <arglist>() const noexcept -&gt; HugePageSize</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::HugePageSize</name>
    <filename>classnumapp_1_1HugePageSize.html</filename>
    <member kind="function">
      <type></type>
      <name>HugePageSize</name>
      <anchorfile>classnumapp_1_1HugePageSize.html</anchorfile>
      <anchor>a5f80d7590102863641596d4f13b172c0</anchor>
      <arglist>(HugePagePreset preset) noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>HugePageSize</name>
      <anchorfile>classnumapp_1_1HugePageSize.html</anchorfile>
      <anchor>aeb3e8a6cd8fdaf379b6fe5c5e3b5587b</anchor>
      <arglist>(std::size_t bytes)</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>operator&lt;=&gt;</name>
      <anchorfile>classnumapp_1_1HugePageSize.html</anchorfile>
      <anchor>aac8d5b790bb7ea9e0becf15a407c1695</anchor>
      <arglist>(HugePageSize const &amp;) const noexcept -&gt; std::strong_ordering=default</arglist>
    </member>
    <member kind="function">
      <type>constexpr auto</type>
      <name>Size</name>
      <anchorfile>classnumapp_1_1HugePageSize.html</anchorfile>
      <anchor>a16258e37f48d62879aa39102f4a59506</anchor>
      <arglist>() const noexcept -&gt; std::size_t</arglist>
    </member>
    <member kind="function">
      <type>constexpr auto</type>
      <name>Size</name>
      <anchorfile>classnumapp_1_1HugePageSize.html</anchorfile>
      <anchor>a16258e37f48d62879aa39102f4a59506</anchor>
      <arglist>() const noexcept -&gt; std::size_t</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::IdleScheduler</name>
    <filename>classnumapp_1_1IdleScheduler.html</filename>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1IdleScheduler.html</anchorfile>
      <anchor>a00d5d08332bc7c76576b34264a94779e</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1IdleScheduler.html</anchorfile>
      <anchor>aa8d27a0aedf4bc327684ccee45b9d731</anchor>
      <arglist>(std::ostream &amp;os, IdleScheduler const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac5109ac98e701ce7945df9e97d124a48</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac5109ac98e701ce7945df9e97d124a48</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>numapp::IsFlagEnum</name>
    <filename>structnumapp_1_1IsFlagEnum.html</filename>
    <templarg>class Enum</templarg>
  </compound>
  <compound kind="class">
    <name>numapp::LockResource</name>
    <filename>classnumapp_1_1LockResource.html</filename>
    <member kind="function">
      <type></type>
      <name>LockResource</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>a5ae5385d9627f5db3b30e00e2ada8a8e</anchor>
      <arglist>(LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LockResource</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>a00899d06e658d565a65edb651f7843a4</anchor>
      <arglist>(std::pmr::memory_resource *upstream) noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LockResource</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>ae87042b2ccf4f36e99ddff0cc2386d5f</anchor>
      <arglist>(LockFlag flag, std::pmr::memory_resource *upstream) noexcept</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LockResource</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>a26632ef12a3bd078bed11b3e08d46188</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>LockResource &amp;</type>
      <name>operator=</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>a006781c32b93427a6e66288af2bb19ad</anchor>
      <arglist>(LockResource const &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetFlags</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>ab5aacf9251dc654d3dc0c38eae040814</anchor>
      <arglist>() const noexcept -&gt; LockFlag</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetUpstream</name>
      <anchorfile>classnumapp_1_1LockResource.html</anchorfile>
      <anchor>a9265f2074a007f7b86a80ff418734281</anchor>
      <arglist>() const noexcept -&gt; std::pmr::memory_resource *</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::MemPolicy</name>
    <filename>classnumapp_1_1MemPolicy.html</filename>
    <member kind="enumeration">
      <type></type>
      <name>Mode</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a0e58723ff91d502e0e839ad2f91bd17e</anchor>
      <arglist></arglist>
      <enumvalue file="classnumapp_1_1MemPolicy.html" anchor="a0e58723ff91d502e0e839ad2f91bd17ea7a1920d61156abc05a60135aefe8bc67">Default</enumvalue>
      <enumvalue file="classnumapp_1_1MemPolicy.html" anchor="a0e58723ff91d502e0e839ad2f91bd17ea0b172674284d79079624051d2ae11581">Bind</enumvalue>
      <enumvalue file="classnumapp_1_1MemPolicy.html" anchor="a0e58723ff91d502e0e839ad2f91bd17ead392556b3674a98332cc2938ba0bfeb7">Interleave</enumvalue>
      <enumvalue file="classnumapp_1_1MemPolicy.html" anchor="a0e58723ff91d502e0e839ad2f91bd17eaa054ccb4ff684c73cbc2d272d45e32df">Preferred</enumvalue>
    </member>
    <member kind="function">
      <type></type>
      <name>MemPolicy</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a12b9ffc5d6152be625234f705fa2e082</anchor>
      <arglist>(Mode mode, Nodemask &amp;&amp;node_mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a3829bb11b0774bac27f34529a76d2935</anchor>
      <arglist>(MemPolicy const &amp;rhs) const noexcept</arglist>
    </member>
    <member kind="function">
      <type>Mode</type>
      <name>GetMode</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a730c704d626e536d84795dae9b5bb58e</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SetMode</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a898f0ed32c4e751483152fd51a0360c5</anchor>
      <arglist>(Mode mode) noexcept</arglist>
    </member>
    <member kind="function">
      <type>Nodemask const &amp;</type>
      <name>GetNodemask</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a251bfa1afe78cef633c06c7dcf5770d7</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static MemPolicy</type>
      <name>MakeBindNode</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>ab585ed8ba76b0829fb1a6d3a6b65f8c7</anchor>
      <arglist>(int node)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static MemPolicy</type>
      <name>MakeFromNodeString</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a70b4e9e79d31f2ef92b5a65ad2d458ae</anchor>
      <arglist>(Mode mode, char const *nodestring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static MemPolicy</type>
      <name>MakeFromNodeStringAll</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>ae7b0e6f460c0aa898ff8a7fc656eaed9</anchor>
      <arglist>(Mode mode, char const *nodestring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static MemPolicy</type>
      <name>MakeFromActive</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a57c5b37f39d30744f7b8af90f49510f8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static MemPolicy</type>
      <name>MakeFromAddress</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>aafb3a892336372d666fca7e3b4170826</anchor>
      <arglist>(void *address)</arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>MemPolicyFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga807e3802304abc8f8e94813c6cb3f7c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>ac29630fa852590f79330eba5dce11533</anchor>
      <arglist>(std::ostream &amp;os, MemPolicy::Mode const &amp;mode)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>a0603099f08f370bf9077555d83ccd127</anchor>
      <arglist>(std::ostream &amp;os, MemPolicy const &amp;mempolicy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab868d78f8a0d7cec621bda0a1e11ebc0</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac0e2b7e8c784da602f2bb1b70850c90c</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae0088e476a7ff8c3f1ef578eebeaf719</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8cc799cb452528c409de611142de6e5a</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab50b2550178ae41f7f4d2564bb9c9bf8</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab7ed1064068555c01cc17928d9432009</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gab534bc5deeb098d4cf4c33eb805e1428</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gac0b11b91577ff224e0a9d6432546bd92</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabbb5ef93c1c914007f9dcc691749d53e</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab868d78f8a0d7cec621bda0a1e11ebc0</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac0e2b7e8c784da602f2bb1b70850c90c</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae0088e476a7ff8c3f1ef578eebeaf719</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8cc799cb452528c409de611142de6e5a</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab50b2550178ae41f7f4d2564bb9c9bf8</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab7ed1064068555c01cc17928d9432009</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gab534bc5deeb098d4cf4c33eb805e1428</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gac0b11b91577ff224e0a9d6432546bd92</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabbb5ef93c1c914007f9dcc691749d53e</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>numapp::Nodemask</name>
    <filename>structnumapp_1_1Nodemask.html</filename>
    <base>numapp::Bitmask&lt; Nodemask &gt;</base>
    <member kind="function" static="yes">
      <type>static Nodemask</type>
      <name>MakeFromNodestring</name>
      <anchorfile>structnumapp_1_1Nodemask.html</anchorfile>
      <anchor>ae7e342dadb781979a0c2f1fda39e9b35</anchor>
      <arglist>(char const *nodestring)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static Nodemask</type>
      <name>MakeFromNodestringAll</name>
      <anchorfile>structnumapp_1_1Nodemask.html</anchorfile>
      <anchor>a17848801c006c50b56a61a858965280c</anchor>
      <arglist>(char const *nodestring)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::NumaPolicies</name>
    <filename>classnumapp_1_1NumaPolicies.html</filename>
    <member kind="function">
      <type>void</type>
      <name>SetCpuAffinity</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a234a4e4e19083c8a68dcf8bb2465f275</anchor>
      <arglist>(std::optional&lt; CpuAffinity &gt; affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; CpuAffinity &gt;</type>
      <name>GetCpuAffinity</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a82b8a2959dd985dabc5daff4894d9297</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SwapCpuAffinity</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>ab78422790928ec2e697b23a450a03d89</anchor>
      <arglist>(std::optional&lt; CpuAffinity &gt; &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SetScheduler</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>af4c2a751376582045a70fc37bbaebd3f</anchor>
      <arglist>(std::optional&lt; Scheduler &gt; scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; Scheduler &gt;</type>
      <name>GetScheduler</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a7d0bc118b11f36433483c441a606f1af</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SwapScheduler</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a0df40b88bd79c53b27cca7847d8754f1</anchor>
      <arglist>(std::optional&lt; Scheduler &gt; &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SetMemPolicy</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>add39af96a62767e931b558a8b64f971d</anchor>
      <arglist>(std::optional&lt; MemPolicy &gt; policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; MemPolicy &gt;</type>
      <name>GetMemPolicy</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a45fd30aa6e9e8ee3d88112353ea17dff</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SwapMemPolicy</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>a1d2da5534c4fe1c63f3b8600318ac324</anchor>
      <arglist>(std::optional&lt; MemPolicy &gt; &amp;mempol) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>acf03e6978ba42f1606e3339f4ad69dac</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>acf03e6978ba42f1606e3339f4ad69dac</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::PageResource</name>
    <filename>classnumapp_1_1PageResource.html</filename>
    <member kind="function">
      <type></type>
      <name>PageResource</name>
      <anchorfile>classnumapp_1_1PageResource.html</anchorfile>
      <anchor>a60ae52299c28d3ed8739fa56a72516d2</anchor>
      <arglist>(MemPolicy policy, MemPolicyFlag flags=MemPolicyFlag::None)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~PageResource</name>
      <anchorfile>classnumapp_1_1PageResource.html</anchorfile>
      <anchor>a21fb41448d58ce08971a05ea732ab48e</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>PageResource &amp;</type>
      <name>operator=</name>
      <anchorfile>classnumapp_1_1PageResource.html</anchorfile>
      <anchor>a0f2f4ac0e78e9bc49f6cc7533ea559ca</anchor>
      <arglist>(PageResource const &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetPolicy</name>
      <anchorfile>classnumapp_1_1PageResource.html</anchorfile>
      <anchor>aca704207a5714df387c429fa76b4781b</anchor>
      <arglist>() const noexcept -&gt; MemPolicy const &amp;</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>GetFlags</name>
      <anchorfile>classnumapp_1_1PageResource.html</anchorfile>
      <anchor>a0ff8fcc1d1c2692a8e46353be66ea406</anchor>
      <arglist>() const noexcept -&gt; MemPolicyFlag</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::Scheduler</name>
    <filename>classnumapp_1_1Scheduler.html</filename>
    <member kind="function">
      <type>constexpr bool</type>
      <name>HoldsScheduler</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>ac57af94cd5a8c77239dedd787a923893</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr T</type>
      <name>GetScheduler</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>a9458ab5ba3773d848bb4103482e7fd90</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>SchedulerVariant const &amp;</type>
      <name>Get</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>a663a021de43ca942ad4c2b3e34a506bf</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator SchedulerVariant</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>ab9a139693cded2dd5518719530078149</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static Scheduler</type>
      <name>MakeFromActive</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>a675b6afd636b8e261fb8f7a906b99abb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static Scheduler</type>
      <name>MakeFromActive</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>ae432fb580e14c77982eb59fd6ebe643d</anchor>
      <arglist>(pid_t pid)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1Scheduler.html</anchorfile>
      <anchor>a451fc0f711c61dd7dfa78cb8f7387e9e</anchor>
      <arglist>(std::ostream &amp;os, Scheduler const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga858f3eaefbb6fa99c3e3eb580c3ccca3</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga858f3eaefbb6fa99c3e3eb580c3ccca3</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::ScopedMemPolicy</name>
    <filename>classnumapp_1_1ScopedMemPolicy.html</filename>
    <member kind="function">
      <type></type>
      <name>ScopedMemPolicy</name>
      <anchorfile>classnumapp_1_1ScopedMemPolicy.html</anchorfile>
      <anchor>a7fb10063bf1f51f1f29c11b863ecc2b9</anchor>
      <arglist>(MemPolicy const &amp;new_policy)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScopedMemPolicy</name>
      <anchorfile>classnumapp_1_1ScopedMemPolicy.html</anchorfile>
      <anchor>ae9a8e84ad9a454990ebd737f20176680</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScopedMemPolicy</name>
      <anchorfile>classnumapp_1_1ScopedMemPolicy.html</anchorfile>
      <anchor>a281a8afa2216dc768d0042c4cae9ad3b</anchor>
      <arglist>() noexcept=default</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Swap</name>
      <anchorfile>classnumapp_1_1ScopedMemPolicy.html</anchorfile>
      <anchor>a5bffc702bc109e0fc15bf4b79b638e8e</anchor>
      <arglist>(ScopedMemPolicy &amp;rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Restore</name>
      <anchorfile>classnumapp_1_1ScopedMemPolicy.html</anchorfile>
      <anchor>add87dd6da224ef2871a4f403298450af</anchor>
      <arglist>() noexcept</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>numapp::StaticScheduler</name>
    <filename>classnumapp_1_1StaticScheduler.html</filename>
    <member kind="enumeration">
      <type></type>
      <name>Policy</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a81a54e6ed1177da3f266803391f309f0</anchor>
      <arglist></arglist>
      <enumvalue file="classnumapp_1_1StaticScheduler.html" anchor="a81a54e6ed1177da3f266803391f309f0aa0476ca4d7283b340d24c53c16270958">Fifo</enumvalue>
      <enumvalue file="classnumapp_1_1StaticScheduler.html" anchor="a81a54e6ed1177da3f266803391f309f0afeb9d426f3c4871e483b4bbad25ea29f">Rr</enumvalue>
    </member>
    <member kind="function">
      <type></type>
      <name>StaticScheduler</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a1e48614ff6923bd3a02559afc92cca54</anchor>
      <arglist>(Policy policy, int priority)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetPriority</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a90897d320b11444450486ec537d59aab</anchor>
      <arglist>(int priority)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetPolicy</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>ab4aa251aa3e4e1ed6633aed066afabbc</anchor>
      <arglist>(Policy policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr int</type>
      <name>GetPriority</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a1453cb77d76d63ef293b9f592ac09d42</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Policy</type>
      <name>GetPolicy</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a94def72b6d570e9ba4492923a0052fab</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classnumapp_1_1StaticScheduler.html</anchorfile>
      <anchor>a036ad6f99efe5e9319ddb3bca5c8d30f</anchor>
      <arglist>(std::ostream &amp;os, StaticScheduler const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga5c10b70c5da96ea7e564c8d0c5167daf</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga5c10b70c5da96ea7e564c8d0c5167daf</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>numapp</name>
    <filename>namespacenumapp.html</filename>
    <namespace>numapp::ll</namespace>
    <class kind="class">numapp::Bitmask</class>
    <class kind="class">numapp::CpuAffinity</class>
    <class kind="class">numapp::Cpumask</class>
    <class kind="class">numapp::DynamicScheduler</class>
    <class kind="class">numapp::HugePageResource</class>
    <class kind="class">numapp::HugePageSize</class>
    <class kind="class">numapp::IdleScheduler</class>
    <class kind="struct">numapp::IsFlagEnum</class>
    <class kind="class">numapp::LockResource</class>
    <class kind="class">numapp::MemPolicy</class>
    <class kind="struct">numapp::Nodemask</class>
    <class kind="class">numapp::NumaPolicies</class>
    <class kind="class">numapp::PageResource</class>
    <class kind="class">numapp::Scheduler</class>
    <class kind="class">numapp::ScopedMemPolicy</class>
    <class kind="class">numapp::StaticScheduler</class>
    <member kind="typedef">
      <type>std::unique_ptr&lt; struct bitmask, void(*)(struct bitmask *)&gt;</type>
      <name>NumaBitmaskPtr</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga338bd31ed5764555baf101809503c3b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::variant&lt; DynamicScheduler, StaticScheduler, IdleScheduler &gt;</type>
      <name>SchedulerVariant</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga1d65603b39e734d2431b845191e1066d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>HugePagePreset</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga5d152129acec4577302cf7ee14848d14</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a5fe376942e0bdafcd33c10104b10ff22">Huge8k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aa64caab14be5ce657045452a449687e1">Huge16k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aa5c363a5f0712341fcb0c9503255c4f5">Huge64k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14ae3aa1bbad2314bb706e17b023e04e181">Huge256k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aaef6be8838649e61d9ed36600e39721a">Huge1M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a7b15aa2437c73ef7d9a680ba726e9142">Huge2M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a7e464cbfd51bfbdad6029d984d2db636">Huge4M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14abfb64406df614d3adbdacc9df91598de">Huge16M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aef63e871b5b2bd948d20308a31bae28d">Huge256M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a8b67323236de0a4573ca4b7d4f7c3856">Huge1G</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>MemPolicyFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga807e3802304abc8f8e94813c6cb3f7c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gacfe6d946c8244fcb81f0f61eeb74aa05</anchor>
      <arglist>(std::ostream &amp;os, bitmask const  *mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ForEach</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga9334f5c9522e620954e0a0929ea2331e</anchor>
      <arglist>(Bitmask&lt; Class &gt; const &amp;bitmask, F &amp;&amp;f, bool value=true)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gad4bf1854859e984eb211858c79f3e7b3</anchor>
      <arglist>(std::ostream &amp;os, Bitmask&lt; Class &gt; const &amp;mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga3e9ed8ec8fcf3a29a13eaefb4dc66a98</anchor>
      <arglist>(std::ostream &amp;os, Cpumask const &amp;mask)</arglist>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>EncodeMmapFlags</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga4878924a0d3884046e5dd01f0c8e4e0c</anchor>
      <arglist>(HugePageSize page_size) noexcept -&gt; int</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gae02f09c68fa2de78029342cbbf947407</anchor>
      <arglist>(std::ostream &amp;os, Nodemask const &amp;mask)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>NumaAvailable</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga51501e6ec7897ffb00edb5907b5ee266</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a7e1e822ac92f9de8c32c8d49473871e8</anchor>
      <arglist>(std::ostream &amp;os, NumaPolicies const &amp;policies)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>abb840520ddfcea35bb081bec5cf4f93f</anchor>
      <arglist>(std::ostream &amp;os, StaticScheduler::Policy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga4e4e4fec57f43c6d0c8eb946438b5eb5</anchor>
      <arglist>(std::ostream &amp;os, SchedulerVariant const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator|</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a0b1c59d8a6001afc1fa7cb51121e6988</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>add9c8a4b1b6c5adb41f3de74a897c8fd</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator&amp;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>ab597c35e6c770bdc812717381c92d734</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a377b2e9f4598b2e6dda33b05ddf51d4d</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga9eb93890e614de69dc00af726549eb64</anchor>
      <arglist>(std::string_view thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga5cb8fe40a5e83d57213feb15f223ceb1</anchor>
      <arglist>(char const *thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LockFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga9f35bb2de2c61c2b3dbf6426551b9924</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924a8b66d753495338ad922aac75b034daa6">PreFault</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LockAllFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga51ed9c35a734e9601c808994b3806f93</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93a222a267cc5778206b253be35ee3ddab5">Current</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93aadff855173c9b92b5478129af7d39e03">Future</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga3e4ada8e380258fdbeb97d9133ebb9b6</anchor>
      <arglist>(void const *addr, std::size_t len, LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5ae7f07a255754129b925dadae0969e8</anchor>
      <arglist>(void const *addr, std::size_t len) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemLockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaccf09c69ecb7a20c08a45a6090228b83</anchor>
      <arglist>(LockAllFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>MemUnlockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabfd34a3e852d9e479ca1f2febaae5408</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab4836a9d294e685bc676566205f777ba</anchor>
      <arglist>(pid_t thread, CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator|</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a0b1c59d8a6001afc1fa7cb51121e6988</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>add9c8a4b1b6c5adb41f3de74a897c8fd</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum</type>
      <name>operator&amp;</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>ab597c35e6c770bdc812717381c92d734</anchor>
      <arglist>(Enum lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>constexpr Enum &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>a377b2e9f4598b2e6dda33b05ddf51d4d</anchor>
      <arglist>(Enum &amp;lhs, Enum rhs) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab868d78f8a0d7cec621bda0a1e11ebc0</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac0e2b7e8c784da602f2bb1b70850c90c</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae0088e476a7ff8c3f1ef578eebeaf719</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8cc799cb452528c409de611142de6e5a</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab50b2550178ae41f7f4d2564bb9c9bf8</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab7ed1064068555c01cc17928d9432009</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gab534bc5deeb098d4cf4c33eb805e1428</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gac0b11b91577ff224e0a9d6432546bd92</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>namespacenumapp.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1MemPolicy.html</anchorfile>
      <anchor>af445fc4957a3b9c06b884a099ac1b782</anchor>
      <arglist>(void *address, std::size_t length, MemPolicy const &amp;policy, MemPolicyFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga9eb93890e614de69dc00af726549eb64</anchor>
      <arglist>(std::string_view thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga5cb8fe40a5e83d57213feb15f223ceb1</anchor>
      <arglist>(char const *thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga240b5e6d437cf9e10b3c02c242c6c939</anchor>
      <arglist>(CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabbb5ef93c1c914007f9dcc691749d53e</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>classnumapp_1_1NumaPolicies.html</anchorfile>
      <anchor>acf03e6978ba42f1606e3339f4ad69dac</anchor>
      <arglist>(NumaPolicies const &amp;policies) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac5109ac98e701ce7945df9e97d124a48</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac1ff339fa940263dfc8007a6aac8bda8</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga5c10b70c5da96ea7e564c8d0c5167daf</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga858f3eaefbb6fa99c3e3eb580c3ccca3</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>numapp::ll</name>
    <filename>namespacenumapp_1_1ll.html</filename>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetSchedulerPolicy</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a5947e4b1c41bafb143ca96840ada7b24</anchor>
      <arglist>(pid_t pid, int policy, int static_priority, int dynamic_priority) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>GetSchedulerPolicy</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a96be2bff1a7b11df1f3cf5364a0ce830</anchor>
      <arglist>(pid_t pid, int *policy, int *static_priority, int *dynamic_priority) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>GetCpuAffinity</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a07de06912aae4fec65b9ee87c4e1db6b</anchor>
      <arglist>(pid_t ttid, Cpumask &amp;mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetCpuAffinity</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>af1efc7af161355d2ba2c9f57ed425ffd</anchor>
      <arglist>(pid_t ttid, Cpumask const &amp;mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>NumaNodeToCpumask</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a7a7349a9713aaf7f6a0c83b69cefdf30</anchor>
      <arglist>(int node, Cpumask &amp;mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>GetMemPolicy</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a65f648fdab8700bc1dc1810e68e36109</anchor>
      <arglist>(int &amp;mode, Nodemask &amp;mask, void *addr, unsigned flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetMemPolicy</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a4b2606e0b8671c28434aa33ef9a3dcf1</anchor>
      <arglist>(int mode, Nodemask const &amp;mask) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>SetMemPolicy</name>
      <anchorfile>namespacenumapp_1_1ll.html</anchorfile>
      <anchor>a6863ce007ad5d23f1a29e3ef7c21b664</anchor>
      <arglist>(void *addr, std::size_t len, int mode, Nodemask const &amp;mask, unsigned flags) noexcept</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp</name>
    <title>NUMA++</title>
    <filename>group__numapp.html</filename>
    <subgroup>numapp_detail</subgroup>
    <subgroup>numapp_numa</subgroup>
    <subgroup>numapp_affinity</subgroup>
    <subgroup>numapp_mem</subgroup>
    <subgroup>numapp_sched</subgroup>
    <subgroup>numapp_thread</subgroup>
    <file>cpuaffinity.cpp</file>
    <file>config.hpp</file>
    <file>flags.hpp</file>
    <file>numapolicies.hpp</file>
    <file>thread.hpp</file>
    <file>numapolicies.cpp</file>
    <file>version.hpp</file>
    <class kind="class">numapp::NumaPolicies</class>
    <member kind="define">
      <type>#define</type>
      <name>NUMAPP_VERSION</name>
      <anchorfile>group__numapp.html</anchorfile>
      <anchor>ga5b6bb47d7670df90bb57ee1cec2a8dbb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_detail</name>
    <title>Implementation details</title>
    <filename>group__numapp__detail.html</filename>
  </compound>
  <compound kind="group">
    <name>numapp_numa</name>
    <title>General Utilities</title>
    <filename>group__numapp__numa.html</filename>
    <file>bitmask.hpp</file>
    <file>cpumask.hpp</file>
    <file>nodemask.hpp</file>
    <namespace>numapp</namespace>
    <class kind="class">numapp::Bitmask</class>
    <class kind="class">numapp::Cpumask</class>
    <class kind="struct">numapp::Nodemask</class>
    <member kind="typedef">
      <type>std::unique_ptr&lt; struct bitmask, void(*)(struct bitmask *)&gt;</type>
      <name>numapp::NumaBitmaskPtr</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga338bd31ed5764555baf101809503c3b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::ForEach</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga9334f5c9522e620954e0a0929ea2331e</anchor>
      <arglist>(Bitmask&lt; Class &gt; const &amp;bitmask, F &amp;&amp;f, bool value=true)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gad4bf1854859e984eb211858c79f3e7b3</anchor>
      <arglist>(std::ostream &amp;os, Bitmask&lt; Class &gt; const &amp;mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gacfe6d946c8244fcb81f0f61eeb74aa05</anchor>
      <arglist>(std::ostream &amp;os, bitmask const  *mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::operator&lt;&lt;</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga3e9ed8ec8fcf3a29a13eaefb4dc66a98</anchor>
      <arglist>(std::ostream &amp;os, Cpumask const &amp;mask)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::operator&lt;&lt;</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gae02f09c68fa2de78029342cbbf947407</anchor>
      <arglist>(std::ostream &amp;os, Nodemask const &amp;mask)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>numapp::NumaAvailable</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga51501e6ec7897ffb00edb5907b5ee266</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::Bitmask::ForEach</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga955b01739303ea982a29082bf4393028</anchor>
      <arglist>(Bitmask&lt; Class &gt; const &amp;bitmask, F &amp;&amp;f, bool value=true)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::Bitmask::FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>gabdb0f3002f77e3bcd5d66205cdbdac5e</anchor>
      <arglist>(std::ostream &amp;os, Bitmask&lt; Class &gt; const &amp;mask, int min_bits)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::Bitmask::FormatBitmask</name>
      <anchorfile>group__numapp__numa.html</anchorfile>
      <anchor>ga5cdb2d748f3a2f6fc936bbb4ea2275c3</anchor>
      <arglist>(std::ostream &amp;os, bitmask const *mask, int min_bits)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_affinity</name>
    <title>CPU Affinity APIs</title>
    <filename>group__numapp__affinity.html</filename>
    <file>cpuaffinity.hpp</file>
    <class kind="class">numapp::CpuAffinity</class>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga9b159a11106344eb751db7233db07951</anchor>
      <arglist>(CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::CpuAffinity::Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>ga240b5e6d437cf9e10b3c02c242c6c939</anchor>
      <arglist>(CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab99c3f6b8e96fa1ea0e628e2f55c8f6f</anchor>
      <arglist>(pid_t thread, CpuAffinity const  &amp;affinity) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::CpuAffinity::Apply</name>
      <anchorfile>group__numapp__affinity.html</anchorfile>
      <anchor>gab4836a9d294e685bc676566205f777ba</anchor>
      <arglist>(pid_t thread, CpuAffinity const &amp;affinity) noexcept</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_mem_huge</name>
    <title>Huge Pages</title>
    <filename>group__numapp__mem__huge.html</filename>
    <class kind="class">numapp::HugePageSize</class>
    <class kind="class">numapp::HugePageResource</class>
    <member kind="enumeration">
      <type></type>
      <name>numapp::HugePagePreset</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga5d152129acec4577302cf7ee14848d14</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a5fe376942e0bdafcd33c10104b10ff22">Huge8k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aa64caab14be5ce657045452a449687e1">Huge16k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aa5c363a5f0712341fcb0c9503255c4f5">Huge64k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14ae3aa1bbad2314bb706e17b023e04e181">Huge256k</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aaef6be8838649e61d9ed36600e39721a">Huge1M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a7b15aa2437c73ef7d9a680ba726e9142">Huge2M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a7e464cbfd51bfbdad6029d984d2db636">Huge4M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14abfb64406df614d3adbdacc9df91598de">Huge16M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14aef63e871b5b2bd948d20308a31bae28d">Huge256M</enumvalue>
      <enumvalue file="group__numapp__mem__huge.html" anchor="gga5d152129acec4577302cf7ee14848d14a8b67323236de0a4573ca4b7d4f7c3856">Huge1G</enumvalue>
    </member>
    <member kind="function">
      <type>auto</type>
      <name>numapp::EncodeMmapFlags</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga4878924a0d3884046e5dd01f0c8e4e0c</anchor>
      <arglist>(HugePageSize page_size) noexcept -&gt; int</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gaa118538faa0518a3f0fb37804fe7f92d</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga2cab480e4e1c803f8caef8e0f00a4244</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga1e3d7e73425f8bd76d25fb4d13f43d74</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gab534bc5deeb098d4cf4c33eb805e1428</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::AllocateHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>gac0b11b91577ff224e0a9d6432546bd92</anchor>
      <arglist>(std::size_t size, HugePageSize page_size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::FreeHuge</name>
      <anchorfile>group__numapp__mem__huge.html</anchorfile>
      <anchor>ga709be87e2cd483058f8a4ee164bdfdc0</anchor>
      <arglist>(void *ptr, std::size_t size, HugePageSize page_size)</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_mem</name>
    <title>Memory APIs</title>
    <filename>group__numapp__mem.html</filename>
    <subgroup>numapp_mem_huge</subgroup>
    <file>memory.hpp</file>
    <file>mempolicy.hpp</file>
    <file>memory.cpp</file>
    <class kind="class">numapp::PageResource</class>
    <class kind="class">numapp::LockResource</class>
    <class kind="class">numapp::MemPolicy</class>
    <class kind="class">numapp::ScopedMemPolicy</class>
    <member kind="enumeration">
      <type></type>
      <name>numapp::MemPolicy::MemPolicyFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga807e3802304abc8f8e94813c6cb3f7c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>numapp::LockFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga9f35bb2de2c61c2b3dbf6426551b9924</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924a8b66d753495338ad922aac75b034daa6">PreFault</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga9f35bb2de2c61c2b3dbf6426551b9924ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>numapp::LockAllFlag</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga51ed9c35a734e9601c808994b3806f93</anchor>
      <arglist></arglist>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93a222a267cc5778206b253be35ee3ddab5">Current</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93aadff855173c9b92b5478129af7d39e03">Future</enumvalue>
      <enumvalue file="group__numapp__mem.html" anchor="gga51ed9c35a734e9601c808994b3806f93ab76402cdc8758aaca7cf46bc7fca481c">OnFault</enumvalue>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::MemLock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga3e4ada8e380258fdbeb97d9133ebb9b6</anchor>
      <arglist>(void const *addr, std::size_t len, LockFlag flag) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::MemUnlock</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5ae7f07a255754129b925dadae0969e8</anchor>
      <arglist>(void const *addr, std::size_t len) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::MemLockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaccf09c69ecb7a20c08a45a6090228b83</anchor>
      <arglist>(LockAllFlag flags) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::MemUnlockAll</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabfd34a3e852d9e479ca1f2febaae5408</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>numapp::GetPageSize</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga5003a299a5638117c17bc13c691861a9</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>numapp::GetNumNodes</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga1fb99d3499708c74a2d5562d56dc7af1</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>numapp::GetNodeDistance</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga6957a10da446485955a81bb4dfb7a92f</anchor>
      <arglist>(int node1, int node2) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::optional&lt; int &gt;</type>
      <name>numapp::GetNodeOfCpu</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae77037037c36eb3188d126e38224cf5a</anchor>
      <arglist>(int cpu) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa68d53fe4ea06ae2dacd6cb6f5e33f41</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabcb24048c4c076d986685ac663b866c3</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga82d6a708d43db53532e460435a59ff27</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaa44f18f8dbff48c2e3efd716f893f2a1</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8287bf799b4849645814fab69b6aa814</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gaeba763815d6f2b28dc976dd67fa164fa</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab868d78f8a0d7cec621bda0a1e11ebc0</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac0e2b7e8c784da602f2bb1b70850c90c</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gae0088e476a7ff8c3f1ef578eebeaf719</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy)</arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>numapp::MemPolicy::Allocate</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8cc799cb452528c409de611142de6e5a</anchor>
      <arglist>(std::size_t size, MemPolicy const &amp;policy, MemPolicyFlag flags)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::MemPolicy::Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab50b2550178ae41f7f4d2564bb9c9bf8</anchor>
      <arglist>(void *ptr, std::size_t size, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::MemPolicy::Free</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gab7ed1064068555c01cc17928d9432009</anchor>
      <arglist>(void *ptr, std::size_t size)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gac65de767bcf44101f5e748e8e4176c09</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::ApplyStack</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>ga8fb38b6af4da9dda14b710cf7d4c5de9</anchor>
      <arglist>(MemPolicy const &amp;policy, MemPolicyFlag flags=MemPolicyFlag::Move|MemPolicyFlag::Strict) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::MemPolicy::Apply</name>
      <anchorfile>group__numapp__mem.html</anchorfile>
      <anchor>gabbb5ef93c1c914007f9dcc691749d53e</anchor>
      <arglist>(MemPolicy const &amp;policy) noexcept</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_sched</name>
    <title>Scheduler APIs</title>
    <filename>group__numapp__sched.html</filename>
    <file>scheduler.hpp</file>
    <class kind="class">numapp::IdleScheduler</class>
    <class kind="class">numapp::StaticScheduler</class>
    <class kind="class">numapp::DynamicScheduler</class>
    <class kind="class">numapp::Scheduler</class>
    <member kind="typedef">
      <type>std::variant&lt; DynamicScheduler, StaticScheduler, IdleScheduler &gt;</type>
      <name>numapp::SchedulerVariant</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga1d65603b39e734d2431b845191e1066d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>numapp::operator&lt;&lt;</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga4e4e4fec57f43c6d0c8eb946438b5eb5</anchor>
      <arglist>(std::ostream &amp;os, SchedulerVariant const &amp;scheduler)</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::IdleScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga0231254c35cec57d0a9c67040a28b665</anchor>
      <arglist>(pid_t thread, IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::DynamicScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga688e233f64ab7c645b3897a846ce87bb</anchor>
      <arglist>(pid_t thread, DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::StaticScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaf60a3c844008de00bac2accc7b2bf172</anchor>
      <arglist>(pid_t thread, StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Scheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaecff25dad796c9925fe4673d788b5c88</anchor>
      <arglist>(pid_t thread, Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac86cb9a0a121c68cf2c89123ebc40d49</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga6b6373a7bba5fe8a2592a9709f18bb93</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga034721c227f8fcc0f05424b9af8b2989</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::thisThread::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gaaa5cc031daf81419b85d7f3368f1eb97</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::IdleScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac5109ac98e701ce7945df9e97d124a48</anchor>
      <arglist>(IdleScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::DynamicScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>gac1ff339fa940263dfc8007a6aac8bda8</anchor>
      <arglist>(DynamicScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::StaticScheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga5c10b70c5da96ea7e564c8d0c5167daf</anchor>
      <arglist>(StaticScheduler const &amp;scheduler) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::error_code</type>
      <name>numapp::Scheduler::Apply</name>
      <anchorfile>group__numapp__sched.html</anchorfile>
      <anchor>ga858f3eaefbb6fa99c3e3eb580c3ccca3</anchor>
      <arglist>(Scheduler const &amp;scheduler) noexcept</arglist>
    </member>
  </compound>
  <compound kind="group">
    <name>numapp_thread</name>
    <title>Thread APIs</title>
    <filename>group__numapp__thread.html</filename>
    <file>thread.cpp</file>
    <member kind="function">
      <type>pid_t</type>
      <name>numapp::thisThread::GetThreadId</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga69bd15b71171416e8d193325d66e95cf</anchor>
      <arglist>() noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::thisThread::SetThreadName</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>gaa976b1d3a3cb93ffde92ae27b2772549</anchor>
      <arglist>(std::string_view thread_name, std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>numapp::thisThread::SetThreadName</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga7cf6a66fbc4f05a9233067ca9d79d143</anchor>
      <arglist>(std::string_view thread_name)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>numapp::thisThread::GetThreadName</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga8702cea44d7a4d2e4e2227dc713e27fa</anchor>
      <arglist>(std::error_code &amp;ec) noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>numapp::thisThread::GetThreadName</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>gae15b258e9e182349c48cb1954fd97649</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>numapp::MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga9eb93890e614de69dc00af726549eb64</anchor>
      <arglist>(std::string_view thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
    <member kind="function">
      <type>std::thread</type>
      <name>numapp::MakeThread</name>
      <anchorfile>group__numapp__thread.html</anchorfile>
      <anchor>ga5cb8fe40a5e83d57213feb15f223ceb1</anchor>
      <arglist>(char const *thread_name, NumaPolicies const &amp;policies, Func &amp;&amp;func, Args &amp;&amp;... args)</arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title>NUMA++</title>
    <filename>index.html</filename>
    <docanchor file="index.html" title="NUMA++">mainpage</docanchor>
    <docanchor file="index.html" title="Permissions">permissions</docanchor>
    <docanchor file="index.html" title="Dependencies">dependencies</docanchor>
    <docanchor file="index.html" title="General Utilities">numa</docanchor>
    <docanchor file="index.html" title="Memory APIs">memory-api</docanchor>
    <docanchor file="index.html" title="Manual Allocation">memory-api-alloc</docanchor>
    <docanchor file="index.html" title="Hardware Queries">memory-api-query</docanchor>
    <docanchor file="index.html" title="Memory Locking">memory-api-locking</docanchor>
    <docanchor file="index.html" title="Memory Policy">memory-api-policy</docanchor>
    <docanchor file="index.html" title="CPU Affinity API">affinity-api</docanchor>
    <docanchor file="index.html" title="Scheduler API">scheduler-api</docanchor>
  </compound>
</tagfile>
