pointer_traits is the implementation of C++11 std::pointer_traits class with some extensions like castings. More...
#include <pointer_traits.hpp>
Classes | |
struct | rebind_pointer |
Public Types | |
typedef Ptr | pointer |
template<class U > | |
using | rebind = typename boost::intrusive::pointer_rebind< Ptr, U >::type |
Public Member Functions | |
typedef | BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT (boost::intrusive::detail::, Ptr, element_type, boost::intrusive::detail::first_param< Ptr >) element_type |
typedef | BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT (boost::intrusive::detail::, Ptr, difference_type, std::ptrdiff_t) difference_type |
typedef | BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT (boost::intrusive::detail::, Ptr, reference, typename boost::intrusive::detail::unvoid_ref< element_type >::type) reference |
Static Public Member Functions | |
static pointer | pointer_to (reference r) |
Remark: If element_type is (possibly cv-qualified) void, r type is unspecified; otherwise, it is element_type &. More... | |
template<class UPtr > | |
static pointer | static_cast_from (const UPtr &uptr) |
Remark: Non-standard extension. More... | |
template<class UPtr > | |
static pointer | const_cast_from (const UPtr &uptr) |
Remark: Non-standard extension. More... | |
template<class UPtr > | |
static pointer | dynamic_cast_from (const UPtr &uptr) |
Remark: Non-standard extension. More... | |
pointer_traits is the implementation of C++11 std::pointer_traits class with some extensions like castings.
pointer_traits supplies a uniform interface to certain attributes of pointer-like types.
typedef Ptr boost::intrusive::pointer_traits< Ptr >::pointer |
using boost::intrusive::pointer_traits< Ptr >::rebind = typename boost::intrusive::pointer_rebind<Ptr, U>::type |
typedef boost::intrusive::pointer_traits< Ptr >::BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT | ( | boost::intrusive::detail:: | , |
Ptr | , | ||
difference_type | , | ||
std::ptrdiff_t | |||
) |
typedef boost::intrusive::pointer_traits< Ptr >::BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT | ( | boost::intrusive::detail:: | , |
Ptr | , | ||
reference | , | ||
typename boost::intrusive::detail::unvoid_ref< element_type >::type | |||
) |
typedef boost::intrusive::pointer_traits< Ptr >::BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT | ( | boost::intrusive::detail:: | , |
Ptr | , | ||
element_type | , | ||
boost::intrusive::detail::first_param< Ptr > | |||
) |
|
inlinestatic |
Remark: Non-standard extension.
Returns: A dereferenceable pointer to r obtained by calling Ptr::const_cast_from(r). If such function does not exist, returns pointer_to(const_cast<element_type&>(*uptr))
Referenced by boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::cbegin(), boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::cend(), boost::intrusive::list_impl< ValueTraits, SizeType, ConstantTimeSize, HeaderHolder >::iterator_to(), boost::intrusive::slist_impl< ValueTraits, SizeType, BoolFlags, HeaderHolder >::iterator_to(), boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::iterator_to(), boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::local_iterator_to(), boost::intrusive::list_impl< ValueTraits, SizeType, ConstantTimeSize, HeaderHolder >::s_iterator_to(), boost::intrusive::slist_impl< ValueTraits, SizeType, BoolFlags, HeaderHolder >::s_iterator_to(), and boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::s_local_iterator_to().
|
inlinestatic |
Remark: Non-standard extension.
Returns: A dereferenceable pointer to r obtained by calling Ptr::dynamic_cast_from(r). If such function does not exist, returns pointer_to(dynamic_cast<element_type>(&*uptr))
|
inlinestatic |
Remark: If element_type is (possibly cv-qualified) void, r type is unspecified; otherwise, it is element_type &.
Returns: A dereferenceable pointer to r obtained by calling Ptr::pointer_to(r). Non-standard extension: If such function does not exist, returns pointer(addressof(r));
Referenced by boost::container::stable_vector< T, Allocator >::erase(), boost::container::stable_vector_detail::index_traits< VoidPtr, VoidAllocator >::initialize_end_node(), boost::intrusive::hashtable_impl< ValueTraits, Hash, Equal, SizeType, BucketTraits, BoolFlags >::insert_unique_commit(), boost::container::stable_vector_detail::index_traits< VoidPtr, VoidAllocator >::ptr_to_node_base_ptr(), boost::container::stable_vector_detail::index_traits< VoidPtr, VoidAllocator >::readjust_end_node(), boost::intrusive::trivial_value_traits< NodeTraits, LinkMode >::to_node_ptr(), boost::intrusive::member_value_traits< T, NodeTraits, PtrToMember, LinkMode >::to_node_ptr(), boost::intrusive::derivation_value_traits< T, NodeTraits, LinkMode >::to_value_ptr(), and boost::intrusive::member_value_traits< T, NodeTraits, PtrToMember, LinkMode >::to_value_ptr().
|
inlinestatic |
Remark: Non-standard extension.
Returns: A dereferenceable pointer to r obtained by calling Ptr::static_cast_from(r). If such function does not exist, returns pointer_to(static_cast<element_type&>(*uptr))
Referenced by boost::container::stable_vector< T, Allocator >::begin(), boost::container::stable_vector< T, Allocator >::erase(), boost::container::stable_vector_iterator< Pointer, IsConst >::node_pointer(), and boost::container::stable_vector_iterator< Pointer, IsConst >::operator[]().