aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog16
-rw-r--r--libstdc++-v3/doc/doxygen/doxygroups.cc7
-rw-r--r--libstdc++-v3/doc/doxygen/user.cfg.in13
-rw-r--r--libstdc++-v3/include/bits/unique_ptr.h7
-rw-r--r--libstdc++-v3/include/std/chrono108
-rw-r--r--libstdc++-v3/include/std/complex2
-rw-r--r--libstdc++-v3/include/std/mutex1
-rw-r--r--libstdc++-v3/include/std/ratio10
-rw-r--r--libstdc++-v3/libsupc++/initializer_list5
9 files changed, 104 insertions, 65 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3301a01..a5d26a2 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,15 @@
+2008-07-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Add complex, ratio,
+ intializer_list.
+ (PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
+ * doc/doxygen/doxygroups.cc: Add std::chrono.
+ * include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
+ * libsupc++/initializer_list (initializer_list): Same.
+ * include/std/ratio: Same.
+ * include/std/chrono: Same.
+ * include/std/complex: Disambiguate file markup.
+
2008-07-15 Chris Fairles <chris.fairles@gmail.com>
* include/std/chrono: New, as per N2661.
@@ -81,7 +93,7 @@
PR libstdc++/36451
* doc/xml/manual/allocator.xml: Fix links.
* doc/html/*: Regenerate.
-
+
2008-07-09 Joseph Myers <joseph@codesourcery.com>
* libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
@@ -97,7 +109,7 @@
PR libstdc++/36552
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
null_metadata.hpp: Remove self-include.
-
+
2008-07-09 Joseph Myers <joseph@codesourcery.com>
* testsuite/20_util/make_signed/requirements/typedefs-2.cc,
diff --git a/libstdc++-v3/doc/doxygen/doxygroups.cc b/libstdc++-v3/doc/doxygen/doxygroups.cc
index d0adec9..d94c9e5 100644
--- a/libstdc++-v3/doc/doxygen/doxygroups.cc
+++ b/libstdc++-v3/doc/doxygen/doxygroups.cc
@@ -28,12 +28,15 @@
/** @namespace std::tr1::__detail
* @brief Implementation details not part of the namespace std::tr1 interface.
*/
-/** @namespace std::regex_constants
- * @brief ISO C++ 0x entities sub namespace for regex.
+/** @namespace std::chrono
+ * @brief ISO C++ 0x entities sub namespace for time and date.
*/
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
*/
+/** @namespace std::regex_constants
+ * @brief ISO C++ 0x entities sub namespace for regex.
+*/
/** @namespace std::this_thread
* @brief ISO C++ 0x entities sub namespace for thread.
*/
diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 849d64e..2320485 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -463,12 +463,14 @@ WARN_LOGFILE =
INPUT = @srcdir@/libsupc++/cxxabi.h \
@srcdir@/libsupc++/cxxabi-forced.h \
@srcdir@/libsupc++/exception \
+ @srcdir@/libsupc++/initializer_list \
@srcdir@/libsupc++/new \
@srcdir@/libsupc++/typeinfo \
include/algorithm \
include/array \
include/bitset \
include/chrono \
+ include/complex \
include/condition_variable \
include/deque \
include/fstream \
@@ -1168,6 +1170,7 @@ INCLUDE_FILE_PATTERNS =
PREDEFINED = __cplusplus \
__GTHREADS \
+ __GXX_EXPERIMENTAL_CXX0X__ \
"_GLIBCXX_STD_P= " \
"_GLIBCXX_STD_D= " \
_GLIBCXX_STD=std \
@@ -1183,16 +1186,18 @@ PREDEFINED = __cplusplus \
_GLIBCXX_DEPRECATED \
_GLIBCXX_USE_WCHAR_T \
_GLIBCXX_USE_LONG_LONG \
+ _GLIBCXX_USE_C99_STDINT_TR1 \
__glibcxx_function_requires=// \
__glibcxx_class_requires=// \
__glibcxx_class_requires2=// \
__glibcxx_class_requires3=// \
__glibcxx_class_requires4=//
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES
+# then this tag can be used to specify a list of macro names that
+# should be expanded. The macro definition that is found in the
+# sources will be used. Use the PREDEFINED tag if you want to use a
+# different macro definition.
EXPAND_AS_DEFINED =
diff --git a/libstdc++-v3/include/bits/unique_ptr.h b/libstdc++-v3/include/bits/unique_ptr.h
index f2c13b5..bf13884 100644
--- a/libstdc++-v3/include/bits/unique_ptr.h
+++ b/libstdc++-v3/include/bits/unique_ptr.h
@@ -40,13 +40,14 @@
#endif
#include <bits/c++config.h>
-#include <debug/debug.h>
+#include <debug/debug.h>1
#include <type_traits>
#include <utility>
#include <tuple>
_GLIBCXX_BEGIN_NAMESPACE(std)
+ /// Primary template, default_delete.
template<typename _Tp>
struct default_delete
{
@@ -66,6 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 740 - omit specialization for array objects with a compile time length
+ /// Specialization, default_delete.
template<typename _Tp>
struct default_delete<_Tp[]>
{
@@ -78,6 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
};
+ /// 20.6.11.2 unique_ptr for single objects.
template <typename _Tp, typename _Tp_Deleter = default_delete<_Tp> >
class unique_ptr
{
@@ -224,7 +227,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__tuple_type _M_t;
};
- // 20.6.11.3 unique_ptr for array objects with a runtime length
+ /// 20.6.11.3 unique_ptr for array objects with a runtime length
// [unique.ptr.runtime]
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 740 - omit specialization for array objects with a compile time length
diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index 74fee96..911bf24 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -166,6 +166,7 @@ namespace std
{ return numeric_limits<_Rep>::min(); }
};
+ /// duration
template<typename _Rep, typename _Period>
struct duration
{
@@ -430,61 +431,61 @@ namespace std
typedef duration<int, ratio< 60>> minutes;
typedef duration<int, ratio<3600>> hours;
+ /// time_point
template<typename _Clock, typename _Duration>
- struct time_point
- {
- typedef _Clock clock;
- typedef _Duration duration;
- typedef typename duration::rep rep;
- typedef typename duration::period period;
-
- time_point()
- : __d(duration::zero())
- { }
-
- explicit time_point(const duration& __dur)
- : __d(duration::zero() + __dur)
- { }
-
- // conversions
- template<typename _Duration2>
- time_point(const time_point<clock, _Duration2>& __t)
- : __d(__t.time_since_epoch())
- { }
-
- // observer
- duration
- time_since_epoch() const
- { return __d; }
-
- // arithmetic
- time_point&
- operator+=(const duration& __dur)
- {
- __d += __dur;
- return *this;
- }
-
- time_point&
- operator-=(const duration& __dur)
+ struct time_point
{
- __d -= __dur;
- return *this;
- }
-
- // special values
- // TODO: These should be constexprs.
- static const time_point
- min()
- { return time_point(duration::min()); }
-
- static const time_point
- max()
- { return time_point(duration::max()); }
-
- private:
- duration __d;
- };
+ typedef _Clock clock;
+ typedef _Duration duration;
+ typedef typename duration::rep rep;
+ typedef typename duration::period period;
+
+ time_point() : __d(duration::zero())
+ { }
+
+ explicit time_point(const duration& __dur)
+ : __d(duration::zero() + __dur)
+ { }
+
+ // conversions
+ template<typename _Duration2>
+ time_point(const time_point<clock, _Duration2>& __t)
+ : __d(__t.time_since_epoch())
+ { }
+
+ // observer
+ duration
+ time_since_epoch() const
+ { return __d; }
+
+ // arithmetic
+ time_point&
+ operator+=(const duration& __dur)
+ {
+ __d += __dur;
+ return *this;
+ }
+
+ time_point&
+ operator-=(const duration& __dur)
+ {
+ __d -= __dur;
+ return *this;
+ }
+
+ // special values
+ // TODO: These should be constexprs.
+ static const time_point
+ min()
+ { return time_point(duration::min()); }
+
+ static const time_point
+ max()
+ { return time_point(duration::max()); }
+
+ private:
+ duration __d;
+ };
template<typename _ToDuration, typename _Clock, typename _Duration>
inline time_point<_Clock, _ToDuration>
@@ -565,6 +566,7 @@ namespace std
const time_point<_Clock, _Duration2>& __rhs)
{ return !(__lhs < __rhs); }
+ /// system_clock
struct system_clock
{
#if defined(_GLIBCXX_USE_CLOCK_MONOTONIC) || \
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index c8845f6..1c48251 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -29,7 +29,7 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-/** @file complex
+/** @file include/complex
* This is a Standard C++ Library header.
*/
diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex
index 5d4e521..e4ba94d 100644
--- a/libstdc++-v3/include/std/mutex
+++ b/libstdc++-v3/include/std/mutex
@@ -120,7 +120,6 @@ namespace std
#endif
}
-
void
lock()
{
diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio
index 9980571..124e9af 100644
--- a/libstdc++-v3/include/std/ratio
+++ b/libstdc++-v3/include/std/ratio
@@ -165,6 +165,7 @@ namespace std
template<intmax_t _Num, intmax_t _Den>
const intmax_t ratio<_Num, _Den>::den;
+ /// ratio_add
template<typename _R1, typename _R2>
struct ratio_add
{
@@ -180,6 +181,7 @@ namespace std
__safe_multiply<_R1::den, (_R2::den / __gcd)>::value> type;
};
+ /// ratio_subtract
template<typename _R1, typename _R2>
struct ratio_subtract
{
@@ -188,6 +190,7 @@ namespace std
ratio<-_R2::num, _R2::den>>::type type;
};
+ /// ratio_multiply
template<typename _R1, typename _R2>
struct ratio_multiply
{
@@ -205,6 +208,7 @@ namespace std
(_R2::den / __gcd1)>::value> type;
};
+ /// ratio_divide
template<typename _R1, typename _R2>
struct ratio_divide
{
@@ -215,11 +219,13 @@ namespace std
ratio<_R2::den, _R2::num>>::type type;
};
+ /// ratio_equal
template<typename _R1, typename _R2>
struct ratio_equal
: integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
{ };
+ /// ratio_not_equal
template<typename _R1, typename _R2>
struct ratio_not_equal
: integral_constant<bool, !ratio_equal<_R1, _R2>::value>
@@ -243,21 +249,25 @@ namespace std
__ratio_less_simple_impl<_R1, _R2>>::type
{ };
+ /// ratio_less
template<typename _R1, typename _R2>
struct ratio_less
: __ratio_less_impl<_R1, _R2>::type
{ };
+ /// ratio_less_equal
template<typename _R1, typename _R2>
struct ratio_less_equal
: integral_constant<bool, !ratio_less<_R2, _R1>::value>
{ };
+ /// ratio_greater
template<typename _R1, typename _R2>
struct ratio_greater
: integral_constant<bool, ratio_less<_R2, _R1>::value>
{ };
+ /// ratio_greater_equal
template<typename _R1, typename _R2>
struct ratio_greater_equal
: integral_constant<bool, !ratio_less<_R1, _R2>::value>
diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list
index 18fb15b..e98cd71 100644
--- a/libstdc++-v3/libsupc++/initializer_list
+++ b/libstdc++-v3/libsupc++/initializer_list
@@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file initializer_list
+ * This is a Standard C++ Library header.
+ */
+
#ifndef __CXX_INITIALIZER_LIST
#define __CXX_INITIALIZER_LIST
@@ -39,6 +43,7 @@
namespace std
{
+ /// initializer_list
template<class _E>
class initializer_list
{