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.
-
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
Public Static Functions
-
static T
shl
(T x)
-
static T
shr
(T x)
-
template<typename
T
>
struct unbounded_shifter
<0, T>
Public Static Functions
-
static T
shl
(T x)
-
static T
shr
(T x)
-
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
Public Types
-
enum
info
Values:
-
eax
= 0
-
ebx
= 1
-
ecx
= 2
-
edx
= 3
-
namespace
hpx
-
namespace
util
-
namespace
hardware
Functions
-
std::uint64_t
timestamp
()