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 {