From 5b9daa7e60b0ccfd2bc99748b4362c6773bcc378 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Sat, 21 Feb 2009 00:45:21 +0000 Subject: user.cfg.in: Tweaks. 2009-02-20 Benjamin Kosnik * doc/doxygen/user.cfg.in: Tweaks. * doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere, be elsewhere. * include/tr1_impl/unordered_map: Just use most specialized container module. * include/tr1_impl/unordered_set: Same. * include/tr1_impl/array: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_queue.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_stack.h: Same. * include/bits/forward_list.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_bvector.h: Same. * include/backward/binders.h: Change binder module to binders. * include/std/complex: Add complex_numers module. * include/tr1_impl/complex: Same. * include/std/valarray: Add numeric_arrays module. * include/bits/gslice_array.h: Same. * include/bits/gslice.h: Same. * include/bits/mask_array.h: Same. * include/bits/slice_array.h: Same. * include/bits/indirect_array.h: Same. * include/bits/allocator.h: Add allocators module. * include/ext/throw_allocator.h * include/ext/pool_allocator.h * include/ext/bitmap_allocator.h * include/ext/new_allocator.h * include/ext/malloc_allocator.h * include/ext/array_allocator.h * include/ext/mt_allocator.h * include/ext/debug_allocator.h * include/ext/extptr_allocator.h * include/tr1_impl/functional: Move namespace markup here. * include/tr1_impl/regex: Same. * include/tr1_impl/type_traits: Add metaprogramming module. * include/std/type_traits: Same. * include/std/memory: Add memory module. * include/std/ratio: Add ratio module. * include/std/chrono: Move namespace markup here, add time module. * include/std/thread: Move namespace markup here, add concurrency module. * include/std/mutex: Use concurrency module. * include/std/condition_variable: Same. * include/bits/ios_base.h: Refine io module. * include/bits/basic_ios.h: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/ostream: Same. * include/std/sstream: Same. * include/ext/vstring.h: Correct parameter markup. * include/bits/shared_ptr.h: Add pointer_abstractions module. * include/bits/unique_ptr.h: Same. * include/bits/algorithmfwd.h: Add mutating_algorithms, non_mutating_algorithms, sorting_algorithms. Adjust nesting. * include/bits/stl_heap.h: Add markup for new groupings. * include/bits/stl_algobase.h: Same. * include/bits/stl_algo.h: Same. * include/c_compatibility/stdatomic.h: Add atomics module. * include/c_global/cstdatomic: Same. * libsupc++/exception: Add exceptions module. * libsupc++/typeinfo: Same. * libsupc++/new: Same. * libsupc++/exception_ptr.h: Same. * include/std/system_error: Same. * include/std/stdexcept: Same. * libsupc++/cxxabi.h: Move doxygroups.cc markup here. * libsupc++/cxxabi-forced.h: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same. * testsuite/30_threads/mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/thread/cons/assign_neg.cc: Same. * testsuite/30_threads/thread/cons/copy_neg.cc: Same. * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same. * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same. * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/20_util/duration/cons/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same. * testsuite/20_util/unique_ptr/assign/assign.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow.cc: Same. From-SVN: r144343 --- libstdc++-v3/include/std/chrono | 37 +++++++++++++++++++++++++---- libstdc++-v3/include/std/complex | 15 ++++++++---- libstdc++-v3/include/std/condition_variable | 10 ++++++++ libstdc++-v3/include/std/fstream | 6 ++++- libstdc++-v3/include/std/istream | 4 +++- libstdc++-v3/include/std/memory | 9 ++++++- libstdc++-v3/include/std/mutex | 18 +++++++++++++- libstdc++-v3/include/std/ostream | 3 ++- libstdc++-v3/include/std/ratio | 16 ++++++++++--- libstdc++-v3/include/std/sstream | 6 ++++- libstdc++-v3/include/std/stdexcept | 9 ++++++- libstdc++-v3/include/std/system_error | 6 ++++- libstdc++-v3/include/std/thread | 15 +++++++++++- libstdc++-v3/include/std/type_traits | 30 +++++++++++++++-------- libstdc++-v3/include/std/valarray | 19 ++++++++++++++- 15 files changed, 172 insertions(+), 31 deletions(-) (limited to 'libstdc++-v3/include/std') diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index 76dc93c..7602d71 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2008 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009 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 @@ -53,6 +53,17 @@ namespace std { + /** + * @defgroup chrono Time + * @ingroup utilities + * + * Classes and functions for time. + * @{ + */ + + /** @namespace std::chrono + * @brief ISO C++ 0x entities sub namespace for time and date. + */ namespace chrono { template> @@ -84,7 +95,7 @@ namespace std namespace chrono { - // primary template for duration_cast impl. + // Primary template for duration_cast impl. template struct __duration_cast_impl @@ -132,6 +143,7 @@ namespace std } }; + /// duration_cast template inline _ToDuration duration_cast(const duration<_Rep, _Period>& __d) @@ -145,11 +157,13 @@ namespace std __cf::num == 1, __cf::den == 1>::__cast(__d); } + /// treat_as_floating_point template struct treat_as_floating_point : is_floating_point<_Rep> { }; + /// duration_values template struct duration_values { @@ -433,11 +447,22 @@ namespace std const duration<_Rep2, _Period2>& __rhs) { return !(__lhs < __rhs); } + /// nanoseconds typedef duration nanoseconds; + + /// microseconds typedef duration microseconds; + + /// milliseconds typedef duration milliseconds; + + /// seconds typedef duration seconds; + + /// minutes typedef duration> minutes; + + /// hours typedef duration> hours; /// time_point @@ -496,6 +521,7 @@ namespace std duration __d; }; + /// time_point_cast template inline time_point<_Clock, _ToDuration> time_point_cast(const time_point<_Clock, _Duration>& __t) @@ -621,6 +647,7 @@ namespace std }; #ifdef _GLIBCXX_USE_CLOCK_MONOTONIC + /// monotonic_clock struct monotonic_clock { typedef chrono::nanoseconds duration; @@ -638,8 +665,10 @@ namespace std #endif typedef system_clock high_resolution_clock; - } -} + } // namespace chrono + + // @} group chrono +} // namespace std #endif //_GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index 1c48251..ebde1a0 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -1,7 +1,7 @@ // The template and inlines for the -*- C++ -*- complex number classes. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008 +// 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -53,6 +53,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + /** + * @defgroup complex_numbers Complex Numbers + * @ingroup numerics + * + * Classes and functions for complex numbers. + * @{ + */ + // Forward declarations. template class complex; template<> class complex; @@ -104,7 +112,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template complex<_Tp> tan(const complex<_Tp>&); /// Return complex hyperbolic tangent of @a z. template complex<_Tp> tanh(const complex<_Tp>&); - //@} // 26.2.2 Primary template class complex @@ -1448,8 +1455,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // These bits have to be at the end of this file, so that the // specializations have all been defined. - // ??? No, they have to be there because of compiler limitation at - // inlining. It suffices that class specializations be defined. inline complex::complex(const complex& __z) : _M_value(__z.__rep()) { } @@ -1483,6 +1488,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) #endif #endif + // @} group complex_numbers + _GLIBCXX_END_NAMESPACE _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable index c26c213..85687ca 100644 --- a/libstdc++-v3/include/std/condition_variable +++ b/libstdc++-v3/include/std/condition_variable @@ -47,6 +47,14 @@ namespace std { + /** + * @defgroup condition_variables Condition Variables + * @ingroup concurrency + * + * Classes for condition_variable support. + * @{ + */ + /// condition_variable class condition_variable { @@ -211,6 +219,8 @@ namespace std native_handle() { return &_M_cond; } }; + + // @} group condition_variables } #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream index 46b6307..097d576 100644 --- a/libstdc++-v3/include/std/fstream +++ b/libstdc++-v3/include/std/fstream @@ -1,7 +1,7 @@ // File based streams -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008 +// 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -53,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.8.1.1] template class basic_filebuf /** * @brief The actual work of input and output (for files). + * @ingroup io * * This class associates both its input and output sequence with an * external disk file, and maintains a joint file position for both @@ -392,6 +393,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.8.1.5] Template class basic_ifstream /** * @brief Controlling input for files. + * @ingroup io * * This class supports reading from named files, using the inherited * functions from std::basic_istream. To control the associated @@ -520,6 +522,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.8.1.8] Template class basic_ofstream /** * @brief Controlling output for files. + * @ingroup io * * This class supports reading from named files, using the inherited * functions from std::basic_ostream. To control the associated @@ -651,6 +654,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.8.1.11] Template class basic_fstream /** * @brief Controlling input and output for files. + * @ingroup io * * This class supports reading from and writing to named files, using * the inherited functions from std::basic_iostream. To control the diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index 8b87c73..d59afe6 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -1,7 +1,7 @@ // Input streams -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008 +// 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.6.1.1] Template class basic_istream /** * @brief Controlling input. + * @ingroup io * * This is the base class for all input streams. It provides text * formatting of all builtin types, and communicates with any class @@ -758,6 +759,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // 27.6.1.5 Template class basic_iostream /** * @brief Merging istream and ostream capabilities. + * @ingroup io * * This class multiply inherits from the input and output stream classes * simply to provide a single interface. diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory index 045477e..1ee4031 100644 --- a/libstdc++-v3/include/std/memory +++ b/libstdc++-v3/include/std/memory @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -95,4 +95,11 @@ # include #endif +/** + * @defgroup memory Memory + * @ingroup utilities + * + * Components for memory allocation, deallocation, and management. + */ + #endif /* _GLIBCXX_MEMORY */ diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index bdd5193..6d6475d 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -56,6 +56,14 @@ namespace std { + /** + * @defgroup mutexes Mutexes + * @ingroup concurrency + * + * Classes for mutex support. + * @{ + */ + /// mutex class mutex { @@ -383,7 +391,11 @@ namespace std extern const try_to_lock_t try_to_lock; extern const adopt_lock_t adopt_lock; - /// Thrown to indicate errors with lock operations. + /** + * @brief Thrown to indicate errors with lock operations. + * + * @ingroup exceptions + */ class lock_error : public exception { public: @@ -682,6 +694,7 @@ namespace std return __try_lock_impl<0>::__do_try_lock(__locks); } + /// lock template void lock(_L1&, _L2&, _L3&...); @@ -727,6 +740,7 @@ namespace std extern "C" void __once_proxy(); + /// call_once template void call_once(once_flag& __once, _Callable __f, _Args&&... __args) @@ -751,6 +765,8 @@ namespace std if (__e) __throw_system_error(__e); } + + // @} group mutexes } #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 93a7d6e..092f704 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -1,7 +1,7 @@ // Output streams -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008 +// 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.6.2.1] Template class basic_ostream /** * @brief Controlling output. + * @ingroup io * * This is the base class for all output streams. It provides text * formatting of all builtin types, and communicates with any class diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio index 124e9af..5f6af6b 100644 --- a/libstdc++-v3/include/std/ratio +++ b/libstdc++-v3/include/std/ratio @@ -1,6 +1,6 @@ -// -*- C++ -*- +// ratio -*- C++ -*- -// Copyright (C) 2008 Free Software Foundation, Inc. +// Copyright (C) 2008, 2009 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 @@ -47,6 +47,14 @@ namespace std { + /** + * @defgroup ratio Rational Arithmetic + * @ingroup utilities + * + * Compile time representation of fininte rational numbers. + * @{ + */ + template struct __static_sign : integral_constant @@ -132,7 +140,7 @@ namespace std /** * @brief Provides compile-time rational arithmetic. - * + * * This class template represents any finite rational number with a * numerator and denominator representable by compile-time constants of * type intmax_t. The ratio is simplified when instantiated. @@ -289,6 +297,8 @@ namespace std typedef ratio< 1000000000000, 1> tera; typedef ratio< 1000000000000000, 1> peta; typedef ratio< 1000000000000000000, 1> exa; + + // @} group ratio } #endif //_GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream index 6d3366b..400760a 100644 --- a/libstdc++-v3/include/std/sstream +++ b/libstdc++-v3/include/std/sstream @@ -1,7 +1,7 @@ // String based streams -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2008 Free Software Foundation, Inc. +// 2006, 2008, 2009 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 @@ -49,6 +49,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.7.1] template class basic_stringbuf /** * @brief The actual work of input and output (for std::string). + * @ingroup io * * This class associates either or both of its input and output sequences * with a sequence of characters, which can be initialized from, or made @@ -249,6 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.7.2] Template class basic_istringstream /** * @brief Controlling input for std::string. + * @ingroup io * * This class supports reading from objects of type std::basic_string, * using the inherited functions from std::basic_istream. To control @@ -358,6 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.7.3] Template class basic_ostringstream /** * @brief Controlling output for std::string. + * @ingroup io * * This class supports writing to objects of type std::basic_string, * using the inherited functions from std::basic_ostream. To control @@ -467,6 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // [27.7.4] Template class basic_stringstream /** * @brief Controlling input and output for std::string. + * @ingroup io * * This class supports reading from and writing to objects of type * std::basic_string, using the inherited functions from diff --git a/libstdc++-v3/include/std/stdexcept b/libstdc++-v3/include/std/stdexcept index f8e7410..b1500fb 100644 --- a/libstdc++-v3/include/std/stdexcept +++ b/libstdc++-v3/include/std/stdexcept @@ -1,6 +1,6 @@ // Standard exception classes -*- C++ -*- -// Copyright (C) 2001, 2002, 2005, 2007 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005, 2007, 2009 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 @@ -45,6 +45,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + /** + * @addtogroup exceptions + * @{ + */ + /** Logic errors represent problems in the internal logic of a program; * in theory, these are preventable, and even detectable before the * program runs (e.g., violations of class invariants). @@ -143,6 +148,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) explicit underflow_error(const string& __arg); }; + // @} group exceptions + _GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_STDEXCEPT */ diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index 486c3e6..940ea7c 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -318,7 +318,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { return !(__lhs == __rhs); } - /// Thrown to indicate error code of underlying system. + /** + * @brief Thrown to indicate error code of underlying system. + * + * @ingroup exceptions + */ class system_error : public std::runtime_error { private: diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 8f00489..f2e5fc3 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -53,6 +53,14 @@ namespace std { + /** + * @defgroup threads Threads + * @ingroup concurrency + * + * Classes for thread support. + * @{ + */ + /// thread class thread { @@ -225,7 +233,10 @@ namespace std return __out << __id._M_thread; } - // 30.2.2 Namespace this_thread. + /** @namespace std::this_thread + * @brief ISO C++ 0x entities sub namespace for thread. + * 30.2.2 Namespace this_thread. + */ namespace this_thread { /// get_id @@ -267,6 +278,8 @@ namespace std } #endif } + + // @} group threads } #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 87fdff1..132a924 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -1,6 +1,6 @@ -// -*- C++ -*- +// C++0x type_traits -*- C++ -*- -// Copyright (C) 2007, 2008 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009 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 @@ -62,6 +62,10 @@ namespace std { + /** @addtogroup metaprogramming + * @{ + */ + // Primary classification traits. /// is_lvalue_reference @@ -314,25 +318,26 @@ namespace std // Define a nested type if some predicate holds. - /// Primary template. + // Primary template. + /// enable_if template struct enable_if { }; - /// Partial specialization for true. + // Partial specialization for true. template struct enable_if { typedef _Tp type; }; - // A conditional expression, but for types. - // If true, first, if false, second. - /// Primary template. + // A conditional expression, but for types. If true, first, if false, second. + // Primary template. + /// conditional template struct conditional { typedef _Iftrue type; }; - /// Partial specialization for false. + // Partial specialization for false. template struct conditional { typedef _Iffalse type; }; @@ -471,7 +476,8 @@ namespace std // Given an integral/enum type, return the corresponding unsigned // integer type. - /// Primary template. + // Primary template. + /// make_unsigned template struct make_unsigned { typedef typename __make_unsigned_selector<_Tp>::__type type; }; @@ -549,7 +555,8 @@ namespace std // Given an integral/enum type, return the corresponding signed // integer type. - /// Primary template. + // Primary template. + /// make_signed template struct make_signed { typedef typename __make_signed_selector<_Tp>::__type type; }; @@ -558,6 +565,7 @@ namespace std template<> struct make_signed; + /// common_type template struct common_type; @@ -592,6 +600,8 @@ namespace std typedef typename common_type::type, _Vp...>::type type; }; + + // @} group metaprogramming } #endif // __GXX_EXPERIMENTAL_CXX0X__ diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index b0fa512..bfeae8e 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -1,7 +1,7 @@ // The template and inlines for the -*- C++ -*- valarray class. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -95,6 +95,14 @@ _GLIBCXX_END_NAMESPACE _GLIBCXX_BEGIN_NAMESPACE(std) /** + * @defgroup numeric_arrays Numeric Arrays + * @ingroup numerics + * + * Classes and functions for representing and manipulating arrays of elements. + * @{ + */ + + /** * @brief Smart array designed to support numeric processing. * * A valarray is an array that provides constraints intended to allow for @@ -552,6 +560,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return _M_data[__i]; } + // @} group numeric_arrays + _GLIBCXX_END_NAMESPACE #include @@ -563,6 +573,11 @@ _GLIBCXX_END_NAMESPACE _GLIBCXX_BEGIN_NAMESPACE(std) + /** + * @addtogroup numeric_arrays + * @{ + */ + template inline valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {} @@ -1069,6 +1084,8 @@ _DEFINE_BINARY_OPERATOR(>=, __greater_equal) #undef _DEFINE_BINARY_OPERATOR + // @} group numeric_arrays + _GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_VALARRAY */ -- cgit v1.1