[#bsl-add_pointer-080] = xref:bsl.adoc[bsl]::add_pointer :relfileprefix: ../ :mrdocs: Metafunction transforming a type into a pointer to that type. == Synopsis Declared in `<bslmf_addpointer.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct add_pointer; ---- == Description This `struct` template implements the `add_pointer` meta‐function defined in the C++11 standard [meta.trans.ptr], providing an alias, `type`, that returns the result. If the (template parameter) `t_TYPE` is not a reference type, then `type` is an alias to a pointer type that points to `t_TYPE`; otherwise, `type` is an alias to a pointer type that points to the type referred to by the reference `t_TYPE`, unless it is not legal to form such a pointer type, in which case `type` is an alias for `t_TYPE`. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/add_pointer-080/type.adoc[`type`] | Alias to a pointer type derived from the (template parameter) `t_TYPE`. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:bsl/add_pointer-085.adoc[`add_pointer<t_TYPE&>`] | Partial specialization of `add_pointer` for lvalue reference types. | xref:bsl/add_pointer-05.adoc[`add_pointer<t_TYPE&&>`] | Partial specialization of `add_pointer` for rvalue reference types. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#