"the latest collection"
diff --git a/libstdc++-v3/doc/xml/api.xml b/libstdc++-v3/doc/xml/api.xml
index 506f631ba0a..f7ecb7d1acc 100644
--- a/libstdc++-v3/doc/xml/api.xml
+++ b/libstdc++-v3/doc/xml/api.xml
@@ -61,6 +61,12 @@ viewed online:
+
+
+ for the 4.3 release
+
+
+
"the latest collection"
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index 8a0d0eec887..a90f7b4105b 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
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 d01db93be49..ae0f6cfbe09 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
{
@@ -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
{
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index 8d182499d6d..9d6655a0aad 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
locale::id codecvt<_InternT, _ExternT, _StateT>::id;
- /// @brief class codecvt specialization.
+ /// class codecvt specialization.
template<>
class codecvt
: public __codecvt_abstract_base
@@ -388,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#ifdef _GLIBCXX_USE_WCHAR_T
- /// @brief class codecvt specialization.
+ /// class codecvt specialization.
template<>
class codecvt
: public __codecvt_abstract_base
@@ -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
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 10ca19af97d..cab5812160e 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::_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
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 c60f04d262a..cb9c021f353 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 >(const locale& __loc);
#endif //_GLIBCXX_USE_WCHAR_T
- /// @brief class ctype_byname [22.2.1.2].
+ /// class ctype_byname [22.2.1.2].
template
class ctype_byname : public ctype<_CharT>
{
@@ -1912,7 +1912,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
numpunct::_M_initialize_numpunct(__c_locale __cloc);
#endif
- /// @brief class numpunct_byname [22.2.3.2].
+ /// class numpunct_byname [22.2.3.2].
template
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 31c90e3b43c..f2da433fc67 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
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
class time_get_byname : public time_get<_CharT, _InIter>
{
@@ -798,7 +798,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template
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
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
class moneypunct_byname : public moneypunct<_CharT, _Intl>
{
@@ -1887,7 +1887,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
messages::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
class messages_byname : public messages<_CharT>
{
diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h
index 97d6824ef0c..0f64488c234 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 d5f70923743..a2e28f9d998 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
class array_allocator_base
{
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index 2736a4640eb..5e553b00af8 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
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 42e3c0f1477..e46d9675fd1 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 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 specialization.
+ /// codecvt specialization.
// This partial specialization takes advantage of iconv to provide
// code conversions between a large number of character encodings.
template
diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h
index 765b93dbdc2..b9e43d67f90 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 bba78e06be4..e04072bce47 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
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 84aed823a68..08aa311f8b8 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 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 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
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 >
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 09475a2ec95..bb39d17931f 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 e2e38a02af5..c4d2ef2157d 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
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 a1d2b385daa..6cb555a08a3 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 >
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 04204cb55fc..a5aa725cdce 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
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 1c99783923d..b7cd95434e6 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 2060d817e0c..b713ee7a410 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 792a1408a6c..b956a9b0119 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 c2a1d0150c9..c8973d14735 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 78f69deee13..3dda5301644 100644
--- a/libstdc++-v3/include/std/tuple
+++ b/libstdc++-v3/include/std/tuple
@@ -205,6 +205,7 @@ namespace std
}
};
+ /// tuple
template
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
class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
{
@@ -393,7 +396,7 @@ namespace std
template
struct tuple_size;
- /// @brief class tuple_size
+ /// class tuple_size
template
struct tuple_size >
{
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 38c92abf6e8..1f9a2d9f72d 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1,6 +1,6 @@
// -*- 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
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
struct is_rvalue_reference
: public false_type { };
@@ -80,6 +83,8 @@ namespace std
: public true_type { };
// Secondary classification traits.
+
+ /// is_reference
template
struct is_reference
: public integral_constant::value
@@ -87,6 +92,8 @@ namespace std
{ };
// Reference transformations.
+
+ /// remove_reference
template
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
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
struct add_rvalue_reference
: public __add_rvalue_reference_helper<_Tp>
{ };
// Scalar properties and transformations.
+
template::value,
bool = is_floating_point<_Tp>::value>
@@ -148,11 +158,13 @@ namespace std
: public integral_constant
{ };
+ /// is_signed
template
struct is_signed
: public integral_constant::value>
{ };
+ /// is_unsigned
template
struct is_unsigned
: public integral_constant::value
@@ -160,46 +172,56 @@ namespace std
{ };
// Member introspection.
+
+ /// is_pod
template
struct is_pod
: public integral_constant
{ };
+ /// has_trivial_default_constructor
template
struct has_trivial_default_constructor
: public integral_constant
{ };
+ /// has_trivial_copy_constructor
template
struct has_trivial_copy_constructor
: public integral_constant
{ };
+ /// has_trivial_assign
template
struct has_trivial_assign
: public integral_constant
{ };
+ /// has_trivial_destructor
template
struct has_trivial_destructor
: public integral_constant
{ };
+ /// has_nothrow_default_destructor
template
struct has_nothrow_default_constructor
: public integral_constant
{ };
+ /// has_nothrow_copy_destructor
template
struct has_nothrow_copy_constructor
: public integral_constant
{ };
+ /// has_nothrow_assign
template
struct has_nothrow_assign
: public integral_constant
{ };
+ /// is_base_of
template
struct is_base_of
: public integral_constant
@@ -232,7 +254,7 @@ namespace std
template::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::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
struct is_convertible
: public integral_constant::__type)>
struct aligned_storage
@@ -281,21 +314,25 @@ namespace std
// Define a nested type if some predicate holds.
+ /// Primary template.
template
struct enable_if
{ };
+ /// Partial specialization for true.
template
struct enable_if
{ 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
struct conditional
{ typedef _Iftrue type; };
+ /// Partial specialization for false.
template
struct conditional
{ typedef _Iffalse type; };
@@ -321,6 +358,7 @@ namespace std
struct __decay_selector<_Up, false, true>
{ typedef typename add_pointer<_Up>::type __type; };
+ /// decay
template
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
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
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 19c9860d51c..bf61a6fcf74 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 537947ed287..8c0b1b53f8e 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 81a3bfefde6..63e6a2e5fda 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
#include
-
#include
+
#include
#include
#include
@@ -77,12 +72,16 @@
#include
#include
-// 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(__n, __m, __x); }
@@ -93,6 +92,7 @@ namespace tr1
return __detail::__assoc_laguerre(__n, __m, __x);
}
+ /// 5.2.1.1 Associated Laguerre polynomials.
template
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(__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(__l, __m, __x); }
+ /// 5.2.1.2 Associated Legendre functions.
template
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(__x, __y); }
@@ -127,6 +126,7 @@ namespace tr1
betal(long double __x, long double __y)
{ return __detail::__beta(__x, __y); }
+ /// 5.2.1.3 Beta functions.
template
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(__k); }
@@ -144,6 +143,7 @@ namespace tr1
comp_ellint_1l(long double __k)
{ return __detail::__comp_ellint_1(__k); }
+ /// 5.2.1.4 Complete elliptic integrals of the first kind.
template
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(__k); }
@@ -161,6 +160,7 @@ namespace tr1
comp_ellint_2l(long double __k)
{ return __detail::__comp_ellint_2(__k); }
+ /// 5.2.1.5 Complete elliptic integrals of the second kind.
template
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(__k, __nu); }
@@ -178,6 +177,7 @@ namespace tr1
comp_ellint_3l(long double __k, long double __nu)
{ return __detail::__comp_ellint_3(__k, __nu); }
+ /// 5.2.1.6 Complete elliptic integrals of the third kind.
template
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(__a, __c, __x); }
@@ -195,6 +194,7 @@ namespace tr1
conf_hypergl(long double __a, long double __c, long double __x)
{ return __detail::__conf_hyperg(__a, __c, __x); }
+ /// 5.2.1.7 Confluent hypergeometric functions.
template
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(__nu, __x); }
@@ -212,6 +211,7 @@ namespace tr1
cyl_bessel_il(long double __nu, long double __x)
{ return __detail::__cyl_bessel_i(__nu, __x); }
+ /// 5.2.1.8 Regular modified cylindrical Bessel functions.
template
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(__nu, __x); }
@@ -229,6 +228,7 @@ namespace tr1
cyl_bessel_jl(long double __nu, long double __x)
{ return __detail::__cyl_bessel_j(__nu, __x); }
+ /// 5.2.1.9 Cylindrical Bessel functions (of the first kind).
template
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(__nu, __x); }
@@ -246,6 +245,7 @@ namespace tr1
cyl_bessel_kl(long double __nu, long double __x)
{ return __detail::__cyl_bessel_k(__nu, __x); }
+ /// 5.2.1.10 Irregular modified cylindrical Bessel functions.
template
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(__nu, __x); }
@@ -263,6 +262,7 @@ namespace tr1
cyl_neumannl(long double __nu, long double __x)
{ return __detail::__cyl_neumann_n(__nu, __x); }
+ /// 5.2.1.11 Cylindrical Neumann functions.
template
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(__k, __phi); }
@@ -280,6 +279,7 @@ namespace tr1
ellint_1l(long double __k, long double __phi)
{ return __detail::__ellint_1(__k, __phi); }
+ /// 5.2.1.12 Incomplete elliptic integrals of the first kind.
template
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(__k, __phi); }
@@ -297,6 +296,7 @@ namespace tr1
ellint_2l(long double __k, long double __phi)
{ return __detail::__ellint_2(__k, __phi); }
+ /// 5.2.1.13 Incomplete elliptic integrals of the second kind.
template
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(__k, __nu, __phi); }
@@ -314,6 +313,7 @@ namespace tr1
ellint_3l(long double __k, long double __nu, long double __phi)
{ return __detail::__ellint_3(__k, __nu, __phi); }
+ /// 5.2.1.14 Incomplete elliptic integrals of the third kind.
template
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(__x); }
@@ -331,6 +330,7 @@ namespace tr1
expintl(long double __x)
{ return __detail::__expint(__x); }
+ /// 5.2.1.15 Exponential integrals.
template
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(__n, __x); }
@@ -348,6 +347,7 @@ namespace tr1
hermitel(unsigned int __n, long double __x)
{ return __detail::__poly_hermite(__n, __x); }
+ /// 5.2.1.16 Hermite polynomials.
template
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(__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(__a, __b, __c, __x); }
+ /// 5.2.1.17 Hypergeometric functions.
template
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(__n, __x); }
@@ -382,6 +381,7 @@ namespace tr1
laguerrel(unsigned int __n, long double __x)
{ return __detail::__laguerre(__n, __x); }
+ /// 5.2.1.18 Laguerre polynomials.
template
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(__n, __x); }
@@ -399,6 +398,7 @@ namespace tr1
legendrel(unsigned int __n, long double __x)
{ return __detail::__poly_legendre_p(__n, __x); }
+ /// 5.2.1.19 Legendre polynomials.
template
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(__x); }
@@ -416,6 +415,7 @@ namespace tr1
riemann_zetal(long double __x)
{ return __detail::__riemann_zeta(__x); }
+ /// 5.2.1.20 Riemann zeta function.
template
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(__n, __x); }
@@ -433,6 +432,7 @@ namespace tr1
sph_bessell(unsigned int __n, long double __x)
{ return __detail::__sph_bessel(__n, __x); }
+ /// 5.2.1.21 Spherical Bessel functions.
template
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(__l, __m, __theta); }
@@ -450,6 +449,7 @@ namespace tr1
sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
{ return __detail::__sph_legendre(__l, __m, __theta); }
+ /// 5.2.1.22 Spherical associated Legendre functions.
template
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(__n, __x); }
@@ -467,6 +466,7 @@ namespace tr1
sph_neumannl(unsigned int __n, long double __x)
{ return __detail::__sph_neumann(__n, __x); }
+ /// 5.2.1.23 Spherical Neumann functions.
template
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 7eaab6f5fe3..404cc278cf2 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 58c62f21de6..5dff27c0823 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 06a88d94f0e..892dacdecce 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 29c388f9a43..5e6902f98ed 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 da49a3aaa08..8c3f8770b36 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 912f99faea4..98aab8d4f97 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 2d8ccfea8d5..9851e8056ed 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 4164d90d231..24cdd181321 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 40277c03412..62512f85be1 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 2f33c39f886..a07a193679b 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
+ /// A class to encapsulate type dependent floating point
+ /// constants. Not everything will be able to be expressed as
+ /// type logic.
+ template
struct __floating_point_constant
{
static const _Tp __value;
};
- ///
- /// @brief A structure for numeric constants.
- ///
+ /// A structure for numeric constants.
template
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
+ /// 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
inline bool __isnan(const _Tp __x)
{
return std::isnan(__x);
@@ -127,19 +120,19 @@ namespace tr1
#else
- template
+ template
inline bool __isnan(const _Tp __x)
{
return __builtin_isnan(__x);
}
- template <>
+ template<>
inline bool __isnan(const float __x)
{
return __builtin_isnanf(__x);
}
- template <>
+ template<>
inline bool __isnan(const long double __x)
{
return __builtin_isnanl(__x);
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index e4185e26555..09ee501e691 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -246,7 +246,7 @@ namespace tr1
template
struct tuple_size;
- /// @brief class tuple_size
+ /// class tuple_size
template
struct tuple_size >
{
diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits
index 4533ee5dc6c..734eec6ab7e 100644
--- a/libstdc++-v3/include/tr1/type_traits
+++ b/libstdc++-v3/include/tr1/type_traits
@@ -183,7 +183,7 @@ namespace tr1
template::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::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
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
struct aligned_storage
{
diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array
index 7a13ba8ff8d..437670f3dfc 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
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 class tuple_size;
- template class tuple_element;
+
+ /// tuple_size
+ template
+ class tuple_size;
+
+ /// tuple_element
+ template
+ class tuple_element;
template
struct tuple_size >
diff --git a/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h b/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h
index 53f8c0febf5..a3fd80e8551 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
+ * @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
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
class weak_ptr
@@ -1021,7 +1025,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
};
-
+ /// enable_shared_from_this
template
class enable_shared_from_this
{
diff --git a/libstdc++-v3/include/tr1_impl/cmath b/libstdc++-v3/include/tr1_impl/cmath
index 3bbbda21504..afb05e2aa71 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 5c25cae4fb4..e7d433edc68 100644
--- a/libstdc++-v3/include/tr1_impl/complex
+++ b/libstdc++-v3/include/tr1_impl/complex
@@ -51,7 +51,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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 2a522edf814..b819374f92d 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
{ };
+ /// reference_wrapper
template
class reference_wrapper
: public _Reference_wrapper_base::type>
@@ -1336,6 +1337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template
const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value;
+ /// bind
template
inline
_Bind::type(_ArgTypes...)>
@@ -1751,6 +1753,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
};
+ /// class function
template
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 0dfff38e7b9..0611f70d34a 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 is well-defined is in clause 6.3.3. of the PDTR.
template
@@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
operator()(_Tp __val) const;
};
- // Partial specializations for pointer types.
+ /// Partial specializations for pointer types.
template
struct hash<_Tp*> : public std::unary_function<_Tp*, size_t>
{
@@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return reinterpret_cast(__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
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::operator()(float __val) const
@@ -142,6 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
return __result;
};
+ /// Explicit specializations for double.
template<>
inline size_t
hash::operator()(double __val) const
@@ -155,11 +156,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
return __result;
};
+ /// Explicit specializations for long double.
template<>
size_t
hash::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::operator()(string) const;
diff --git a/libstdc++-v3/include/tr1_impl/random b/libstdc++-v3/include/tr1_impl/random
index c10ee577cae..b45368d7532 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 bf4c309c762..f99e0067850 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 9298aae31a0..4cf97dff31f 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
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 true_type;
+
+ /// typedef for true_type
typedef integral_constant false_type;
template
const _Tp integral_constant<_Tp, __v>::value;
- /// @brief primary type categories [4.5.1].
+ /// primary type categories [4.5.1].
template
struct is_void
: public false_type { };
_DEFINE_SPEC(0, is_void, void, true)
+ /// is_integral
template
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
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
struct is_array
: public false_type { };
@@ -125,39 +132,47 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct is_array<_Tp[]>
: public true_type { };
+ /// is_pointer
template
struct is_pointer
: public false_type { };
_DEFINE_SPEC(1, is_pointer, _Tp*, true)
+ /// is_reference
template
struct is_reference;
+ /// is_function
template
struct is_function;
+ /// is_member_object_pointer
template
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
struct is_member_function_pointer
: public false_type { };
_DEFINE_SPEC(2, is_member_function_pointer, _Tp _Cp::*,
is_function<_Tp>::value)
+ /// is_enum
template
struct is_enum
: public integral_constant
{ };
+ /// is_union
template
struct is_union
: public integral_constant
{ };
+ /// is_class
template
struct is_class
: public integral_constant
@@ -177,9 +192,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
static const bool __value = sizeof(__test<_Tp>(0)) == 1;
};
+ /// is_abstract
template
struct is_abstract;
+ /// is_function
template
struct is_function
: public integral_constant::__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
struct is_arithmetic
: public integral_constant