| Home | Libraries | People | FAQ | More

### add_pointer

    template <class T>
    struct add_pointer
    {
       typedef see-below type;
    };

type: The same type as `remove_reference<T>::type*`.

The rationale for this template is that it produces the same type as `TYPEOF(&t)`, where `t` is an object of type `T`.

C++ Standard Reference: 8.3.1.

Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template will compile, but the member `type` will always be the same as type `T` except where compiler workarounds have been applied.

Header: `#include <boost/type_traits/add_pointer.hpp>` or `#include <boost/type_traits.hpp>`

Table 1.8. Examples

Expression | Result Type
--- | ---
`add_pointer<int>::type` | `int*`
`add_pointer<int const&>::type` | `int const*`
`add_pointer<int*>::type` | `int**`
`add_pointer<int*&>::type` | `int**`