This metafunction is derived from bsl::true_type if t_TYPE is an allocator‐aware const type, and if t_ANY_TYPE is the same as t_TYPE, minus the cv qualification. This trait is used to enable a constructor overload for a const qualified allocator‐aware ValueType taking an rvalue of Optional_Base of the non‐const qualified ValueType. Such an overload needs to propagate the allocator.
Synopsis
Declared in <bslstl_optional.h>
template<
class t_TYPE,
class t_ANY_TYPE>
struct Optional_PropagatesAllocator
: bsl::integral_constant<bool, bslma::UsesBslmaAllocator<t_TYPE>::value && bsl::is_const<t_TYPE>::value && bsl::is_same<t_ANY_TYPE, typename bsl::remove_cv<t_TYPE>::type>::value>
Base Classes
Name |
Description |
Metafunction representing a compile‐time constant of the specified (template parameter) |
Type Aliases
Name |
Description |
Alias for this |
|
Member Functions
Name |
Description |
Return a copy of the template argument |
|