From 50f9f57f6cc3c6d4f8cfe1c5a2967e297ad487db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Mon, 15 Dec 2014 17:39:04 +0100 Subject: [PATCH] Documented pointer_traits according to Trac #10853 proposal --- doc/intrusive.qbk | 4 +++- include/boost/intrusive/pointer_traits.hpp | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/intrusive.qbk b/doc/intrusive.qbk index 83ffb5f..988313f 100644 --- a/doc/intrusive.qbk +++ b/doc/intrusive.qbk @@ -3763,7 +3763,9 @@ to be inserted in intrusive containers are allocated using `std::vector` or `std [section:release_notes_boost_1_58_00 Boost 1.58 Release] -* Reduced compile-time dependencies, headers, and the use of Boost.Preprocessor, specially for hooks and iterators. +* Reduced compile-time dependencies, headers, and the use of Boost.Preprocessor, specially for hooks and iterators. +* Fixed bugs: + * [@https://svn.boost.org/trac/boost/ticket/10853 Boost Trac #10853: ['problem with detection of const_cast_from]] [endsect] diff --git a/include/boost/intrusive/pointer_traits.hpp b/include/boost/intrusive/pointer_traits.hpp index 1d5b5e4..9be509b 100644 --- a/include/boost/intrusive/pointer_traits.hpp +++ b/include/boost/intrusive/pointer_traits.hpp @@ -57,6 +57,14 @@ BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(value_traits_ptr) //! extensions like castings. //! //! pointer_traits supplies a uniform interface to certain attributes of pointer-like types. +//! +//! Note: When defining a custom family of pointers or references to be used with BI +//! library, make sure the public static conversion functions accessed through +//! the `pointer_traits` interface (`*_cast_from` and `pointer_to`) can +//! properly convert between const and nonconst referred member types +//! without the use of implicit constructor calls. It is suggested these +//! conversions be implemented as function templates, where the template +//! argument is the type of the object being converted from. template struct pointer_traits {