$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Howard Hinnant (hinnant_at_[hidden])
Date: 2000-12-21 13:48:43
FWIW, remove_pointer could handily be used to implement is_pointer:
template <class T> struct is_pointer
{static const bool value = !is_same<T, typename
remove_pointer<T>::type>::value;};
(assuming of course that remove_pointer removed pointers and top-level
cv-qualified pointers, else returned the original type)
template <class T> struct remove_pointer {typedef T
type;};
template <class T> struct remove_pointer<T*> {typedef T
type;};
template <class T> struct remove_pointer<T*const> {typedef T
type;};
template <class T> struct remove_pointer<T*volatile> {typedef T
type;};
template <class T> struct remove_pointer<T*const volatile> {typedef T
type;};
-Howard
David Abrahams wrote on 12/21/2000 11:05 AM
>I notice there is a remove_reference<T> but no remove_pointer<T> in
>type_traits. Oversight? Rationale?