From ad68e9fce08b8746e4ec669fa4355478eaa23079 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Wed, 16 Jul 2008 07:01:23 +0000 Subject: [PATCH] user.cfg.in: Add complex, ratio, intializer_list. 2008-07-15 Benjamin Kosnik * 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. From-SVN: r137868 --- libstdc++-v3/ChangeLog | 16 +++- libstdc++-v3/doc/doxygen/doxygroups.cc | 7 +- libstdc++-v3/doc/doxygen/user.cfg.in | 13 ++- libstdc++-v3/include/bits/unique_ptr.h | 7 +- libstdc++-v3/include/std/chrono | 108 ++++++++++++------------ libstdc++-v3/include/std/complex | 2 +- libstdc++-v3/include/std/mutex | 1 - libstdc++-v3/include/std/ratio | 10 +++ libstdc++-v3/libsupc++/initializer_list | 5 ++ 9 files changed, 104 insertions(+), 65 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3301a014ccf..a5d26a2a31a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,15 @@ +2008-07-15 Benjamin Kosnik + + * 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 * 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 * 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 * 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 d0adec9e5fb..d94c9e50b3e 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 849d64e2415..23204850e11 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 f2c13b5800a..bf13884b148 100644 --- a/libstdc++-v3/include/bits/unique_ptr.h +++ b/libstdc++-v3/include/bits/unique_ptr.h @@ -40,13 +40,14 @@ #endif #include -#include +#include 1 #include #include #include _GLIBCXX_BEGIN_NAMESPACE(std) + /// Primary template, default_delete. template 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 struct default_delete<_Tp[]> { @@ -78,6 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } }; + /// 20.6.11.2 unique_ptr for single objects. template > 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 74fee965f9a..911bf240b48 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 struct duration { @@ -430,61 +431,61 @@ namespace std typedef duration> minutes; typedef duration> hours; + /// time_point template - 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 - time_point(const time_point& __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 + time_point(const time_point& __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 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 c8845f6728c..1c48251e350 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 5d4e52105f8..e4ba94def11 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 9980571f160..124e9af397a 100644 --- a/libstdc++-v3/include/std/ratio +++ b/libstdc++-v3/include/std/ratio @@ -165,6 +165,7 @@ namespace std template const intmax_t ratio<_Num, _Den>::den; + /// ratio_add template struct ratio_add { @@ -180,6 +181,7 @@ namespace std __safe_multiply<_R1::den, (_R2::den / __gcd)>::value> type; }; + /// ratio_subtract template struct ratio_subtract { @@ -188,6 +190,7 @@ namespace std ratio<-_R2::num, _R2::den>>::type type; }; + /// ratio_multiply template struct ratio_multiply { @@ -205,6 +208,7 @@ namespace std (_R2::den / __gcd1)>::value> type; }; + /// ratio_divide template struct ratio_divide { @@ -215,11 +219,13 @@ namespace std ratio<_R2::den, _R2::num>>::type type; }; + /// ratio_equal template struct ratio_equal : integral_constant { }; + /// ratio_not_equal template struct ratio_not_equal : integral_constant::value> @@ -243,21 +249,25 @@ namespace std __ratio_less_simple_impl<_R1, _R2>>::type { }; + /// ratio_less template struct ratio_less : __ratio_less_impl<_R1, _R2>::type { }; + /// ratio_less_equal template struct ratio_less_equal : integral_constant::value> { }; + /// ratio_greater template struct ratio_greater : integral_constant::value> { }; + /// ratio_greater_equal template struct ratio_greater_equal : integral_constant::value> diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list index 18fb15bc552..e98cd71a1ac 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 initializer_list { -- 2.30.2