BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslstl::Optional_PropagatesAllocator< t_TYPE, t_ANY_TYPE > Struct Template Reference

#include <bslstl_optional.h>

Inheritance diagram for bslstl::Optional_PropagatesAllocator< t_TYPE, t_ANY_TYPE >:
bsl::integral_constant< bool, bslma::UsesBslmaAllocator< t_TYPE >::value &&bsl::is_const< t_TYPE >::value &&bsl::is_same< t_ANY_TYPE, bsl::remove_cv< t_TYPE >::type >::value >

Additional Inherited Members

- Public Types inherited from bsl::integral_constant< bool, bslma::UsesBslmaAllocator< t_TYPE >::value &&bsl::is_const< t_TYPE >::value &&bsl::is_same< t_ANY_TYPE, bsl::remove_cv< t_TYPE >::type >::value >
typedef bool value_type
 
typedef integral_constant type
 
- Public Member Functions inherited from bsl::integral_constant< bool, bslma::UsesBslmaAllocator< t_TYPE >::value &&bsl::is_const< t_TYPE >::value &&bsl::is_same< t_ANY_TYPE, bsl::remove_cv< t_TYPE >::type >::value >
 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 inherited from bsl::integral_constant< bool, bslma::UsesBslmaAllocator< t_TYPE >::value &&bsl::is_const< t_TYPE >::value &&bsl::is_same< t_ANY_TYPE, bsl::remove_cv< t_TYPE >::type >::value >
static const bool value
 

Detailed Description

template<class t_TYPE, class t_ANY_TYPE>
struct bslstl::Optional_PropagatesAllocator< t_TYPE, t_ANY_TYPE >

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.


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