BloombergLP::bslmf

Bloomberg meta-function implementations used by bsl::is_same.

Types

NameDescription
AddPointer_Compute Private utility that SFINAE-tests whether a pointer to t_TYPE is valid.
AddReference Meta-function for forming a reference to a type.
ArrayToConstPointer Meta-function that converts an array type to a const pointer type.
ArrayToPointer Meta-function that converts an array type to a pointer type.
ConstForwardingType DEPRECATED: Use ForwardingType instead.
DetectNestedTrait Meta-function for detecting nested traits.
EnableIf Meta-function that conditionally provides a typedef type.
FloatingTypeStructuralTraits This is the primary template declaration for bslmf::FloatingTypeStructuralTraits, which is never defined.
ForwardingRefType Metafunction that computes an efficient forwarding parameter type for t_TYPE.
ForwardingRefTypeUtil Provide a namespace for the forwardToTarget function.
ForwardingRefType_Category This component-private struct provides a namespace for the type dispatch category enumeration values.
ForwardingRefType_Dispatch This component-private class template is a metafunction whose value member is the forwarding category for the specified t_TYPE.
ForwardingType Metafunction that computes an efficient argument type for forwarding t_TYPE.
ForwardingTypeUtil Provide a namespace for the forwardToTarget function.
ForwardingType_Category This component-private struct provides a namespace for thpe type dispatch category enumeration values.
ForwardingType_Dispatch This component-private class template is a metafunction whose value member is the forwarding category for the specified t_TYPE.
FunctionPointerCLinkage C function pointer linkage tag.
FunctionPointerCPlusPlusLinkage C++ function pointer linkage tag.
FunctionPointerTraits Meta-function for detecting traits of free function pointer types.
HasPointerSemantics Metafunction indicating whether the (template parameter) t_TYPE has pointer-like semantics.
If This meta-function selects t_IF_TRUE_TYPE if t_CONDITION is non-zero. and t_IF_FALSE_TYPE otherwise.
IntegerSequence This class template represents a compile-time sequence of integers.
InvokeResultDeductionFailed Placeholder type used when invoke_result cannot deduce a return type.
InvokeResult_AddCVRef Starting with type, t_UNQUAL_TYPE, generate a new type by applying the following steps in order:
InvokeResult_BaseCalcUtil Forward declaration
InvokeResult_FuncPtrImp Forward declaration
InvokeResult_FunctorImp Forward declaration
InvokeResult_Index Metafunction helpers for deducing the return type of an expression.
InvokeResult_MemFuncPtrImp Forward declaration
InvokeResult_MemFuncPtrImpDispatch Forward declaration.
InvokeResult_MemObjPtrImp Forward declaration
InvokeResult_MemObjPtrImpDispatch Forward declaration.
InvokeResult_MemPtrArgQualifiers Propagate cv and reference qualifiers from an invoke class argument.
InvokeResult_Type Map a type-index enumerator to its corresponding C++ type.
InvokeResult_VoidChecker Empty type used to detect void expressions. The size of this type is the same as bslmf::Tag<1>.
IsAccessibleBaseOf Meta-function for detecting if one class is an accessible base of another.
IsArray Non-standard meta-function for detecting array types.
IsBitwiseCopyable This struct template provides a meta-function to determine whether the (template parameter) t_TYPE is bitwise copyable.
IsBitwiseEqualityComparable This struct template implements a meta-function to determine whether the (template parameter) t_TYPE is bitwise EqualityComparable.
IsBitwiseMoveable This struct template implements a meta-function to determine whether the (template parameter) t_TYPE is bitwise moveable.
IsClass Non-standard meta-function for detecting class types.
IsConvertible Non-standard meta-function for detecting type convertibility.
IsConvertibleToAny Meta-function for detecting types convertible to any other type.
IsConvertible_CheckComplete Private helper for IsConvertible complete-type checks.
IsEnum Non-standard meta-function for detecting enumerated types.
IsFunctionPointer Meta-function to determine if a type is a free function pointer.
IsFundamental Meta-function for detecting fundamental types.
IsFundamental_Imp<bsl::nullptr_t> This partial specialization of IsFundamental_Imp derives from bsl::true_type for when the (template parameter) t_TYPE is void.
IsMemberFunctionPointer Meta-function to determine if a type is a member function pointer.
IsNil Metafunction that is true for Nil and false for all other types.
IsPair Metafunction that is false for all types except bsl::pair specializations.
IsPointer Non-standard meta-function for detecting pointer types.
IsPolymorphic Non-standard meta-function for detecting polymorphic types.
IsReferenceWrapper Metafunction for detecting reference wrappers.
IsSame Non-standard meta-function for detecting whether two types are the same.
IsTransparentPredicate Meta-function for detecting whether a comparator is transparent.
IsTriviallyCopyableCheck Returns the same value as is_trivially_copyable for checking.
IsTriviallyCopyable_DetectTrait This struct template detects whether t_TYPE is tagged as trivially copyable.
IsTriviallyCopyable_Intrinsic This struct template implements a meta-function to determine whether the (non-cv-qualified) (template parameter) t_TYPE is trivially copyable.
IsTriviallyDefaultConstructible_DetectTrait This struct template detects whether t_TYPE is tagged as trivially default-constructible.
IsVoid Non-standard meta-function for detecting void types.
MakeIntegerSequence_ConcatUtil Component-private metafunction that concatenates two integer sequences.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 0>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an empty integer sequence.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 1>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 1.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 2>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 2.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 3>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 3.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 4>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 4.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 5>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 5.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 6>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 6.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 7>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 7.
MakeIntegerSequence_Impl<t_T, bsl::integral_constant<std::size_t, 8>> This partial specialization of the bslmf::MakeIntegerSequence_Impl meta-function is a recursion break condition for an integer sequence having the length 8.
MatchAnyType Any type can be converted into this type.
MatchArithmeticType Type to which any arithmetic or enumeration type can be converted.
MemberFunctionPointerTraits Meta-function for detecting traits of member function pointer types.
MemberFunctionPointerTraits_ClassType Metafunction to deduce the cv-qualified class type of a member function.
MemberFunctionPointerTraits_Imp<t_PROTOTYPE, t_BSLMF_RETURN const volatile(t_TYPE::*)(t_ARGS...) noexcept> Partial specialization for non-cv-qualified member function pointers.
MemberPointerTraits Meta-function for detecting traits of pointer-to-member types.
MemberPointerTraits_Imp<t_MEMBER_TYPEt_CLASS_TYPE::*> Specialization providing traits for pointer-to-member-object types.
MetaInt Distinct type representing a non-negative compile-time integer value.
MovableRefUtil Utility functions for operating on MovableRef objects.
MovableRefUtil_AddLvalueReference forward declaration
MovableRefUtil_AddMovableReference forward declaration
MovableRefUtil_Decay forward declaration
MovableRefUtil_PropertyTraits forward declaration
MovableRefUtil_RemoveReference forward declaration
MovableRef_Helper forward declaration
NestedTraitDeclaration Empty type used as the conversion target for nested trait declarations.
Nil This struct is empty and represents a nil type.
NthParameter Metafunction to return the Nth type from a parameter pack.
NthParameter_Sentinel Sentinel type used internally by NthParameter (declared but not defined).
RemoveCvq This class implements a meta-function for stripping top-level const/volatile qualifiers from it's parameter type.
RemoveReference Meta-function that removes reference-ness from a type.
ResultType Metafunction to return the result type of a functor type.
ResultType_BdeIdiom Metafunction to detect the BDE ResultType idiom.
ResultType_Fallback Metafunction that defines type to be the specified t_FALLBACK type unless t_FALLBACK is bslmf::Nil.
SelectTrait Metafunction that selects the first matching trait for a type.
SelectTraitCase Unique type identifying a selected trait metafunction.
SelectTrait_False Metafunction that always returns false.
Switch Compile-time type switch among a variable number of types.
Tag Map an unsigned integral constant to a distinct C++ type.
TypeList Compile-time list of zero or more types.
TypeListTypeAt Meta-function to retrieve a type from a typelist by zero-based index.
TypeRep Generate a reference to t_TYPE for use in meta-functions.
UsesAllocatorArgT Metafunction that is true_type if t_TYPE uses allocator_arg_t construction.
Util Namespace for portable forwarding and move helpers from <utility>.
VoidType Metafunction that always yields type void for any well-formed list of type parameters.

