BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::integral_constant< t_TYPE, t_VAL > Struct Template Reference

#include <bslmf_integralconstant.h>

Inheritance diagram for bsl::integral_constant< t_TYPE, t_VAL >:
bsl::Span_Utility::IsBSLArrayImpl< bsl::remove_cv< TP >::type > bsl::Span_Utility::IsSTDArrayImpl< bsl::remove_cv< TP >::type > bsl::Span_Utility::IsSpanImpl< bsl::remove_cv< TP >::type > bsl::is_same< t_RET, bsl::invoke_result< t_VISITOR, Variant_CVQualAlt< t_VARIANT, 0 >::type >::type > bslma::UsesBslmaAllocator< t_TYPE > bslma::UsesBslmaAllocator< t_CALLBACK > bslmf::DetectNestedTrait< TYPE, HasStlIterators > bslstl::Variant_TypeToIndexImpl< 0, t_TYPE, t_HEAD, t_TAIL... > bdlat_ArrayFunctions::IsArray< TYPE > bdlat_NullableValueFunctions::IsNullableValue< TYPE > bdlat_TypeCategoryDeclareDynamic< TYPE > bsl::Is_Empty_Class_Imp< t_TYPE, IS_CLASS > bsl::Is_Empty_Imp< t_TYPE, class > bsl::Is_Empty_Imp< t_TYPE, BSLMF_VOIDTYPE(int t_TYPE::*)> bsl::Span_Utility::IsBSLArrayImpl< TP > bsl::Span_Utility::IsSTDArrayImpl< TP > bsl::Span_Utility::IsSpanCompatibleContainer< TP, ELEMENT_TYPE, class > bsl::Span_Utility::IsSpanImpl< TP > bsl::conjunction< B1, B2, Bn... > bsl::disjunction< B1, B2, Bn... > bsl::disjunction<> bsl::is_array< t_TYPE > bsl::is_bounded_array< t_TYPE > bsl::is_const< t_TYPE > bsl::is_convertible_dispatch< const t_TYPE &, t_TYPE & > bsl::is_convertible_dispatch< const t_TYPE &, volatile t_TYPE & > bsl::is_convertible_dispatch< const t_TYPE, const volatile t_TYPE & > bsl::is_convertible_dispatch< const t_TYPE, t_TYPE & > bsl::is_convertible_dispatch< const t_TYPE, volatile t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE &, const t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE &, t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE &, volatile t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE, const t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE, const volatile t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE, t_TYPE & > bsl::is_convertible_dispatch< const volatile t_TYPE, volatile t_TYPE & > bsl::is_convertible_dispatch< t_FROM_TYPE, const volatile t_TO_TYPE & > bsl::is_convertible_dispatch< t_FROM_TYPE, volatile t_TO_TYPE & > bsl::is_convertible_dispatch< t_TYPE, const volatile t_TYPE & > bsl::is_convertible_dispatch< t_TYPE, volatile t_TYPE & > bsl::is_convertible_dispatch< volatile t_FROM_TYPE &, t_TO_TYPE > bsl::is_convertible_dispatch< volatile t_TYPE &, const t_TYPE & > bsl::is_convertible_dispatch< volatile t_TYPE &, t_TYPE & > bsl::is_convertible_dispatch< volatile t_TYPE, const t_TYPE & > bsl::is_convertible_dispatch< volatile t_TYPE, const volatile t_TYPE & > bsl::is_convertible_dispatch< volatile t_TYPE, t_TYPE & > bsl::is_convertible_dispatch< volatile t_TYPE, volatile t_TYPE & > bsl::is_copy_constructible< BloombergLP::bsltf::MoveOnlyAllocTestType > bsl::is_copy_constructible< BloombergLP::bsltf::WellBehavedMoveOnlyAllocTestType > bsl::is_copy_constructible< const t_TYPE[]> bsl::is_copy_constructible< const t_TYPE[t_LEN]> bsl::is_copy_constructible< const volatile t_TYPE[]> bsl::is_copy_constructible< const volatile t_TYPE[t_LEN]> bsl::is_copy_constructible< t_TYPE[]> bsl::is_copy_constructible< t_TYPE[t_LEN]> bsl::is_copy_constructible< volatile t_TYPE[]> bsl::is_copy_constructible< volatile t_TYPE[t_LEN]> bsl::is_empty< t_TYPE > bsl::is_empty< const t_TYPE > bsl::is_empty< const volatile t_TYPE > bsl::is_empty< volatile t_TYPE > bsl::is_enum< t_TYPE > bsl::is_enum< const t_TYPE > bsl::is_enum< const volatile t_TYPE > bsl::is_enum< t_TYPE * > bsl::is_enum< void > bsl::is_enum< volatile t_TYPE > bsl::is_function< t_TYPE & > bsl::is_member_function_pointer< t_TYPE > bsl::is_member_object_pointer< t_TYPE > bsl::is_member_object_pointer< t_TYPE t_CLASS::* > bsl::is_member_object_pointer< t_TYPE t_CLASS::*const > bsl::is_member_object_pointer< t_TYPE t_CLASS::*const volatile > bsl::is_member_object_pointer< t_TYPE t_CLASS::*volatile > bsl::is_member_pointer< t_TYPE > bsl::is_pointer< t_TYPE > bsl::is_reference< t_TYPE > bsl::is_rvalue_reference< t_TYPE > bsl::is_same< t_TYPE1, t_TYPE2 > bsl::is_trivially_copyable< t_TYPE & > bsl::is_unbounded_array< t_TYPE > bsl::is_void< t_TYPE > bsl::is_volatile< t_TYPE > bslalg::ContainerBase< ALLOCATOR > bslalg::TypeTraitHasStlIterators::Metafunction< TYPE > bslma::AAModelIsSupported< TYPE, MODEL > bslma::AllocatorTraits_PropOnCopyAssign< ALLOCATOR_TYPE, bool > bslma::AllocatorTraits_PropOnMoveAssign< ALLOC, bool > bslma::AllocatorTraits_PropOnSwap< ALLOC, bool > bslma::ConstructionUtil_IsAllocatorPtr< ALLOC > bslma::HasAllocatorType< TYPE, class > bslma::IsStdAllocator< TYPE & > bslma::IsStdAllocator< bsl::allocator< void > > bslma::IsStdAllocator< std::allocator< void > > bslma::IsStdAllocator_Imp< TYPE, SIZE_T, class > bslma::SuppressesImplicitConvertibilityWarnings< t_TYPE > bslma::UsesBslmaAllocator< ::bsl::allocator< TYPE > > bslma::UsesBslmaAllocator< ::bsl::polymorphic_allocator< TYPE > > bslma::UsesBslmaAllocator< ::bsl::shared_ptr< ELEMENT_TYPE > > bslma::UsesBslmaAllocator< SharedPtrInplaceRep< ELEMENT_TYPE > > bslma::UsesBslmaAllocator< SharedPtrOutofplaceRep_InitProctor< TYPE, DELETER > > bslma::UsesBslmaAllocator< TYPE & > bslma::UsesBslmaAllocator< TYPE * > bslma::UsesBslmaAllocator< bslstl::Optional_Base< t_TYPE, false > > bslma::UsesBslmaAllocator< bslstl::SharedPtrAllocateInplaceRep< TYPE, ALLOCATOR > > bslma::UsesBslmaAllocator< bslstl::SharedPtrArrayAllocateInplaceRep< TYPE, ALLOCATOR > > bslmf::DetectNestedTrait< t_TYPE, t_TRAIT > bslmf::DetectNestedTrait< const t_TYPE, t_TRAIT > bslmf::DetectNestedTrait< const volatile t_TYPE, t_TRAIT > bslmf::DetectNestedTrait< volatile t_TYPE, t_TRAIT > bslmf::IsArray< t_TYPE > bslmf::IsBitwiseCopyable< t_TYPE > bslmf::IsBitwiseCopyable< const t_TYPE[]> bslmf::IsBitwiseCopyable< const volatile t_TYPE[]> bslmf::IsBitwiseCopyable< t_TYPE & > bslmf::IsBitwiseCopyable< t_TYPE[]> bslmf::IsBitwiseCopyable< volatile t_TYPE[]> bslmf::IsBitwiseEqualityComparable< void > bslmf::IsBitwiseEqualityComparable_Imp< t_TYPE, BSLMF_VOIDTYPE(int t_TYPE::*)> bslmf::IsBitwiseMoveable< void > bslmf::IsBitwiseMoveable_Imp< t_TYPE, bool > bslmf::IsClass_Imp< t_TYPE, class > bslmf::IsConvertible_Conditional< t_FROM_TYPE, t_TO_TYPE > bslmf::IsCopyConstructible_Imp< void > bslmf::IsCopyConstructible_Imp< volatile void > bslmf::IsEnum< t_TYPE > bslmf::IsEnum_TestConversions< COMPLETE_TYPE > bslmf::IsFundamental_Imp< t_TYPE > bslmf::IsNil< t_T > bslmf::IsNothrowMoveConstructible_Impl< t_TYPE, class > bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE, BSLMF_ISNOTHROWMOVECONSTRUCTIBLE_VOIDTYPE(t_TYPE)> bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE[]> bslmf::IsNothrowMoveConstructible_Impl< const t_TYPE[t_LEN]> bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE, BSLMF_ISNOTHROWMOVECONSTRUCTIBLE_VOIDTYPE(t_TYPE)> bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE[]> bslmf::IsNothrowMoveConstructible_Impl< const volatile t_TYPE[t_LEN]> bslmf::IsNothrowMoveConstructible_Impl< t_TYPE[]> bslmf::IsNothrowMoveConstructible_Impl< t_TYPE[t_LEN]> bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE, BSLMF_ISNOTHROWMOVECONSTRUCTIBLE_VOIDTYPE(t_TYPE)> bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE[]> bslmf::IsNothrowMoveConstructible_Impl< volatile t_TYPE[t_LEN]> bslmf::IsPair< t_TYPE > bslmf::IsPointer< t_TYPE > bslmf::IsReferenceWrapper< t_TYPE > bslmf::IsSame< t_TYPE1, t_TYPE2 > bslmf::IsTransparentPredicate< t_COMPARATOR, t_KEY, class > bslmf::IsTriviallyCopyable_DetectTrait< t_TYPE, t_K_INTRINSIC > bslmf::IsTriviallyCopyable_Intrinsic< t_TYPE > bslmf::IsTriviallyCopyable_Intrinsic< void > bslmf::IsTriviallyDefaultConstructible_DetectTrait< t_TYPE, t_K_INTRINSIC > bslmf::IsTriviallyDefaultConstructible_Imp< t_TYPE > bslmf::IsTriviallyDefaultConstructible_Imp< void > bslmf::IsVoid< t_TYPE > bslmf::MovableRefUtil::IsLvalueReference< t_TYPE > bslmf::MovableRefUtil::IsMovableReference< t_TYPE > bslmf::MovableRefUtil::IsReference< t_TYPE > bslmf::SelectTrait_False< class > bslmf::UsesAllocatorArgT< t_TYPE > bslmf::UsesAllocatorArgT< const t_TYPE > bslmf::UsesAllocatorArgT< const volatile t_TYPE > bslmf::UsesAllocatorArgT< volatile t_TYPE > bslmf::UsesAllocator_Imp< t_TYPE, t_ALLOC, class > bslstl::Function_IsReferenceCompatible< FROM_TYPE, TO_TYPE > bslstl::Variant_ConvertToIndexImpl< t_INDEX, t_TYPE, t_HEAD, t_TAIL... > bslstl::Variant_CountCVType< t_TYPE, t_HEAD, t_TAIL > bslstl::Variant_CountType< t_TYPE, t_HEAD, t_TAIL > bslstl::Variant_IsAlternativeConstructibleFrom< t_VARIANT, t_TYPE, t_INDEX > bslstl::Variant_IsAlternativeConstructibleFrom< t_VARIANT, t_TYPE, bsl::variant_npos > bslstl::Variant_IsSameReturnType< t_RET, t_VISITOR, t_VARIANT, t_INDEX > bslstl::Variant_IsTag< t_TYPE > bslstl::Variant_TypeToIndexImpl< t_INDEX, t_TYPE, t_HEAD, t_TAIL > bslstl::Variant_UsesBslmaAllocatorAny< BSLSTL_VARIANT_NOT_A_TYPE > bslstl::Variant_isAlternativeAssignableFrom< t_VARIANT, t_TYPE, t_INDEX > bslstl::Variant_isAlternativeAssignableFrom< t_VARIANT, t_TYPE, bsl::variant_npos > s_baltst::BasicSchemaUtil_IsElement< ELEMENT_TYPE >

