diff --git a/include/boost/intrusive/circular_slist_algorithms.hpp b/include/boost/intrusive/circular_slist_algorithms.hpp
index 25afacf..7cb8f5b 100644
--- a/include/boost/intrusive/circular_slist_algorithms.hpp
+++ b/include/boost/intrusive/circular_slist_algorithms.hpp
@@ -74,9 +74,9 @@ class circular_slist_algorithms
//!
//! Effects: Returns true is "this_node" is the only node of a circular list:
//! or it's a not inserted node:
- //! return !NodeTraits::get_next(this_node) || NodeTraits::get_next(this_node) == this_node
+ //! return false == NodeTraits::get_next(this_node) || NodeTraits::get_next(this_node) == this_node
//!
- //! Complexity: Constant
+ //! Complexity: Constant
//!
//! Throws: Nothing.
static bool unique(const_node_ptr this_node);
diff --git a/include/boost/intrusive/linear_slist_algorithms.hpp b/include/boost/intrusive/linear_slist_algorithms.hpp
index 71f03ab..729a4bf 100644
--- a/include/boost/intrusive/linear_slist_algorithms.hpp
+++ b/include/boost/intrusive/linear_slist_algorithms.hpp
@@ -62,7 +62,7 @@ class linear_slist_algorithms
//! Effects: Constructs an non-used list element, putting the next
//! pointer to null:
- //! NodeTraits::get_next(this_node) == node_ptr()
+ //! NodeTraits::get_next(this_node) == node_ptr()
//!
//! Complexity: Constant
//!
@@ -73,7 +73,7 @@ class linear_slist_algorithms
//!
//! Effects: Returns true is "this_node" is the only node of a circular list:
//! or it's a not inserted node:
- //! return !NodeTraits::get_next(this_node) || NodeTraits::get_next(this_node) == this_node
+ //! return false == NodeTraits::get_next(this_node) || NodeTraits::get_next(this_node) == this_node
//!
//! Complexity: Constant
//!
diff --git a/include/boost/intrusive/pointer_traits.hpp b/include/boost/intrusive/pointer_traits.hpp
index 0b14df6..28743f1 100644
--- a/include/boost/intrusive/pointer_traits.hpp
+++ b/include/boost/intrusive/pointer_traits.hpp
@@ -38,6 +38,10 @@ template
struct pointer_traits
{
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
+ //!The pointer type
+ //!queried by this pointer_traits instantiation
+ typedef Ptr pointer;
+
//!Ptr::element_type if such a type exists; otherwise, T if Ptr is a class
//!template instantiation of the form SomePointer, where Args is zero or
//!more type arguments ; otherwise , the specialization is ill-formed.
@@ -47,10 +51,6 @@ struct pointer_traits
//!std::ptrdiff_t.
typedef unspecified_type difference_type;
- //!Ptr::difference_type if such a type exists; otherwise,
- //!std::ptrdiff_t.
- typedef unspecified_type difference_type;
-
//!Ptr::rebind if such a type exists; otherwise, SomePointer if Ptr is
//!a class template instantiation of the form SomePointer, where Args is zero or
//!more type arguments ; otherwise, the instantiation of rebind is ill-formed.
@@ -86,10 +86,10 @@ struct pointer_traits
#endif
#endif //#if !defined(BOOST_NO_TEMPLATE_ALIASES)
- //!Remark: If element_type is (possibly cv-qualified) void, r type is unspecified; otherwise,
+ //! 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).
+ //!
+ //! 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));
static pointer pointer_to(reference r)
{
@@ -102,9 +102,9 @@ struct pointer_traits
return pointer_traits::priv_pointer_to(flag, r);
}
- //!Remark: Non-standard extension.
- //
- //!Returns: A dereferenceable pointer to r obtained by calling Ptr::static_cast_from(r).
+ //! 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(*uptr))
template
static pointer static_cast_from(const UPtr &uptr)
@@ -116,9 +116,9 @@ struct pointer_traits
return pointer_traits::priv_static_cast_from(flag, uptr);
}
- //!Remark: Non-standard extension.
- //
- //!Returns: A dereferenceable pointer to r obtained by calling Ptr::const_cast_from(r).
+ //! 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(*uptr))
template
static pointer const_cast_from(const UPtr &uptr)
@@ -130,9 +130,9 @@ struct pointer_traits
return pointer_traits::priv_const_cast_from(flag, uptr);
}
- //!Remark: Non-standard extension.
- //
- //!Returns: A dereferenceable pointer to r obtained by calling Ptr::dynamic_cast_from(r).
+ //! 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(&*uptr))
template
static pointer dynamic_cast_from(const UPtr &uptr)