Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template pointer_traits<T *>

boost::intrusive::pointer_traits<T *>

Synopsis

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

template<typename T> 
struct pointer_traits<T *> {
  // types
  typedef T              element_type;   
  typedef T *            pointer;        
  typedef std::ptrdiff_t difference_type;
  typedef T &            reference;      
  typedef unspecified    reference;      

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

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

Description

Specialization of pointer_traits for raw pointers

pointer_traits public static functions

  1. static pointer pointer_to(reference r);

    Returns: addressof(r)

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

    Returns: static_cast<pointer>(uptr)

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

    Returns: const_cast<pointer>(uptr)

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

    Returns: dynamic_cast<pointer>(uptr)


PrevUpHomeNext