Type Aliases

NameDescription
MakeIntegerSequence Alias for an increasing integer sequence of type t_T and length t_N.
MakeIntegerSequence_ConcatUtil_t bslmf::MakeIntegerSequence_ConcatUtil_t is an alias to the result type of the bslmf::MakeIntegerSequence_ConcatUtil meta-function.
MovableRef The alias template MovableRef<t_TYPE> yields an r-value reference of type t_TYPE&&.
MovableRef_Deduced This component-private alias template names the type t_TYPE&& if and only if the specified t_TYPE is not an lvalue reference.
Switch2 switch meta-function among two types.
Switch3 switch meta-function among three types.
Switch4 switch meta-function among four types.
Switch5 switch meta-function among five types.
Switch6 Select the type associated with selector value 6.
Switch7 Select the type associated with selector value 7.
Switch8 Select the type associated with selector value 8.
Switch9 Alias for a nine-way Switch metafunction.
TypeList0 Typelist of zero type parameters.
TypeList1 Typelist of one type parameter.
TypeList10 Typelist of ten type parameters.
TypeList11 Typelist of eleven type parameters.
TypeList12 Typelist of twelve type parameters.
TypeList13 Typelist of thirteen type parameters.
TypeList14 Typelist of fourteen type parameters.
TypeList15 Typelist of fifteen type parameters.
TypeList16 Typelist of sixteen type parameters.
TypeList17 Typelist of seventeen type parameters.
TypeList18 Typelist of eighteen type parameters.
TypeList19 Typelist of nineteen type parameters.
TypeList2 Typelist of two type parameters.
TypeList20 Typelist of twenty type parameters.
TypeList3 Typelist of three type parameters.
TypeList4 Typelist of four type parameters.
TypeList5 Typelist of five type parameters.
TypeList6 Typelist of six type parameters.
TypeList7 Typelist of seven type parameters.
TypeList8 Typelist of eight type parameters.
TypeList9 Typelist of nine type parameters.
TypeListNil Sentinel type representing an empty typelist element.
TypeListTypeOf Classic Bloomberg code uses a 1-based index into the type list.

Functions

NameDescription
operator, Detect non-void expressions via an overloaded comma operator.

Variables

NameDescription
IsBitwiseCopyable_v This template variable represents the result value of the bslmf::IsBitwiseCopyable meta-function.
IsBitwiseMoveable_v This template variable represents the result value of the bslmf::IsBitwiseMoveable meta-function.

Concepts

NameDescription
BooleanTestable Concept that a type supports boolean testing and logical negation with the conventional semantics defined by the C++20 standard [concept.booleantestable].
ContainerCompatibleRange Concept that t_RANGE is an input range of values convertible to t_TYPE.