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

Types

Name

Description

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

Name

Description

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

Name

Description

operator,

Detect non‐void expressions via an overloaded comma operator.

Variables

Name

Description

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

Name

Description

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.

Created with MrDocs