In libstdc++/44015, there is a request for doxygen markup on template
parameters, including default arguments. This is a kind of markup that
libstdc++ has mostly not done, or done inconsistently.
So, here's how I think it should be done, at least for io and
containers.
See generated files here:
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html
tested x86/linux
-benjamin
2012-05-02 Benjamin Kosnik <b...@redhat.com>
PR libstdc++/44015
* include/bits/basic_ios.h: Add tparam markup for
* doxygen. include/bits/basic_string.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same. include/bits/stl_map.h:
* Same. include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/unordered_map.h: Same.
* include/bits/unordered_set.h: Same. include/std/array:
* Same. include/std/atomic: Same. include/std/fstream:
* Same. include/std/istream: Same. include/std/ostream:
* Same. include/std/sstream: Same.
* include/std/streambuf: Same.
* testsuite/23_containers/deque/requirements/dr438/*:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/*: Same.
* testsuite/23_containers/vector/requirements/dr438/*: Same.
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index 24c3ca4..384bb4f 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010, 2011
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -52,11 +52,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *__f;
}
- // 27.4.5 Template class basic_ios
/**
- * @brief Virtual base class for all stream classes.
+ * @brief Template class basic_ios, virtual base class for all
+ * stream classes.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* Most of the member functions called dispatched on stream objects
* (e.g., @c std::cout.foo(bar);) are consolidated in this class.
*/
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index 169daf5..24562c4 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -55,6 +55,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @ingroup strings
* @ingroup sequences
*
+ * @tparam _CharT Type of character
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_CharT>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
* <a href="tables.html#67">sequence</a>. Of the
diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h
index 76c3e33..ce35504 100644
--- a/libstdc++-v3/include/bits/forward_list.h
+++ b/libstdc++-v3/include/bits/forward_list.h
@@ -376,6 +376,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#67">sequence</a>, including the
* <a href="tables.html#68">optional sequence requirements</a> with the
diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h
index dfa0b32..3adbfa1 100644
--- a/libstdc++-v3/include/bits/stl_bvector.h
+++ b/libstdc++-v3/include/bits/stl_bvector.h
@@ -500,13 +500,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* @brief A specialization of vector for booleans which offers fixed time
* access to individual elements in any order.
*
+ * @ingroup sequences
+ *
+ * @tparam _Alloc Allocator type.
+ *
* Note that vector<bool> does not actually meet the requirements for being
* a container. This is because the reference and pointer types are not
* really references and pointers to bool. See DR96 for details. @see
* vector for function documentation.
*
- * @ingroup sequences
- *
* In some terminology a %vector can be described as a dynamic
* C-style array, it offers fast and efficient access to individual
* elements in any order and saves the user from worrying about
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index d890419..157df3b 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -649,6 +649,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
* <a href="tables.html#67">sequence</a>, including the
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index 634b579..b568cd7 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -411,6 +411,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
* <a href="tables.html#67">sequence</a>, including the
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index f1c4cfe..881f938 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -73,6 +73,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup associative_containers
*
+ * @tparam _Key Type of key objects.
+ * @tparam _Tp Type of mapped objects.
+ * @tparam _Compare Comparison function object type, defaults to less<_Key>.
+ * @tparam _Alloc Allocator type, defaults to
+ * allocator<pair<const _Key, _Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
* <a href="tables.html#69">associative container</a> (using unique keys).
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index ae4389e..6c92bcd 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -72,6 +72,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup associative_containers
*
+ * @tparam _Key Type of key objects.
+ * @tparam _Tp Type of mapped objects.
+ * @tparam _Compare Comparison function object type, defaults to less<_Key>.
+ * @tparam _Alloc Allocator type, defaults to
+ * allocator<pair<const _Key, _Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
* <a href="tables.html#69">associative container</a> (using equivalent
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index ab467c8..ecf9e54 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -72,6 +72,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup associative_containers
*
+ *
+ * @tparam _Key Type of key objects.
+ * @tparam _Compare Comparison function object type, defaults to less<_Key>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Key>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
* <a href="tables.html#69">associative container</a> (using equivalent
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index c1df571..45a1c61 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -83,7 +83,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct _Index_tuple;
#endif
- /// Struct holding two objects of arbitrary type.
+ /**
+ * @brief Struct holding two objects of arbitrary type.
+ *
+ * @tparam _T1 Type of first object.
+ * @tparam _T2 Type of second object.
+ */
template<class _T1, class _T2>
struct pair
{
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index fe65e9b..82ab85e 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -1,7 +1,7 @@
// Queue implementation -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-// 2010, 2011
+// 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -70,6 +70,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Sequence Type of underlying sequence, defaults to deque<_Tp>.
+ *
* Meets many of the requirements of a
* <a href="tables.html#65">container</a>,
* but does not define anything to do with iterators. Very few of the
@@ -326,6 +329,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Sequence Type of underlying sequence, defaults to vector<_Tp>.
+ * @tparam _Compare Comparison function object type, defaults to
+ * less<_Sequence::value_type>.
+ *
* This is not a true container, but an @e adaptor. It holds
* another container, and provides a wrapper interface to that
* container. The wrapper is what enforces priority-based sorting
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index 18fd117..312e57a 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -72,16 +72,16 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup associative_containers
*
+ * @tparam _Key Type of key objects.
+ * @tparam _Compare Comparison function object type, defaults to less<_Key>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Key>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
* <a href="tables.html#69">associative container</a> (using unique keys).
*
* Sets support bidirectional iterators.
*
- * @tparam _Key Type of key objects.
- * @tparam _Compare Comparison function object type, defaults to less<Key>.
- * @tparam _Alloc Allocator type, defaults to allocator<Key>.
- *
* The private tree data is declared exactly the same way for set and
* multiset; the distinction is made entirely in how the tree functions are
* called (*_unique versus *_equal, same as the standard).
diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h
index 6b0f065..4f61bfb 100644
--- a/libstdc++-v3/include/bits/stl_stack.h
+++ b/libstdc++-v3/include/bits/stl_stack.h
@@ -1,7 +1,7 @@
// Stack implementation -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-// 2010, 2011
+// 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -70,6 +70,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Sequence Type of underlying sequence, defaults to deque<_Tp>.
+ *
* Meets many of the requirements of a
* <a href="tables.html#65">container</a>,
* but does not define anything to do with iterators. Very few of the
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index 31660d3..6e229aa 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -192,6 +192,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup sequences
*
+ * @tparam _Tp Type of element.
+ * @tparam _Alloc Allocator type, defaults to allocator<_Tp>.
+ *
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
* <a href="tables.html#67">sequence</a>, including the
diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h
index dd08b26..bd3e46d 100644
--- a/libstdc++-v3/include/bits/unordered_map.h
+++ b/libstdc++-v3/include/bits/unordered_map.h
@@ -77,9 +77,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup unordered_associative_containers
*
- * Meets the requirements of a <a href="tables.html#65">container</a>, and
- * <a href="tables.html#xx">unordered associative container</a>
- *
* @tparam _Key Type of key objects.
* @tparam _Tp Type of mapped objects.
* @tparam _Hash Hashing function object type, defaults to hash<_Value>.
@@ -87,6 +84,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* to equal_to<_Value>.
* @tparam _Alloc Allocator type, defaults to allocator<_Key>.
*
+ * Meets the requirements of a <a href="tables.html#65">container</a>, and
+ * <a href="tables.html#xx">unordered associative container</a>
+ *
* The resulting value type of the container is std::pair<const _Key, _Tp>.
*
* Base is _Hashtable, dispatched at compile time via template
@@ -141,9 +141,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup unordered_associative_containers
*
- * Meets the requirements of a <a href="tables.html#65">container</a>, and
- * <a href="tables.html#xx">unordered associative container</a>
- *
* @tparam _Key Type of key objects.
* @tparam _Tp Type of mapped objects.
* @tparam _Hash Hashing function object type, defaults to hash<_Value>.
@@ -151,6 +148,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* to equal_to<_Value>.
* @tparam _Alloc Allocator type, defaults to allocator<_Key>.
*
+ * Meets the requirements of a <a href="tables.html#65">container</a>, and
+ * <a href="tables.html#xx">unordered associative container</a>
+ *
* The resulting value type of the container is std::pair<const _Key, _Tp>.
*
* Base is _Hashtable, dispatched at compile time via template
diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h
index bd0deb0..32b606a 100644
--- a/libstdc++-v3/include/bits/unordered_set.h
+++ b/libstdc++-v3/include/bits/unordered_set.h
@@ -72,9 +72,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup unordered_associative_containers
*
- * Meets the requirements of a <a href="tables.html#65">container</a>, and
- * <a href="tables.html#xx">unordered associative container</a>
- *
* @tparam _Value Type of key objects.
* @tparam _Hash Hashing function object type, defaults to hash<_Value>.
@@ -83,6 +80,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @tparam _Alloc Allocator type, defaults to allocator<_Key>.
*
+ * Meets the requirements of a <a href="tables.html#65">container</a>, and
+ * <a href="tables.html#xx">unordered associative container</a>
+ *
* Base is _Hashtable, dispatched at compile time via template
* alias __uset_hashtable.
*/
@@ -135,15 +135,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*
* @ingroup unordered_associative_containers
*
- * Meets the requirements of a <a href="tables.html#65">container</a>, and
- * <a href="tables.html#xx">unordered associative container</a>
- *
* @tparam _Value Type of key objects.
* @tparam _Hash Hashing function object type, defaults to hash<_Value>.
* @tparam _Pred Predicate function object type, defaults
* to equal_to<_Value>.
* @tparam _Alloc Allocator type, defaults to allocator<_Key>.
*
+ * Meets the requirements of a <a href="tables.html#65">container</a>, and
+ * <a href="tables.html#xx">unordered associative container</a>
+ *
* Base is _Hashtable, dispatched at compile time via template
* alias __umset_hashtable.
*/
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array
index e895dd7..58263ce 100644
--- a/libstdc++-v3/include/std/array
+++ b/libstdc++-v3/include/std/array
@@ -55,8 +55,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*
* Sets support random access iterators.
*
- * @param Tp Type of element. Required to be a complete type.
- * @param N Number of elements.
+ * @tparam Tp Type of element. Required to be a complete type.
+ * @tparam N Number of elements.
*/
template<typename _Tp, std::size_t _Nm>
struct array
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index 31673e9..6a08b28 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 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
@@ -148,8 +148,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
- /// atomic
- /// 29.4.3, Generic atomic type, primary class template.
+ /**
+ * @brief Generic atomic type, primary class template.
+ *
+ * @tparam _Tp Type to be made atomic, must be trivally copyable.
+ */
template<typename _Tp>
struct atomic
{
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index b4a86a1..098b5b1 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, 2009, 2010, 2011
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -55,16 +55,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief The actual work of input and output (for files).
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This class associates both its input and output sequence with an
* external disk file, and maintains a joint file position for both
* sequences. Many of its semantics are described in terms of similar
* behavior in the Standard C Library's @c FILE streams.
+ *
+ * Requirements on traits_type, specific to this class:
+ * - traits_type::pos_type must be fpos<traits_type::state_type>
+ * - traits_type::off_type must be streamoff
+ * - traits_type::state_type must be Assignable and DefaultConstructible,
+ * - traits_type::state_type() must be the initial state for codecvt.
*/
- // Requirements on traits_type, specific to this class:
- // traits_type::pos_type must be fpos<traits_type::state_type>
- // traits_type::off_type must be streamoff
- // traits_type::state_type must be Assignable and DefaultConstructible,
- // and traits_type::state_type() must be the initial state for codecvt.
template<typename _CharT, typename _Traits>
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
{
@@ -411,6 +416,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling input for files.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This class supports reading from named files, using the inherited
* functions from std::basic_istream. To control the associated
* sequence, an instance of std::basic_filebuf is used, which this page
@@ -579,6 +588,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling output for files.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This class supports reading from named files, using the inherited
* functions from std::basic_ostream. To control the associated
* sequence, an instance of std::basic_filebuf is used, which this page
@@ -752,6 +765,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling input and output for files.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This class supports reading from and writing to named files, using
* the inherited functions from std::basic_iostream. To control the
* associated sequence, an instance of std::basic_filebuf is used, which
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 57b2113..abc7120 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, 2009, 2010, 2011
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -48,6 +48,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Template class basic_istream.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This is the base class for all input streams. It provides text
* formatting of all builtin types, and communicates with any class
* derived from basic_streambuf to do the actual input.
@@ -782,6 +786,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Template class basic_iostream
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This class multiply inherits from the input and output stream classes
* simply to provide a single interface.
*/
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 498a060..eb8b885 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, 2009, 2010, 2011
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -48,6 +48,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Template class basic_ostream.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This is the base class for all output streams. It provides text
* formatting of all builtin types, and communicates with any class
* derived from basic_streambuf to do the actual output.
diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream
index d9889d7..6237853 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, 2009, 2010, 2011 Free Software Foundation, Inc.
+// 2006, 2008, 2009, 2010, 2011, 2012 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
@@ -48,6 +48,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief The actual work of input and output (for std::string).
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_CharT>.
+ *
* This class associates either or both of its input and output sequences
* with a sequence of characters, which can be initialized from, or made
* available as, a @c std::basic_string. (Paraphrased from [27.7.1]/1.)
@@ -254,6 +259,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling input for std::string.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_CharT>.
+ *
* This class supports reading from objects of type std::basic_string,
* using the inherited functions from std::basic_istream. To control
* the associated sequence, an instance of std::basic_stringbuf is used,
@@ -364,6 +374,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling output for std::string.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_CharT>.
+ *
* This class supports writing to objects of type std::basic_string,
* using the inherited functions from std::basic_ostream. To control
* the associated sequence, an instance of std::basic_stringbuf is used,
@@ -474,6 +489,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief Controlling input and output for std::string.
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ * @tparam _Alloc Allocator type, defaults to allocator<_CharT>.
+ *
* This class supports reading from and writing to objects of type
* std::basic_string, using the inherited functions from
* std::basic_iostream. To control the associated sequence, an instance
diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf
index 82a67da..9b1dc55 100644
--- a/libstdc++-v3/include/std/streambuf
+++ b/libstdc++-v3/include/std/streambuf
@@ -1,7 +1,7 @@
// Stream buffer classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// 2006, 2007, 2008, 2009, 2010, 2011, 2012 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,6 +56,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @brief The actual work of input and output (interface).
* @ingroup io
*
+ * @tparam _CharT Type of character stream.
+ * @tparam _Traits Traits for character type, defaults to
+ * char_traits<_CharT>.
+ *
* This is a base class. Derived stream buffers each control a
* pair of character sequences: one for input, and one for output.
*
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
index a86e946..b220df3 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1696 }
+// { dg-error "no matching" "" { target *-*-* } 1699 }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
index da53d4f..94dd719 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1629 }
+// { dg-error "no matching" "" { target *-*-* } 1632 }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
index 10ecf6e..5950b22 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1629 }
+// { dg-error "no matching" "" { target *-*-* } 1632 }
#include <deque>
#include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
index f77b9a7..1abfd7d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1780 }
+// { dg-error "no matching" "" { target *-*-* } 1783 }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
index 05664b9..65a6d41 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1568 }
+// { dg-error "no matching" "" { target *-*-* } 1571 }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
index 0ef8da8..34caa3b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1524 }
+// { dg-error "no matching" "" { target *-*-* } 1527 }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
index f0836f6..d1709c3 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1524 }
+// { dg-error "no matching" "" { target *-*-* } 1527 }
#include <list>
#include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
index db63e39..2651f3b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1524 }
+// { dg-error "no matching" "" { target *-*-* } 1527 }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
index 644750c..320f4dd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1233 }
+// { dg-error "no matching" "" { target *-*-* } 1236 }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
index bbd4cfe..78a6ead 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1163 }
+// { dg-error "no matching" "" { target *-*-* } 1166 }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
index d2282cc..af12c6d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1163 }
+// { dg-error "no matching" "" { target *-*-* } 1166 }
#include <vector>
#include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
index d2cde66..da88180 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1274 }
+// { dg-error "no matching" "" { target *-*-* } 1277 }
#include <vector>