Metafunction indicating whether the (template parameter) t_TYPE has pointer-like semantics.
Declared in <bslmf_haspointersemantics.h>
template<class t_TYPE>
struct HasPointerSemantics
: bsl::integral_constant<bool, bsl::is_pointer<t_TYPE>::value || DetectNestedTrait<t_TYPE, HasPointerSemantics>::value>
| Name | Description |
|---|---|
bsl::integral_constant<bool, bsl::is_pointer<t_TYPE>::value || DetectNestedTrait<t_TYPE, HasPointerSemantics>::value> | Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE. |
| Name | Description |
|---|---|
type | Alias for this integral_constant specialization. |
value_type | Alias for the (template parameter) t_TYPE. |
| Name | Description |
|---|---|
operator() | Return a copy of the template argument t_VALUE. |
operator t_TYPE | Return a copy of the template argument t_VALUE. |
| Name | Description |
|---|---|
value | The compile-time constant value of this metafunction. |
| Name | Description |
|---|---|
HasPointerSemantics<bslma::ManagedPtr<TARGET_TYPE>> | Trait specialization: ManagedPtr has pointer semantics. |
HasPointerSemantics<std::auto_ptr<t_POINTED_TO_TYPE>> | |
HasPointerSemantics<bsl::shared_ptr<ELEMENT_TYPE>> | Trait specialization: shared_ptr has pointer semantics. |
HasPointerSemantics<std::shared_ptr<t_POINTED_TO_TYPE>> | Trait specialization: std::shared_ptr has pointer semantics. |
HasPointerSemantics<std::unique_ptr<t_POINTED_TO_TYPE>> | Trait specialization: std::unique_ptr has pointer semantics. |