diff --git a/ref.html b/ref.html index 33757b8..a2cd7fc 100644 --- a/ref.html +++ b/ref.html @@ -35,8 +35,9 @@
The header boost/ref.hpp defines the class template -boost::reference_wrapper<T> and the two functions boost::ref and -boost::cref that return instances of boost::reference_wrapper<T>. +boost::reference_wrapper<T>, the two functions boost::ref and +boost::cref that return instances of +boost::reference_wrapper<T>, and the two traits classes boost::is_reference_wrapper<T> and boost::unwrap_reference<T>.
@@ -62,6 +63,14 @@ where X is the type of x. Similarly, boost::cref(x) returns a boost::reference_wrapper<X const>(x).
+The expression boost::is_reference_wrapper<T>::value is +true if T is a +reference_wrapper, and false otherwise. + +
The type-expression boost::unwrap_reference<T>::type +is T::type if T is a +reference_wrapper, T otherwise. +
Effects: Constructs a reference_wrapper object that stores a reference to t.
Throws: Nothing.
+
Returns: the stored reference.
Throws: Nothing.
+
Returns: the stored reference.
Throws: Nothing.
+
Returns: reference_wrapper<T>(t).
Throws: Nothing.
+
+ +Returns: reference_wrapper<T const>(t).
Throws: Nothing.
+
+template<class T> class is_reference_wrapper<T const> +{ + public: + static bool value = unspecified; +}; ++Value is true iff T is a specialization of reference_wrapper. + +
+template<class T> class unwrap_reference<T const> +{ + public: + typedef unspecified type; +}; ++type is equivalent to T::type if T is a specialization of reference_wrapper. Otherwise type is equivalent to T.
-ref and cref were originally part of the Boost.Tuple library. -They were "promoted to boost:: status" because they are generally -useful. +ref and cref were originally part of the Boost.Tuple +library by Jaakko +Järvi. They were "promoted to boost:: status" by Peter Dimov because they are +generally useful. Douglas +Gregor and Dave +Abrahams contributed is_reference_wrapper and +unwrap_reference.