Public Types

typedef t_TYPE value_type
 
typedef integral_constant type
 

Public Member Functions

 integral_constant ()=default
 
 integral_constant (const integral_constant &)=default
 
integral_constant operator= (const integral_constant &)=default
 
 ~integral_constant ()=default
 
BSLS_KEYWORD_CONSTEXPR operator value_type () const BSLS_KEYWORD_NOEXCEPT
 Return t_VAL.
 

Static Public Attributes

static const t_TYPE value = t_VAL
 

Detailed Description

template<class t_TYPE, t_TYPE t_VAL>
struct bsl::integral_constant< t_TYPE, t_VAL >

Generate a unique type for the given t_TYPE and t_VAL. This struct is used for compile-time dispatch of overloaded functions and as the base class for many metafunctions.

Member Typedef Documentation

◆ type

template<class t_TYPE , t_TYPE t_VAL>
typedef integral_constant bsl::integral_constant< t_TYPE, t_VAL >::type

◆ value_type

template<class t_TYPE , t_TYPE t_VAL>
typedef t_TYPE bsl::integral_constant< t_TYPE, t_VAL >::value_type

Constructor & Destructor Documentation

◆ integral_constant() [1/2]

template<class t_TYPE , t_TYPE t_VAL>
bsl::integral_constant< t_TYPE, t_VAL >::integral_constant ( )
default

◆ integral_constant() [2/2]

template<class t_TYPE , t_TYPE t_VAL>
bsl::integral_constant< t_TYPE, t_VAL >::integral_constant ( const integral_constant< t_TYPE, t_VAL > &  )
default

◆ ~integral_constant()

template<class t_TYPE , t_TYPE t_VAL>
bsl::integral_constant< t_TYPE, t_VAL >::~integral_constant ( )
default

Member Function Documentation

◆ operator value_type()

template<class t_TYPE , t_TYPE t_VAL>
BSLS_KEYWORD_CONSTEXPR bsl::integral_constant< t_TYPE, t_VAL >::operator value_type ( ) const

◆ operator=()

template<class t_TYPE , t_TYPE t_VAL>
integral_constant bsl::integral_constant< t_TYPE, t_VAL >::operator= ( const integral_constant< t_TYPE, t_VAL > &  )
default

The documentation for this struct was generated from the following file: