asmjit::CpuFeatures::Data Struct Reference
Inheritance diagram for asmjit::CpuFeatures::Data:
asmjit::CpuFeatures::ARM asmjit::CpuFeatures::X86

CPU features data.

Public Members


Member Functions

Overloaded Operators

Member Function Documentation

bool CpuFeatures::Data::empty() constnoexcept◆ 

Returns true if there are no features set.

BitWord* CpuFeatures::Data::bits()noexcept[1/2]◆ 

Returns all features as array of bitwords (see Support::BitWord).

const BitWord* CpuFeatures::Data::bits() constnoexcept[2/2]◆ 

Returns all features as array of bitwords (const).

size_t CpuFeatures::Data::bitWordCount() constnoexcept◆ 

Returns the number of BitWords returned by bits().

Iterator CpuFeatures::Data::iterator() constnoexcept◆ 

Returns Support::BitVectorIterator, that can be used to iterate over all features efficiently.

template<typename FeatureId>
bool CpuFeatures::Data::has(const FeatureId& featureId) constnoexcept◆ 

Tests whether the feature featureId is present.

template<typename FeatureId, typename... Args>
bool CpuFeatures::Data::hasAny(const FeatureId& featureId, Args&&... otherFeatureIds) constnoexcept◆ 

Tests whether any feature given is present.

This is a variadic function template that can be used with multiple features.

bool CpuFeatures::Data::hasAll(const Data& other) constnoexcept◆ 

Tests whether all features as defined by other are present.

void CpuFeatures::Data::reset()noexcept◆ 

Clears all features set.

template<typename FeatureId>
void CpuFeatures::Data::add(const FeatureId& featureId)noexcept◆ 

Adds the given CPU featureId to the list of features.

template<typename FeatureId>
void CpuFeatures::Data::remove(const FeatureId& featureId)noexcept◆ 

Removes the given CPU featureId from the list of features.

bool CpuFeatures::Data::equals(const Data& other) constnoexcept◆ 

Tests whether this CPU features data matches other.

Member Data Documentation

Support::Array<BitWord, kNumBitWords>CpuFeatures::Data::_bits◆ 

Data bits.