Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template pointer_traits<>

boost::intrusive::pointer_traits<T *>

Synopsis

// In header: <boost/intrusive/pointer_traits.hpp>

template<typename T> 
struct pointer_traits<> {
  // types
  typedef T              ;   
  typedef T *            ;        
  typedef  ;
  typedef T &            ;      
  typedef U *            ;         

  // member classes/structs/unions
  template<typename U> 
  struct rebind_pointer {
    // types
    typedef U * ;
  };

  // public static functions
  pointer (reference);
  template<typename U> pointer (U *);
  template<typename U> pointer (U *);
  template<typename U> pointer (U *);
};

Description

Specialization of pointer_traits for raw pointers

pointer_traits public types

  1. typedef U * ;

    For portable code for C++03 and C++11,

    shall be used instead of rebind<underline> to obtain a pointer to U. </underline>

pointer_traits public static functions

  1. pointer (reference r);

    Returns: addressof(r)

  2. template<typename U> pointer (U * uptr);

    Returns: static_cast<pointer>(uptr)

  3. template<typename U> pointer (U * uptr);

    Returns: const_cast<pointer>(uptr)

  4. template<typename U> pointer (U * uptr);

    Returns: dynamic_cast<pointer>(uptr)


PrevUpHomeNext