diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2008-03-26 06:27:35 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2008-03-26 06:27:35 +0000 |
commit | 939759fcc993f08e734ed2942a64a8f406335b07 (patch) | |
tree | bac7112eda84cb436582837155e41f192bcb0515 /libstdc++-v3/include | |
parent | a0a5f30f8e6741d55daca7fb3093df6365425661 (diff) | |
download | gcc-939759fcc993f08e734ed2942a64a8f406335b07.zip gcc-939759fcc993f08e734ed2942a64a8f406335b07.tar.gz gcc-939759fcc993f08e734ed2942a64a8f406335b07.tar.bz2 |
run_doxygen: Remove html_output_dir.
2008-03-25 Benjamin Kosnik <bkoz@redhat.com>
* scripts/run_doxygen: Remove html_output_dir. Downgrade to
Doxygen 1.5.1.
* doc/doxygen/style.css: Delete.
* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
(INPUT): Update.
(PREDEFINED): Update.
(HTML_OUTPUT): Remove html_output_dir, use html.
(HTML_STYLESHEET): Remove style.css.
* doc/doxygen/tables.html: Remove style.css use.
* doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
* doc/doxygen/doxygroups.cc: Namespace edits.
* doc/doxygen/Intro.3: Correct typo.
* doc/xml/api.xml: Add gcc-4.3 links.
* doc/html/api.html: Regenerate.
* include/debug/debug.h: Document namepaces here.
* include/parallel/base.h: Same.
* include/ext/typelist.h: Same.
* include/ext/pb_ds/tag_and_trait.hpp: Same.
* include/tr1_impl/random: Adjust line break.
* include/tr1_impl/unordered_map: Correct and or add markup.
* include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
* include/tr1_impl/functional_hash.h: Same.
* include/tr1_impl/cmath: Same.
* include/tr1_impl/functional: Same.
* include/tr1_impl/unordered_set: Same.
* include/tr1_impl/complex: Same.
* include/tr1_impl/type_traits: Same.
* include/tr1_impl/regex: Same.
* include/tr1_impl/array: Same.
* include/std/tuple: Same.
* include/std/date_time: Same.
* include/std/system_error: Same.
* include/std/type_traits: Same.
* include/ext/enc_filebuf.h: Same.
* include/ext/throw_allocator.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/concurrence.h: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/mt_allocator.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/allocator.h: Same.
* include/bits/locale_facets_nonio.h: Same.
* include/tr1/poly_laguerre.tcc: Same.
* include/tr1/riemann_zeta.tcc: Same.
* include/tr1/beta_function.tcc: Same.
* include/tr1/tuple: Same.
* include/tr1/exp_integral.tcc: Same.
* include/tr1/gamma.tcc: Same.
* include/tr1/hypergeometric.tcc: Same.
* include/tr1/modified_bessel_func.tcc: Same.
* include/tr1/legendre_function.tcc: Same.
* include/tr1/type_traits: Same.
* include/tr1/special_function_util.h: Same.
* include/tr1/bessel_function.tcc: Same.
* include/tr1/cmath: Same.
* include/tr1/poly_hermite.tcc: Same.
* include/tr1/ell_integral.tcc: Same.
* config/abi/compatibility.h: Adjust file name.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
From-SVN: r133544
Diffstat (limited to 'libstdc++-v3/include')
49 files changed, 271 insertions, 270 deletions
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 8a0d0ee..a90f7b4 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -1,6 +1,6 @@ // Allocators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -77,7 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * @brief The "standard" allocator, as per [20.4]. * * Further details: - * http://gcc.gnu.org/onlinedocs/libstdc++/20_util/allocator.html + * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html */ template<typename _Tp> class allocator: public __glibcxx_base_allocator<_Tp> diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h index d01db93..ae0f6cf 100644 --- a/libstdc++-v3/include/bits/char_traits.h +++ b/libstdc++-v3/include/bits/char_traits.h @@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { }; - /// @brief 21.1.3.1 char_traits specializations + /// 21.1.3.1 char_traits specializations template<> struct char_traits<char> { @@ -301,7 +301,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) #ifdef _GLIBCXX_USE_WCHAR_T - /// @brief 21.1.3.2 char_traits specializations + /// 21.1.3.2 char_traits specializations template<> struct char_traits<wchar_t> { diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h index 8d18249..9d6655a 100644 --- a/libstdc++-v3/include/bits/codecvt.h +++ b/libstdc++-v3/include/bits/codecvt.h @@ -1,6 +1,6 @@ // Locale support (codecvt) -*- C++ -*- -// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) - /// @brief Empty base class for codecvt facet [22.2.1.5]. + /// Empty base class for codecvt facet [22.2.1.5]. class codecvt_base { public: @@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _InternT, typename _ExternT, typename _StateT> locale::id codecvt<_InternT, _ExternT, _StateT>::id; - /// @brief class codecvt<char, char, mbstate_t> specialization. + /// class codecvt<char, char, mbstate_t> specialization. template<> class codecvt<char, char, mbstate_t> : public __codecvt_abstract_base<char, char, mbstate_t> @@ -388,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) }; #ifdef _GLIBCXX_USE_WCHAR_T - /// @brief class codecvt<wchar_t, char, mbstate_t> specialization. + /// class codecvt<wchar_t, char, mbstate_t> specialization. template<> class codecvt<wchar_t, char, mbstate_t> : public __codecvt_abstract_base<wchar_t, char, mbstate_t> @@ -448,7 +448,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) }; #endif //_GLIBCXX_USE_WCHAR_T - /// @brief class codecvt_byname [22.2.1.6]. + /// class codecvt_byname [22.2.1.6]. template<typename _InternT, typename _ExternT, typename _StateT> class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> { diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index 10ca19a..cab5812 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -780,7 +780,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const; #endif - /// @brief class collate_byname [22.2.4.2]. + /// class collate_byname [22.2.4.2]. template<typename _CharT> class collate_byname : public collate<_CharT> { diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h index c60f04d..cb9c021 100644 --- a/libstdc++-v3/include/bits/locale_facets.h +++ b/libstdc++-v3/include/bits/locale_facets.h @@ -1511,7 +1511,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) use_facet<ctype<wchar_t> >(const locale& __loc); #endif //_GLIBCXX_USE_WCHAR_T - /// @brief class ctype_byname [22.2.1.2]. + /// class ctype_byname [22.2.1.2]. template<typename _CharT> class ctype_byname : public ctype<_CharT> { @@ -1912,7 +1912,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc); #endif - /// @brief class numpunct_byname [22.2.3.2]. + /// class numpunct_byname [22.2.3.2]. template<typename _CharT> class numpunct_byname : public numpunct<_CharT> { diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h index 31c90e3..f2da433 100644 --- a/libstdc++-v3/include/bits/locale_facets_nonio.h +++ b/libstdc++-v3/include/bits/locale_facets_nonio.h @@ -674,7 +674,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _InIter> locale::id time_get<_CharT, _InIter>::id; - /// @brief class time_get_byname [22.2.5.2]. + /// class time_get_byname [22.2.5.2]. template<typename _CharT, typename _InIter> class time_get_byname : public time_get<_CharT, _InIter> { @@ -798,7 +798,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _OutIter> locale::id time_put<_CharT, _OutIter>::id; - /// @brief class time_put_byname [22.2.5.4]. + /// class time_put_byname [22.2.5.4]. template<typename _CharT, typename _OutIter> class time_put_byname : public time_put<_CharT, _OutIter> { @@ -1306,7 +1306,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const char*); #endif - /// @brief class moneypunct_byname [22.2.6.4]. + /// class moneypunct_byname [22.2.6.4]. template<typename _CharT, bool _Intl> class moneypunct_byname : public moneypunct<_CharT, _Intl> { @@ -1887,7 +1887,7 @@ _GLIBCXX_END_LDBL_NAMESPACE messages<wchar_t>::do_get(catalog, int, int, const wstring&) const; #endif - /// @brief class messages_byname [22.2.7.2]. + /// class messages_byname [22.2.7.2]. template<typename _CharT> class messages_byname : public messages<_CharT> { diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h index 97d6824..0f64488 100644 --- a/libstdc++-v3/include/debug/debug.h +++ b/libstdc++-v3/include/debug/debug.h @@ -44,11 +44,19 @@ */ // Debug mode namespaces. + +/** + * @namespace std::__debug + * @brief GNU debug code, replaces standard behavior with debug behavior. + */ namespace std { namespace __debug { } } +/** @namespace __gnu_debug + * @brief GNU debug classes for public use. +*/ namespace __gnu_debug { using namespace std::__debug; diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h index d5f7092..a2e28f9 100644 --- a/libstdc++-v3/include/ext/array_allocator.h +++ b/libstdc++-v3/include/ext/array_allocator.h @@ -45,7 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) using std::size_t; using std::ptrdiff_t; - /// @brief Base class. + /// Base class. template<typename _Tp> class array_allocator_base { diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index 2736a46..5e553b0 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -706,6 +706,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) }; }; + /// Primary template template<typename _Tp> class bitmap_allocator : private free_list { diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h index 42e3c0f..e46d967 100644 --- a/libstdc++-v3/include/ext/codecvt_specializations.h +++ b/libstdc++-v3/include/ext/codecvt_specializations.h @@ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - /// @brief Extension to use iconv for dealing with character encodings. + /// Extension to use iconv for dealing with character encodings. // This includes conversions and comparisons between various character // sets. This object encapsulates data that may need to be shared between // char_traits, codecvt and ctype. @@ -206,7 +206,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) } }; - /// @brief encoding_char_traits. + /// encoding_char_traits // Custom traits type with encoding_state for the state type, and the // associated fpos<encoding_state> for the position type, all other // bits equivalent to the required char_traits instantiations. @@ -224,7 +224,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) using __gnu_cxx::encoding_state; - /// @brief codecvt<InternT, _ExternT, encoding_state> specialization. + /// codecvt<InternT, _ExternT, encoding_state> specialization. // This partial specialization takes advantage of iconv to provide // code conversions between a large number of character encodings. template<typename _InternT, typename _ExternT> diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h index 765b93d..b9e43d6 100644 --- a/libstdc++-v3/include/ext/concurrence.h +++ b/libstdc++-v3/include/ext/concurrence.h @@ -240,7 +240,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { return &_M_mutex; } }; - /// @brief Scoped lock idiom. + /// Scoped lock idiom. // Acquire the mutex here with a constructor call, then release with // the destructor call in accordance with RAII style. class __scoped_lock diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h index bba78e0..e04072b 100644 --- a/libstdc++-v3/include/ext/enc_filebuf.h +++ b/libstdc++-v3/include/ext/enc_filebuf.h @@ -40,7 +40,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - /// @brief class enc_filebuf. + /// class enc_filebuf. template<typename _CharT> class enc_filebuf : public std::basic_filebuf<_CharT, encoding_char_traits<_CharT> > diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 84aed82..08aa311 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) typedef void (*__destroy_handler)(void*); - /// @brief Base class for pool object. + /// Base class for pool object. struct __pool_base { // Using short int as type for the binmap implies we are never @@ -455,7 +455,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) }; #endif - /// @brief Policy for shared __pool objects. + /// Policy for shared __pool objects. template<template <bool> class _PoolTp, bool _Thread> struct __common_pool_policy : public __common_pool_base<_PoolTp, _Thread> { @@ -550,7 +550,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) }; #endif - /// @brief Policy for individual __pool objects. + /// Policy for individual __pool objects. template<typename _Tp, template <bool> class _PoolTp, bool _Thread> struct __per_type_pool_policy : public __per_type_pool_base<_Tp, _PoolTp, _Thread> @@ -565,7 +565,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) }; - /// @brief Base class for _Tp dependent member functions. + /// Base class for _Tp dependent member functions. template<typename _Tp> class __mt_alloc_base { @@ -621,7 +621,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) * the "global" list). * * Further details: - * http://gcc.gnu.org/onlinedocs/libstdc++/ext/mt_allocator.html + * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html */ template<typename _Tp, typename _Poolp = __common_pool_policy<__pool, __thread_default> > diff --git a/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp b/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp index 09475a2..bb39d17 100644 --- a/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp +++ b/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp @@ -52,9 +52,8 @@ /** * @namespace __gnu_pbds - * @brief GNU extension policy-based data structures for public use. + * @brief GNU extensions for policy-based data structures for public use. */ - namespace __gnu_pbds { // A trivial iterator tag. Signifies that the iterators has none of diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index e2e38a0..c4d2ef2 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -119,7 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) }; - /// @brief class __pool_alloc. + /// class __pool_alloc. template<typename _Tp> class __pool_alloc : private __pool_alloc_base { diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h index a1d2b38..6cb555a 100644 --- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h @@ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - /// @brief class stdio_sync_filebuf. + /// class stdio_sync_filebuf. template<typename _CharT, typename _Traits = std::char_traits<_CharT> > class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits> { diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index 04204cb..a5aa725 100644 --- a/libstdc++-v3/include/ext/throw_allocator.h +++ b/libstdc++-v3/include/ext/throw_allocator.h @@ -80,6 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) std::tr1::mt19937 _M_generator; }; + /// Thown by throw_allocator. struct forced_exception_error : public std::exception { }; @@ -94,6 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #endif } + /// Base class. class throw_allocator_base { public: @@ -184,7 +186,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) static size_t _S_label; }; - + /// Allocator class with logging and exception control. template<typename T> class throw_allocator : public throw_allocator_base { @@ -309,7 +311,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) twister_rand_gen throw_allocator_base::_S_g; - throw_allocator_base::map_type + throw_allocator_base::map_type throw_allocator_base::_S_map; double throw_allocator_base::_S_throw_prob; diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h index 1c99783..b7cd954 100644 --- a/libstdc++-v3/include/ext/typelist.h +++ b/libstdc++-v3/include/ext/typelist.h @@ -50,6 +50,9 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) +/** @namespace __gnu_cxx::typelist + * @brief GNU typelist extensions for public compile-time use. +*/ namespace typelist { struct null_type { }; diff --git a/libstdc++-v3/include/parallel/base.h b/libstdc++-v3/include/parallel/base.h index 2060d81..b713ee7 100644 --- a/libstdc++-v3/include/parallel/base.h +++ b/libstdc++-v3/include/parallel/base.h @@ -47,6 +47,11 @@ // Parallel mode namespaces. + +/** + * @namespace std::__parallel + * @brief GNU parallel code, replaces standard behavior with parallel behavior. + */ namespace std { namespace __parallel { } @@ -54,7 +59,7 @@ namespace std /** * @namespace __gnu_parallel - * @brief GNU parallel classes for public use. + * @brief GNU parallel code for public use. */ namespace __gnu_parallel { diff --git a/libstdc++-v3/include/std/date_time b/libstdc++-v3/include/std/date_time index 792a140..b956a9b 100644 --- a/libstdc++-v3/include/std/date_time +++ b/libstdc++-v3/include/std/date_time @@ -45,7 +45,8 @@ namespace std { // duration types - + + /// nanoseconds class nanoseconds { public: @@ -90,7 +91,7 @@ namespace std class minutes; class hours; - // timepoint type + /// timepoint type class system_time { public: diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index c2a1d01..c8973d1 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -53,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) extern const error_category& system_category; + /// error_category struct error_category { error_category() { } @@ -78,6 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) operator=(const error_category&); }; + /// error_code struct error_code { error_code() throw() @@ -133,6 +135,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const error_category* _M_cat; }; + /// Thrown to indicate error code of underlying system. class system_error : public std::runtime_error { private: diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 78f69de..3dda530 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -205,6 +205,7 @@ namespace std } }; + /// tuple template<typename... _Elements> class tuple : public _Tuple_impl<0, _Elements...> { @@ -275,9 +276,11 @@ namespace std } }; - template<> class tuple<> { }; - // 2-element tuple, with construction and assignment from a pair. + template<> + class tuple<> { }; + + /// tuple (2-element), with construction and assignment from a pair. template<typename _T1, typename _T2> class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> { @@ -393,7 +396,7 @@ namespace std template<typename _Tp> struct tuple_size; - /// @brief class tuple_size + /// class tuple_size template<typename... _Elements> struct tuple_size<tuple<_Elements...> > { diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 38c92ab..1f9a2d9 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -1,6 +1,6 @@ // <type_traits> -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -63,6 +63,8 @@ namespace std { // Primary classification traits. + + /// is_lvalue_reference template<typename> struct is_lvalue_reference : public false_type { }; @@ -71,6 +73,7 @@ namespace std struct is_lvalue_reference<_Tp&> : public true_type { }; + /// is_rvalue_reference template<typename> struct is_rvalue_reference : public false_type { }; @@ -80,6 +83,8 @@ namespace std : public true_type { }; // Secondary classification traits. + + /// is_reference template<typename _Tp> struct is_reference : public integral_constant<bool, (is_lvalue_reference<_Tp>::value @@ -87,6 +92,8 @@ namespace std { }; // Reference transformations. + + /// remove_reference template<typename _Tp> struct remove_reference { typedef _Tp type; }; @@ -113,6 +120,7 @@ namespace std struct __add_lvalue_reference_helper<_Tp, false, true> { typedef typename remove_reference<_Tp>::type& type; }; + /// add_lvalue_reference template<typename _Tp> struct add_lvalue_reference : public __add_lvalue_reference_helper<_Tp> @@ -127,12 +135,14 @@ namespace std struct __add_rvalue_reference_helper<_Tp, true> { typedef _Tp&& type; }; + /// add_rvalue_reference template<typename _Tp> struct add_rvalue_reference : public __add_rvalue_reference_helper<_Tp> { }; // Scalar properties and transformations. + template<typename _Tp, bool = is_integral<_Tp>::value, bool = is_floating_point<_Tp>::value> @@ -148,11 +158,13 @@ namespace std : public integral_constant<bool, _Tp(-1) < _Tp(0)> { }; + /// is_signed template<typename _Tp> struct is_signed : public integral_constant<bool, __is_signed_helper<_Tp>::value> { }; + /// is_unsigned template<typename _Tp> struct is_unsigned : public integral_constant<bool, (is_arithmetic<_Tp>::value @@ -160,46 +172,56 @@ namespace std { }; // Member introspection. + + /// is_pod template<typename _Tp> struct is_pod : public integral_constant<bool, __is_pod(_Tp)> { }; + /// has_trivial_default_constructor template<typename _Tp> struct has_trivial_default_constructor : public integral_constant<bool, __has_trivial_constructor(_Tp)> { }; + /// has_trivial_copy_constructor template<typename _Tp> struct has_trivial_copy_constructor : public integral_constant<bool, __has_trivial_copy(_Tp)> { }; + /// has_trivial_assign template<typename _Tp> struct has_trivial_assign : public integral_constant<bool, __has_trivial_assign(_Tp)> { }; + /// has_trivial_destructor template<typename _Tp> struct has_trivial_destructor : public integral_constant<bool, __has_trivial_destructor(_Tp)> { }; + /// has_nothrow_default_destructor template<typename _Tp> struct has_nothrow_default_constructor : public integral_constant<bool, __has_nothrow_constructor(_Tp)> { }; + /// has_nothrow_copy_destructor template<typename _Tp> struct has_nothrow_copy_constructor : public integral_constant<bool, __has_nothrow_copy(_Tp)> { }; + /// has_nothrow_assign template<typename _Tp> struct has_nothrow_assign : public integral_constant<bool, __has_nothrow_assign(_Tp)> { }; + /// is_base_of template<typename _Base, typename _Derived> struct is_base_of : public integral_constant<bool, __is_base_of(_Base, _Derived)> @@ -232,7 +254,7 @@ namespace std template<typename _From, typename _To, bool = (is_void<_From>::value || is_void<_To>::value || is_function<_To>::value || is_array<_To>::value - // This special case is here only to avoid warnings. + // This special case is here only to avoid warnings. || (is_floating_point<typename remove_reference<_From>::type>::value && __is_int_or_cref<_To>::__value))> @@ -252,6 +274,7 @@ namespace std // XXX FIXME // The C++0x specifications are different, see N2255. + /// is_convertible template<typename _From, typename _To> struct is_convertible : public integral_constant<bool, @@ -268,6 +291,16 @@ namespace std }; }; + /** + * @brief Alignment type. + * + * The value of _Align is a default-alignment which shall be the + * most stringent alignment requirement for any C++ object type + * whose size is no greater than _Len (3.9). The member typedef + * type shall be a POD type suitable for use as uninitialized + * storage for any object whose size is at most _Len and whose + * alignment is a divisor of _Align. + */ template<std::size_t _Len, std::size_t _Align = __alignof__(typename __aligned_storage_msa<_Len>::__type)> struct aligned_storage @@ -281,21 +314,25 @@ namespace std // Define a nested type if some predicate holds. + /// Primary template. template<bool, typename _Tp = void> struct enable_if { }; + /// Partial specialization for true. template<typename _Tp> struct enable_if<true, _Tp> { typedef _Tp type; }; - // Like a conditional expression, but for types. If true, first, if - // false, second. + // A conditional expression, but for types. + // If true, first, if false, second. + /// Primary template. template<bool _Cond, typename _Iftrue, typename _Iffalse> struct conditional { typedef _Iftrue type; }; + /// Partial specialization for false. template<typename _Iftrue, typename _Iffalse> struct conditional<false, _Iftrue, _Iffalse> { typedef _Iffalse type; }; @@ -321,6 +358,7 @@ namespace std struct __decay_selector<_Up, false, true> { typedef typename add_pointer<_Up>::type __type; }; + /// decay template<typename _Tp> struct decay { @@ -428,9 +466,9 @@ namespace std typedef typename conditional<__b1, __smallest, __cond_type>::type __type; }; - // Primary class template. // Given an integral/enum type, return the corresponding unsigned // integer type. + /// Primary template. template<typename _Tp> struct make_unsigned { typedef typename __make_unsigned_selector<_Tp>::__type type; }; @@ -503,9 +541,9 @@ namespace std typedef typename conditional<__b1, __smallest, __cond_type>::type __type; }; - // Primary class template. // Given an integral/enum type, return the corresponding signed // integer type. + /// Primary template. template<typename _Tp> struct make_signed { typedef typename __make_signed_selector<_Tp>::__type type; }; diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc index 19c9860..bf61a6f 100644 --- a/libstdc++-v3/include/tr1/bessel_function.tcc +++ b/libstdc++-v3/include/tr1/bessel_function.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -61,14 +61,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -633,9 +626,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc index 537947e..8c0b1b5 100644 --- a/libstdc++-v3/include/tr1/beta_function.tcc +++ b/libstdc++-v3/include/tr1/beta_function.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -59,14 +59,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -203,9 +196,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath index 81a3bfe..63e6a2e 100644 --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -1,6 +1,6 @@ // TR1 cmath -*- C++ -*- -// Copyright (C) 2006, 2007 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -56,15 +56,10 @@ # undef _GLIBCXX_INCLUDE_AS_TR1 #endif -/** - * @defgroup tr1_math_spec_func Mathematical Special Functions - * A collection of advanced mathematical special functions. - * @{ - */ #include <bits/stl_algobase.h> #include <limits> - #include <tr1/type_traits> + #include <tr1/gamma.tcc> #include <tr1/bessel_function.tcc> #include <tr1/beta_function.tcc> @@ -77,12 +72,16 @@ #include <tr1/poly_laguerre.tcc> #include <tr1/riemann_zeta.tcc> -// namespace std::tr1 namespace std { namespace tr1 { - // 5.2.1.1 Associated Laguerre polynomials. + /** + * @addtogroup tr1_math_spec_func Mathematical Special Functions + * A collection of advanced mathematical special functions. + * @{ + */ + inline float assoc_laguerref(unsigned int __n, unsigned int __m, float __x) { return __detail::__assoc_laguerre<float>(__n, __m, __x); } @@ -93,6 +92,7 @@ namespace tr1 return __detail::__assoc_laguerre<long double>(__n, __m, __x); } + /// 5.2.1.1 Associated Laguerre polynomials. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x) @@ -101,7 +101,6 @@ namespace tr1 return __detail::__assoc_laguerre<__type>(__n, __m, __x); } - // 5.2.1.2 Associated Legendre functions. inline float assoc_legendref(unsigned int __l, unsigned int __m, float __x) { return __detail::__assoc_legendre_p<float>(__l, __m, __x); } @@ -110,6 +109,7 @@ namespace tr1 assoc_legendrel(unsigned int __l, unsigned int __m, long double __x) { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); } + /// 5.2.1.2 Associated Legendre functions. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x) @@ -118,7 +118,6 @@ namespace tr1 return __detail::__assoc_legendre_p<__type>(__l, __m, __x); } - // 5.2.1.3 Beta functions. inline float betaf(float __x, float __y) { return __detail::__beta<float>(__x, __y); } @@ -127,6 +126,7 @@ namespace tr1 betal(long double __x, long double __y) { return __detail::__beta<long double>(__x, __y); } + /// 5.2.1.3 Beta functions. template<typename _Tpx, typename _Tpy> inline typename __gnu_cxx::__promote_2<_Tpx, _Tpy>::__type beta(_Tpx __x, _Tpy __y) @@ -135,7 +135,6 @@ namespace tr1 return __detail::__beta<__type>(__x, __y); } - // 5.2.1.4 Complete elliptic integrals of the first kind. inline float comp_ellint_1f(float __k) { return __detail::__comp_ellint_1<float>(__k); } @@ -144,6 +143,7 @@ namespace tr1 comp_ellint_1l(long double __k) { return __detail::__comp_ellint_1<long double>(__k); } + /// 5.2.1.4 Complete elliptic integrals of the first kind. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type comp_ellint_1(_Tp __k) @@ -152,7 +152,6 @@ namespace tr1 return __detail::__comp_ellint_1<__type>(__k); } - // 5.2.1.5 Complete elliptic integrals of the second kind. inline float comp_ellint_2f(float __k) { return __detail::__comp_ellint_2<float>(__k); } @@ -161,6 +160,7 @@ namespace tr1 comp_ellint_2l(long double __k) { return __detail::__comp_ellint_2<long double>(__k); } + /// 5.2.1.5 Complete elliptic integrals of the second kind. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type comp_ellint_2(_Tp __k) @@ -169,7 +169,6 @@ namespace tr1 return __detail::__comp_ellint_2<__type>(__k); } - // 5.2.1.6 Complete elliptic integrals of the third kind. inline float comp_ellint_3f(float __k, float __nu) { return __detail::__comp_ellint_3<float>(__k, __nu); } @@ -178,6 +177,7 @@ namespace tr1 comp_ellint_3l(long double __k, long double __nu) { return __detail::__comp_ellint_3<long double>(__k, __nu); } + /// 5.2.1.6 Complete elliptic integrals of the third kind. template<typename _Tp, typename _Tpn> inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type comp_ellint_3(_Tp __k, _Tpn __nu) @@ -186,7 +186,6 @@ namespace tr1 return __detail::__comp_ellint_3<__type>(__k, __nu); } - // 5.2.1.7 Confluent hypergeometric functions. inline float conf_hypergf(float __a, float __c, float __x) { return __detail::__conf_hyperg<float>(__a, __c, __x); } @@ -195,6 +194,7 @@ namespace tr1 conf_hypergl(long double __a, long double __c, long double __x) { return __detail::__conf_hyperg<long double>(__a, __c, __x); } + /// 5.2.1.7 Confluent hypergeometric functions. template<typename _Tpa, typename _Tpc, typename _Tp> inline typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x) @@ -203,7 +203,6 @@ namespace tr1 return __detail::__conf_hyperg<__type>(__a, __c, __x); } - // 5.2.1.8 Regular modified cylindrical Bessel functions. inline float cyl_bessel_if(float __nu, float __x) { return __detail::__cyl_bessel_i<float>(__nu, __x); } @@ -212,6 +211,7 @@ namespace tr1 cyl_bessel_il(long double __nu, long double __x) { return __detail::__cyl_bessel_i<long double>(__nu, __x); } + /// 5.2.1.8 Regular modified cylindrical Bessel functions. template<typename _Tpnu, typename _Tp> inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type cyl_bessel_i(_Tpnu __nu, _Tp __x) @@ -220,7 +220,6 @@ namespace tr1 return __detail::__cyl_bessel_i<__type>(__nu, __x); } - // 5.2.1.9 Cylindrical Bessel functions (of the first kind). inline float cyl_bessel_jf(float __nu, float __x) { return __detail::__cyl_bessel_j<float>(__nu, __x); } @@ -229,6 +228,7 @@ namespace tr1 cyl_bessel_jl(long double __nu, long double __x) { return __detail::__cyl_bessel_j<long double>(__nu, __x); } + /// 5.2.1.9 Cylindrical Bessel functions (of the first kind). template<typename _Tpnu, typename _Tp> inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type cyl_bessel_j(_Tpnu __nu, _Tp __x) @@ -237,7 +237,6 @@ namespace tr1 return __detail::__cyl_bessel_j<__type>(__nu, __x); } - // 5.2.1.10 Irregular modified cylindrical Bessel functions. inline float cyl_bessel_kf(float __nu, float __x) { return __detail::__cyl_bessel_k<float>(__nu, __x); } @@ -246,6 +245,7 @@ namespace tr1 cyl_bessel_kl(long double __nu, long double __x) { return __detail::__cyl_bessel_k<long double>(__nu, __x); } + /// 5.2.1.10 Irregular modified cylindrical Bessel functions. template<typename _Tpnu, typename _Tp> inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type cyl_bessel_k(_Tpnu __nu, _Tp __x) @@ -254,7 +254,6 @@ namespace tr1 return __detail::__cyl_bessel_k<__type>(__nu, __x); } - // 5.2.1.11 Cylindrical Neumann functions. inline float cyl_neumannf(float __nu, float __x) { return __detail::__cyl_neumann_n<float>(__nu, __x); } @@ -263,6 +262,7 @@ namespace tr1 cyl_neumannl(long double __nu, long double __x) { return __detail::__cyl_neumann_n<long double>(__nu, __x); } + /// 5.2.1.11 Cylindrical Neumann functions. template<typename _Tpnu, typename _Tp> inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type cyl_neumann(_Tpnu __nu, _Tp __x) @@ -271,7 +271,6 @@ namespace tr1 return __detail::__cyl_neumann_n<__type>(__nu, __x); } - // 5.2.1.12 Incomplete elliptic integrals of the first kind. inline float ellint_1f(float __k, float __phi) { return __detail::__ellint_1<float>(__k, __phi); } @@ -280,6 +279,7 @@ namespace tr1 ellint_1l(long double __k, long double __phi) { return __detail::__ellint_1<long double>(__k, __phi); } + /// 5.2.1.12 Incomplete elliptic integrals of the first kind. template<typename _Tp, typename _Tpp> inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type ellint_1(_Tp __k, _Tpp __phi) @@ -288,7 +288,6 @@ namespace tr1 return __detail::__ellint_1<__type>(__k, __phi); } - // 5.2.1.13 Incomplete elliptic integrals of the second kind. inline float ellint_2f(float __k, float __phi) { return __detail::__ellint_2<float>(__k, __phi); } @@ -297,6 +296,7 @@ namespace tr1 ellint_2l(long double __k, long double __phi) { return __detail::__ellint_2<long double>(__k, __phi); } + /// 5.2.1.13 Incomplete elliptic integrals of the second kind. template<typename _Tp, typename _Tpp> inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type ellint_2(_Tp __k, _Tpp __phi) @@ -305,7 +305,6 @@ namespace tr1 return __detail::__ellint_2<__type>(__k, __phi); } - // 5.2.1.14 Incomplete elliptic integrals of the third kind. inline float ellint_3f(float __k, float __nu, float __phi) { return __detail::__ellint_3<float>(__k, __nu, __phi); } @@ -314,6 +313,7 @@ namespace tr1 ellint_3l(long double __k, long double __nu, long double __phi) { return __detail::__ellint_3<long double>(__k, __nu, __phi); } + /// 5.2.1.14 Incomplete elliptic integrals of the third kind. template<typename _Tp, typename _Tpn, typename _Tpp> inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi) @@ -322,7 +322,6 @@ namespace tr1 return __detail::__ellint_3<__type>(__k, __nu, __phi); } - // 5.2.1.15 Exponential integrals. inline float expintf(float __x) { return __detail::__expint<float>(__x); } @@ -331,6 +330,7 @@ namespace tr1 expintl(long double __x) { return __detail::__expint<long double>(__x); } + /// 5.2.1.15 Exponential integrals. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type expint(_Tp __x) @@ -339,7 +339,6 @@ namespace tr1 return __detail::__expint<__type>(__x); } - // 5.2.1.16 Hermite polynomials. inline float hermitef(unsigned int __n, float __x) { return __detail::__poly_hermite<float>(__n, __x); } @@ -348,6 +347,7 @@ namespace tr1 hermitel(unsigned int __n, long double __x) { return __detail::__poly_hermite<long double>(__n, __x); } + /// 5.2.1.16 Hermite polynomials. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type hermite(unsigned int __n, _Tp __x) @@ -356,7 +356,6 @@ namespace tr1 return __detail::__poly_hermite<__type>(__n, __x); } - // 5.2.1.17 Hypergeometric functions. inline float hypergf(float __a, float __b, float __c, float __x) { return __detail::__hyperg<float>(__a, __b, __c, __x); } @@ -365,6 +364,7 @@ namespace tr1 hypergl(long double __a, long double __b, long double __c, long double __x) { return __detail::__hyperg<long double>(__a, __b, __c, __x); } + /// 5.2.1.17 Hypergeometric functions. template<typename _Tpa, typename _Tpb, typename _Tpc, typename _Tp> inline typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x) @@ -373,7 +373,6 @@ namespace tr1 return __detail::__hyperg<__type>(__a, __b, __c, __x); } - // 5.2.1.18 Laguerre polynomials. inline float laguerref(unsigned int __n, float __x) { return __detail::__laguerre<float>(__n, __x); } @@ -382,6 +381,7 @@ namespace tr1 laguerrel(unsigned int __n, long double __x) { return __detail::__laguerre<long double>(__n, __x); } + /// 5.2.1.18 Laguerre polynomials. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type laguerre(unsigned int __n, _Tp __x) @@ -390,7 +390,6 @@ namespace tr1 return __detail::__laguerre<__type>(__n, __x); } - // 5.2.1.19 Legendre polynomials. inline float legendref(unsigned int __n, float __x) { return __detail::__poly_legendre_p<float>(__n, __x); } @@ -399,6 +398,7 @@ namespace tr1 legendrel(unsigned int __n, long double __x) { return __detail::__poly_legendre_p<long double>(__n, __x); } + /// 5.2.1.19 Legendre polynomials. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type legendre(unsigned int __n, _Tp __x) @@ -407,7 +407,6 @@ namespace tr1 return __detail::__poly_legendre_p<__type>(__n, __x); } - // 5.2.1.20 Riemann zeta function. inline float riemann_zetaf(float __x) { return __detail::__riemann_zeta<float>(__x); } @@ -416,6 +415,7 @@ namespace tr1 riemann_zetal(long double __x) { return __detail::__riemann_zeta<long double>(__x); } + /// 5.2.1.20 Riemann zeta function. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type riemann_zeta(_Tp __x) @@ -424,7 +424,6 @@ namespace tr1 return __detail::__riemann_zeta<__type>(__x); } - // 5.2.1.21 Spherical Bessel functions. inline float sph_besself(unsigned int __n, float __x) { return __detail::__sph_bessel<float>(__n, __x); } @@ -433,6 +432,7 @@ namespace tr1 sph_bessell(unsigned int __n, long double __x) { return __detail::__sph_bessel<long double>(__n, __x); } + /// 5.2.1.21 Spherical Bessel functions. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type sph_bessel(unsigned int __n, _Tp __x) @@ -441,7 +441,6 @@ namespace tr1 return __detail::__sph_bessel<__type>(__n, __x); } - // 5.2.1.22 Spherical associated Legendre functions. inline float sph_legendref(unsigned int __l, unsigned int __m, float __theta) { return __detail::__sph_legendre<float>(__l, __m, __theta); } @@ -450,6 +449,7 @@ namespace tr1 sph_legendrel(unsigned int __l, unsigned int __m, long double __theta) { return __detail::__sph_legendre<long double>(__l, __m, __theta); } + /// 5.2.1.22 Spherical associated Legendre functions. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta) @@ -458,7 +458,6 @@ namespace tr1 return __detail::__sph_legendre<__type>(__l, __m, __theta); } - // 5.2.1.23 Spherical Neumann functions. inline float sph_neumannf(unsigned int __n, float __x) { return __detail::__sph_neumann<float>(__n, __x); } @@ -467,6 +466,7 @@ namespace tr1 sph_neumannl(unsigned int __n, long double __x) { return __detail::__sph_neumann<long double>(__n, __x); } + /// 5.2.1.23 Spherical Neumann functions. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type sph_neumann(unsigned int __n, _Tp __x) @@ -475,7 +475,7 @@ namespace tr1 return __detail::__sph_neumann<__type>(__n, __x); } - /* @} */ // group tr1_math_spec_func + /* @} */ // tr1_math_spec_func } } diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc index 7eaab6f..404cc27 100644 --- a/libstdc++-v3/include/tr1/ell_integral.tcc +++ b/libstdc++-v3/include/tr1/ell_integral.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -55,14 +55,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -753,9 +746,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc index 58c62f2..5dff27c 100644 --- a/libstdc++-v3/include/tr1/exp_integral.tcc +++ b/libstdc++-v3/include/tr1/exp_integral.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -60,14 +60,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -530,9 +523,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc index 06a88d9..892dacd 100644 --- a/libstdc++-v3/include/tr1/gamma.tcc +++ b/libstdc++-v3/include/tr1/gamma.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -58,15 +58,7 @@ namespace std { namespace tr1 { - - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -477,9 +469,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc index 29c388f..5e6902f 100644 --- a/libstdc++-v3/include/tr1/hypergeometric.tcc +++ b/libstdc++-v3/include/tr1/hypergeometric.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -54,14 +54,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -780,9 +773,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc index da49a3a..8c3f877 100644 --- a/libstdc++-v3/include/tr1/legendre_function.tcc +++ b/libstdc++-v3/include/tr1/legendre_function.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -59,14 +59,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -161,7 +154,8 @@ namespace tr1 _Tp __p_mm = _Tp(1); if (__m > 0) { - // Two square roots seem more accurate more of the time than just one. + // Two square roots seem more accurate more of the time + // than just one. _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x); _Tp __fact = _Tp(1); for (unsigned int __i = 1; __i <= __m; ++__i) @@ -310,9 +304,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc index 912f99f..98aab8d 100644 --- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc +++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -61,14 +61,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -442,9 +435,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/poly_hermite.tcc b/libstdc++-v3/include/tr1/poly_hermite.tcc index 2d8ccfe..9851e80 100644 --- a/libstdc++-v3/include/tr1/poly_hermite.tcc +++ b/libstdc++-v3/include/tr1/poly_hermite.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -52,14 +52,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -130,9 +123,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc index 4164d90..24cdd18 100644 --- a/libstdc++-v3/include/tr1/poly_laguerre.tcc +++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -54,14 +54,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -335,9 +328,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc index 40277c0..62512f8 100644 --- a/libstdc++-v3/include/tr1/riemann_zeta.tcc +++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc @@ -1,6 +1,6 @@ // Special functions -*- C++ -*- -// Copyright (C) 2006-2007 +// Copyright (C) 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -57,14 +57,7 @@ namespace tr1 // [5.2] Special functions - /** - * @ingroup tr1_math_spec_func - * @{ - */ - - // // Implementation-space details. - // namespace __detail { @@ -441,9 +434,6 @@ namespace tr1 } } // namespace std::tr1::__detail - - /* @} */ // group tr1_math_spec_func - } } diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h index 2f33c39..a07a193 100644 --- a/libstdc++-v3/include/tr1/special_function_util.h +++ b/libstdc++-v3/include/tr1/special_function_util.h @@ -42,7 +42,6 @@ #ifndef _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H #define _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H 1 -// namespace std::tr1 namespace std { namespace tr1 @@ -51,21 +50,17 @@ namespace tr1 namespace __detail { - /// - /// @brief A class to encapsulate type dependent floating point - /// constants. Not everything will be able to be expressed - /// as type logic. - /// - template <typename _Tp> + /// A class to encapsulate type dependent floating point + /// constants. Not everything will be able to be expressed as + /// type logic. + template<typename _Tp> struct __floating_point_constant { static const _Tp __value; }; - /// - /// @brief A structure for numeric constants. - /// + /// A structure for numeric constants. template<typename _Tp> struct __numeric_constants { @@ -111,15 +106,13 @@ namespace tr1 }; - /// - /// @brief This is a wrapper for the isnan function. - /// Otherwise, for NaN, all comparisons result in false. - /// If/when we build a std::isnan out of intrinsics, this - /// will disappear completely in favor of std::isnan. - /// #if _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC - template <typename _Tp> + /// This is a wrapper for the isnan function. Otherwise, for NaN, + /// all comparisons result in false. If/when we build a std::isnan + /// out of intrinsics, this will disappear completely in favor of + /// std::isnan. + template<typename _Tp> inline bool __isnan(const _Tp __x) { return std::isnan(__x); @@ -127,19 +120,19 @@ namespace tr1 #else - template <typename _Tp> + template<typename _Tp> inline bool __isnan(const _Tp __x) { return __builtin_isnan(__x); } - template <> + template<> inline bool __isnan<float>(const float __x) { return __builtin_isnanf(__x); } - template <> + template<> inline bool __isnan<long double>(const long double __x) { return __builtin_isnanl(__x); diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index e4185e2..09ee501 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -246,7 +246,7 @@ namespace tr1 template<typename _Tp> struct tuple_size; - /// @brief class tuple_size + /// class tuple_size template<typename... _Elements> struct tuple_size<tuple<_Elements...> > { diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index 4533ee5..734eec6 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -183,7 +183,7 @@ namespace tr1 template<typename _From, typename _To, bool = (is_void<_From>::value || is_void<_To>::value || is_function<_To>::value || is_array<_To>::value - // This special case is here only to avoid warnings. + // This special case is here only to avoid warnings. || (is_floating_point<typename remove_reference<_From>::type>::value && __is_int_or_cref<_To>::__value))> @@ -206,7 +206,7 @@ namespace tr1 __is_convertible_helper<_From, _To>::__value> { }; - /// @brief reference modifications [4.7.2]. + // reference modifications [4.7.2]. template<typename _Tp> struct remove_reference { typedef _Tp type; }; @@ -230,7 +230,7 @@ namespace tr1 : public __add_reference_helper<_Tp> { }; - /// @brief other transformations [4.8]. + // other transformations [4.8]. template<std::size_t _Len, std::size_t _Align> struct aligned_storage { diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array index 7a13ba8..437670f 100644 --- a/libstdc++-v3/include/tr1_impl/array +++ b/libstdc++-v3/include/tr1_impl/array @@ -36,7 +36,7 @@ namespace std { _GLIBCXX_BEGIN_NAMESPACE_TR1 - /// @brief struct array. + /// array. /// NB: Requires complete type _Tp. template<typename _Tp, std::size_t _Nm> struct array @@ -216,8 +216,14 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { std::swap_ranges(__one.begin(), __one.end(), __two.begin()); } // Tuple interface to class template array [6.2.2.5]. - template<typename _Tp> class tuple_size; - template<int _Int, typename _Tp> class tuple_element; + + /// tuple_size + template<typename _Tp> + class tuple_size; + + /// tuple_element + template<int _Int, typename _Tp> + class tuple_element; template<typename _Tp, std::size_t _Nm> struct tuple_size<array<_Tp, _Nm> > diff --git a/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h b/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h index 53f8c0f..a3fd80e8 100644 --- a/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h +++ b/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h @@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #endif /** - * @class shared_ptr <tr1/memory> + * @class __shared_ptr * * A smart pointer with reference-counted copy semantics. * The object pointed to is deleted when the last shared_ptr pointing to @@ -230,7 +230,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } // - // Requirements: _Deleter's copy constructor and destructor must not throw + // Requirements: _Deleter's copy constructor and destructor must + // not throw // // __shared_ptr will release __p by calling __d(__p) // @@ -252,8 +253,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #ifdef _GLIBCXX_INCLUDE_AS_CXX0X // - // Requirements: _Deleter's copy constructor and destructor must not throw - // _Alloc's copy constructor and destructor must not throw. + // Requirements: _Deleter's copy constructor and destructor must + // not throw _Alloc's copy constructor and destructor must not + // throw. // // __shared_ptr will release __p by calling __d(__p) // @@ -811,7 +813,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 }; - // The actual TR1 shared_ptr, with forwarding constructors and + /// shared_ptr + // The actual shared_ptr, with forwarding constructors and // assignment operators. template<typename _Tp> class shared_ptr @@ -965,7 +968,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } - // The actual TR1 weak_ptr, with forwarding constructors and + /// weak_ptr + // The actual weak_ptr, with forwarding constructors and // assignment operators. template<typename _Tp> class weak_ptr @@ -1021,7 +1025,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } }; - + /// enable_shared_from_this template<typename _Tp> class enable_shared_from_this { diff --git a/libstdc++-v3/include/tr1_impl/cmath b/libstdc++-v3/include/tr1_impl/cmath index 3bbbda2..afb05e2 100644 --- a/libstdc++-v3/include/tr1_impl/cmath +++ b/libstdc++-v3/include/tr1_impl/cmath @@ -298,8 +298,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #if _GLIBCXX_USE_C99_MATH #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC - /// @brief Function template definitions [8.16.3]. - // + /// Function template definitions [8.16.3]. using std::signbit; using std::fpclassify; @@ -320,8 +319,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #if _GLIBCXX_USE_C99_MATH_TR1 - /// @brief Additional overloads [8.16.4]. - // + /// Additional overloads [8.16.4]. using std::acos; inline float diff --git a/libstdc++-v3/include/tr1_impl/complex b/libstdc++-v3/include/tr1_impl/complex index 5c25cae..e7d433e 100644 --- a/libstdc++-v3/include/tr1_impl/complex +++ b/libstdc++-v3/include/tr1_impl/complex @@ -51,7 +51,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&); #endif - /// @brief acos(__z) [8.1.2]. + /// acos(__z) [8.1.2]. // Effects: Behaves the same as C99 function cacos, defined // in subclause 7.3.5.1. template<typename _Tp> @@ -87,7 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_acos(__z); } #endif - /// @brief asin(__z) [8.1.3]. + /// asin(__z) [8.1.3]. // Effects: Behaves the same as C99 function casin, defined // in subclause 7.3.5.2. template<typename _Tp> @@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_asin(__z); } #endif - /// @brief atan(__z) [8.1.4]. + /// atan(__z) [8.1.4]. // Effects: Behaves the same as C99 function catan, defined // in subclause 7.3.5.3. template<typename _Tp> @@ -167,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_atan(__z); } #endif - /// @brief acosh(__z) [8.1.5]. + /// acosh(__z) [8.1.5]. // Effects: Behaves the same as C99 function cacosh, defined // in subclause 7.3.6.1. template<typename _Tp> @@ -206,7 +206,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_acosh(__z); } #endif - /// @brief asinh(__z) [8.1.6]. + /// asinh(__z) [8.1.6]. // Effects: Behaves the same as C99 function casin, defined // in subclause 7.3.6.2. template<typename _Tp> @@ -245,7 +245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_asinh(__z); } #endif - /// @brief atanh(__z) [8.1.7]. + /// atanh(__z) [8.1.7]. // Effects: Behaves the same as C99 function catanh, defined // in subclause 7.3.6.3. template<typename _Tp> @@ -289,7 +289,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return __complex_atanh(__z); } #endif - /// @brief fabs(__z) [8.1.8]. + /// fabs(__z) [8.1.8]. // Effects: Behaves the same as C99 function cabs, defined // in subclause 7.3.8.1. template<typename _Tp> @@ -306,8 +306,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 || (defined(_GLIBCXX_INCLUDE_AS_TR1) \ && !defined(__GXX_EXPERIMENTAL_CXX0X__))) - /// @brief Additional overloads [8.1.9]. - // + /// Additional overloads [8.1.9]. template<typename _Tp> inline typename __gnu_cxx::__promote<_Tp>::__type arg(_Tp __x) diff --git a/libstdc++-v3/include/tr1_impl/functional b/libstdc++-v3/include/tr1_impl/functional index 2a522ed..b819374 100644 --- a/libstdc++-v3/include/tr1_impl/functional +++ b/libstdc++-v3/include/tr1_impl/functional @@ -426,6 +426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 : binary_function<const volatile _T1*, _T2, _Res> { }; + /// reference_wrapper template<typename _Tp> class reference_wrapper : public _Reference_wrapper_base<typename remove_cv<_Tp>::type> @@ -1336,6 +1337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<typename _Result, typename _Signature> const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value; + /// bind template<typename _Functor, typename... _ArgTypes> inline _Bind<typename _Maybe_wrap_member_pointer<_Functor>::type(_ArgTypes...)> @@ -1751,6 +1753,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } }; + /// class function template<typename _Res, typename... _ArgTypes> class function<_Res(_ArgTypes...)> : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, diff --git a/libstdc++-v3/include/tr1_impl/functional_hash.h b/libstdc++-v3/include/tr1_impl/functional_hash.h index 0dfff38..0611f70 100644 --- a/libstdc++-v3/include/tr1_impl/functional_hash.h +++ b/libstdc++-v3/include/tr1_impl/functional_hash.h @@ -1,6 +1,6 @@ // TR1 functional -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,7 +36,7 @@ namespace std { _GLIBCXX_BEGIN_NAMESPACE_TR1 - // Class template hash. + /// Class template hash. // Declaration of default hash functor std::tr1::hash. The types for // which std::tr1::hash<T> is well-defined is in clause 6.3.3. of the PDTR. template<typename _Tp> @@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 operator()(_Tp __val) const; }; - // Partial specializations for pointer types. + /// Partial specializations for pointer types. template<typename _Tp> struct hash<_Tp*> : public std::unary_function<_Tp*, size_t> { @@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { return reinterpret_cast<size_t>(__p); } }; - // Explicit specializations for integer types. + /// Explicit specializations for integer types. #define _TR1_hashtable_define_trivial_hash(_Tp) \ template<> \ inline size_t \ @@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 // Fowler / Noll / Vo (FNV) Hash (type FNV-1a) // (Used by the next specializations of std::tr1::hash.) - // Dummy generic implementation (for sizeof(size_t) != 4, 8). + /// Dummy generic implementation (for sizeof(size_t) != 4, 8). template<size_t = sizeof(size_t)> struct _Fnv_hash { @@ -128,7 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } }; - // Explicit specializations for floating point types. + /// Explicit specializations for float. template<> inline size_t hash<float>::operator()(float __val) const @@ -142,6 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 return __result; }; + /// Explicit specializations for double. template<> inline size_t hash<double>::operator()(double __val) const @@ -155,11 +156,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 return __result; }; + /// Explicit specializations for long double. template<> size_t hash<long double>::operator()(long double __val) const; - // Explicit specialization of member operator for types that are not builtin. + /// Explicit specialization of member operator for non-builtin types. template<> size_t hash<string>::operator()(string) const; diff --git a/libstdc++-v3/include/tr1_impl/random b/libstdc++-v3/include/tr1_impl/random index c10ee57..b45368d 100644 --- a/libstdc++-v3/include/tr1_impl/random +++ b/libstdc++-v3/include/tr1_impl/random @@ -149,8 +149,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } // namespace __detail /** - * Produces random numbers on a given distribution function using a non-uniform - * random number generation engine. + * Produces random numbers on a given distribution function using a + * non-uniform random number generation engine. * * @todo the engine_value_type needs to be studied more carefully. */ diff --git a/libstdc++-v3/include/tr1_impl/regex b/libstdc++-v3/include/tr1_impl/regex index bf4c309..f99e006 100644 --- a/libstdc++-v3/include/tr1_impl/regex +++ b/libstdc++-v3/include/tr1_impl/regex @@ -241,7 +241,7 @@ namespace regex_constants static const match_flag_type format_first_only = 1 << _S_first_only; - // [7.5.3] implementation-defined error type + /// [7.5.3] implementation-defined error type enum error_type { _S_error_collate, @@ -308,7 +308,7 @@ namespace regex_constants // [7.8] Class regex_error /** - * Defines the type of objects thrown as exceptions to report errors from the + * Defines the exception objects thrown report errors from the * regular expression library. */ class regex_error diff --git a/libstdc++-v3/include/tr1_impl/type_traits b/libstdc++-v3/include/tr1_impl/type_traits index 9298aae..4cf97df 100644 --- a/libstdc++-v3/include/tr1_impl/type_traits +++ b/libstdc++-v3/include/tr1_impl/type_traits @@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type volatile>, _Value) \ _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const volatile>, _Value) - /// @brief helper classes [4.3]. + /// helper classes [4.3]. template<typename _Tp, _Tp __v> struct integral_constant { @@ -75,18 +75,23 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 typedef _Tp value_type; typedef integral_constant<_Tp, __v> type; }; + + /// typedef for true_type typedef integral_constant<bool, true> true_type; + + /// typedef for true_type typedef integral_constant<bool, false> false_type; template<typename _Tp, _Tp __v> const _Tp integral_constant<_Tp, __v>::value; - /// @brief primary type categories [4.5.1]. + /// primary type categories [4.5.1]. template<typename> struct is_void : public false_type { }; _DEFINE_SPEC(0, is_void, void, true) + /// is_integral template<typename> struct is_integral : public false_type { }; @@ -106,6 +111,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _DEFINE_SPEC(0, is_integral, long long, true) _DEFINE_SPEC(0, is_integral, unsigned long long, true) + /// is_floating_point template<typename> struct is_floating_point : public false_type { }; @@ -113,6 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _DEFINE_SPEC(0, is_floating_point, double, true) _DEFINE_SPEC(0, is_floating_point, long double, true) + /// is_array template<typename> struct is_array : public false_type { }; @@ -125,39 +132,47 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct is_array<_Tp[]> : public true_type { }; + /// is_pointer template<typename> struct is_pointer : public false_type { }; _DEFINE_SPEC(1, is_pointer, _Tp*, true) + /// is_reference template<typename _Tp> struct is_reference; + /// is_function template<typename _Tp> struct is_function; + /// is_member_object_pointer template<typename> struct is_member_object_pointer : public false_type { }; _DEFINE_SPEC(2, is_member_object_pointer, _Tp _Cp::*, !is_function<_Tp>::value) + /// is_member_function_pointer template<typename> struct is_member_function_pointer : public false_type { }; _DEFINE_SPEC(2, is_member_function_pointer, _Tp _Cp::*, is_function<_Tp>::value) + /// is_enum template<typename _Tp> struct is_enum : public integral_constant<bool, __is_enum(_Tp)> { }; + /// is_union template<typename _Tp> struct is_union : public integral_constant<bool, __is_union(_Tp)> { }; + /// is_class template<typename _Tp> struct is_class : public integral_constant<bool, __is_class(_Tp)> @@ -177,9 +192,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 static const bool __value = sizeof(__test<_Tp>(0)) == 1; }; + /// is_abstract template<typename _Tp> struct is_abstract; + /// is_function template<typename _Tp> struct is_function : public integral_constant<bool, !(__in_array<_Tp>::__value @@ -188,19 +205,21 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 || is_void<_Tp>::value)> { }; - /// @brief composite type traits [4.5.2]. + /// composite type traits [4.5.2]. template<typename _Tp> struct is_arithmetic : public integral_constant<bool, (is_integral<_Tp>::value || is_floating_point<_Tp>::value)> { }; + /// is_fundamental template<typename _Tp> struct is_fundamental : public integral_constant<bool, (is_arithmetic<_Tp>::value || is_void<_Tp>::value)> { }; + /// is_object template<typename _Tp> struct is_object : public integral_constant<bool, !(is_function<_Tp>::value @@ -208,9 +227,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 || is_void<_Tp>::value)> { }; + /// is_member_pointer template<typename _Tp> struct is_member_pointer; + /// is_scalal template<typename _Tp> struct is_scalar : public integral_constant<bool, (is_arithmetic<_Tp>::value @@ -219,10 +240,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 || is_member_pointer<_Tp>::value)> { }; + /// is_compound template<typename _Tp> struct is_compound : public integral_constant<bool, !is_fundamental<_Tp>::value> { }; + /// is_member_pointer template<typename _Tp> struct is_member_pointer : public integral_constant<bool, @@ -230,15 +253,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 || is_member_function_pointer<_Tp>::value)> { }; - /// @brief type properties [4.5.3]. + /// type properties [4.5.3]. template<typename> struct is_const : public false_type { }; + /// is_const template<typename _Tp> struct is_const<_Tp const> : public true_type { }; + /// is_volatile template<typename> struct is_volatile : public false_type { }; @@ -247,30 +272,36 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct is_volatile<_Tp volatile> : public true_type { }; + /// is_empty template<typename _Tp> struct is_empty : public integral_constant<bool, __is_empty(_Tp)> { }; + /// is_polymorphic template<typename _Tp> struct is_polymorphic : public integral_constant<bool, __is_polymorphic(_Tp)> { }; + /// is_abstract template<typename _Tp> struct is_abstract : public integral_constant<bool, __is_abstract(_Tp)> { }; + /// has_virtual_destructor template<typename _Tp> struct has_virtual_destructor : public integral_constant<bool, __has_virtual_destructor(_Tp)> { }; + /// alignment_of template<typename _Tp> struct alignment_of : public integral_constant<std::size_t, __alignof__(_Tp)> { }; + /// rank template<typename> struct rank : public integral_constant<std::size_t, 0> { }; @@ -283,6 +314,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct rank<_Tp[]> : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; + /// extent template<typename, unsigned _Uint = 0> struct extent : public integral_constant<std::size_t, 0> { }; @@ -301,7 +333,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _Uint - 1>::value> { }; - /// @brief relationships between types [4.6]. + /// relationships between types [4.6]. template<typename, typename> struct is_same : public false_type { }; @@ -310,7 +342,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct is_same<_Tp, _Tp> : public true_type { }; - /// @brief const-volatile modifications [4.7.1]. + /// const-volatile modifications [4.7.1]. template<typename _Tp> struct remove_const { typedef _Tp type; }; @@ -319,6 +351,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct remove_const<_Tp const> { typedef _Tp type; }; + /// remove_volatile template<typename _Tp> struct remove_volatile { typedef _Tp type; }; @@ -327,6 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct remove_volatile<_Tp volatile> { typedef _Tp type; }; + /// remove_cv template<typename _Tp> struct remove_cv { @@ -334,14 +368,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 remove_const<typename remove_volatile<_Tp>::type>::type type; }; + /// add_const template<typename _Tp> struct add_const { typedef _Tp const type; }; + /// add_volatile template<typename _Tp> struct add_volatile { typedef _Tp volatile type; }; + /// add_cv template<typename _Tp> struct add_cv { @@ -349,7 +386,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 add_const<typename add_volatile<_Tp>::type>::type type; }; - /// @brief array modifications [4.7.3]. + /// array modifications [4.7.3]. template<typename _Tp> struct remove_extent { typedef _Tp type; }; @@ -362,6 +399,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct remove_extent<_Tp[]> { typedef _Tp type; }; + /// remove_all_extents template<typename _Tp> struct remove_all_extents { typedef _Tp type; }; @@ -374,19 +412,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 struct remove_all_extents<_Tp[]> { typedef typename remove_all_extents<_Tp>::type type; }; - /// @brief pointer modifications [4.7.4]. + /// pointer modifications [4.7.4]. #undef _DEFINE_SPEC_BODY #define _DEFINE_SPEC_BODY(_Value) \ { typedef _Tp type; }; + /// remove_pointer template<typename _Tp> struct remove_pointer { typedef _Tp type; }; _DEFINE_SPEC(1, remove_pointer, _Tp*, false) + /// remove_reference template<typename _Tp> struct remove_reference; + /// add_pointer template<typename _Tp> struct add_pointer { typedef typename remove_reference<_Tp>::type* type; }; diff --git a/libstdc++-v3/include/tr1_impl/unordered_map b/libstdc++-v3/include/tr1_impl/unordered_map index 5ecd5c0..bb69479 100644 --- a/libstdc++-v3/include/tr1_impl/unordered_map +++ b/libstdc++-v3/include/tr1_impl/unordered_map @@ -168,6 +168,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { __x.swap(__y); } + /// class unordered_map template<class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = std::equal_to<_Key>, @@ -215,6 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #endif }; + /// class unordered_multimap template<class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = std::equal_to<_Key>, diff --git a/libstdc++-v3/include/tr1_impl/unordered_set b/libstdc++-v3/include/tr1_impl/unordered_set index bdc1575..80b1ec5 100644 --- a/libstdc++-v3/include/tr1_impl/unordered_set +++ b/libstdc++-v3/include/tr1_impl/unordered_set @@ -150,10 +150,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 template<class _Value, class _Hash, class _Pred, class _Alloc, bool __cache_hash_code> inline void - swap (__unordered_set<_Value, _Hash, _Pred, - _Alloc, __cache_hash_code>& __x, - __unordered_set<_Value, _Hash, _Pred, - _Alloc, __cache_hash_code>& __y) + swap(__unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __x, + __unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __y) { __x.swap(__y); } template<class _Value, class _Hash, class _Pred, class _Alloc, @@ -166,6 +164,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { __x.swap(__y); } + /// class unordered_set template<class _Value, class _Hash = hash<_Value>, class _Pred = std::equal_to<_Value>, @@ -213,6 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 #endif }; + /// class unordered_multiset template<class _Value, class _Hash = hash<_Value>, class _Pred = std::equal_to<_Value>, |