diff options
| author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-10 05:45:24 +0000 |
|---|---|---|
| committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-10 05:45:24 +0000 |
| commit | add484259260a8422235e803190e81c59d661b92 (patch) | |
| tree | 20c4f88ab26e67ce8d55f69aece783ccac97217d /libstdc++-v3/include/std/functional | |
| parent | 3c94da027ef66bff3cb8e4f9b5527635f2b1c2d6 (diff) | |
| download | ppe42-gcc-add484259260a8422235e803190e81c59d661b92.tar.gz ppe42-gcc-add484259260a8422235e803190e81c59d661b92.zip | |
2010-02-09 Benjamin Kosnik <bkoz@redhat.com>
* include/std/streambuf: Adjust doxygen group markup.
* include/std/functional: Same.
* include/ext/vstring.h: Same.
* include/ext/pb_ds/assoc_container.hpp: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/functional_hash.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/locale_facets_nonio.h: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156644 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/functional')
| -rw-r--r-- | libstdc++-v3/include/std/functional | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index c390c3bbdcd..491e3815153 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -90,9 +90,6 @@ namespace std _Has_result_type_helper<typename remove_cv<_Tp>::type>::value> { }; - /** - * - */ /// If we have found a result_type, extract it. template<bool _Has_result_type, typename _Functor> struct _Maybe_get_result_type @@ -385,7 +382,11 @@ namespace std : binary_function<const volatile _T1*, _T2, _Res> { }; - /// reference_wrapper + /** + * @brief Primary class template for reference_wrapper. + * @ingroup functors + * @{ + */ template<typename _Tp> class reference_wrapper : public _Reference_wrapper_base<typename remove_cv<_Tp>::type> @@ -431,28 +432,32 @@ namespace std }; - // Denotes a reference should be taken to a variable. + /// Denotes a reference should be taken to a variable. template<typename _Tp> inline reference_wrapper<_Tp> ref(_Tp& __t) { return reference_wrapper<_Tp>(__t); } - // Denotes a const reference should be taken to a variable. + /// Denotes a const reference should be taken to a variable. template<typename _Tp> inline reference_wrapper<const _Tp> cref(const _Tp& __t) { return reference_wrapper<const _Tp>(__t); } + /// Partial specialization. template<typename _Tp> inline reference_wrapper<_Tp> ref(reference_wrapper<_Tp> __t) { return ref(__t.get()); } + /// Partial specialization. template<typename _Tp> inline reference_wrapper<const _Tp> cref(reference_wrapper<_Tp> __t) { return cref(__t.get()); } + // @} group functors + template<typename _Tp, bool> struct _Mem_fn_const_or_non { @@ -753,6 +758,7 @@ namespace std /** * @brief Returns a function object that forwards to the member * pointer @a pm. + * @ingroup functors */ template<typename _Tp, typename _Class> inline _Mem_fn<_Tp _Class::*> @@ -765,6 +771,7 @@ namespace std * @brief Determines if the given type _Tp is a function object * should be treated as a subexpression when evaluating calls to * function objects returned by bind(). [TR1 3.6.1] + * @ingroup binders */ template<typename _Tp> struct is_bind_expression @@ -773,6 +780,7 @@ namespace std /** * @brief Determines if the given type _Tp is a placeholder in a * bind() expression and, if so, which placeholder it is. [TR1 3.6.2] + * @ingroup binders */ template<typename _Tp> struct is_placeholder @@ -784,6 +792,7 @@ namespace std /** @namespace std::placeholders * @brief ISO C++ 0x entities sub namespace for functional. + * @ingroup binders * * Define a large number of placeholders. There is no way to * simplify this with variadic templates, because we're introducing @@ -828,6 +837,7 @@ namespace std /** * Partial specialization of is_placeholder that provides the placeholder * number for the placeholder objects defined by libstdc++. + * @ingroup binders */ template<int _Num> struct is_placeholder<_Placeholder<_Num> > @@ -1335,17 +1345,26 @@ namespace std } }; - /// Class template _Bind is always a bind expression. + /** + * @brief Class template _Bind is always a bind expression. + * @ingroup binders + */ template<typename _Signature> struct is_bind_expression<_Bind<_Signature> > : public true_type { }; - /// Class template _Bind_result is always a bind expression. + /** + * @brief Class template _Bind is always a bind expression. + * @ingroup binders + */ template<typename _Result, typename _Signature> struct is_bind_expression<_Bind_result<_Result, _Signature> > : public true_type { }; - /// bind + /** + * @brief Function template for std::bind. + * @ingroup binders + */ template<typename _Functor, typename... _ArgTypes> inline _Bind<typename _Maybe_wrap_member_pointer<_Functor>::type(_ArgTypes...)> @@ -1358,6 +1377,10 @@ namespace std std::forward<_ArgTypes>(__args)...); } + /** + * @brief Function template for std::bind. + * @ingroup binders + */ template<typename _Result, typename _Functor, typename... _ArgTypes> inline _Bind_result<_Result, @@ -1766,7 +1789,12 @@ namespace std } }; - /// class function + /** + * @brief Primary class template for std::function. + * @ingroup functors + * + * Polymorphic function wrapper. + */ template<typename _Res, typename... _ArgTypes> class function<_Res(_ArgTypes...)> : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, @@ -2033,6 +2061,7 @@ namespace std _Invoker_type _M_invoker; }; + // Out-of-line member definitions. template<typename _Res, typename... _ArgTypes> function<_Res(_ArgTypes...)>:: function(const function& __x) |

