hardware

The contents of this module can be included with the header hpx/modules/hardware.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/hardware.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

Header hpx/hardware/bit_manipulation.hpp

namespace hpx
namespace util
namespace hardware

Functions

template<typename T, typename U>
bool has_bit_set(T value, U bit)
template<std::size_t N, typename T>
T unbounded_shl(T x)
template<std::size_t N, typename T>
T unbounded_shr(T x)
template<std::size_t Low, std::size_t High, typename Result, typename T>
Result get_bit_range(T x)
template<std::size_t Low, typename Result, typename T>
Result pack_bits(T x)
template<std::size_t N, typename T>
struct unbounded_shifter
#include <bit_manipulation.hpp>

Public Static Functions

static T shl(T x)
static T shr(T x)
template<typename T>
struct unbounded_shifter<0, T>
#include <bit_manipulation.hpp>

Public Static Functions

static T shl(T x)
static T shr(T x)

Header hpx/hardware/cpuid.hpp

Header hpx/hardware/cpuid/linux_x86.hpp

namespace hpx
namespace util
namespace hardware

Functions

void cpuid(std::uint32_t (&cpuinfo)[4], std::uint32_t eax)
void cpuidex(std::uint32_t (&cpuinfo)[4], std::uint32_t eax, std::uint32_t ecx)
struct cpuid_register
#include <linux_x86.hpp>

Public Types

enum info

Values:

eax = 0
ebx = 1
ecx = 2
edx = 3

Header hpx/hardware/cpuid/msvc.hpp

Header hpx/hardware/timestamp.hpp

Header hpx/hardware/timestamp/bgq.hpp

Header hpx/hardware/timestamp/linux_generic.hpp

Header hpx/hardware/timestamp/linux_x86_32.hpp

namespace hpx
namespace util
namespace hardware

Functions

std::uint64_t timestamp()

Header hpx/hardware/timestamp/linux_x86_64.hpp

Header hpx/hardware/timestamp/msvc.hpp