bsl::is_convertible

Meta-function for detecting implicit convertibility between types.

Description

This struct template implements the is_convertible meta-function defined in the C++11 standard to determine whether the (template parameter) t_FROM_TYPE is implicitly convertible to the (template parameter) t_TO_TYPE.

Base Classes

NameDescription
bsl::integral_constant<bool, ::std::is_convertible<typename BloombergLP::bslmf::IsConvertible_CheckComplete<t_FROM_TYPE>::type, typename BloombergLP::bslmf::IsConvertible_CheckComplete<t_TO_TYPE>::type>::value>Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE.

Type Aliases

NameDescription
type Alias for this integral_constant specialization.
value_type Alias for the (template parameter) t_TYPE.

Member Functions

NameDescription
operator() Return a copy of the template argument t_VALUE.
operator t_TYPE Return a copy of the template argument t_VALUE.

Static Data Members

NameDescription
value The compile-time constant value of this metafunction.

Derived Classes

NameDescription
IsConvertibleToCString This struct template implements a meta-function to determine if the (template parameter) t_TYPE is convertible to const t_CHAR_TYPE *.
IsConvertibleToStringView Meta-function for detecting types convertible to a string view.
UsesBslmaAllocator<bsl::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>> Trait indicating basic_string uses bslma allocators.
UsesBslmaAllocator<bsl::map<KEY, VALUE, COMPARATOR, ALLOCATOR>> Trait indicating bsl::map uses bslma allocators when ALLOCATOR allows.
UsesBslmaAllocator<bsl::hash_set<_Value, _HashFcn, _EqualKey, _Alloc>> Trait indicating hash_set uses bslma allocators when _Alloc allows.
UsesBslmaAllocator<bsl::hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>> Trait indicating hash_multimap uses bslma allocators when _Alloc allows.
UsesBslmaAllocator<bsl::list<VALUE, ALLOCATOR>> Trait indicating bsl::list uses bslma allocators when ALLOCATOR allows.
UsesBslmaAllocator<bsl::set<KEY, COMPARATOR, ALLOCATOR>> Trait indicating bsl::set uses bslma allocators when ALLOCATOR allows.
UsesBslmaAllocator<bsl::deque<VALUE_TYPE, ALLOCATOR>> Trait indicating deque uses bslma allocators when ALLOCATOR allows.
UsesBslmaAllocator<bsl::multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>> Trait indicating bsl::multimap uses bslma allocators when ALLOCATOR allows.
UsesBslmaAllocator<bsl::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>> Trait indicating hash_multiset uses bslma allocators when _Alloc allows.
UsesBslmaAllocator<bsl::hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>> Trait indicating hash_map uses bslma allocators when _Alloc allows.
UsesBslmaAllocator<bsl::multiset<KEY, COMPARATOR, ALLOCATOR>> Trait indicating bsl::multiset uses bslma allocators.