This struct template implements a meta‐function to determine whether the (template parameter) t_TYPE is bitwise EqualityComparable.

Synopsis

Declared in <bslmf_isbitwiseequalitycomparable.h>

template<class t_TYPE>
struct IsBitwiseEqualityComparable
    : /* implementation-defined */::type

Description

If IsBitwiseEqualityComparable<t_TYPE> is derived from true_type then t_TYPE is bitwise EqualityComparable. Otherwise, bitwise equality comparability cannot be inferred for t_TYPE. This trait can be associated with a bitwise EqualityComparable user‐defined class by specializing this class or by using the BSLMF_NESTED_TRAIT_DECLARATION macro.

Base Classes

Name

Description

/* implementation-defined */::type

Specializations

Name

Description

IsBitwiseEqualityComparable<double>

This explicit specialization reports that double is treated as bitwise EqualityComparable.

IsBitwiseEqualityComparable<float>

This explicit specialization reports that float is treated as bitwise EqualityComparable.

IsBitwiseEqualityComparable<long double>

This explicit specialization reports that long double is treated as bitwise EqualityComparable.

IsBitwiseEqualityComparable<void>

This explicit specialization reports that void is never bitwise EqualityComparable.

IsBitwiseEqualityComparable<bsl::polymorphic_allocator<TYPE>>

Specialize IsBitwiseEqualityComparable as true_type for polymorphic_allocator.

IsBitwiseEqualityComparable<t_TYPE volatile>

This partial specialization ensures that volatile‐qualified types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const>

This partial specialization ensures that const‐qualified types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const volatile>

This partial specialization ensures that const‐volatile‐qualified types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE[>]

This partial specialization ensures that array‐of‐unknown‐bound types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE volatile[>]

This partial specialization ensures that volatile‐qualified array‐of‐unknown‐bound types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const[>]

This partial specialization ensures that const‐qualified array‐of‐unknown‐bound types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const volatile[>]

This partial specialization ensures that const‐volatile‐qualified array‐of‐unknown‐bound types have the same result as their element type.

IsBitwiseEqualityComparable<bsl::pair<T1, T2>>

Trait indicating pair is bitwise equality‐comparable when both elements are and the pair has no padding.

IsBitwiseEqualityComparable<t_TYPE[>]

This partial specialization ensures that array types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE volatile[>]

This partial specialization ensures that volatile‐qualified array types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const[>]

This partial specialization ensures that const‐qualified array types have the same result as their element type.

IsBitwiseEqualityComparable<t_TYPE const volatile[>]

This partial specialization ensures that const‐volatile‐qualified array types have the same result as their element type.

Created with MrDocs