[#BloombergLP-bslmf-HasPointerSemantics-064] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::HasPointerSemantics :relfileprefix: ../../ :mrdocs: Metafunction indicating whether the (template parameter) `t_TYPE` has pointer‐like semantics. == Synopsis Declared in `<bslmf_haspointersemantics.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct HasPointerSemantics : xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, bsl::is_pointer<t_TYPE>::value || DetectNestedTrait<t_TYPE, HasPointerSemantics>::value>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/integral_constant-02.adoc[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`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/type.adoc[`type`] | Alias for this `integral_constant` specialization. | xref:bsl/integral_constant-02/value_type.adoc[`value_type`] | Alias for the (template parameter) `t_TYPE`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] | Return a copy of the template argument `t_VALUE`. | xref:bsl/integral_constant-02/2conversion.adoc[`operator t_TYPE`] | Return a copy of the template argument `t_VALUE`. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/value.adoc[`value`] | The compile‐time constant value of this metafunction. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/HasPointerSemantics-05.adoc[`HasPointerSemantics<bslma::ManagedPtr<TARGET_TYPE>>`] | Trait specialization: `ManagedPtr` has pointer semantics. | xref:BloombergLP/bslmf/HasPointerSemantics-06c.adoc[`HasPointerSemantics<std::auto_ptr<t_POINTED_TO_TYPE>>`] | | xref:BloombergLP/bslmf/HasPointerSemantics-08.adoc[`HasPointerSemantics<bsl::shared_ptr<ELEMENT_TYPE>>`] | Trait specialization: `shared_ptr` has pointer semantics. | xref:BloombergLP/bslmf/HasPointerSemantics-03.adoc[`HasPointerSemantics<std::shared_ptr<t_POINTED_TO_TYPE>>`] | Trait specialization: `std::shared_ptr` has pointer semantics. | xref:BloombergLP/bslmf/HasPointerSemantics-0c.adoc[`HasPointerSemantics<std::unique_ptr<t_POINTED_TO_TYPE>>`] | Trait specialization: `std::unique_ptr` has pointer semantics. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#