A type with this trait is said to have "pointer semantics". That is the type behaves as if it were a fundamental pointer type. The type must define(at a minimum) operator* and operator‐>. Note that simply providing the above operators does not imply that a type has pointer semantics. This trait is intended for "wrapper" types that behave as pointers. Some examples of such types include std::auto_ptr, and bslma::ManagedPtr. This trait is generally used by objects that invoke the wrapped type.

Synopsis

Declared in <bslalg_typetraithaspointersemantics.h>

struct TypeTraitHasPointerSemantics;

Types

Name

Description

Metafunction

Metafunction that evaluates to HasPointerSemantics<TYPE>::type.

NestedTraitDeclaration

This class template ties the bslalg::TypeTraitHasPointerSemantics trait tag to the bslmf::HasPointerSemantics trait metafunction.

Created with MrDocs